From 377905d811aea321ec6c88dfe43f05be194b6485 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 09:57:14 +0400 Subject: [PATCH 01/95] =?UTF-8?q?translations:=20=F0=9F=93=9A=20sync=20tra?= =?UTF-8?q?nslations=20with=20crowdin=20(#15158)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: DerivFE --- packages/p2p/src/translations/en.json | 490 +++++++++++++++++- packages/translations/crowdin/messages.json | 2 +- .../translations/src/translations/ach.json | 36 +- .../translations/src/translations/ar.json | 34 +- .../translations/src/translations/bn.json | 34 +- .../translations/src/translations/de.json | 34 +- .../translations/src/translations/es.json | 34 +- .../translations/src/translations/fr.json | 34 +- .../translations/src/translations/it.json | 34 +- .../translations/src/translations/ko.json | 34 +- .../translations/src/translations/mn.json | 46 +- .../translations/src/translations/pl.json | 34 +- .../translations/src/translations/pt.json | 34 +- .../translations/src/translations/ru.json | 34 +- .../translations/src/translations/si.json | 36 +- .../translations/src/translations/sw.json | 122 ++--- .../translations/src/translations/th.json | 34 +- .../translations/src/translations/tr.json | 34 +- .../translations/src/translations/vi.json | 34 +- .../translations/src/translations/zh_cn.json | 344 ++++++------ .../translations/src/translations/zh_tw.json | 328 ++++++------ 21 files changed, 1186 insertions(+), 660 deletions(-) diff --git a/packages/p2p/src/translations/en.json b/packages/p2p/src/translations/en.json index dc33becc5d98..3812379de375 100644 --- a/packages/p2p/src/translations/en.json +++ b/packages/p2p/src/translations/en.json @@ -1 +1,489 @@ -{"121738739":"Send","185142749":"Price","323002325":"Post ad","345132964":"{{field_name}} below minimum value","490988014":"Create ads","554135844":"Edit","753727511":"Type","830703311":"My profile","909755348":"Min transaction","1035893169":"Delete","1080990424":"Confirm","1103731601":"Your ads are paused","1162965175":"Buyer","1371193412":"Cancel","1705774792":"Buy/sell","1872130211":"{{field_name}} has exceed maximum length","2142425493":"Ad ID","-494667560":"Orders","-679691613":"My ads","-1916020233":"Send amount","-1597110099":"Receive","-1127004033":"Receive amount","-55126326":"Seller","-1406830100":"Payment method","-459192118":"Advertiser notes","-1267880283":"{{field_name}} is required","-1179827369":"Create new ad","-1664159494":"Country","-1876891031":"Currency","-1016171176":"Asset","-548979988":"Fixed price","-1995606668":"Amount","-258187437":"Min. transaction","-1587158002":"Max. transaction","-1595035175":"Advertiser note","-2110980818":"{{field_name}} is too low","-1417052966":"Payment Method","-806152028":"Your ads are running","-1454557528":"MyProfile"} \ No newline at end of file +{ + "3215342": "Last 30 days", + "4276410": "One last step before we close this order", + "6794664": "Ads that match your Deriv P2P balance and limit.", + "19789721": "Nobody has blocked you. Yay!", + "24711354": "Total orders <0>30d | <1>lifetime", + "47573834": "Fixed rate (1 {{account_currency}})", + "50672601": "Bought", + "55916349": "All", + "68867477": "Order ID {{ id }}", + "81450871": "We couldn’t find that page", + "97214671": "Hi! I'd like to exchange {{first_currency}} for {{second_currency}} at {{rate_display}}{{rate_type}} on Deriv P2P.nnIf you're interested, check out my ad 👉nn{{- advert_url}}nnThanks!", + "106063661": "Share this ad", + "111718006": "End date", + "121738739": "Send", + "122280248": "Avg release time <0>30d", + "134205943": "Your ads with fixed rates have been deactivated. Set floating rates to reactivate them.", + "140800401": "Float", + "150156106": "Save changes", + "159757877": "You won't see {{advertiser_name}}'s ads anymore and they won't be able to place orders on your ads.", + "170072126": "Seen {{ duration }} days ago", + "173939998": "Avg. pay time <0>30d", + "179083332": "Date", + "192859167": "{{avg_buy_time_in_minutes}} min", + "197477687": "Edit {{ad_type}} ad", + "203271702": "Try again", + "231473252": "Preferred currency", + "233677840": "of the market rate", + "257637860": "Upload documents to verify your address.", + "276261353": "Avg pay time <0>30d", + "277542386": "Please use <0>live chat to contact our Customer Support team for help.", + "316725580": "You can no longer rate this transaction.", + "323002325": "Post ad", + "324970564": "Seller's contact details", + "358133589": "Unblock {{advertiser_name}}?", + "364681129": "Contact details", + "367579676": "Blocked", + "390890891": "Last quarter", + "392469164": "You have blocked {{advertiser_name}}.", + "416167062": "You'll receive", + "424668491": "expired", + "450016951": "Hello! This is where you can chat with the counterparty to confirm the order details.
Note: In case of a dispute, we'll use this chat as a reference.", + "452752527": "Rate (1 {{ currency }})", + "459886707": "E-wallets", + "460477293": "Enter message", + "464044457": "Buyer's nickname", + "473688701": "Enter a valid amount", + "488150742": "Resend email", + "498500965": "Seller's nickname", + "498743422": "For your safety:", + "500514593": "Hide my ads", + "501523417": "You have no orders.", + "514948272": "Copy link", + "517202770": "Set fixed rate", + "523301614": "Release {{amount}} {{currency}}", + "525380157": "Buy {{offered_currency}} order", + "531912261": "Bank name, account number, beneficiary name", + "554135844": "Edit", + "555447610": "You won't be able to change your buy and sell limits again after this. Do you want to continue?", + "560402954": "User rating", + "565060416": "Exchange rate", + "574961698": "45 minutes", + "587882987": "Advertisers", + "611376642": "Clear", + "612069973": "Would you recommend this buyer?", + "625563394": "Only numbers are allowed.", + "625586185": "Deposits via cards and the following payment methods aren’t included: Maestro, Diners Club, ZingPay, Skrill, Neteller, Ozow, and UPI QR.", + "628581263": "The {{local_currency}} market rate has changed.", + "639382772": "Please upload supported file type.", + "649549724": "I’ve not received any payment.", + "654193846": "The verification link appears to be invalid. Hit the button below to request for a new one", + "655733440": "Others", + "661808069": "Resend email {{remaining_time}}", + "662578726": "Available", + "668309975": "Others will see this on your profile, ads, and chats.", + "683273691": "Rate (1 {{ account_currency }})", + "720104538": "Fixed Rate", + "723172934": "Looking to buy or sell USD? You can post your own ad for others to respond.", + "728383001": "I’ve received more than the agreed amount.", + "733311523": "P2P transactions are locked. This feature is not available for payment agents.", + "767789372": "Wait for payment", + "782834680": "Time left", + "783454335": "Yes, remove", + "784839262": "Share", + "830703311": "My profile", + "834075131": "Blocked advertisers", + "838024160": "Bank details", + "842911528": "Don’t show this message again.", + "846659545": "Your ad is not listed on <0>Buy/Sell because the amount exceeds your daily limit of {{limit}} {{currency}}.\n <1 /><1 />You can still see your ad on <0>My ads. If you’d like to increase your daily limit, please contact us via <2>live chat.", + "858027714": "Seen {{ duration }} minutes ago", + "873437248": "Instructions (optional)", + "876086855": "Complete the financial assessment form", + "881351325": "Would you recommend this seller?", + "886126850": "This ad is not listed on Buy/Sell because its maximum order is lower than the minimum amount you can specify for orders in your ads.", + "887667868": "Order", + "892431976": "If you cancel your order {{cancellation_limit}} times in {{cancellation_period}} hours, you will be blocked from using Deriv P2P for {{block_duration}} hours.
({{number_of_cancels_remaining}} cancellations remaining)", + "926446466": "Please set a different minimum and/or maximum order limit. nnThe range of your ad should not overlap with any of your active ads.", + "931661826": "Download this QR code", + "947389294": "We need your documents", + "949859957": "Submit", + "954233511": "Sold", + "957807235": "Blocking wasn't possible as {{name}} is not using Deriv P2P anymore.", + "988380202": "Your instructions", + "993198283": "The file you uploaded is not supported. Upload another.", + "1001160515": "Sell", + "1002264993": "Seller's real name", + "1009032439": "All time", + "1020552673": "You're creating an ad to buy <0>{{ target_amount }} {{ target_currency }}...", + "1030390916": "You already have an ad with this range", + "1035893169": "Delete", + "1040596075": "Address verification failed. Please try again.", + "1042690536": "I’ve read and understood the above reminder.", + "1052094244": "Max order", + "1056821534": "Are you sure?", + "1057127276": "{{- avg_release_time_in_minutes}} min", + "1065551550": "Set floating rate", + "1077515534": "Date to", + "1080990424": "Confirm", + "1089110190": "You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).", + "1091533736": "Don't risk your funds with cash transactions. Use bank transfers or e-wallets instead.", + "1106073960": "You've created an ad", + "1106485202": "Available Deriv P2P balance", + "1109217274": "Success!", + "1119887091": "Verification", + "1121630246": "Block", + "1137964885": "Can only contain letters, numbers, and special characters .- _ @.", + "1142686040": "Nickname added successfully!", + "1151608942": "Total amount", + "1157877436": "{{field_name}} should not exceed Amount", + "1162965175": "Buyer", + "1163072833": "<0>ID verified", + "1164771858": "I’ve received payment from 3rd party.", + "1168689876": "Your ad is not listed", + "1184609483": "Create a similar ad", + "1191941618": "Enter a value that's within -{{limit}}% to +{{limit}}%", + "1192337383": "Seen {{ duration }} hour ago", + "1202500203": "Pay now", + "1228352589": "Not rated yet", + "1229976478": "You will be able to see {{ advertiser_name }}'s ads. They'll be able to place orders on your ads, too.", + "1236083813": "Your payment details", + "1258285343": "Oops, something went wrong", + "1286797620": "Active", + "1287051975": "Nickname is too long", + "1300767074": "{{name}} is no longer on Deriv P2P", + "1303016265": "Yes", + "1313218101": "Rate this transaction", + "1314266187": "Joined today", + "1320670806": "Leave page", + "1326475003": "Activate", + "1328352136": "Sell {{ account_currency }}", + "1330528524": "Seen {{ duration }} month ago", + "1337027601": "You sold {{offered_amount}} {{offered_currency}}", + "1347322213": "How would you rate this transaction?", + "1347724133": "I have paid {{amount}} {{currency}}.", + "1366244749": "Limits", + "1370999551": "Floating rate", + "1371193412": "Cancel", + "1376329801": "Last 60 days", + "1378388952": "Promote your ad by sharing the QR code and link.", + "1381949324": "<0>Address verified", + "1385570445": "Upload documents to verify your identity.", + "1398938904": "We can't deliver the email to this address (usually because of firewalls or filtering).", + "1422356389": "No results for \"{{text}}\".", + "1426213515": "If you’ve received {{amount}} {{local_currency}} from {{name}} in your bank account or e-wallet, hit the button below to complete the order.", + "1430413419": "Maximum is {{value}} {{currency}}", + "1438103743": "Floating rates are enabled for {{local_currency}}. Ads with fixed rates will be deactivated. Switch to floating rates by {{end_date}}.", + "1448855725": "Add payment methods", + "1452260922": "Too many failed attempts", + "1467483693": "Past orders", + "1474532322": "Sort by", + "1480915523": "Skip", + "1497156292": "No ads for this currency 😞", + "1505293001": "Trade partners", + "1543377906": "This ad is not listed on Buy/Sell because you have paused all your ads.", + "1568512719": "Your daily limits have been increased to {{daily_buy_limit}} {{currency}} (buy) and {{daily_sell_limit}} {{currency}} (sell).", + "1583335572": "If the ad doesn't receive an order for {{adverts_archive_period}} days, it will be deactivated.", + "1587250288": "Ad ID {{advert_id}} ", + "1587507924": "Or copy this link", + "1607051458": "Search by nickname", + "1615530713": "Something's not right", + "1620858613": "You're editing an ad to sell <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})", + "1622662457": "Date from", + "1623916605": "I wasn’t able to make full payment.", + "1654365787": "Unknown", + "1660278694": "The advertiser changed the rate before you confirmed the order.", + "1671725772": "If you choose to cancel, the edited details will be lost.", + "1675716253": "Min limit", + "1678804253": "Buy {{ currency }}", + "1685888862": "An internal error occurred", + "1686592014": "To place an order, add one of the advertiser's preferred payment methods:", + "1691540875": "Edit payment method", + "1699829275": "Cannot upload a file over 5MB", + "1702855414": "Your ad isn’t listed on Buy/Sell due to the following reason(s):", + "1703154819": "You're editing an ad to sell <0>{{ target_amount }} {{ target_currency }}...", + "1721422292": "Show my real name", + "1734661732": "Your DP2P balance is {{ dp2p_balance }}", + "1740434340": "Orders will expire if they aren’t completed within this time.", + "1747523625": "Go back", + "1752096323": "{{field_name}} should not be below Min limit", + "1767817594": "Buy completion <0>30d", + "1782514544": "This ad is not listed on Buy/Sell because its minimum order is higher than {{maximum_order_amount}} {{currency}}.", + "1784151356": "at", + "1791767028": "Set a fixed rate for your ad.", + "1794470010": "I’ve made full payment, but the seller hasn’t released the funds.", + "1794474847": "I've received payment", + "1798116519": "Available amount", + "1799384587": "Has the buyer paid you?", + "1809099720": "Expand all", + "1810217569": "Please refresh this page to continue.", + "1842172737": "You've received {{offered_amount}} {{offered_currency}}", + "1858251701": "minute", + "1859308030": "Give feedback", + "1874956952": "Hit the button below to add payment methods.", + "1881018702": "hour", + "1881201992": "Your Deriv P2P balance only includes deposits that can’t be reversed.", + "1902229457": "Unable to block advertiser", + "1908023954": "Sorry, an error occurred while processing your request.", + "1914014145": "Today", + "1923443894": "Inactive", + "1928240840": "Sell {{ currency }}", + "1929119945": "There are no ads yet", + "1976156928": "You'll send", + "1992961867": "Rate (1 {{currency}})", + "1994023526": "The email address you entered had a mistake or typo (happens to the best of us).", + "2020104747": "Filter", + "2027742762": "Review your settings and create a new ad. Every ad must have unique limits and rates.", + "2029375371": "Payment instructions", + "2032274854": "Recommended by {{recommended_count}} traders", + "2039361923": "You're creating an ad to sell...", + "2040110829": "Increase my limits", + "2060873863": "Your order {{order_id}} is complete", + "2063890788": "Cancelled", + "2064304887": "We accept JPG, PDF, or PNG (up to 5MB).", + "2091671594": "Status", + "2096014107": "Apply", + "2104905634": "No one has recommended this trader yet", + "2121837513": "Minimum is {{value}} {{currency}}", + "2142425493": "Ad ID", + "2145292295": "Rate", + "-1540251249": "Buy {{ account_currency }}", + "-1267880283": "{{field_name}} is required", + "-2019083683": "{{field_name}} can only include letters, numbers, spaces, and any of these symbols: -+.,'#@():;", + "-222920564": "{{field_name}} has exceeded maximum length", + "-2093768906": "{{name}} has released your funds.
Would you like to give your feedback?", + "-1101273282": "Nickname is required", + "-919203928": "Nickname is too short", + "-1907100457": "Cannot start, end with, or repeat special characters.", + "-270502067": "Cannot repeat a character more than 4 times.", + "-499872405": "You have open orders for this ad. Complete all open orders before deleting this ad.", + "-2125702445": "Instructions", + "-1274358564": "Max limit", + "-1995606668": "Amount", + "-1965472924": "Fixed rate", + "-1081775102": "{{field_name}} should not be below Max limit", + "-991345852": "Only up to 2 decimals are allowed.", + "-885044836": "{{field_name}} should not exceed Max limit", + "-1921077416": "All ({{list_value}})", + "-608125128": "Blocked ({{list_value}})", + "-1764050750": "Payment details", + "-2021135479": "This field is required.", + "-2005205076": "{{field_name}} has exceeded maximum length of 200 characters.", + "-1837059346": "Buy / Sell", + "-494667560": "Orders", + "-679691613": "My ads", + "-412680608": "Add payment method", + "-984140537": "Add", + "-1220275347": "You may choose up to 3 payment methods for this ad.", + "-510341549": "I’ve received less than the agreed amount.", + "-650030360": "I’ve paid more than the agreed amount.", + "-1192446042": "If your complaint isn't listed here, please contact our Customer Support team.", + "-573132778": "Complaint", + "-792338456": "What's your complaint?", + "-418870584": "Cancel order", + "-1392383387": "I've paid", + "-727273667": "Complain", + "-2016990049": "Sell {{offered_currency}} order", + "-811190405": "Time", + "-961632398": "Collapse all", + "-415476028": "Not rated", + "-26434257": "You have until {{remaining_review_time}} GMT to rate this transaction.", + "-768709492": "Your transaction experience", + "-652933704": "Recommended", + "-84139378": "Not Recommended", + "-2139303636": "You may have followed a broken link, or the page has moved to a new address.", + "-1448368765": "Error code: {{error_code}} page not found", + "-1660552437": "Return to P2P", + "-137444201": "Buy", + "-1306639327": "Payment methods", + "-904197848": "Limits {{min_order_amount_limit_display}}-{{max_order_amount_limit_display}} {{currency}}", + "-464361439": "{{- avg_buy_time_in_minutes}} min", + "-2109576323": "Sell completion <0>30d", + "-165392069": "Avg. release time <0>30d", + "-1154208372": "Trade volume <0>30d", + "-2017825013": "Got it", + "-1845037007": "Advertiser's page", + "-1070228546": "Joined {{days_since_joined}}d", + "-2015102262": "({{number_of_ratings}} rating)", + "-1412298133": "({{number_of_ratings}} ratings)", + "-260332243": "{{user_blocked_count}} person has blocked you", + "-117094654": "{{user_blocked_count}} people have blocked you", + "-329713179": "Ok", + "-1689905285": "Unblock", + "-1148912768": "If the market rate changes from the rate shown here, we won't be able to process your order.", + "-55126326": "Seller", + "-92830427": "Seller's instructions", + "-1940034707": "Buyer's instructions", + "-631576120": "Orders must be completed in", + "-835196958": "Receive payment to", + "-1218007718": "You may choose up to 3.", + "-1933432699": "Enter {{transaction_type}} amount", + "-2021730616": "{{ad_type}}", + "-490637584": "Limit: {{min}}–{{max}} {{currency}}", + "-1974067943": "Your bank details", + "-892663026": "Your contact details", + "-1285759343": "Search", + "-1657433201": "There are no matching ads.", + "-1862812590": "Limits {{ min_order }}–{{ max_order }} {{ currency }}", + "-375836822": "Buy {{account_currency}}", + "-1035421133": "Sell {{account_currency}}", + "-1876891031": "Currency", + "-1503997652": "No ads for this currency.", + "-1048001140": "No results for \"{{value}}\".", + "-254484597": "You have no ads 😞", + "-1179827369": "Create new ad", + "-73663931": "Create ad", + "-141315849": "No ads for this currency at the moment 😞", + "-1889014820": "<0>Don’t see your payment method? <1>Add new.", + "-1406830100": "Payment method", + "-1561775203": "Buy {{currency}}", + "-1527285935": "Sell {{currency}}", + "-592818187": "Your Deriv P2P balance is {{ dp2p_balance }}", + "-1654157453": "Fixed rate (1 {{currency}})", + "-379708059": "Min order", + "-1459289144": "This information will be visible to everyone.", + "-207756259": "You may tap and choose up to 3.", + "-1282343703": "You're creating an ad to buy <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})", + "-2139632895": "You're creating an ad to sell <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})", + "-40669120": "You're creating an ad to sell <0>{{ target_amount }} {{ target_currency }}...", + "-514789442": "You're creating an ad to buy...", + "-1571737200": "Don't cancel", + "-1601971804": "Cancel your edits?", + "-230677679": "{{text}}", + "-1914431773": "You're editing an ad to buy <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})", + "-107996509": "You're editing an ad to buy <0>{{ target_amount }} {{ target_currency }}...", + "-863580260": "You're editing an ad to buy...", + "-1396464057": "You're editing an ad to sell...", + "-309848900": "Copy", + "-1318334333": "Deactivate", + "-372210670": "Rate (1 {{account_currency}})", + "-87612148": "Ad not listed", + "-466964809": "Manage ad", + "-1667041441": "Rate (1 {{ offered_currency }})", + "-792015701": "Deriv P2P cashier is unavailable in your country.", + "-1983512566": "This conversation is closed.", + "-283017497": "Retry", + "-360975483": "You've made no transactions of this type during this period.", + "-979459594": "Buy/Sell", + "-2052184983": "Order ID", + "-2096350108": "Counterparty", + "-1597110099": "Receive", + "-750202930": "Active orders", + "-1626659964": "I've received {{amount}} {{currency}}.", + "-526636259": "Error 404", + "-480724783": "You already have an ad with this rate", + "-2040406318": "You already have an ad with the same exchange rate for this currency pair and order type. nnPlease set a different rate for your ad.", + "-1117584385": "Seen more than 6 months ago", + "-1766199849": "Seen {{ duration }} months ago", + "-591593016": "Seen {{ duration }} day ago", + "-1586918919": "Seen {{ duration }} hours ago", + "-664781013": "Seen {{ duration }} minute ago", + "-1717650468": "Online", + "-1887970998": "Unblocking wasn't possible as {{name}} is not using Deriv P2P anymore.", + "-1207312691": "Completed", + "-688728873": "Expired", + "-1951641340": "Under dispute", + "-1738697484": "Confirm payment", + "-1611857550": "Waiting for the seller to confirm", + "-1452684930": "Buyer's real name", + "-1875343569": "Seller's payment details", + "-1977959027": "hours", + "-1603581277": "minutes", + "-1792280476": "Choose your payment method", + "-520142572": "Cashier is currently down for maintenance", + "-1552080215": "Please check back in a few minutes.<0>Thank you for your patience.", + "-684271315": "OK", + "-130601012": "Please select duration", + "-232254547": "Custom", + "-1577570698": "Start date", + "-1251526905": "Last 7 days", + "-1638172550": "To enable this feature you must complete the following:", + "-1086586743": "Please submit your <0>proof of address. You can use Deriv P2P after we’ve verified your documents.", + "-559300364": "Your Deriv P2P cashier is blocked", + "-740038242": "Your rate is", + "-1072444041": "Update ad", + "-2085839488": "This ad is not listed on Buy/Sell because its minimum order is higher than the ad’s remaining amount ({{remaining_amount}} {{currency}}).", + "-987612578": "This ad is not listed on Buy/Sell because its minimum order is higher than your Deriv P2P available balance ({{balance}} {{currency}}).", + "-84644774": "This ad is not listed on Buy/Sell because its minimum order is higher than your remaining daily limit ({{remaining_limit}} {{currency}}).", + "-452142075": "You’re not allowed to use Deriv P2P to advertise. Please contact us via live chat for more information.", + "-1886565882": "Your ads with floating rates have been deactivated. Set fixed rates to reactivate them.", + "-971817673": "Your ad isn't visible to others", + "-1735126907": "This could be because your account balance is insufficient, your ad amount exceeds your daily limit, or both. You can still see your ad on <0>My ads.", + "-674715853": "Your ad exceeds the daily limit", + "-1530773708": "Block {{advertiser_name}}?", + "-2035037071": "Your Deriv P2P balance isn't enough. Please increase your balance before trying again.", + "-293182503": "Cancel adding this payment method?", + "-1850127397": "If you choose to cancel, the details you’ve entered will be lost.", + "-146021156": "Delete {{payment_method_name}}?", + "-1846700504": "Are you sure you want to remove this payment method?", + "-231863107": "No", + "-471384801": "Sorry, we're unable to increase your limits right now. Please try again in a few minutes.", + "-150224710": "Yes, continue", + "-1422779483": "That payment method cannot be deleted", + "-1103095341": "If you’re selling, only release funds to the buyer after you’ve received payment.", + "-1918928746": "We’ll never ask you to release funds on behalf of anyone.", + "-1641698637": "Read the instructions in the ad carefully before making your order. If there's anything unclear, check with the advertiser first.", + "-1815993311": "Only discuss your P2P order details within the in-app chatbox, and nowhere else.", + "-7572501": "All P2P transactions are final and cannot be reversed.", + "-1088454544": "Get new link", + "-1327607310": "Releasing funds before receiving payment may result in losses. Check your email and follow the instructions <0>within 10 minutes to release the funds.", + "-1632557686": "I didn’t receive the email", + "-142727028": "The email is in your spam folder (sometimes things get lost there).", + "-75934135": "Matching ads", + "-1856204727": "Reset", + "-227512949": "Check your spelling or use a different term.", + "-1554938377": "Search payment method", + "-1728351486": "Invalid verification link", + "-433946201": "Leave page?", + "-818345434": "Are you sure you want to leave this page? Changes made will not be saved.", + "-392043307": "Do you want to delete this ad?", + "-854930519": "You will NOT be able to restore it.", + "-1600783504": "Set a floating rate for your ad.", + "-1907448242": "Available Deriv P2P Balance", + "-268565332": "What’s your nickname?", + "-532709160": "Your nickname", + "-1016461467": "Your nickname cannot be changed later.", + "-2008992756": "Do you want to cancel this order?", + "-1618084450": "If you cancel this order, you'll be blocked from using Deriv P2P for {{block_duration}} hours.", + "-2026176944": "Please do not cancel if you have already made payment.", + "-1989544601": "Cancel this order", + "-492996224": "Do not cancel", + "-1447732068": "Payment confirmation", + "-1951344681": "Please make sure that you've paid {{amount}} {{currency}} to {{other_user_name}}, and upload the receipt as proof of your payment", + "-637818525": "Sending forged documents will result in an immediate and permanent ban.", + "-670364940": "Upload receipt here", + "-937707753": "Go Back", + "-1340125291": "Done", + "-1854199094": "{{type}} {{account_currency}}", + "-788469106": "ID number", + "-574559641": "Scan this code to order via Deriv P2P", + "-1078665050": "Share link", + "-354026679": "Share via", + "-229543460": "{{- link}}", + "-1388977563": "Copied!", + "-237014436": "Recommended by {{recommended_count}} trader", + "-849068301": "Loading...", + "-2061807537": "Something’s not right", + "-1354983065": "Refresh", + "-2054589794": "You've been temporarily barred from using our services due to multiple cancellation attempts. Try again after {{date_time}} GMT.", + "-1079963355": "trades", + "-609070622": "Identity verification in progress.", + "-1269954557": "Identity verification failed. Please try again.", + "-1507102231": "Identity verification complete.", + "-670039668": "Address verification in progress.", + "-23313647": "Address verification complete.", + "-1483008038": "Verify your P2P account", + "-792476552": "Verify your identity and address to use Deriv P2P.", + "-2094684686": "If you choose to cancel, the details you've entered will be lost.", + "-1281511784": "Cancel ad creation?", + "-2144449586": "Ad type", + "-1307206495": "Order must be completed in", + "-293628675": "1 hour", + "-1978767852": "30 minutes", + "-999492762": "15 minutes", + "-1908692350": "Filter by", + "-992568889": "No one to show here", + "-1241719539": "When you block someone, you won't see their ads, and they can't see yours. Your ads will be hidden from their search results, too.", + "-1007339977": "There are no matching name.", + "-1298666786": "My counterparties", + "-179005984": "Save", + "-2059312414": "Ad details", + "-1769584466": "Stats", + "-2090878601": "Daily limit", + "-474123616": "Want to increase your daily limits to <0>{{max_daily_buy}} {{currency}} (buy) and <1>{{max_daily_sell}} {{currency}} (sell)?", + "-133982971": "{{avg_release_time_in_minutes}} min", + "-130547447": "Trade volume <0>30d | <1>lifetime", + "-383030149": "You haven’t added any payment methods yet", + "-1156559889": "Bank Transfers", + "-1269362917": "Add new" +} \ No newline at end of file diff --git a/packages/translations/crowdin/messages.json b/packages/translations/crowdin/messages.json index d0867b346c7f..26022976d8cf 100644 --- a/packages/translations/crowdin/messages.json +++ b/packages/translations/crowdin/messages.json @@ -1 +1 @@ -{"1485191":"1:1000","2082741":"additional document number","2091451":"Deriv Bot - your automated trading partner","3125515":"Your Deriv MT5 password is for logging in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","3215342":"Last 30 days","3420069":"To avoid delays, enter your <0>name and <0>date of birth exactly as they appear on your identity document.","4547840":"<0>Verify your account to transfer funds. <1>Verify now","5149403":"Learn more about trade types","7100308":"Hour must be between 0 and 23.","9488203":"Deriv Bot is a web-based strategy builder for trading digital options. It’s a platform where you can build your own automated trading bot using drag-and-drop 'blocks'.","9757544":"Please submit your proof of address","11539750":"set {{ variable }} to Relative Strength Index Array {{ dummy }}","11706633":"Loss threshold: The bot will stop trading if your total loss exceeds this amount.","11872052":"Yes, I'll come back later","14365404":"Request failed for: {{ message_type }}, retrying in {{ delay }}s","15377251":"Profit amount: {{profit}}","17843034":"Check proof of identity document verification status","19424289":"Username","19552684":"USD Basket","21035405":"Please tell us why you’re leaving. (Select up to {{ allowed_reasons }} reasons.)","24900606":"Gold Basket","25854018":"This block displays messages in the developer’s console with an input that can be either a string of text, a number, boolean, or an array of data.","26566655":"Summary","26596220":"Finance","27582393":"Example :","27582767":"{{amount}} {{currency}}","27731356":"Your account is temporarily disabled. Please contact us via <0>live chat to enable deposits and withdrawals again.","27830635":"Deriv (V) Ltd","28581045":"Add a real MT5 account","33433576":"Please use an e-wallet to withdraw your funds.","35089987":"Upload the front and back of your driving licence.","41737927":"Thank you","44877997":"Residence permit","45453595":"Binary Coin","45821474":"Proof of income","46523711":"Your proof of identity is verified","49404821":"If you buy a \"<0>{{trade_type}}\" option, you receive a payout at expiry if the final price is {{payout_status}} the strike price. Otherwise, your “<0>{{trade_type}}” option will expire worthless.","53801223":"Hong Kong 50","53964766":"5. Hit Save to download your bot. You can choose to download your bot to your device or your Google Drive.","54185751":"Less than $100,000","55340304":"Keep your current contract?","55916349":"All","57362642":"Closed","58254854":"Scopes","59169515":"If you select \"Asian Rise\", you will win the payout if the last tick is higher than the average of the ticks.","59341501":"Unrecognized file format","59662816":"Stated limits are subject to change without prior notice.","62748351":"List Length","63869411":"This block tests a given number according to the selection","64402604":"Check transfer information","65185694":"Fiat onramp","65982042":"Total","66519591":"Investor password","66610627":"We were unable to verify your selfie because it’s not clear. Please take a clearer photo and try again. Ensure that there’s enough light where you are and that your entire face is in the frame.","67923436":"No, Deriv Bot will stop running when your web browser is closed.","68885999":"Repeats the previous trade when an error is encountered.","69005593":"The example below restarts trading after 30 or more seconds after 1 minute candle was started.","71016232":"OMG/USD","71232823":"Manage funds","71445658":"Open","71563326":"A fast and secure fiat-to-crypto payment service. Deposit cryptocurrencies from anywhere in the world using your credit/debit cards and bank transfers.","71853457":"$100,001 - $500,000","72500774":"Please fill in Tax residence.","73086872":"You have self-excluded from trading","73326375":"The low is the lowest point ever reached by the market during the contract period.","74963864":"Under","76635112":"To proceed, resubmit these documents","76916358":"You have reached the withdrawal limit.<0/>Please upload your proof of identity and address to lift the limit to continue your withdrawal.","76925355":"Check your bot’s performance","77945356":"Trade on the go with our mobile app.","77982950":"Vanilla options allow you to predict an upward (bullish) or downward (bearish) direction of the underlying asset by purchasing a \"Call\" or a \"Put\".","81091424":"To complete the upgrade, please log out and log in again to add more accounts and make transactions with your Wallets.","81450871":"We couldn’t find that page","82839270":"Upload the page of your passport that contains your photo.","83202647":"Collapse Block","84402478":"Where do I find the blocks I need?","85343079":"Financial assessment","85359122":"40 or more","85389154":"Steps required to continue verification on your mobile","90266322":"2. Start a chat with your newly created Telegram bot and make sure to send it some messages before proceeding to the next step. (e.g. Hello Bot!)","91993812":"The Martingale Strategy is a classic trading technique that has been used for more than a hundred years, popularised by the French mathematician Paul Pierre Levy in the 18th century.","93154671":"1. Hit Reset at the bottom of stats panel.","96381225":"ID verification failed","98473502":"We’re not obliged to conduct an appropriateness test, nor provide you with any risk warnings.","98972777":"random item","100239694":"Upload front of card from your computer","102226908":"Field cannot be empty","105871033":"Your age in the document you provided appears to be below 18 years. We’re only allowed to offer our services to clients above 18 years old, so we’ll need to close your account. If you have a balance in your account, contact us via live chat and we’ll help to withdraw your funds before your account is closed.","107537692":"These limits apply to your options trades only. For example, <0>maximum total loss refers to the losses on all your trades on options trading platforms.","108916570":"Duration: {{duration}} days","109073671":"Please use an e-wallet that you have used for deposits previously. Ensure the e-wallet supports withdrawal. See the list of e-wallets that support withdrawals <0>here.","111215238":"Move away from direct light","111718006":"End date","111931529":"Max. total stake over 7 days","112152170":"Your passkey is successfully removed. To avoid sign-in prompts, also remove the passkey from your password manager. ","113378532":"ETH/USD","115032488":"Buy price and P/L","116005488":"Indicators","117056711":"We’re updating our site","117318539":"Password should have lower and uppercase English letters with numbers.","117366356":"Turbo options allow you to predict the direction of the underlying asset’s movements.","118727646":"{{new_account_title}}","119261701":"Prediction:","119446122":"Contract type is not selected","120340777":"Complete your personal details","122617359":"View tutorial","122993457":"This is to confirm that it's you making the withdrawal request.","123454801":"{{withdraw_amount}} {{currency_symbol}}","124723298":"Upload a proof of address to verify your address","125354367":"An example of D’Alembert's Grind strategy","125443840":"6. Restart last trade on error","125842960":"{{name}} is required.","127307725":"A politically exposed person (PEP) is someone appointed with a prominent public position. Close associates and family members of a PEP are also considered to be PEPs.","129005644":"The idea is that successful trades may recoup previous losses. However, it is crucial to exercise caution as the risk can quickly increase with this strategy. With Deriv Bot, you can minimise your risk by setting a maximum stake. This is an optional risk management feature. Let’s say a maximum stake of 3 USD. If your stake for the next trade is set to exceed 3 USD, your stake will reset to the initial stake of 1 USD. If you didn't set a maximum stake, it would have increased beyond 3 USD.","129137937":"You decide how much and how long to trade. You can take a break from trading whenever you want. This break can be from 6 weeks to 5 years. When it’s over, you can extend it or resume trading after a 24-hour cooling-off period. If you don’t want to set a specific limit, leave the field empty.","129729742":"Tax Identification Number*","130567238":"THEN","132596476":"In providing our services to you, we are required to ask you for some information to assess if a given product or service is appropriate for you and whether you have the experience and knowledge to understand the risks involved.<0/><0/>","132689841":"Trade on web terminal","133523018":"Please go to the Deposit page to get an address.","133536621":"and","133655768":"Note: If you wish to learn more about the Bot Builder, you can proceed to the <0>Tutorials tab.","137589354":"To assess your trading experience and if our products are suitable for you. Please provide accurate and complete answers, as they may affect the outcome of this assessment.","138055021":"Synthetic indices","139454343":"Confirm my limits","141265840":"Funds transfer information","141626595":"Make sure your device has a working camera","142050447":"set {{ variable }} to create text with","142390699":"Connected to your mobile","143970826":"Payment problems?","145511192":"s is the initial stake.","145633981":"Unavailable as your documents are still under review","145736466":"Take a selfie","150156106":"Save changes","150486954":"Token name","151279367":"2. Set the Purchase conditions. In this example, your bot will purchase a Rise contract when it starts and after a contract closes.","151646545":"Unable to read file {{name}}","152415091":"Math","152524253":"Trade the world’s markets with our popular user-friendly platform.","157593038":"random integer from {{ start_number }} to {{ end_number }}","157871994":"Link expired","158355408":"Some services may be temporarily unavailable.","160746023":"Tether as an Omni token (USDT) is a version of Tether that is hosted on the Omni layer on the Bitcoin blockchain.","160863687":"Camera not detected","164112826":"This block allows you to load blocks from a URL if you have them stored on a remote server, and they will be loaded only when your bot runs.","164564432":"Deposits are temporarily unavailable due to system maintenance. You can make your deposits when the maintenance is complete.","165294347":"Please set your country of residence in your account settings to access the cashier.","165312615":"Continue on phone","165682516":"If you don’t mind sharing, which other trading platforms do you use?","167094229":"• Current stake: Use this variable to store the stake amount. You can assign any amount you want, but it must be a positive number.","170185684":"Ignore","170244199":"I’m closing my account for other reasons.","171307423":"Recovery","171579918":"Go to Self-exclusion","171638706":"Variables","173991459":"We’re sending your request to the blockchain.","174793462":"Strike","176078831":"Added","176319758":"Max. total stake over 30 days","176654019":"$100,000 - $250,000","177099483":"Your address verification is pending, and we’ve placed some restrictions on your account. The restrictions will be lifted once your address is verified.","178413314":"First name should be between 2 and 50 characters.","179083332":"Date","179737767":"Our legacy options trading platform.","181107754":"Your new <0>{{platform}} {{eligible_account_to_migrate}} account(s) are ready for trading.","181346014":"Notes ","181881956":"Contract Type: {{ contract_type }}","182630355":"Thank you for submitting your information.","184024288":"lower case","189705706":"This block uses the variable \"i\" to control the iterations. With each iteration, the value of \"i\" is determined by the items in a given list.","189759358":"Creates a list by repeating a given item","190834737":"Guide","191372501":"Accumulation of Income/Savings","192436105":"No need for symbols, digits, or uppercase letters","192573933":"Verification complete","195136585":"Trading View Chart","195972178":"Get character","196810983":"If the duration is more than 24 hours, the Cut-off time and Expiry date will apply instead.","196998347":"We hold customer funds in bank accounts separate from our operational accounts which would not, in the event of insolvency, form part of the company's assets. This meets the <0>Gambling Commission's requirements for the segregation of customer funds at the level: <1>medium protection.","197190401":"Expiry date","201091938":"30 days","203179929":"<0>You can open this account once your submitted documents have been verified.","203271702":"Try again","203297887":"The Quick Strategy you just created will be loaded to the workspace.","203924654":"Hit the <0>Start button to begin and follow the tutorial.","204797764":"Transfer to client","204863103":"Exit time","206010672":"Delete {{ delete_count }} Blocks","207521645":"Reset Time","207824122":"Please withdraw your funds from the following Deriv account(s):","209533725":"You’ve transferred {{amount}} {{currency}}","210385770":"If you have an active account, please log in to continue. Otherwise, please sign up.","210872733":"The verification status is not available, provider says: Malformed JSON.","211224838":"Investment","211461880":"Common names and surnames are easy to guess","211487193":"Document number (e.g. identity card, passport, driver's license)","211847965":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable withdrawals.","215975531":"This account offers CFDs on a highly customisable CFD trading platform.","216650710":"You are using a demo account","217377529":"5. If the next trades are profitable, the stake for the following trade will be reduced by 2 USD. This can be shown above where the stake of 3 USD is reduced to 1 USD. See A3.","217403651":"St. Vincent & Grenadines","217504255":"Financial assessment submitted successfully","218441288":"Identity card number","220014242":"Upload a selfie from your computer","220186645":"Text Is empty","221261209":"A Deriv account will allow you to fund (and withdraw from) your CFDs account(s).","223120514":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 50 days.","223607908":"Last digit stats for latest 1000 ticks for {{underlying_name}}","224650827":"IOT/USD","225887649":"This block is mandatory. It's added to your strategy by default when you create new strategy. You can not add more than one copy of this block to the canvas.","227591929":"To timestamp {{ input_datetime }} {{ dummy }}","227903202":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts.","228521812":"Tests whether a string of text is empty. Returns a boolean value (true or false).","233500222":"- High: the highest price","235583807":"SMA is a frequently used indicator in technical analysis. It calculates the average market price over a specified period, and is usually used to identify market trend direction: up or down. For example, if the SMA is moving upwards, it means the market trend is up. ","235994721":"Forex (standard/exotic) and cryptocurrencies","236642001":"Journal","238496287":"Leverage trading is high-risk, so it's a good idea to use risk management features such as stop loss. Stop loss allows you to","241546739":"Please choose the correct Deriv company and server name when logging in, as shown on Trader’s Hub.","243537306":"1. Under the Blocks menu, go to Utility > Variables.","243614144":"This is only available for existing clients.","245005091":"lower","245187862":"The DRC will make a <0>decision on the complaint (please note that the DRC mentions no timeframe for announcing its decision).","245812353":"if {{ condition }} return {{ value }}","246428134":"Step-by-step guides","248153700":"Reset your password","248565468":"Check your {{ identifier_title }} account email and click the link in the email to proceed.","248909149":"Send a secure link to your phone","251134918":"Account Information","251445658":"Dark theme","251882697":"Thank you! Your response has been recorded into our system.<0/><0/>Please click ‘OK’ to continue.","254912581":"This block is similar to EMA, except that it gives you the entire EMA line based on the input list and the given period.","256031314":"Cash Business","256602726":"If you close your account:","258448370":"MT5","258912192":"Trading assessment","260069181":"An error occured while trying to load the URL","260086036":"Place blocks here to perform tasks once when your bot starts running.","260361841":"Tax Identification Number can't be longer than 25 characters.","260393332":"You cannot make further deposits as your documents are still under review. We will notify you by email within 3 days once your verification is approved.","261074187":"4. Once the blocks are loaded onto the workspace, tweak the parameters if you want, or hit Run to start trading.","261250441":"Drag the <0>Trade again block and add it into the <0>do part of the <0>Repeat until block.","262095250":"If you select <0>\"Put\", you’ll earn a payout if the final price is below the strike price at expiry. Otherwise, you won’t receive a payout.","264976398":"3. 'Error' displays a message in red to highlight something that needs to be resolved immediately.","265644304":"Trade types","267992618":"The platforms lack key features or functionality.","268940240":"Your balance ({{format_balance}} {{currency}}) is less than the current minimum withdrawal allowed ({{format_min_withdraw_amount}} {{currency}}). Please top up your account to continue with your withdrawal.","269322978":"Deposit with your local currency via peer-to-peer exchange with fellow traders in your country.","269607721":"Upload","270339490":"If you select \"Over\", you will win the payout if the last digit of the last tick is greater than your prediction.","270396691":"<0>Your Wallets are ready!","270610771":"In this example, the open price of a candle is assigned to the variable \"candle_open_price\".","270712176":"descending","270780527":"You've reached the limit for uploading your documents.","271637055":"Download is unavailable while your bot is running.","272179372":"This block is commonly used to adjust the parameters of your next trade and to implement stop loss/take profit logic.","273350342":"Copy and paste the token into the app.","273728315":"Should not be 0 or empty","274268819":"Volatility 100 Index","275116637":"Deriv X","276770377":"New MT5 account(s) under the {{to_account}} jurisdiction will be created for new trades.","277469417":"Exclude time cannot be for more than five years.","278684544":"get sub-list from # from end","280021988":"Use these shortcuts","281110034":"Effective trading with the D'Alembert system requires careful consideration of its stake progression and risk management. Traders can automate this approach using Deriv Bot, setting profit and loss thresholds to ensure balanced and controlled trading. However, it is crucial for traders to assess their risk appetite, test strategies on a demo account, and align with their own trading style before transitioning to real money trading. This optimization process helps strike a balance between potential gains and losses while managing risk prudently.","282319001":"Check your image","282564053":"Next, we'll need your proof of address.","283830551":"Your address doesn’t match your profile","284527272":"antimode","284772879":"Contract","284809500":"Financial Demo","287934290":"Are you sure you want to cancel this transaction?","291344459":"The table illustrates this principle in the second session. After a trade resulting in loss in round 4 followed by a successful trade in round 5, the stake will increase to 2 USD for round 6. This is in line with the strategy's rule of raising the stake only after a loss is followed by a successful trade.","291744889":"<0>1. Trade parameters:<0>","291817757":"Go to our Deriv community and learn about APIs, API tokens, ways to use Deriv APIs, and more.","292526130":"Tick and candle analysis","292589175":"This will display the SMA for the specified period, using a candle list.","292887559":"Transfer to {{selected_value}} is not allowed, Please choose another account from dropdown","293250845":"Are you sure you want to continue?","294043810":"I confirm that my tax information is accurate and complete.","294305803":"Manage account settings","294335229":"Sell at market price","296017162":"Back to Bot","301441673":"Select your citizenship/nationality as it appears on your passport or other government-issued ID.","304309961":"We're reviewing your withdrawal request. You may still cancel this transaction if you wish. Once we start processing, you won't be able to cancel.","304506198":"Total balance:","310234308":"Close all your positions.","312142140":"Save new limits?","312300092":"Trims the spaces within a given string or text.","313741895":"This block returns “True” if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","315306603":"You have an account that do not have currency assigned. Please choose a currency to trade with this account.","316694303":"Is candle black?","318865860":"close","318984807":"This block repeats the instructions contained within for a specific number of times.","321457615":"Oops, something went wrong!","323179846":"The time interval for each candle can be set from one minute to one day.","323209316":"Select a Deriv Bot Strategy","323360883":"Baskets","325662004":"Expand Block","325763347":"result","326770937":"Withdraw {{currency}} ({{currency_symbol}}) to your wallet","327534692":"Duration value is not allowed. To run the bot, please enter {{min}}.","328539132":"Repeats inside instructions specified number of times","329353047":"Malta Financial Services Authority (MFSA) (licence no. IS/70156)","329404045":"<0>Switch to your real account<1> to create a {{platform}} {{account_title}} account.","330384187":"Enable trading with your first transfer.","333456603":"Withdrawal limits","333807745":"Click on the block you want to remove and press Delete on your keyboard.","334942497":"Buy time","337023006":"Start time cannot be in the past.","339449279":"Remaining time","339610914":"Spread Up/Spread Down","339879944":"GBP/USD","340807218":"Description not found.","342181776":"Cancel transaction","343873723":"This block displays a message. You can specify the color of the message and choose from 6 different sound options.","344418897":"These trading limits and self-exclusion help you control the amount of money and time you spend on {{brand_website_name}} and exercise <0>responsible trading.","345320063":"Invalid timestamp","345818851":"Sorry, an internal error occurred. Hit the above checkbox to try again.","347029309":"Forex: standard/micro","347039138":"Iterate (2)","348951052":"Your cashier is currently locked","349047911":"Over","349110642":"<0>{{payment_agent}}<1>'s contact details","350602311":"Stats show the history of consecutive tick counts, i.e. the number of ticks the price remained within range continuously.","351744408":"Tests if a given text string is empty","352363702":"You may see links to websites with a fake Deriv login page where you’ll get scammed for your money.","353731490":"Job done","354945172":"Submit document","357477280":"No face found","357672069":"Income verification failed","359053005":"Please enter a token name.","359649435":"Given candle list is not valid","359809970":"This block gives you the selected candle value from a list of candles within the selected time interval. You can choose from open price, close price, high price, low price, and open time.","360224937":"Logic","360773403":"Bot Builder","362946954":"Our legacy automated trading platform.","363576009":"- High price: the highest price","363738790":"Browser","363990763":"Sell price:","367801124":"Total assets in your Deriv accounts.","368160866":"in list","369035361":"<0>•Your account number","371151609":"Last used","371710104":"This scope will allow third-party apps to buy and sell contracts for you, renew your expired purchases, and top up your demo accounts.","372291654":"Exclude time must be after today.","372645383":"True if the market direction matches the selection","372805409":"You should enter 9-35 characters.","373021397":"random","373306660":"{{label}} is required.","373495360":"This block returns the entire SMA line, containing a list of all values for a given period.","374537470":"No results for \"{{text}}\"","375714803":"Deal Cancellation Error","377231893":"Deriv Bot is unavailable in the EU","377538732":"Key parameters","379523479":"To avoid loss of funds, do not share tokens with the Admin scope with unauthorised parties.","380606668":"tick","380694312":"Maximum consecutive trades","381972464":"Your document has expired.","384303768":"This block returns \"True\" if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","384707870":"CRS confirmation","386278304":"Install the {{platform_name_trader}} web app","386502387":"Bot is not running","389923099":"Zoom in","390890891":"Last quarter","391915203":"Hedging","392582370":"Fall Equals","393789743":"Letters, spaces, periods, hyphens, apostrophes only.","396418990":"Offline","398816980":"Launch {{platform_name_trader}} in seconds the next time you want to trade.","401339495":"Verify address","401345454":"Head to the Tutorials tab to do so.","403456289":"The formula for SMA is:","406359555":"Contract details","406497323":"Sell your active contract if needed (optional)","411482865":"Add {{deriv_account}} account","412433839":"I agree to the <0>terms and conditions.","413594348":"Only letters, numbers, space, hyphen, period, and forward slash are allowed.","417864079":"You’ll not be able to change currency once you have made a deposit.","418265501":"Demo Derived","419485005":"Spot","419496000":"Your contract is closed automatically when your profit is more than or equals to this amount. This block can only be used with the multipliers trade type.","420072489":"CFD trading frequency","422055502":"From","424101652":"Quick strategy guides >","424272085":"We take your financial well-being seriously and want to ensure you are fully aware of the risks before trading.<0/><0/>","424897068":"Do you understand that you could potentially lose 100% of the money you use to trade?","426031496":"Stop","427134581":"Try using another file type.","427617266":"Bitcoin","429970999":"To avoid delays, enter your <0>name exactly as it appears on your {{document_name}}.","431267979":"Here’s a quick guide on how to use Deriv Bot on the go.","432273174":"1:100","432508385":"Take Profit: {{ currency }} {{ take_profit }}","432519573":"Document uploaded","433348384":"Real accounts are not available to politically exposed persons (PEPs).","433616983":"2. Investigation phase","434548438":"Highlight function definition","434896834":"Custom functions","436364528":"Your account will be opened with {{legal_entity_name}}, and will be subject to the laws of Saint Vincent and the Grenadines.","436534334":"<0>We've sent you an email.","437138731":"Create a new {{platform}} password","437453244":"Choose your preferred cryptocurrency","437485293":"File type not supported","437904704":"Maximum open positions","438067535":"Over $500,000","439398769":"This strategy is currently not compatible with Deriv Bot.","442281706":"You’ve just deleted a block.","442520703":"$250,001 - $500,000","443559872":"Financial SVG","444484637":"Logic negation","445419365":"1 - 2 years","450983288":"Your deposit is unsuccessful due to an error on the blockchain. Please contact your crypto wallet service provider for more info.","451852761":"Continue on your phone","452054360":"Similar to RSI, this block gives you a list of values for each entry in the input list.","452949978":"The 1-3-2-6 strategy is designed to capitalise on consecutive successful trades while minimising losses during losing streaks. The rationale behind this strategy lies in statistical probabilities, with adjustments to stake sizes based on the perceived likelihood of success. There is a higher likelihood of success in the second trade after one successful trade. Hence the stake adjusts to 3 in the second trade. In the third trade, the stake adjusts to 2 units due to a lower probability of a successful trade. If the third trade is also successful, the strategy then allocates all the previous gains (a total of 6 units of initial stake) into the fourth trade with the aim of doubling the potential profits. If the fourth trade results in a positive outcome, the strategy helps achieve a total gain of 12 units. However, it is crucial to exercise caution, as the risk can escalate quickly with this strategy, and any loss in the fourth trade forfeits all previous gains.","453175851":"Your MT5 Financial STP account will be opened through {{legal_entity_name}}. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","454196938":"Regulation:","456746157":"Grant access to your camera from your browser settings","457020083":"It’ll take longer to verify you if we can’t read it","457494524":"1. From the block library, enter a name for the new variable and click Create.","459612953":"Select account","459817765":"Pending","460070238":"Congratulations","460975214":"Complete your Appropriateness Test","461795838":"Please contact us via live chat to unlock it.","462079779":"Resale not offered","463361726":"Select an item","465993338":"Oscar's Grind","466424460":"Oscar’s Grind","466837068":"Yes, increase my limits","467839232":"I trade forex CFDs and other complex financial instruments regularly on other platforms.","471402292":"Your bot uses a single trade type for each run.","473154195":"Settings","474306498":"We’re sorry to see you leave. Your account is now closed.","475492878":"Try Synthetic Indices","476023405":"Didn't receive the email?","477557241":"Remote blocks to load must be a collection.","478280278":"This block displays a dialog box that uses a customised message to prompt for an input. The input can be either a string of text or a number and can be assigned to a variable. When the dialog box is displayed, your strategy is paused and will only resume after you enter a response and click \"OK\".","478827886":"We calculate this based on the barrier you’ve selected.","479420576":"Tertiary","480356486":"*Boom 300 and Crash 300 Index","481276888":"Goes Outside","483279638":"Assessment Completed<0/><0/>","483591040":"Delete all {{ delete_count }} blocks?","485379166":"View transactions","487239607":"Converts a given True or False to the opposite value","488150742":"Resend email","489768502":"Change investor password","490053735":"If you select this feature, your trade will be closed automatically at the nearest available asset price when your loss reaches or exceeds the stop loss amount. Your loss may be more than the amount you entered depending on the market price at closing.","491603904":"Unsupported browser","492198410":"Make sure everything is clear","492566838":"Taxpayer identification number","497518317":"Function that returns a value","498562439":"or","499522484":"1. for \"string\": 1325.68 USD","500855527":"Chief Executives, Senior Officials and Legislators","500920471":"This block performs arithmetic operations between two numbers.","501401157":"You are only allowed to make deposits","501537611":"*Maximum number of open positions","502007051":"Demo Swap-Free SVG","502041595":"This block gives you a specific candle from within the selected time interval.","505793554":"last letter","508390614":"Demo Financial STP","511679687":"Accumulators allow you to express a view on the range of movement of an index and grow your stake exponentially at a fixed <0>growth rate.","514031715":"list {{ input_list }} is empty","514776243":"Your {{account_type}} password has been changed.","514948272":"Copy link","517631043":"We’ve sent your e-book. Check your email to download it.","517833647":"Volatility 50 (1s) Index","518955798":"7. Run Once at Start","519205761":"You can no longer open new positions with this account.","520136698":"Boom 500 Index","520458365":"Last used: ","521872670":"item","522703281":"divisible by","523123321":"- 10 to the power of a given number","524459540":"How do I create variables?","527329988":"This is a top-100 common password","529056539":"Options","531114081":"3. Contract Type","531675669":"Euro","532724086":"Employment contract","533403953":"Your existing <0>{{platform}} {{type}} {{from_account}} account(s) will remain accessible.","535041346":"Max. total stake per day","537788407":"Other CFDs Platform","538017420":"0.5 pips","538042340":"Principle 2: The stake only increases when a loss trade is followed by a successful trade","538228086":"Close-Low","541650045":"Manage {{platform}} password","541700024":"First, enter your driving licence number and the expiry date.","542038694":"Only letters, numbers, space, underscore, and hyphen are allowed for {{label}}.","542305026":"You must also submit a proof of identity.","543413346":"You have no open positions for this asset. To view other open positions, click Go to Reports","547029855":"If you select this feature, you can cancel your trade within a chosen time frame if the asset price moves against your favour. You will get your stake back without profit/loss. We charge a small fee for this. Take profit and stop loss are disabled when deal cancellation is active.","549479175":"Deriv Multipliers","549799607":"Go to LiveChat","551569133":"Learn more about trading limits","554135844":"Edit","554410233":"This is a top-10 common password","555351771":"After defining trade parameters and trade options, you may want to instruct your bot to purchase contracts when specific conditions are met. To do that you can use conditional blocks and indicators blocks to help your bot to make decisions.","555881991":"National Identity Number Slip","558866810":"Run your bot","559224320":"Our classic “drag-and-drop” tool for creating trading bots, featuring pop-up trading charts, for advanced users.","560759471":"You'll see these details once the contract starts.","561982839":"Change your currency","562599414":"This block returns the purchase price for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","563034502":"We shall try to resolve your complaint within 15 business days. We will inform you of the outcome together with an explanation of our position and propose any remedial measures we intend to take.","563166122":"We shall acknowledge receiving your complaint, review it carefully, and keep you updated on the handling process. We might request further information or clarifications to facilitate the resolution of the complaint.","563652273":"Go to block","565410797":"The below image illustrates how Simple Moving Average Array block works:","566274201":"1. Market","567019968":"A variable is among the most important and powerful components in creating a bot. It is a way to store information, either as text or numbers. The information stored as a variable can be used and changed according to the given instructions. Variables can be given any name, but usually they are given useful, symbolic names so that it is easier to call them during the execution of instructions.","567163880":"Create a {{platform}} password","567755787":"Tax Identification Number is required.","569057236":"In which country was your document issued?","571921777":"Funds protection level","572576218":"Languages","573173477":"Is candle {{ input_candle }} black?","575668969":"3. For trades that result in a profit, the stake for the next trade will be increased by 2 USD. Deriv Bot will continue to add 2 USD for every successful trade. See A1.","575702000":"Remember, selfies, pictures of houses, or non-related images will be rejected.","575968081":"Account created. Select payment method for deposit.","576355707":"Select your country and citizenship:","577215477":"count with {{ variable }} from {{ start_number }} to {{ end_number }} by {{ step_size }}","577779861":"Withdrawal","577883523":"4. Awards and orders","578640761":"Call Spread","579529868":"Show all details — including the bottom 2 lines","580431127":"Restart buy/sell on error (disable for better performance): {{ checkbox }}","580665362":"Stays In/Goes Out","580774080":"insert at","581168980":"Legal","582945649":"2 minutes","584028307":"Allow equals","587577425":"Secure my account","587856857":"Want to know more about APIs?","588609216":"Repeat tour","592087722":"Employment status is required.","592381383":"Passkey successfully removed","593459109":"Try a different currency","594937260":"Derived - BVI","595080994":"Example: CR123456789","595136687":"Save Strategy","597089493":"Here is where you can decide to sell your contract before it expires. Only one copy of this block is allowed.","597481571":"DISCLAIMER","597707115":"Tell us about your trading experience.","599469202":"{{secondPast}}s ago","602278674":"Verify identity","603849445":"Strike price","603849863":"Look for the <0>Repeat While/Until, and click the + icon to add the block to the workspace area.","603899222":"Distance to current spot","606240547":"- Natural log","606877840":"Back to today","607807243":"Get candle","609519227":"This is the email address associated with your Deriv account.","609650241":"Infinite loop detected","610537973":"Any information you provide is confidential and will be used for verification purposes only.","611020126":"View address on Blockchain","613418320":"<0>Setup unsuccessful","613877038":"Chart","615156635":"Your selfie does not match your document.","617345387":"If you select \"Reset-Up”, you win the payout if the exit spot is strictly higher than either the entry spot or the spot at reset time.","617910072":"Use your Deriv account email and password to login into the {{ platform }} platform.","618520466":"Example of a cut-off document","619268911":"<0>a.The Financial Commission will investigate the validity of the complaint within 5 business days.","619407328":"Are you sure you want to unlink from {{identifier_title}}?","621829484":"{{days_passed}}d ago","623192233":"Please complete the <0>Appropriateness Test to access your cashier.","623542160":"Exponential Moving Average Array (EMAA)","625571750":"Entry spot:","626175020":"Standard Deviation Up Multiplier {{ input_number }}","626809456":"Resubmit","627292452":"<0>Your Proof of Identity or Proof of Address did not meet our requirements. Please check your email for further instructions.","627814558":"This block returns a value when a condition is true. Use this block within either of the function blocks above.","628193133":"Account ID","629003252":"If your current password doesn't match these requirements, you'll need to create a new one in the next step.","629145209":"In case if the \"AND\" operation is selected, the block returns \"True\" only if both given values are \"True\"","629395043":"All growth rates","632398049":"This block assigns a null value to an item or statement.","632897893":"If any of the above applies to you, select <0>Yes. Otherwise, select <0>No.","634219491":"You have not provided your tax identification number. This information is necessary for legal and regulatory requirements. Please go to <0>Personal details in your account settings, and fill in your latest tax identification number.","634274250":"How long each trade takes to expire.","636219628":"<0>c.If no settlement opportunity can be found, the complaint will proceed to the determination phase to be handled by the DRC.","636427296":"Need help with tax info? Let us know via <0>live chat.","636579615":"Number of unit(s) to be added to the next trade after a losing trade. One unit is equivalent to the amount of initial stake.","639382772":"Please upload supported file type.","640249298":"Normal","640596349":"You have yet to receive any notifications","640730141":"Refresh this page to restart the identity verification process","641420532":"We've sent you an email","642210189":"Please check your email for the verification link to complete the process.","642393128":"Enter amount","642546661":"Upload back of license from your computer","644150241":"The number of contracts you have won since you last cleared your stats.","645902266":"EUR/NZD","646773081":"Profit threshold: The bot will stop trading if your total profit exceeds this amount.","647039329":"Proof of address required","647745382":"Input List {{ input_list }}","648035589":"Other CFD Platforms","649317411":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><1/>","649923867":"Adds a sign to a number to create a barrier offset. (deprecated)","650836587":"This article explores the Martingale strategy integrated into Deriv Bot, a versatile trading bot designed to trade assets such as forex, commodities, and derived indices. We will delve into the strategy's core parameters, its application, and provide essential takeaways for traders looking to use the bot effectively.","651284052":"Low Tick","651684094":"Notify","652298946":"Date of birth","654422099":"CRS confirmation is required.","654507872":"True-False","654924603":"Martingale","655937299":"We’ll update your limits. Click <0>Accept to acknowledge that you are fully responsible for your actions, and we are not liable for any addiction or loss.","656893085":"Timestamp","657325150":"This block is used to define trade options within the Trade parameters root block. Some options are only applicable for certain trade types. Parameters such as duration and stake are common among most trade types. Prediction is used for trade types such as Digits, while barrier offsets are for trade types that involve barriers such as Touch/No Touch, Ends In/Out, etc.","659482342":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your account settings.","660481941":"To access your mobile apps and other third-party apps, you'll first need to generate an API token.","660991534":"Finish","661759508":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><0/>","662953503":"Your contract will be closed when the <0>stop out level is reached.","664779910":"3. If the first trade results in profit, the stake for the following trade will not reduce but remain at the initial stake. The strategy minimally trades at the initial stake of 1 USD. See A1.","665089217":"Please submit your <0>proof of identity to authenticate your account and access your Cashier.","665777772":"XLM/USD","665872465":"In the example below, the opening price is selected, which is then assigned to a variable called \"op\".","666724936":"Please enter a valid ID number.","669494711":"1.4 pips","671630762":"We accept only these types of documents as proof of your address. The document must be recent (issued within last {{expiry_in_months}} months) and include your name and address:","672008428":"ZEC/USD","673915530":"Jurisdiction and choice of law","674973192":"Use this password to log in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","676159329":"Could not switch to default account.","676675313":"Authy","677918431":"Market: {{ input_market }} > {{ input_submarket }} > {{ input_symbol }}","679199080":"Why passkeys?","680334348":"This block was required to correctly convert your old strategy.","681108680":"Additional information required for {{platform}} account(s)","681808253":"Previous spot price","681926004":"Example of a blurry document","682056402":"Standard Deviation Down Multiplier {{ input_number }}","685391401":"If you're having trouble signing in, let us know via <0>chat","686387939":"How do I clear my transaction log?","687193018":"Slippage risk","687212287":"Amount is a required field.","688510664":"You've {{two_fa_status}} 2FA on this device. You'll be logged out of your account on other devices (if any). Use your password and a 2FA code to log back in.","689137215":"Purchase price","691956534":"<0>You have added a {{currency}} account.<0> Make a deposit now to start trading.","692354762":"Please enter your {{document_name}}. {{example_format}}","693396140":"Deal cancellation (expired)","693933036":"Exploring the Oscar’s Grind strategy in Deriv Bot","694035561":"Trade options multipliers","696157141":"Low spot","696735942":"Enter your National Identification Number (NIN)","696870196":"- Open time: the opening time stamp","697630556":"This market is presently closed.","698037001":"National Identity Number","699159918":"1. Filing complaints","699646180":"A minimum deposit value of <0>{{minimum_deposit}} {{currency}} is required. Otherwise, the funds will be lost and cannot be recovered.","700259824":"Account currency","701034660":"We are still processing your withdrawal request.<0 />Please wait for the transaction to be completed before deactivating your account.","701462190":"Entry spot","701647434":"Search for string","702451070":"National ID (No Photo)","702561961":"Change theme","705262734":"Your Wallets are ready","705299518":"Next, upload the page of your passport that contains your photo.","705697927":"2. Set your preferred unit. In this example, it is 2 units or 2 USD.","705821926":"Learn about this trade type","706448499":"We'll send you a secure link to verify your request. Tap on it to confirm you want to remove the passkey. This protects your account from unauthorised requests.","706727320":"Binary options trading frequency","706755289":"This block performs trigonometric functions.","706960383":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price, duration, etc. However, we won’t offer a contract value if the remaining duration is below 60 seconds.","707189572":"Your email address has changed.<0/>Now, log in with your new email address.","707662672":"{{unblock_date}} at {{unblock_time}}","708055868":"Driving licence number","710123510":"repeat {{ while_or_until }} {{ boolean }}","711999057":"Successful","712101776":"Take a photo of your passport photo page","712635681":"This block gives you the selected candle value from a list of candles. You can choose from open price, close price, high price, low price, and open time.","713054648":"Sending","714080194":"Submit proof","714746816":"MetaTrader 5 Windows app","715841616":"Please enter a valid phone number (e.g. +15417541234).","716428965":"(Closed)","718504300":"Postal/ZIP code","718509613":"Maximum duration: {{ value }}","720293140":"Log out","720519019":"Reset my password","721011817":"- Raise the first number to the power of the second number","723045653":"You'll log in to your Deriv account with this email address.","723961296":"Manage password","724526379":"Learn more with our tutorials","728042840":"To continue trading with us, please confirm where you live.","728824018":"Spanish Index","729251105":"Range: {{min}} - {{max}} {{duration_unit_text}} ","729651741":"Choose a photo","730473724":"This block performs the \"AND\" or the \"OR\" logic operation with the given values.","731382582":"BNB/USD","732828463":"Standing instructions to transfer funds to an account maintained in the United States, or directions regularly received from a US address","734298230":"Just a reminder","734390964":"Insufficient balance","734881840":"false","735907651":"A US residence address or a US correspondence address (including a US PO box)","737751617":"<0>Explore our website to see what’s available.","739126643":"Indicative high spot","742469109":"Reset Balance","743623600":"Reference","744110277":"Bollinger Bands Array (BBA)","745656178":"Use this block to sell your contract at the market price.","745674059":"Returns the specific character from a given string of text according to the selected option. ","746112978":"Your computer may take a few seconds to update","749336930":"Secure alternative to passwords.","750886728":"Switch to your real account to submit your documents","751468800":"Start now","751692023":"We <0>do not guarantee a refund if you make a wrong transfer.","752024971":"Reached maximum number of digits","752992217":"This block gives you the selected constant values.","753088835":"Default","753184969":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you (that is, whether you possess the experience and knowledge to understand the risks involved).<0/><1/>","753727511":"Type","755138488":"We’re unable to verify the document you provided because it contains markings or text that should not be on your document. Please provide a clear photo or a scan of your original identity document.","756152377":"SMA places equal weight to the entire distribution of values.","758003269":"make list from text","760528514":"Please note that changing the value of \"i\" won't change the value of the original item in the list","761576760":"Fund your account to start trading.","762926186":"A quick strategy is a ready-made strategy that you can use in Deriv Bot. There are 3 quick strategies you can choose from: Martingale, D'Alembert, and Oscar's Grind.","764366329":"Trading limits","766317539":"Language","770171141":"Go to {{hostname}}","772520934":"You may sell the contract up to 24 hours before expiry. If you do, we’ll pay you the <0>contract value.","773091074":"Stake:","773309981":"Oil/USD","773336410":"Tether is a blockchain-enabled platform designed to facilitate the use of fiat currencies in a digital manner.","775679302":"{{pending_withdrawals}} pending withdrawal(s)","775706054":"Do you sell trading bots?","776085955":"Strategies","776432808":"Select the country where you currently live.","778172770":"Deriv CFDs","780009485":"About D'Alembert","781924436":"Call Spread/Put Spread","783974693":"Avoid recent years","784311461":"Exponential Moving Average (EMA)","784583814":"Linked to your computer","785969488":"Jump 75 Index","787727156":"Barrier","788005234":"NA","792164271":"This is when your contract will expire based on the Duration or End time you’ve selected.","792622364":"Negative balance protection","793526589":"To file a complaint about our service, send an email to <0>complaints@deriv.com and state your complaint in detail. Please submit any relevant screenshots of your trading or system for our better understanding.","793531921":"Our company is one of the oldest and most reputable online trading companies in the world. We are committed to treat our clients fairly and provide them with excellent service.<0/><1/>Please provide us with feedback on how we can improve our services to you. Rest assured that you will be heard, valued, and treated fairly at all times.","794682658":"Copy the link to your phone","795859446":"Password saved","797007873":"Follow these steps to recover camera access:","797500286":"negative","800228448":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_fx}}.","800521289":"Your personal details are incomplete","801430087":"A link can contain the word \"Deriv\" and still be fake.","802436811":"View transaction details","802438383":"New proof of address is needed","802556390":"seconds","802989607":"Drag your XML file here","803500173":"Initial stake","806165583":"Australia 200","807499069":"Financial commission complaints procedure","808323704":"You can also use \"Compare\" and \"Logic operation\" blocks to make test variables.","812430133":"Spot price on the previous tick.","815925952":"This block is mandatory. Only one copy of this block is allowed. It is added to the canvas by default when you open Deriv Bot.","816580787":"Welcome back! Your messages have been restored.","816738009":"<0/><1/>You may also raise your unresolved dispute to the <2>Office of the Arbiter for Financial Services.","818447476":"Switch account?","820877027":"Please verify your proof of identity","821163626":"Server maintenance occurs every first Saturday of the month from 7 to 10 GMT time. You may experience service disruption during this time.","823186089":"A block that can contain text.","824797920":"Is list empty?","825042307":"Let’s try again","825179913":"This document number was already submitted for a different account. It seems you have an account with us that doesn't need further verification. Please contact us via <0>live chat if you need help.","826511719":"USD/SEK","827688195":"Disable Block","828219890":"then","828602451":"Returns the list of tick values in string format","830164967":"Last name","830703311":"My profile","830993327":"No current transactions available","832053636":"Document submission","832217983":"40 transactions or more in the past 12 months","832398317":"Sell Error","832721563":"If you select \"Low Tick\", you win the payout if the selected tick is the lowest among the next five ticks.","834966953":"1551661986 seconds since Jan 01 1970 (UTC) translates to 03/04/2019 @ 1:13am (UTC).","835336137":"View Detail","835350845":"Add another word or two. Uncommon words are better.","836097457":"I am interested in trading but have very little experience.","837063385":"Do not send other currencies to this address.","837066896":"Your document is being reviewed, please check back in 1-3 days.","839158849":"4. If the second trade results in a loss, the Deriv Bot will automatically increase your stake for the next trade by 2 USD. Deriv Bot will continue to add 2 USD to the previous round’s stake after every losing trade. See A2.","839805709":"To smoothly verify you, we need a better photo","841434703":"Disable stack","841543189":"View transaction on Blockchain","843333337":"You can only make deposits. Please complete the <0>financial assessment to unlock withdrawals.","845304111":"Slow EMA Period {{ input_number }}","848083350":"Your payout is equal to the <0>payout per point multiplied by the difference between the final price and the strike price. You will only earn a profit if your payout is higher than your initial stake.","850582774":"Please update your personal info","851054273":"If you select \"Higher\", you win the payout if the exit spot is strictly higher than the barrier.","851264055":"Creates a list with a given item repeated for a specific number of times.","851508288":"This block constrains a given number within a set range.","852527030":"Step 2","852583045":"Tick List String","852627184":"document number","854178118":"Verify your request","854399751":"Digit code must only contain numbers.","854630522":"Choose a cryptocurrency account","857363137":"Volatility 300 (1s) Index","857445204":"Deriv currently supports withdrawals of Tether eUSDT to Ethereum wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","857986403":"do something","858663703":"For new trades, please transfer your funds into the new <0>{{platform}} {{eligible_account_to_migrate}} account(s).","860319618":"Tourism","862283602":"Phone number*","863023016":"For instance, if a trader has a loss threshold (B) of 100 USD, with an initial stake (s) of 1 USD and 2 units of increment (f), the calculation would be as follows:","863328851":"Proof of identity","864610268":"First, enter your {{label}} and the expiry date.","864655280":"You can continue to hold your current open positions in your existing MT5 account(s).","864957760":"Math Number Positive","865424952":"High-to-Low","865642450":"2. Logged in from a different browser","866496238":"Make sure your license details are clear to read, with no blur or glare","868826608":"Excluded from {{brand_website_name}} until","869068127":"The cashier is temporarily down due to maintenance. It will be available as soon as the maintenance is complete.","869823595":"Function","872661442":"Are you sure you want to update email <0>{{prev_email}} to <1>{{changed_email}}?","872721776":"2. Select your XML file and hit Select.","872817404":"Entry Spot Time","873166343":"1. 'Log' displays a regular message.","873387641":"If you have open positions","874461655":"Scan the QR code with your phone","874472715":"Your funds will remain in your existing MT5 account(s).","874484887":"Take profit must be a positive number.","875101277":"If I close my web browser, will Deriv Bot continue to run?","875532284":"Restart process on a different device","876086855":"Complete the financial assessment form","876292912":"Exit","879014472":"Reached maximum number of decimals","879647892":"You may sell the contract up until 60 seconds before expiry. If you do, we’ll pay you the <0>contract value.","881963105":"(XAUUSD, XAGUSD)","882423592":"The amount that you stake for the first trade. Note that this is the minimum stake amount.","885065431":"Get a Deriv account","888274063":"Town/City","888924866":"We don’t accept the following inputs for:","890299833":"Go to Reports","891337947":"Select country","893963781":"Close-to-Low","893975500":"You do not have any recent bots","894191608":"<0>c.We must award the settlement within 28 days of when the decision is reached.","896790627":"A US birthplace","898457777":"You have added a Deriv Financial account.","898904393":"Barrier:","900646972":"page.","902045490":"3 minutes","903429103":"In candles list read {{ candle_property }} # from end {{ input_number }}","904696726":"API token","905227556":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters and numbers.","905564365":"MT5 CFDs","906049814":"We’ll review your documents and notify you of its status within 5 minutes.","906789729":"Your verification documents were already used for another account.","907680782":"Proof of ownership verification failed","909272635":"Financial - SVG","910888293":"Too many attempts","911048905":"(BTCUSD, ETHUSD)","912257733":"The workspace will be reset to the default strategy and any unsaved changes will be lost. <0>Note: This will not affect your running bot.","912406629":"Follow these steps:","912967164":"Import from your computer","915735109":"Back to {{platform_name}}","918447723":"Real","920125517":"Add demo account","921857297":"Enter a value from 0 to {{ value }}.","921901739":"- your account details of the bank linked to your account","922313275":"You're back online","924046954":"Upload a document showing your name and bank account number or account details.","924912760":"Your document appears to be a digital document.","929608744":"You are unable to make withdrawals","930255747":"Please enter your {{document_name}}. ","930346117":"Capitalization doesn't help very much","930546422":"Touch","933126306":"Enter some text here","933193610":"Only letters, periods, hyphens, apostrophes, and spaces, please.","937237342":"Strategy name cannot be empty","937682366":"Upload both of these documents to prove your identity.","937831119":"Last name*","937992258":"Table","938500877":"{{ text }}. <0>You can view the summary of this transaction in your email.","938947787":"Withdrawal {{currency}}","938988777":"High barrier","944499219":"Max. open positions","945532698":"Contract sold","945753712":"Back to Trader’s Hub","946204249":"Read","946841802":"A white (or green) candle indicates that the open price is lower than the close price. This represents an upward movement of the market price.","947046137":"Your withdrawal will be processed within 24 hours","947363256":"Create list","947704973":"Reverse D’Alembert","947758334":"City is required","947914894":"Top up  <0>","948156236":"Create {{type}} password","948176566":"New!","949859957":"Submit","951404247":"Enjoy seamless transactions across multiple currencies and an intuitive user interface with funds segregation.","952927527":"Regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156)","956448295":"Cut-off image detected","957182756":"Trigonometric functions","958430760":"In/Out","959031082":"set {{ variable }} to MACD Array {{ dropdown }} {{ dummy }}","960201789":"3. Sell conditions","961266215":"140+","961327418":"My computer","961692401":"Bot","962251615":"If you want to adjust your self-exclusion limits, <0>contact us via live chat.","966457287":"set {{ variable }} to Exponential Moving Average {{ dummy }}","968576099":"Up/Down","969858761":"Principle 1: Strategy aims to potentially make one unit of profit per session","969987233":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between exit spot and lower barrier.","970915884":"AN","974888153":"High-Low","975668699":"I confirm and accept {{company}} 's <0>Terms and Conditions","975950139":"Country of Residence","977929335":"Go to my account settings","980050614":"Update now","981138557":"Redirect","981568830":"You have chosen to exclude yourself from trading on our website until {{exclude_until}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via <0>live chat.","981965437":"Scan the QR code below with your 2FA app. We recommend <0>Authy or <1>Google Authenticator.","982146443":"WhatsApp","982402892":"First line of address","982829181":"Barriers","983451828":"2. Select the asset and trade type.","986565137":"We've received your proof of income","987053672":"You can continue with the open positions on your current <0>{{platform}} {{existing_account}} account(s).","987224688":"How many trades have you placed with other financial instruments in the past 12 months?","988064913":"4. Come back to Deriv Bot and add the Notify Telegram block to the workspace. Paste the Telegram API token and chat ID into the block fields accordingly.","988361781":"You have no trading activity yet.","988934465":"When prompted, you must enable camera access to continue","989840364":"You’re under legal age.","990739582":"170+","992294492":"Your postal code is invalid","992677950":"Logging out on other devices","993827052":"Choosing this jurisdiction will give you a Financial STP account. Your trades will go directly to the market and have tighter spreads.","995563717":"not {{ boolean }}","997276809":"I confirm that the name and date of birth above match my chosen identity document","997311089":"Change my password","999008199":"text","1001160515":"Sell","1002989598":"iOS: iCloud keychain.","1003876411":"Should start with letter or number and may contain a hyphen, period and slash.","1004127734":"Send email","1006069082":"The objective of Martingale strategy is to take advantage of consecutive successful trades and maximise potential profits from them. This strategy is beneficial only if there are consecutive successful trades. Therefore, it is important to set a maximum stake to secure all the potential profits gained from a number of consecutive successful trades, or you could lose all the profits you have accumulated, including your initial stake. For example, if your goal is to maximise profits within 2 consecutive successful trades, you set a maximum stake of 2 USD, given your initial stake is 1 USD. Similarly, if your goal is to maximise profits within 3 consecutive successful trades, you set a maximum stake of 4 USD, given your initial stake is 1 USD.","1006458411":"Errors","1006664890":"Silent","1008151470":"Unit: The number of units that are added in the event of successful trades or the number of units removed in the event of losing trades. For example, if the unit is set at 2, the stake increases or decreases by two times the initial stake of 1 USD, meaning it changes by 2 USD.","1009032439":"All time","1010198306":"This block creates a list with strings and numbers.","1010337648":"We were unable to verify your proof of ownership.","1011208051":"Congratulations, you have successfully created your <0/>{{category}} {{platform}} {{type}} {{jurisdiction_selected_shortcode}} account. ","1011424042":"{{text}}. stake<0/>","1012102263":"You will not be able to log in to your account until this date (up to 6 weeks from today).","1015201500":"Define your trade options such as duration and stake.","1016220824":"You need to switch to a real money account to use this feature.<0/>You can do this by selecting a real account from the <1>Account Switcher.","1018803177":"standard deviation","1019265663":"You have no transactions yet.","1019508841":"Barrier 1","1021090237":"Upgrade your <0>{{account_1}} <1/>and <0>{{account_2}} {{platform}} account(s)","1021679446":"Multipliers only","1022934784":"1 minute","1022971288":"Payout per pip","1023237947":"1. In the example below, the instructions are repeated as long as the value of x is less than or equal to 10. Once the value of x exceeds 10, the loop is terminated.","1023643811":"This block purchases contract of a specified type.","1023795011":"Even/Odd","1024205076":"Logic operation","1026046972":"Please enter a payout amount that's lower than {{max_payout}}.","1026289179":"Trade on the go","1028211549":"All fields are required","1028758659":"Citizenship*","1029164365":"We presume that you possess the experience, knowledge, and expertise to make your own investment decisions and properly assess the risk involved.","1029641567":"{{label}} must be less than 30 characters.","1030021206":"change {{ variable }} by {{ number }}","1031602624":"We've sent a secure link to %{number}","1031731167":"Pound Sterling","1032173180":"Deriv","1032907147":"AUD/NZD","1033253221":"Confirm your identity to make a withdrawal.","1035893169":"Delete","1036116144":"Speculate on the price movement of an asset without actually owning it.","1036867749":"The desired duration, stake, prediction, and/or barrier(s) for the contract is defined here.","1038575777":"Change password","1039428638":"EU regulation","1039476188":"The size used to multiply the stake after a losing trade for the next trade.","1039755542":"Use a few words, avoid common phrases","1040472990":"1. Go to Bot Builder.","1040677897":"To continue trading, you must also submit a proof of address.","1041001318":"This block performs the following operations on a given list: sum, minimum, maximum, average, median, mode, antimode, standard deviation, random item.","1041620447":"If you are unable to scan the QR code, you can manually enter this code instead:","1042659819":"You have an account that needs action","1043790274":"There was an error","1044599642":"<0> has been credited into your {{platform}} {{title}} account.","1045704971":"Jump 150 Index","1045782294":"Click the <0>Change password button to change your Deriv password.","1047389068":"Food Services","1047644783":"Enable screen lock on your device.","1047881477":"Unfortunately, your browser does not support the video.","1048687543":"Labuan Financial Services Authority","1048947317":"Sorry, this app is unavailable in {{clients_country}}.","1049384824":"Rise","1050063303":"Videos on Deriv Bot","1050128247":"I confirm that I have verified the payment agent’s transfer information.","1050844889":"Reports","1052779010":"You are on your demo account","1052921318":"{{currency}} Wallet","1053153674":"Jump 50 Index","1053159279":"Level of education","1053556481":"Once you submit your complaint, we will send you an acknowledgement email to confirm that we have received it.","1055313820":"No document detected","1056381071":"Return to trade","1056821534":"Are you sure?","1057216772":"text {{ input_text }} is empty","1057519018":"4. If a trade ends in a profit, the stake for the following trade will be reset to the initial stake amount of 1 USD.","1057749183":"Two-factor authentication (2FA)","1057904606":"The concept of the D’Alembert Strategy is said to be similar to the Martingale Strategy where you will increase your contract size after a loss. With the D’Alembert Strategy, you will also decrease your contract size after a successful trade.","1058804653":"Expiry","1058905535":"Tutorial","1060231263":"When are you required to pay an initial margin?","1061308507":"Purchase {{ contract_type }}","1062423382":"Explore the video guides and FAQs to build your bot in the tutorials tab.","1062536855":"Equals","1062569830":"The <0>name on your identity document doesn't match your profile.","1065275078":"cTrader is only available on desktop for now.","1065498209":"Iterate (1)","1065766135":"You have {{remaining_transfers}} {{transfer_text}} remaining for today.","1066235879":"Transferring funds will require you to create a second account.","1066459293":"4.3. Acknowledging your complaint","1069347258":"The verification link you used is invalid or expired. Please request for a new one.","1070323991":"6. If consecutive successful trades were to happen, the stake would follow a sequence of adjustment from 1 to 3, then 2, and 6 units of initial stake. After 4 consecutive successful trades, it completes one cycle and then the strategy will repeat itself for another cycle. If any trade results in a loss, your stake will reset back to the initial stake for the next trade.","1070624871":"Check proof of address document verification status","1073261747":"Verifications","1073611269":"A copy of your identity document (e.g. identity card, passport, driver's license)","1073711308":"Trade closed","1076006913":"Profit/loss on the last {{item_count}} contracts","1077515534":"Date to","1078189922":"You can make a new deposit once the verification of your account is complete.","1078221772":"Leverage prevents you from opening large positions.","1078303105":"Stop out","1080068516":"Action","1080990424":"Confirm","1082158368":"*Maximum account cash balance","1082406746":"Please enter a stake amount that's at least {{min_stake}}.","1083781009":"Tax identification number*","1083826534":"Enable Block","1087112394":"You must select the strike price before entering the contract.","1088031284":"Strike:","1088138125":"Tick {{current_tick}} - ","1089085289":"Mobile number","1089436811":"Tutorials","1089687322":"Stop your current bot?","1090041864":"The {{block_type}} block is mandatory and cannot be deleted/disabled.","1095295626":"<0>•The Arbiter for Financial Services will determine whether the complaint can be accepted and is in accordance with the law.","1096078516":"We’ll review your documents and notify you of its status within 3 days.","1096175323":"You’ll need a Deriv account","1098147569":"Purchase commodities or shares of a company.","1098622295":"\"i\" starts with the value of 1, and it will be increased by 2 at every iteration. The loop will repeat until \"i\" reaches the value of 12, and then the loop is terminated.","1100133959":"National ID","1100870148":"To learn more about account limits and how they apply, please go to the <0>Help Centre.","1101560682":"stack","1101712085":"Buy Price","1102420931":"Next, upload the front and back of your driving licence.","1102995654":"Calculates Exponential Moving Average (EMA) list from a list of values with a period","1103309514":"Target","1103452171":"Cookies help us to give you a better experience and personalised content on our site.","1104912023":"Pending verification","1107474660":"Submit proof of address","1107555942":"To","1109217274":"Success!","1110102997":"Statement","1112582372":"Interval duration","1113119682":"This block gives you the selected candle value from a list of candles.","1113292761":"Less than 8MB","1114679006":"You have successfully created your bot using a simple strategy.","1117281935":"Sell conditions (optional)","1117863275":"Security and safety","1118294625":"You have chosen to exclude yourself from trading on our website until {{exclusion_end}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via live chat.","1119887091":"Verification","1119986999":"Your proof of address was submitted successfully","1120985361":"Terms & conditions updated","1122910860":"Please complete your <0>financial assessment.","1123927492":"You have not selected your account currency","1124382808":"Please enter the expiry time in the format \"HH:MM\".","1125090693":"Must be a number","1126075317":"Add your Deriv MT5 <0>{{account_type_name}} STP account under Deriv (FX) Ltd regulated by Labuan Financial Services Authority (Licence no. MB/18/0024).","1126934455":"Length of token name must be between 2 and 32 characters.","1127224297":"Sorry for the interruption","1127884488":"cTrader MacOS app","1128139358":"How many CFD trades have you placed in the past 12 months?","1128321947":"Clear All","1128404172":"Undo","1129124569":"If you select \"Under\", you will win the payout if the last digit of the last tick is less than your prediction.","1129842439":"Please enter a take profit amount.","1130791706":"N","1133651559":"Live chat","1134879544":"Example of a document with glare","1134883120":"Use your Deriv account email and password to log in to cTrader.","1139483178":"Enable stack","1143730031":"Direction is {{ direction_type }}","1144028300":"Relative Strength Index Array (RSIA)","1145927365":"Run the blocks inside after a given number of seconds","1146064568":"Go to Deposit page","1147269948":"Barrier cannot be zero.","1150637063":"*Volatility 150 Index and Volatility 250 Index","1151964318":"both sides","1152294962":"Upload the front of your driving licence.","1154021400":"list","1154239195":"Title and name","1155011317":"This block converts the date and time to the number of seconds since the Unix Epoch (1970-01-01 00:00:00).","1155143434":"By clicking on <0>Next you agree to move your {{platform}} {{type}} {{from_account}} account(s) under <2/>Deriv {{account_to_migrate}} Ltd’s <1>terms and conditions.","1155626418":"below","1158678321":"<0>b.The Head of the Dispute Resolution Committee (DRC) will contact both you and us within 5 business days to obtain all necessary information and see if there is a chance to settle the complaint during the investigation phase.","1160761178":"No payout if exit spot is below or equal to the lower barrier.","1161924555":"Please select an option","1163771266":"The third block is <0>optional. You may use this block if you want to sell your contract before it expires. For now, leave the block as it is. ","1163836811":"Real Estate","1164773983":"Take profit and/or stop loss are not available while deal cancellation is active.","1166023941":"New password","1166128807":"Choose one of your accounts or add a new cryptocurrency account","1166377304":"Increment value","1168029733":"Win payout if exit spot is also equal to entry spot.","1169201692":"Create {{platform}} password","1170228717":"Stay on {{platform_name_trader}}","1171765024":"Step 3","1171961126":"trade parameters","1172230903":"• Stop loss threshold: Use this variable to store your loss limit. You can assign any amount you want. Your bot will stop when your losses hits or exceeds this amount.","1172524677":"CFDs Demo","1173957529":"Go to ‘Account Settings’ on Deriv.","1174542625":"- Find the chat ID property in the response, and copy the value of the id property","1174689133":"3. Set your trade parameters and hit Run.","1174748431":"Payment channel","1175183064":"Vanuatu","1177396776":"If you select \"Asian Fall\", you will win the payout if the last tick is lower than the average of the ticks.","1177723589":"There are no transactions to display","1178582280":"The number of contracts you have lost since you last cleared your stats.","1178800778":"Take a photo of the back of your license","1178942276":"Please try again in a minute.","1179704370":"Please enter a take profit amount that's higher than the current potential profit.","1181396316":"This block gives you a random number from within a set range","1181770592":"Profit/loss from selling","1183007646":"- Contract type: the name of the contract type such as Rise, Fall, Touch, No Touch, etс.","1183448523":"<0>We're setting up your Wallets","1184968647":"Close your contract now or keep it running. If you decide to keep it running, you can check and close it later on the ","1186687280":"Question {{ current }} of {{ total }}","1188316409":"To receive your funds, contact the payment agent with the details below","1188980408":"5 minutes","1189249001":"4.1. What is considered a complaint?","1189368976":"Please complete your personal details before you verify your identity.","1191429031":"Please click on the link in the email to change your <0>{{platform_name_dxtrade}} password.","1192598228":"Wallets will become your dedicated fund management tool, allowing you to transfer funds between Wallets and trading accounts instantly.","1195393249":"Notify {{ notification_type }} with sound: {{ notification_sound }} {{ input_message }}","1196006480":"Profit threshold","1198368641":"Relative Strength Index (RSI)","1199281499":"Last Digits List","1201533528":"Contracts won","1201773643":"numeric","1203297580":"This block sends a message to a Telegram channel.","1203380736":"The D’Alembert strategy is less risky than Martingale, but you can still determine how long your funds will last with this strategy before trading. Simply use this formula.","1204223111":"In this example, the open prices from a list of candles are assigned to a variable called \"candle_list\".","1204459171":"Your existing <0>{{platform}} {{type_1}} <1/>and <0>{{type_2}} {{from_account}} account(s) will remain accessible.","1206227936":"How to mask your card?","1206821331":"Armed Forces","1208729868":"Ticks","1208903663":"Invalid token","1211912982":"Bot is starting","1214893428":"Account creation is currently unavailable for mobile. Please log in with your computer to create a new account.","1216408337":"Self-Employed","1217159705":"Bank account number","1217481729":"Tether as an ERC20 token (eUSDT) is a version of Tether that is hosted on Ethereum.","1218546232":"What is Fiat onramp?","1219844088":"do %1","1221250438":"To enable withdrawals, please submit your <0>Proof of Identity (POI) and <1>Proof of Address (POA) and also complete the <2>financial assessment in your account settings.","1222096166":"Deposit via bank wire, credit card, and e-wallet","1222521778":"Making deposits and withdrawals is difficult.","1222544232":"We’ve sent you an email","1225874865":"The stake adjustment: target session profit (1 USD) - current session profit (0 USD) = 1 USD","1227074958":"random fraction","1227132397":"4. For trades that result in a loss, there are two outcomes. If it was traded at the initial stake, the next trade will remain at the same amount as the strategy trades minimally at the initial stake, see A2. If it was traded with a higher amount, the stake for the next trade would be reduced by 2 USD, see A3.","1227240509":"Trim spaces","1228534821":"Some currencies may not be supported by payment agents in your country.","1229883366":"Tax identification number","1230884443":"State/Province (optional)","1231282282":"Use only the following special characters: {{permitted_characters}}","1232291311":"Maximum withdrawal remaining","1232353969":"0-5 transactions in the past 12 months","1233300532":"Payout","1233910495":"If you select \"<0>Down\", your total profit/loss will be the percentage decrease in the underlying asset price, times the multiplier and stake, minus commissions.","1234292259":"Source of wealth","1234764730":"Upload a screenshot of your name and email address from the personal details section.","1234889964":"Better funds segregation","1237330017":"Pensioner","1238311538":"Admin","1239752061":"In your cryptocurrency wallet, make sure to select the <0>{{network_name}} network when you transfer funds to Deriv.","1239760289":"Complete your trading assessment","1239940690":"Restarts the bot when an error is encountered.","1240027773":"Please Log in","1240688917":"Glossary","1241238585":"You may transfer between your Deriv fiat, cryptocurrency, and {{platform_name_mt5}} accounts.","1242288838":"Hit the checkbox above to choose your document.","1242994921":"Click here to start building your Deriv Bot.","1243064300":"Local","1243287470":"Transaction status","1246207976":"Enter the authentication code generated by your 2FA app:","1246880072":"Select issuing country","1247280835":"Our cryptocurrency cashier is temporarily down due to system maintenance. You can make cryptocurrency deposits and withdrawals in a few minutes when the maintenance is complete.","1248018350":"Source of income","1248940117":"<0>a.The decisions made by the DRC are binding on us. DRC decisions are binding on you only if you accept them.","1250113042":"This device doesn't support passkeys.","1250495155":"Token copied!","1252669321":"Import from your Google Drive","1253531007":"Confirmed","1253636052":"MetaTrader5 web terminal","1254565203":"set {{ variable }} to create list with","1255827200":"You can also import or build your bot using any of these shortcuts.","1255909792":"last","1255963623":"To date/time {{ input_timestamp }} {{ dummy }}","1258097139":"What could we do to improve?","1258198117":"positive","1259145708":"Let’s try again. Choose another document and enter the corresponding details.","1259598687":"GBP/JPY","1260259925":"Phone is not in a proper format.","1264096613":"Search for a given string","1264842111":"You can switch between real and demo accounts.","1265317149":"A recent utility bill (e.g. electricity, water or gas) or recent bank statement or government-issued letter with your name and address.","1265704976":"","1266728508":"Proof of income verification passed","1269296089":"Let's build a Bot!","1270581106":"If you select \"No Touch\", you win the payout if the market never touches the barrier at any time during the contract period.","1272012156":"GBP/CHF","1272337240":"Days","1272681097":"Hours","1274380814":"Your payout is equal to the <0>payout per pip multiplied by the difference, <1>in pips, between the final price and the strike price. You will only earn a profit if your payout is higher than your initial stake.","1274819385":"3. Complaints and Disputes","1276660852":"Submit your proof of identity","1281045211":"Sorts the items in a given list, by their numeric or alphabetical value, in either ascending or descending order.","1281290230":"Select","1282951921":"Only Downs","1284522768":"If \"Loss\" is selected, it will return \"True\" if your last trade was unsuccessful. Otherwise, it will return an empty string.","1286094280":"Withdraw","1286507651":"Close identity verification screen","1288965214":"Passport","1289146554":"British Virgin Islands Financial Services Commission","1289650867":"The Oscar’s Grind strategy is designed to potentially gain a modest yet steady profit in each trading session. This strategy splits trades into sessions and has three principles.","1290525720":"Example: ","1291997417":"Contracts will expire at exactly 23:59:59 GMT on your selected expiry date.","1292188546":"Reset Deriv MT5 investor password","1292891860":"Notify Telegram","1293660048":"Max. total loss per day","1294553728":"We’re unable to verify the document you provided because it appears to be a blank image. Please try again or upload another document.","1294756261":"This block creates a function, which is a group of instructions that can be executed at any time. Place other blocks in here to perform any kind of action that you need in your strategy. When all the instructions in a function have been carried out, your bot will continue with the remaining blocks in your strategy. Click the “do something” field to give it a name of your choice. Click the plus icon to send a value (as a named variable) to your function.","1295284664":"Please accept our <0>updated Terms and Conditions to proceed.","1296380713":"Close my contract","1299479533":"8 hours","1300576911":"Please resubmit your proof of address or we may restrict your account.","1302691457":"Occupation","1303016265":"Yes","1303530014":"We’re processing your withdrawal.","1304083330":"copy","1304272843":"Please submit your proof of address.","1304620236":"Enable camera","1305217290":"Upload the back of your identity card.","1308625834":"Sets the default time interval for blocks that read list of candles.","1309017029":"Enabling this allows you to save your blocks as one collection which can be easily integrated into other bots.","1309044871":"Returns the value of the latest tick in string format","1310483610":"Results for \"{{ search_term }}\"","1311680770":"payout","1313167179":"Please log in","1313302450":"The bot will stop trading if your total loss exceeds this amount.","1314572331":"Your document failed our verification checks.","1316216284":"You can use this password for all your {{platform}} accounts.","1319217849":"Check your mobile","1320715220":"<0>Account closed","1320750775":"Front and back","1322804930":"Restart the process on the latest version of Google Chrome","1323327633":"Our complaints process comprises the following 4 steps:","1323476617":"Changes the capitalisation of a string of text to Upper case, Lower case, Title case.","1323996051":"Profile","1324922837":"2. The new variable will appear as a block under Set variable.","1325514262":"(licence no. MB/18/0024)","1327181172":"Financial Vanuatu","1327494533":"{{sell_value}} (Sell)","1329136554":"Jump 200 Index","1329325646":"The content of this block is called on every tick","1331199417":"Please enter the correct format. ","1331367811":"Client account number","1332168410":"Learn more","1332168769":"Disconnect","1333576137":"Please update your {{details}} to continue.","1333839457":"Submit identity card (front)","1334326985":"It may take a few minutes to arrive","1335967988":"Notice","1336052175":"Switch accounts","1337846406":"This block gives you the selected candle value from a list of candles within the selected time interval.","1337864666":"Photo of your document","1338496204":"Ref. ID","1339613797":"Regulator/External dispute resolution","1340286510":"The bot has stopped, but your trade may still be running. You can check it on the Reports page.","1341840346":"View in Journal","1341921544":"Trading accounts and funds","1344696151":"Forex, stocks, stock indices, commodities, cryptocurrencies and synthetic indices.","1346038489":"Should be less than 70.","1346204508":"Take profit","1346339408":"Managers","1346947293":"We were unable to verify your selfie because it’s not clear. Please take a clearer photo and try again. Ensure that there's enough light where you are and that your entire face is in the frame.","1347037687":"Trader’s Hub V2","1347071802":"{{minutePast}}m ago","1349133669":"Try changing your search criteria.","1349289354":"Great, that's everything we need","1349295677":"in text {{ input_text }} get substring from {{ position1 }} {{ index1 }} to {{ position2 }} {{ index2 }}","1351906264":"This feature is not available for payment agents.","1353197182":"Please select","1354288636":"Based on your answers, it looks like you have insufficient knowledge and experience in trading CFDs. CFD trading is risky and you could potentially lose all of your capital.<0/><0/>","1355250245":"{{ calculation }} of list {{ input_list }}","1356574493":"Returns a specific portion of a given string of text.","1356607862":"Deriv password","1357010670":"I acknowledge and confirm that I would like to upgrade to Wallets.","1357213116":"Identity card","1358543466":"Not available","1358543748":"enabled","1360929368":"Add a Deriv account","1362029761":"Exploring the Reverse Martingale strategy in Deriv Bot","1362578283":"High","1363645836":"Derived FX","1363675688":"Duration is a required field.","1364045306":"Account V2","1364879837":"The verification is passed but the personal info is not available to compare.","1364958515":"Stocks","1366244749":"Limits","1367488817":"4. Restart trading conditions","1367990698":"Volatility 10 Index","1370647009":"Enjoy higher daily limits","1371193412":"Cancel","1371555192":"Choose your preferred payment agent and enter your withdrawal amount. If your payment agent is not listed, <0>search for them using their account number.","1371641641":"Open the link on your mobile","1371911731":"Financial products in the EU are offered by {{legal_entity_name}}, licensed as a Category 3 Investment Services provider by the Malta Financial Services Authority (<0>Licence no. IS/70156).","1373949314":"The Reverse Martingale strategy involves increasing your stake after each successful trade and resets to the initial stake for every losing trade as it aims to secure potential profits from consecutive wins.","1374627690":"Max. account balance","1374902304":"Your document appears to be damaged or cropped.","1375884086":"Financial, legal, or government document: recent bank statement, affidavit, or government-issued letter.","1376329801":"Last 60 days","1378419333":"Ether","1380349261":"Range","1383017005":"You have switched accounts.","1384127719":"You should enter {{min}}-{{max}} numbers.","1384222389":"Please submit valid identity documents to unlock the cashier.","1385418910":"Please set a currency for your existing real account before creating another account.","1387503299":"Log in","1388770399":"Proof of identity required","1389197139":"Import error","1390792283":"Trade parameters","1391174838":"Potential payout:","1392985917":"This is similar to a commonly used password","1393559748":"Invalid date/time: {{ datetime_string }}","1393901361":"There’s an app for that","1393903598":"if true {{ return_value }}","1396179592":"Commission","1396417530":"Bear Market Index","1397628594":"Insufficient funds","1400341216":"We’ll review your documents and notify you of its status within 1 to 3 days.","1400732866":"View from camera","1400962248":"High-Close","1402208292":"Change text case","1402224124":"Hit the button below, and we'll email you a verification link.","1402300547":"Lets get your address verified","1403376207":"Update my details","1405584799":"with interval: {{ candle_interval_type }}","1407191858":"DTrader","1408844944":"Click the plus icon to extend the functionality of this block.","1411373212":"Strong passwords contain at least 8 characters. combine uppercase and lowercase letters, numbers, and symbols.","1412405902":"See important notes","1412535872":"You can check the result of the last trade with this block. It can only be placed within the \"Restart trading conditions\" root block.","1413047745":"Assigns a given value to a variable","1413359359":"Make a new transfer","1414205271":"prime","1414366321":"An uppercase letter","1414918420":"We'll review your proof of identity again and will give you an update as soon as possible.","1415006332":"get sub-list from first","1415513655":"Download cTrader on your phone to trade with the Deriv cTrader account","1415974522":"If you select \"Differs\", you will win the payout if the last digit of the last tick is not the same as your prediction.","1417558007":"Max. total loss over 7 days","1417907460":"No problem! Your passkey still works.","1417914636":"Login ID","1418115525":"This block repeats instructions as long as a given condition is true.","1419330165":"Forex, stocks, stock indices, commodities, cryptocurrencies, ETFs and synthetic indices","1421046084":"Setup your account","1421749665":"Simple Moving Average (SMA)","1422060302":"This block replaces a specific item in a list with another given item. It can also insert the new item in the list at a specific position.","1422129582":"All details must be clear — nothing blurry","1423082412":"Last Digit","1423296980":"Enter your SSNIT number","1424741507":"See more","1424763981":"1-3-2-6","1424779296":"If you've recently used bots but don't see them in this list, it may be because you:","1428657171":"You can only make deposits. Please contact us via <0>live chat for more information.","1430221139":"Verify now","1430396558":"5. Restart buy/sell on error","1430632931":"To get trading, please confirm who you are, and where you live.","1433367863":"Sorry, an error occured while processing your request.","1433468641":"We offer our services in all countries, except for the ones mentioned in our terms and conditions.","1434382099":"Displays a dialog window with a message","1434767075":"Get started on Deriv Bot","1434976996":"Announcement","1435363248":"This block converts the number of seconds since the Unix Epoch to a date and time format such as 2019-08-01 00:00:00.","1437396005":"Add comment","1437529196":"Payslip","1438247001":"A professional client receives a lower degree of client protection due to the following.","1438340491":"else","1439168633":"Stop loss:","1441208301":"Total<0 />profit/loss","1442747050":"Loss amount: <0>{{profit}}","1442840749":"Random integer","1443478428":"Selected proposal does not exist","1444843056":"Corporate Affairs Commission","1445592224":"You accidentally gave us another email address (Usually a work or a personal one instead of the one you meant).","1446742608":"Click here if you ever need to repeat this tour.","1449462402":"In review","1452260922":"Too many failed attempts","1452941569":"This block delays execution for a given number of seconds. You can place any blocks within this block. The execution of other blocks in your strategy will be paused until the instructions in this block are carried out.","1453317405":"This block gives you the balance of your account either as a number or a string of text.","1454406889":"Choose <0>until as the repeat option.","1454648764":"deal reference id","1454865058":"Do not enter an address linked to an ICO purchase or crowdsale. If you do, the ICO tokens will not be credited into your account.","1455741083":"Upload the back of your driving licence.","1457341530":"Your proof of identity verification has failed","1457603571":"No notifications","1458160370":"Enter your {{platform}} password to add a {{platform_name}} {{account}} {{jurisdiction_shortcode}} account.","1459761348":"Submit proof of identity","1461323093":"Display messages in the developer’s console.","1462238858":"By purchasing the \"High-to-Close\" contract, you'll win the multiplier times the difference between the high and close over the duration of the contract.","1464190305":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract without manually stopping and restarting your bot.","1464253511":"You already have an account for each of the cryptocurrencies available on {{deriv}}.","1465084972":"How much experience do you have with other financial instruments?","1465919899":"Pick an end date","1466430429":"Should be between {{min_value}} and {{max_value}}","1466900145":"Doe","1467017903":"This market is not yet available on {{platform_name_trader}}, but it is on {{platform_name_smarttrader}}.","1467421920":"with interval: %1","1467880277":"3. General queries","1468308734":"This block repeats instructions as long as a given condition is true","1468419186":"Deriv currently supports withdrawals of Tether USDT to Omni wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","1468508098":"Slippage happens when the asset price changes by the time it reaches our servers.","1469133110":"cTrader Windows app","1469150826":"Take Profit","1469764234":"Cashier Error","1469814942":"- Division","1470319695":"Returns either True or False","1470565177":"Article of association","1471008053":"Deriv Bot isn't quite ready for real accounts","1471070549":"Can contract be sold?","1471741480":"Severe error","1473369747":"Synthetics only","1475513172":"Size","1476301886":"Similar to SMA, this block gives you the entire SMA line containing a list of all values for a given period.","1478030986":"Create or delete API tokens for trading and withdrawals","1480915523":"Skip","1484336612":"This block is used to either terminate or continue a loop, and can be placed anywhere within a loop block.","1487086154":"Your documents were submitted successfully","1488548367":"Upload again","1490509675":"Options accounts","1491392301":"<0>Sold for: {{sold_for}}","1492686447":"Your MT5 Financial STP account will be opened through Deriv (FX) Ltd. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","1493673429":"Change email","1493866481":"Run Deriv X on your browser","1496810530":"GBP/AUD","1497773819":"Deriv MT5 accounts","1499080621":"Tried to perform an invalid operation.","1501691227":"Add Your Deriv MT5 <0>{{account_type_name}} account under Deriv (V) Ltd, regulated by the Vanuatu Financial Services Commission.","1502039206":"Over {{barrier}}","1502325741":"Your password cannot be the same as your email address.","1503618738":"- Deal reference ID: the reference ID of the contract","1505420815":"No payment agents found for your search","1505898522":"Download stack","1505927599":"Our servers hit a bump. Let’s refresh to move on.","1506251760":"Wallets","1507554225":"Submit your proof of address","1509559328":"cTrader","1509570124":"{{buy_value}} (Buy)","1509678193":"Education","1510075920":"Gold/USD","1510357015":"Tax residence is required.","1510735345":"This block gives you a list of the last digits of the last 1000 tick values.","1512469749":"In the above example it is assumed that variable candle_open_price is processed somewhere within other blocks.","1513771077":"We're processing your withdrawal.","1516559721":"Please select one file only","1516676261":"Deposit","1517503814":"Drop file or click here to upload","1519124277":"Derived SVG","1520332426":"Net annual income","1524636363":"Authentication failed","1526012495":"This could be because:","1526483456":"2. Enter a name for your variable, and hit Create. New blocks containing your new variable will appear below.","1527251898":"Unsuccessful","1527664853":"Your payout is equal to the payout per point multiplied by the difference between the final price and the strike price.","1527906715":"This block adds the given number to the selected variable.","1531017969":"Creates a single text string from combining the text value of each attached item, without spaces in between. The number of items can be added accordingly.","1533177906":"Fall","1534796105":"Gets variable value","1537192641":"Unable to process your request","1537711064":"You need to make a quick identity verification before you can access the Cashier. Please go to your account settings to submit your proof of identity.","1540585098":"Decline","1541508606":"Looking for CFDs? Go to Trader's Hub","1541770236":"The 1-3-2-6 strategy aims to maximise potential profits with four consecutive successful trades. One unit is equal to the amount of the initial stake. The stake will adjust from 1 unit to 3 units after the first successful trade, then to 2 units after your second successful trade, and to 6 units after the third successful trade. The stake for the next trade will reset to the initial stake if there is a losing trade or a completion of the trade cycle.","1541969455":"Both","1542742708":"Synthetics, Forex, Stocks, Stock indices, Commodities, and Cryptocurrencies","1544642951":"If you select \"Only Ups\", you win the payout if consecutive ticks rise successively after the entry spot. No payout if any tick falls or is equal to any of the previous ticks.","1547148381":"That file is too big (only up to 8MB allowed). Please upload another file.","1549098835":"Total withdrawn","1549645155":"Your passkey is successfully removed. To avoid sign-in prompts, also remove the passkey from your iCloud keychain. ","1551172020":"AUD Basket","1551689907":"Enhance your trading experience by upgrading your <0/><1>{{platform}} {{type}} {{from_account}} account(s).","1555345325":"User Guide","1556391770":"You cannot make a withdrawal as your documents are still under review. We will notify you by email within 3 days once your verification is approved.","1557426040":"Demo Derived SVG","1557682012":"Account Settings","1558972889":"set {{ variable }} to Simple Moving Average {{ dummy }}","1559220089":"Options and multipliers trading platform.","1560302445":"Copied","1562374116":"Students","1566037033":"Bought: {{longcode}} (ID: {{transaction_id}})","1566717687":"We also provide a guide on the Tutorial tab to show you how you can build and execute a simple strategy.","1567076540":"Only use an address for which you have proof of residence - ","1567745852":"Bot name","1569527365":"Verification failed. Resubmit your details.","1569624004":"Dismiss alert","1570484627":"Ticks list","1571575776":"Accepted formats: pdf, jpeg, jpg, and png. Max file size: 8MB","1572504270":"Rounding operation","1572982976":"Server","1573429525":"Call/Put","1575556189":"Tether on the Ethereum blockchain, as an ERC20 token, is a newer transport layer, which now makes Tether available in Ethereum smart contracts. As a standard ERC20 token, it can also be sent to any Ethereum address.","1577480486":"Your mobile link will expire in one hour","1577527507":"Account opening reason is required.","1577612026":"Select a folder","1579839386":"Appstore","1580498808":"Multiple faces found","1584109614":"Ticks String List","1584936297":"XML file contains unsupported elements. Please check or modify file.","1587046102":"Documents from that country are not currently supported — try another document type","1589148299":"Start","1589640950":"Resale of this contract is not offered.","1589702653":"Proof of address","1589863913":"These are the trade parameters used for D’Alembert strategy in Deriv Bot.","1590400723":"Total assets in all your accounts","1591933071":"Resubmit document","1593010588":"Login now","1594147169":"Please come back in","1594322503":"Sell is available","1595295238":"3. Use a logic block to check if Total profit/loss is more than the Stop loss threshold amount. You can find the Total profit/loss variable under Analysis > Stats on the Blocks menu on the left. Your bot will continue to purchase new contracts until the Total profit/loss amount exceeds the Stop loss threshold amount.","1597672660":"Deriv MT5 Password","1598009247":"<0>a.You may file a complaint with the Financial Commission up to 45 days after the incident.","1598386296":"Town/City is required.","1598443642":"Transaction hash","1599743312":"An example of Reverse Martingale strategy","1602894348":"Create a password","1604916224":"Absolute","1605222432":"I have no knowledge and experience in trading at all.","1605292429":"Max. total loss","1612105450":"Get substring","1612638396":"Cancel your trade at any time within a specified timeframe.","1615897837":"Signal EMA Period {{ input_number }}","1618652381":"For instance, if a trader has a loss threshold (B) is 1000 USD, with an initial stake (s) is 1 USD, and the Martingale multiplier (m) is 2, the calculation would be as follows:","1619070150":"You are being redirected to an external website.","1620278321":"Names and surnames by themselves are easy to guess","1620346110":"Set currency","1621024661":"Tether as a TRC20 token (tUSDT) is a version of Tether that is hosted on Tron.","1622662457":"Date from","1622944161":"Now, go to the <0>Restart trading conditions block.","1623706874":"Use this block when you want to use multipliers as your trade type.","1628981793":"Can I trade cryptocurrencies on Deriv Bot?","1630417358":"Please go to your account settings and complete your personal details to enable withdrawals.","1631281562":"GBP Basket","1633661992":"Tick {{current_tick}}/{{tick_count}}","1634016345":"2. If the trade is successful, this strategy will automatically adjust your stake to 3 units of your initial stake for the next trade. In this case, the stake adjustment is 3 units and the initial stake is 1 USD, hence the next trade will start at 3 USD.","1634903642":"Only your face can be in the selfie","1634969163":"Change currency","1635266650":"It seems that your name in the document is not the same as your Deriv profile. Please update your name in the <0>Personal details page to solve this issue.","1635628424":"An envelope with your name and address.","1636605481":"Platform settings","1636782601":"Multipliers","1638321777":"Your demo account balance is low. Reset your balance to continue trading from your demo account.","1639262461":"Pending withdrawal request:","1639304182":"Please click on the link in the email to reset your password.","1641395634":"Last digits list","1641635657":"New proof of identity document needed","1641980662":"Salutation is required.","1644636153":"Transaction hash: <0>{{value}}","1644703962":"Looking for CFD accounts? Go to Trader's Hub","1644864436":"You’ll need to authenticate your account before requesting to become a professional client. <0>Authenticate my account","1644908559":"Digit code is required.","1647186767":"The bot encountered an error while running.","1648938920":"Netherlands 25","1649239667":"2. Under the Blocks menu, you'll see a list of categories. Blocks are grouped within these categories. Choose the block you want and drag them to the workspace.","1650963565":"Introducing Wallets","1651513020":"Display remaining time for each interval","1651951220":"Repeats like \"abcabcabc\" are only slightly harder to guess than \"abc\"","1652366857":"get and remove","1652968048":"Define your trade options such as multiplier and stake.","1652976865":"In this example, this block is used with another block to get the open prices from a list of candles. The open prices are then assigned to the variable called \"cl\".","1653136377":"copied!","1653180917":"We cannot verify you without using your camera","1653999225":"Forex: major/minor","1654365787":"Unknown","1654529197":"Purchase condition","1654721858":"Upload anyway","1655372864":"Your contract will expire on this date (in GMT), based on the end time you’ve selected.","1655627840":"UPPER CASE","1656155124":"Resend in <0 /> seconds","1658954996":"Plant and Machine Operators and Assemblers","1659074761":"Reset Put","1659352235":"Add your Deriv MT5 CFDs account under Deriv Investments (Europe) Limited, regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156).","1665272539":"Remember: You cannot log in to your account until the selected date.","1665718170":"The document must contain a letterhead.","1665738338":"Balance","1665756261":"Go to live chat","1668138872":"Modify account settings","1669062316":"The payout at expiry is equal to the payout per pip multiplied by the difference, <0>in pips, between the final price and the strike price.","1670016002":"Multiplier: {{ multiplier }}","1670426231":"End Time","1671232191":"You have set the following limits:","1675030608":"To create this account first we need you to resubmit your proof of address.","1676549796":"Dynamic Leverage","1677027187":"Forex","1679743486":"1. Go to Quick strategy and select the strategy you want.","1680666439":"Upload your bank statement showing your name, account number, and transaction history.","1681765749":"Martingale formula 2","1682409128":"Untitled Strategy","1682636566":"Resend email in","1683963454":"Your contract will be closed automatically at the next available asset price on {{date}} at {{timestamp}}.","1684419981":"What's this?","1686800117":"{{error_msg}}","1689103988":"Second Since Epoch","1689258195":"We were unable to verify your address with the details you provided. Please check and resubmit or choose a different document type.","1690746575":"Enhance your trading experience by upgrading your <0>{{platform}} {{type_1}} <1/>and <0>{{type_2}} {{from_account}} account(s).","1691335819":"To continue trading with us, please confirm who you are.","1691536201":"If you choose your duration in number of ticks, you won’t be able to terminate your contract early.","1691765860":"- Negation","1692912479":"Deriv MT5, Deriv X","1693614409":"Start time","1694517345":"Enter a new email address","1696190747":"Trading inherently involves risks, and actual profits can fluctuate due to various factors, including market volatility and other unforeseen variables. As such, exercise caution and conduct thorough research before engaging in any trading activities.","1698624570":"2. Hit Ok to confirm.","1699606318":"You've reached the limit of uploading your documents.","1700233813":"Transfer from {{selected_value}} is not allowed, Please choose another account from dropdown","1701447705":"Please update your address","1702339739":"Common mistakes","1703091957":"We collect information about your employment as part of our due diligence obligations, as required by anti-money laundering legislation.","1703712522":"Your payout is equal to the payout per pip multiplied by the difference, <0>in pips, between the final price and the strike price.","1704656659":"How much experience do you have in CFD trading?","1708413635":"For your {{currency_name}} ({{currency}}) account","1709859601":"Exit Spot Time","1711013665":"Anticipated account turnover","1711016273":"<0>This may take up to 2 minutes. During this time, some services may be unavailable.","1711676335":"square root","1711929663":"Your funds have been transferred","1712357617":"Invalid email address.","1713633297":"3. If the second trade is also successful, your stake will adjust to 2 USD or 2 units of the initial stake for the next trade.","1714255392":"To enable withdrawals, please complete your financial assessment.","1715011380":"Jump 25 Index","1715630945":"Returns the total profit in string format","1715680813":"Your contract will expire at exactly 23:59:59 GMT +0 on your selected expiry date.","1717023554":"Resubmit documents","1720451994":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv fiat and Deriv cryptocurrency accounts.","1720968545":"Upload passport photo page from your computer","1722056905":"The document you provided is not supported for your country. Please provide a supported document for your country.","1722888575":"{{mt5_migration_error}}","1723069433":"Your new Wallet","1723589564":"Represents the maximum number of outstanding contracts in your portfolio. Each line in your portfolio counts for one open position. Once the maximum is reached, you will not be able to open new positions without closing an existing position first.","1724367774":"You can make a funds transfer once the verification of your account is complete.","1724696797":"You are limited to one fiat account only.","1725958461":"Account number","1726472773":"Function with no return value","1726565314":"Close my account","1728183781":"About Tether","1729145421":"Risk warning","1731747596":"The block(s) highlighted in red are missing input values. Please update them and click \"Run bot\".","1733711201":"Regulators/external dispute resolution","1734185104":"Balance: %1","1734264460":"Disclaimer","1734521537":"The document you provided appears to be two different types. Please try again or provide another document.","1736292549":"Update postal code","1737352280":"Bot.init is not called","1738094481":"<0>Duration: Ticks 1","1738611950":"About Reverse Martingale","1738681493":"Remove your glasses, if necessary","1739086943":"Wall Street 30","1739384082":"Unemployed","1739668049":"Close your account","1740371444":"Underlying market is not selected","1742256256":"Please upload one of the following documents:","1743448290":"Payment agents","1743679873":"If you select <0>\"Call\", you’ll earn a <1>payout if the <1>final price is above the <1>strike price at <1>expiry. Otherwise, you won’t receive a payout.","1743902050":"Complete your financial assessment","1744509610":"Just drag the XML file from your computer onto the workspace, and your bot will be loaded accordingly. Alternatively, you can hit Import in Bot Builder, and choose to import your bot from your computer or from your Google Drive.","1745523557":"- Square root","1746051371":"Download the app","1746273643":"Moving Average Convergence Divergence","1747501260":"Sell conditions","1747674345":"Please use `.` as a decimal separator for fractional numbers.","1747682136":"Contract was cancelled.","1748754976":"Run","1753082252":"This article explores the strategy integrated into Deriv Bot, a versatile trading bot designed to trade assets such as Forex, Commodities, and Derived Indices. We will delve into the strategy's core parameters, its application, and provide essential takeaways for traders looking to use the bot effectively.","1753183432":"We take all complaints seriously and aim to resolve them as quickly and fairly as possible. If you are unhappy with any aspect of our service, please let us know by submitting a complaint using the guidance below:","1753226544":"remove","1753975551":"Upload passport photo page","1754256229":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts, up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts, up to {{ allowed_ctrader }} transfers between your Deriv and {{platform_name_ctrader}} accounts, and up to {{ allowed_dxtrade }} transfers between your Deriv and {{platform_name_dxtrade}} accounts.","1756678453":"break out","1758386013":"Do not get lured to fake \"Deriv\" pages!","1761038852":"Let’s continue with providing proofs of address and identity.","1761254001":"A number","1761762171":"Restart last trade on error (bot ignores the unsuccessful trade): {{ checkbox }}","1762707297":"Phone number","1763123662":"Upload your NIMC slip.","1766212789":"Server maintenance starts at 06:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.","1766993323":"Only letters, numbers, and underscores are allowed.","1768293340":"Contract value","1768861315":"Minute","1768918213":"Only letters, space, hyphen, period, and apostrophe are allowed.","1769068935":"Choose any of these exchanges to buy cryptocurrencies:","1770041368":"Experience safer logins","1771037549":"Add a Deriv real account","1771592738":"Conditional block","1772396880":"The date of birth on your document doesn’t match your profile.","1777847421":"This is a very common password","1778893716":"Click here","1779144409":"Account verification required","1779519903":"Should be a valid number.","1779801832":"Please update your password accordingly.","1779872677":"Download e-book","1780442963":"Scan the QR code to download {{ platform }}.","1780770384":"This block gives you a random fraction between 0.0 to 1.0.","1782308283":"Quick strategy","1782395995":"Last Digit Prediction","1782690282":"Blocks menu","1782703044":"Sign up","1783526986":"How do I build a trading bot?","1783740125":"Upload your selfie","1785298924":"D’Alembert formula 1","1786644593":"Supported formats: JPEG, JPG, PNG, PDF, and GIF only","1787492950":"Indicators on the chart tab are for indicative purposes only and may vary slightly from the ones on the {{platform_name_dbot}} workspace.","1788515547":"<0/>For more information on submitting a complaint with the Office of the Arbiter for Financial Services, please <1>see their guidance.","1788966083":"01-07-1999","1789273878":"Payout per point","1789497185":"Make sure your passport details are clear to read, with no blur or glare","1791432284":"Search for country","1791971912":"Recent","1792037169":"To avoid delays, enter your <0>name and <0>date of birth exactly as they appear on your {{document_name}}.","1793913365":"To deposit money, please switch to your {{currency_symbol}} account.","1794815502":"Download your transaction history.","1796787905":"Please upload the following document(s).","1798943788":"You can only make deposits.","1801093206":"Get candle list","1801270786":"Ready to automate your trading strategy without writing any code? You’ve come to the right place.","1801927731":"{{platform_name_dxtrade}} accounts","1803338729":"Choose what type of contract you want to trade. For example, for the Rise/Fall trade type you can choose one of three options: Rise, Fall, or Both. Selected option will determine available options for the Purchase block.","1804620701":"Expiration","1804789128":"{{display_value}} Ticks","1806017862":"Max. ticks","1808058682":"Blocks are loaded successfully","1808867555":"This block uses the variable “i” to control the iterations. With each iteration, the value of “i” is determined by the items in a given list.","1810217569":"Please refresh this page to continue.","1811109068":"Jurisdiction","1811138041":"Enter a value from {{ value }} to 9.","1811343027":"2. Select your Martingale multiplier. In this example, it is 2.","1811972349":"Market","1811973475":"Returns a specific character from a given string","1812006199":"Identity verification","1812582011":"Connecting to server","1813700208":"Boom 300 Index","1813958354":"Remove comment","1815034361":"alphabetic","1815905959":"DTrader, DBot, SmartTrader, and Binary Bot","1815995250":"Buying contract","1817154864":"This block gives you a random number from within a set range.","1820242322":"e.g. United States","1820332333":"Top up","1821818748":"Enter Driver License Reference number","1823177196":"Most popular","1824193700":"This block gives you the last digit of the latest tick value.","1824292864":"Call","1827607208":"File not uploaded.","1828370654":"Onboarding","1830520348":"{{platform_name_dxtrade}} Password","1831847842":"I confirm that the name and date of birth above match my chosen identity document (see below)","1833499833":"Proof of identity documents upload failed","1836767074":"Search payment agent name","1837762008":"Please submit your proof of identity and proof of address to verify your account in your account settings to access the cashier.","1839021527":"Please enter a valid account number. Example: CR123456789","1840721160":"Deriv MT5 latest password requirements","1840865068":"set {{ variable }} to Simple Moving Average Array {{ dummy }}","1841788070":"Palladium/USD","1841996888":"Daily loss limit","1842266423":"back","1843336754":"Select document","1843658716":"If you select \"Only Downs\", you win the payout if consecutive ticks fall successively after the entry spot. No payout if any tick rises or is equal to any of the previous ticks.","1845598565":"The second session concludes upon reaching the aim of one unit of potential profit per session, equivalent to 1 USD. If trading continues, a new session will commence again.","1845892898":"(min: {{min_stake}} - max: {{max_payout}})","1846266243":"This feature is not available for demo accounts.","1846587187":"You have not selected your country of residence","1846588117":"Your contract will be closed automatically when your loss reaches {{stop_out_percentage}}% of your stake.","1849484058":"Any unsaved changes will be lost.","1850031313":"- Low: the lowest price","1850132581":"Country not found","1850659345":"- Payout: the payout of the contract","1851052337":"Place of birth is required.","1851776924":"upper","1854480511":"Cashier is locked","1854874899":"Back to list","1854909245":"Multiplier:","1855566768":"List item position","1856485118":"Please <0>resubmit your proof of address to transfer funds between MT5 and Deriv accounts.","1856755117":"Pending action required","1858251701":"minute","1859308030":"Give feedback","1861688160":"Deposit, transfer, trade","1863053247":"Please upload your identity document.","1863731653":"To receive your funds, contact the payment agent","1865525612":"No recent transactions.","1866244589":"The entry spot is the first tick for High/Low Ticks.","1866811212":"Deposit in your local currency via an authorised, independent payment agent in your country.","1867217564":"Index must be a positive integer","1867783237":"High-to-Close","1869315006":"See how we protect your funds to unlock the cashier.","1869486036":"You receive a <0>payout at <0>expiry if the spot price never touches or breaches the <0>barrier during the contract period. If it does, your contract will be terminated early.","1869787212":"Even","1870933427":"Crypto","1871196637":"True if the result of the last trade matches the selection","1871377550":"Do you offer pre-built trading bots on Deriv Bot?","1871664426":"Note","1873376454":"This is a price level that you choose. If this barrier is ever crossed, your contract would be terminated.","1874481756":"Use this block to purchase the specific contract you want. You may add multiple Purchase blocks together with conditional blocks to define your purchase conditions. This block can only be used within the Purchase conditions block.","1874756442":"BVI","1875702561":"Load or build your bot","1876015808":"Social Security and National Insurance Trust","1876325183":"Minutes","1876333357":"Tax Identification Number is invalid.","1877225775":"Your proof of address is verified","1877832150":"# from end","1878172674":"No, we don't. However, you'll find quick strategies on Deriv Bot that'll help you build your own trading bot for free.","1878189977":"The Martingale strategy involves increasing your stake after each loss to recoup prior losses with a single successful trade.","1879042430":"Appropriateness Test, WARNING:","1879412976":"Profit amount: <0>{{profit}}","1879651964":"<0>Pending verification","1880029566":"Australian Dollar","1880097605":"prompt for {{ string_or_number }} with message {{ input_text }}","1880227067":"Submit passport photo pages","1880377568":"An example of D’Alembert strategy","1880875522":"Create \"get %1\"","1881018702":"hour","1881380263":"Total assets in your account.","1881587673":"Total stake since you last cleared your stats.","1882825238":"Restart trading conditions","1883531976":"Clerks","1885708031":"#","1887257727":"R is the number of rounds a trader can sustain given a specific loss threshold.","1887925280":"The document must be recent and include your name and address:","1889357660":"Enter a value in minutes, up to 60480 minutes (equivalent to 6 weeks).","1890171328":"By clicking Accept below and proceeding with the Account Opening you should note that you may be exposing yourself to risks (which may be significant, including the risk of loss of the entire sum invested) that you may not have the knowledge and experience to properly assess or mitigate.","1890332321":"Returns the number of characters of a given string of text, including numbers, spaces, punctuation marks, and symbols.","1893869876":"(lots)","1894667135":"Please verify your proof of address","1896269665":"CFDs on derived and financial instruments.","1899898605":"Maximum size: 8MB","1902547203":"MetaTrader 5 MacOS app","1903437648":"Blurry photo detected","1904665809":"The Reverse Martingale strategy in trading may offer substantial gains but also comes with significant risks. With your selected strategy, Deriv Bot provides automated trading with risk management measures like setting initial stake, stake size, maximum stake, profit threshold and loss threshold. It's crucial for traders to assess their risk tolerance, practice in a demo account, and understand the strategy before trading with real money.","1905032541":"We're now ready to verify your identity","1905589481":"If you want to change your account currency, please contact us via <0>live chat.","1906213000":"Our system will finish any Deriv Bot trades that are running, and Deriv Bot will not place any new trades.","1906639368":"If this is the first time you try to create a password, or you have forgotten your password, please reset it.","1907423697":"Earn more with Deriv API","1908023954":"Sorry, an error occurred while processing your request.","1908239019":"Make sure all of the document is in the photo","1908686066":"Appropriateness Test Warning","1909647105":"TRX/USD","1909769048":"median","1913777654":"Switch account","1914014145":"Today","1914270645":"Default Candle Interval: {{ candle_interval_type }}","1914725623":"Upload the page that contains your photo.","1916129921":"Reverse Martingale","1917178459":"Bank Verification Number","1917523456":"This block sends a message to a Telegram channel. You will need to create your own Telegram bot to use this block.","1918796823":"Please enter a stop loss amount.","1918832194":"No experience","1919030163":"Tips to take a good selfie","1919296368":"2. Select your unit. In this example, it is 2 units or 2 USD.","1919594496":"{{website_name}} is not affiliated with any payment agents. Customers deal with payment agents at their sole risk. Customers are advised to check the credentials of payment agents and the accuracy of any information about payment agents (on {{website_name}} or elsewhere) before using their services.","1919694313":"To start trading, transfer funds from your Deriv account into this account.","1920217537":"Compare","1920468180":"How to use the SMA block","1921914669":"Deposit with Deriv P2P","1922529883":"Boom 1000 Index","1922955556":"Use a longer keyboard pattern with more turns","1924365090":"Maybe later","1924765698":"Place of birth*","1928930389":"GBP/NOK","1929694162":"Compare accounts","1930899934":"Tether","1931659123":"Run on every tick","1931884033":"It seems that your date of birth in the document is not the same as your Deriv profile. Please update your date of birth in the <0>Personal details page to solve this issue.","1934450653":"For <0>Contract type, set it to Both.","1938327673":"Deriv {{platform}} <0>{{is_demo}}","1939014728":"How do I remove blocks from the workspace?","1939902659":"Signal","1940408545":"Delete this token","1941915555":"Try later","1943440862":"Calculates Bollinger Bands (BB) list from a list with a period","1944204227":"This block returns current account balance.","1947527527":"1. This link was sent by you","1948092185":"GBP/CAD","1949719666":"Here are the possible reasons:","1950413928":"Submit identity documents","1955219734":"Town/City*","1957759876":"Upload identity document","1958788790":"This is the amount you’ll receive at expiry for every point of change in the underlying price, if the spot price never touches or breaches the barrier throughout the contract duration.","1958807602":"4. 'Table' takes an array of data, such as a list of candles, and displays it in a table format.","1959678342":"Highs & Lows","1960240336":"first letter","1964165648":"Connection lost","1965916759":"Asian options settle by comparing the last tick with the average spot over the period.","1966023998":"2FA enabled","1966281100":"Console {{ message_type }} value: {{ input_message }}","1968025770":"Bitcoin Cash","1968077724":"Agriculture","1968368585":"Employment status","1970060713":"You’ve successfully deleted a bot.","1971898712":"Add or manage account","1973536221":"You have no open positions yet.","1973910243":"Manage your accounts","1974273865":"This scope will allow third-party apps to view your account activity, settings, limits, balance sheets, trade purchase history, and more.","1974903951":"If you hit Yes, the info you entered will be lost.","1977724653":"This account offers CFDs on financial instruments.","1978218112":"Google Authenticator","1981940238":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_v}}.","1982790875":"Upgrade your <0/><1>{{account_title}} {{platform}} account(s)","1982796981":"Declarations","1982912252":"Relative Strength Index (RSI) from a list with a period","1983001416":"Define your trade options such as multiplier and stake. This block can only be used with the multipliers trade type. If you select another trade type, this block will be replaced with the Trade options block.","1983358602":"This policy, which may change from time to time, applies to your account registered with {{legal_entity_name}}.","1983387308":"Preview","1983480826":"Sign in","1983544897":"P.O. Box is not accepted in address","1983676099":"Please check your email for details.","1984700244":"Request an input","1984742793":"Uploading documents","1985366224":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts and up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts.","1985637974":"Any blocks placed within this block will be executed at every tick. If the default candle interval is set to 1 minute in the Trade Parameters root block, the instructions in this block will be executed once every minute. Place this block outside of any root block.","1986322868":"When your loss reaches or exceeds this amount, your trade will be closed automatically.","1986498784":"BTC/LTC","1987080350":"Demo","1987447369":"Your cashier is locked","1988153223":"Email address","1988302483":"Take profit:","1990331072":"Proof of ownership","1990735316":"Rise Equals","1991055223":"View the market price of your favourite assets.","1991448657":"Don't know your tax identification number? Click <0>here to learn more.","1991524207":"Jump 100 Index","1994023526":"The email address you entered had a mistake or typo (happens to the best of us).","1994558521":"The platforms aren’t user-friendly.","1994600896":"This block requires a list of candles as an input parameter.","1995023783":"First line of address*","1996767628":"Please confirm your tax information.","1997138507":"If the last tick is equal to the average of the ticks, you don't win the payout.","1997313835":"Your stake will continue to grow as long as the current spot price remains within a specified <0>range from the <0>previous spot price. Otherwise, you lose your stake and the trade is terminated.","1999213036":"Enhanced security is just a tap away.","1999346412":"For faster verification, input the same address here as in your proof of address document (see section below)","2001222130":"Check your spam or junk folder. If it's not there, try resending the email.","2001361785":"1. Start with the initial stake. Let’s say 1 USD.","2004052487":"Estimating the lifespan of your trades","2007028410":"market, trade type, contract type","2010759971":"Uploads successful","2010866561":"Returns the total profit/loss","2011609940":"Please input number greater than 0","2011808755":"Purchase Time","2012139674":"Android: Google password manager.","2014536501":"Card number","2014590669":"Variable '{{variable_name}}' has no value. Please set a value for variable '{{variable_name}}' to notify.","2017672013":"Please select the country of document issuance.","2019596693":"The document was rejected by the Provider.","2020545256":"Close your account?","2021037737":"Please update your details to continue.","2021161151":"Watch this video to learn how to build a trading bot on Deriv Bot. Also, check out this blog post on building a trading bot.","2023546580":"Your account will be available for trading once the verification of your account is complete.","2023659183":"Student","2023762268":"I prefer another trading website.","2025339348":"Move away from direct light — no glare","2027441253":"Why do we collect this?","2027625329":"Simple Moving Average Array (SMAA)","2027638150":"Upgrade","2027696535":"Tax information","2028163119":"EOS/USD","2029237955":"Labuan","2030018735":"RSI is a technical analysis tool that helps you identify the market trend. It will give you a value from 0 to 100. An RSI value of 70 and above means that the asset is overbought and the current trend may reverse, while a value of 30 and below means that the asset is oversold.","2030045667":"Message","2033648953":"This block gives you the specified candle value for a selected time interval.","2034803607":"You must be 18 years old and above.","2035258293":"Start trading with us","2035925727":"sort {{ sort_type }} {{ sort_direction }} {{ input_list }}","2036578466":"Should be {{value}}","2037665157":"Expand All Blocks","2037906477":"get sub-list from #","2038562422":"TIN is required.","2039198937":"Maximum stake: The maximum amount you are willing to pay to enter a single trade. The stake for your next trade will reset to the initial stake if it exceeds this value. This is an optional risk management parameter.","2042023623":"We’re reviewing your documents. This should take about 5 minutes.","2042050260":"- Purchase price: the purchase price (stake) of the contract","2042115724":"Upload a screenshot of your account and personal details page with your name, account number, phone number, and email address.","2044086432":"The close is the latest tick at or before the end time. If you selected a specific end time, the end time is the selected time.","2046273837":"Last tick","2046577663":"Import or choose your bot","2048110615":"Email address*","2048134463":"File size exceeded.","2049386104":"We need you to submit these in order to get this account:","2050170533":"Tick list","2051558666":"View transaction history","2052022586":"To enhance your MT5 account security we have upgraded our password policy.","2054889300":"Create \"%1\"","2055317803":"Copy the link to your mobile browser","2056369950":"<0>To complete your Wallet setup, log out and then log in again.","2057082550":"Accept our updated <0>terms and conditions","2057419639":"Exit Spot","2059365224":"Yes, you can get started with a pre-built bot using the Quick strategy feature. You’ll find some of the most popular trading strategies here: Martingale, D'Alembert, and Oscar's Grind. Just select the strategy, enter your trade parameters, and your bot will be created for you. You can always tweak the parameters later.","2059753381":"Why did my verification fail?","2060873863":"Your order {{order_id}} is complete","2062912059":"function {{ function_name }} {{ function_params }}","2063812316":"Text Statement","2063815003":"Ready to enable Wallets","2063890788":"Cancelled","2066978677":"{{formatted_opening_time}} (GMT) on {{opening_day}},<0 /> {{opening_date}}.","2067903936":"Driving licence","2070002739":"Don’t accept","2070345146":"When opening a leveraged CFD trade.","2070518923":"Import your bot or tap Quick Strategies to choose from the ready-to-use bot templates.","2070752475":"Regulatory Information","2070858497":"Your document appears to be a screenshot.","2071043849":"Browse","2074207096":"How to create a passkey?","2074235904":"Last name is required.","2074497711":"The Telegram notification could not be sent","2074713563":"4.2. Submission of a complaint","2079925695":"Unit: The number of units that are added in the event of a trade resulting in loss or the number of units removed in the event of a trade resulting in profit. For example, if the unit is set at 2, the stake increases or decreases by two times the initial stake of 1 USD, meaning it changes by 2 USD.","2080553498":"3. Get the chat ID using the Telegram REST API (read more: https://core.telegram.org/bots/api#getupdates)","2080829530":"Sold for: {{sold_for}}","2081622549":"Must be a number higher than {{ min }}","2082533832":"Yes, delete","2084693624":"Converts a string representing a date/time string into seconds since Epoch. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825. Time and time zone offset are optional.","2085387371":"Must be numbers, letters, and special characters . , ' -","2085602195":"- Entry value: the value of the first tick of the contract","2086048243":"Certificate of incorporation","2086792088":"Both barriers should be relative or absolute","2088735355":"Your session and login limits","2089087110":"Basket indices","2089395053":"Unit","2089581483":"Expires on","2090650973":"The spot price may change by the time your order reaches our servers. When this happens, your payout may be affected.","2091671594":"Status","2093675079":"- Close: the closing price","2096014107":"Apply","2096456845":"Date of birth*","2096603244":"Derived - Vanuatu","2097170986":"About Tether (Omni)","2097381850":"Calculates Simple Moving Average line from a list with a period","2097815211":"Number of rounds (R) = 10","2097932389":"Upload 2 separate screenshots from the personal details page and the account page via <0>https://app.astropay.com/profile","2099488590":"Changes to your Deriv MT5 login","2100713124":"account","2100912278":"4. If a trade ends in a loss, the stake for the following trade will be reset to the initial stake amount of 1 USD.","2101972779":"This is the same as the above example, using a tick list.","2102572780":"Length of digit code must be 6 characters.","2104115663":"Last login","2104364680":"Please switch to your demo account to run your Deriv Bot.","2104397115":"Please go to your account settings and complete your personal details to enable deposits and withdrawals.","2107381257":"Scheduled cashier system maintenance","2107882050":"The back of your document appears to be missing. Please include both sides of your identity document.","2110365168":"Maximum number of trades reached","2111015970":"This block helps you check if your contract can be sold. If your contract can be sold, it returns “True”. Otherwise, it returns an empty string.","2111528352":"Creating a variable","2112119013":"Take a selfie showing your face","2112175277":"with delimiter","2113321581":"Add a Deriv Gaming account","2114766645":"Some trade types are unavailable for {{symbol}}.","2115223095":"Loss","2117165122":"1. Create a Telegram bot and get your Telegram API token. Read more on how to create bots in Telegram here: https://core.telegram.org/bots#6-botfather","2117489390":"Auto update in {{ remaining }} seconds","2118292085":"<0>Note: You’ll receive an email when your deposit starts being processed.","2119449126":"Example output of the below example will be:","2119710534":"FAQ","2121227568":"NEO/USD","2122152120":"Assets","2127564856":"Withdrawals are locked","2128919448":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price. We won’t offer a contract value if the remaining duration is below 15 seconds or if the contract duration is in ticks.","2129807378":"Update profile","2133075559":"This means after 10 rounds of consecutive losses, this trader will lose 100 USD. This reaches the loss threshold of 100 USD, stopping the bot.","2133451414":"Duration","2133470627":"This block returns the potential payout for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","2135563258":"Forex trading frequency","2136246996":"Selfie uploaded","2136480755":"Some details in your document appear to be invalid, missing, or unclear.","2137901996":"This will clear all data in the summary, transactions, and journal panels. All counters will be reset to zero.","2137993569":"This block compares two values and is used to build a conditional structure.","2138861911":"Scans and photocopies are not accepted","2139171480":"Reset Up/Reset Down","2139362660":"left side","2141055709":"New {{type}} password","2143803283":"Purchase Error","2144609616":"If you select \"Reset-Down”, you win the payout if the exit spot is strictly lower than either the entry spot or the spot at reset time.","2145690912":"Income Earning","2145995536":"Create new account","2146336100":"in text %1 get %2","2146698770":"Pro tip: You can also click and drag out the desired block","2146892766":"Binary options trading experience","2147244655":"How do I import my own trading bot into Deriv Bot?","-931052769":"Submit verification","-1004605898":"Tips","-1938142055":"Documents uploaded","-448090287":"The link only works on mobile devices","-1244287721":"Something's gone wrong","-241258681":"You'll need to restart your verification on your computer","-929254273":"Get secure link","-2021867851":"Check back here to finish the submission","-1547069149":"Open the link and complete the tasks","-1767652006":"Here's how to do it:","-277611959":"You can now return to your computer to continue","-724178625":"Make sure full document is visible","-1519380038":"Glare detected","-1895280620":"Make sure your card details are clear to read, with no blur or glare","-1464447919":"Make sure your permit details are clear to read, with no blur or glare","-1436160506":"Make sure details are clear to read, with no blur or glare","-759124288":"Close","-759118956":"Redo","-753375398":"Enlarge image","-1042933881":"Driver's license","-1503134764":"Face photo page","-1335343167":"Sorry, no mobile phone bills","-699045522":"Documents you can use to verify your identity","-543666102":"It must be an official photo ID","-903877217":"These are the documents most likely to show your current home address","-1356835948":"Choose document","-1364375936":"Select a %{country} document","-401586196":"or upload photo – no scans or photocopies","-3110517":"Take a photo with your phone","-2033894027":"Submit identity card (back)","-20684738":"Submit license (back)","-1359585500":"Submit license (front)","-106779602":"Submit residence permit (back)","-1287247476":"Submit residence permit (front)","-1954762444":"Restart the process on the latest version of Safari","-261174676":"Must be under 10MB.","-685885589":"An error occurred while loading the component","-502539866":"Your face is needed in the selfie","-1377968356":"Please try again","-1226547734":"Try using a JPG or PNG file","-849068301":"Loading...","-1730346712":"Loading","-1849371752":"Check that your number is correct","-309848900":"Copy","-1424436001":"Send link","-1093833557":"How to scan a QR code","-1408210605":"Point your phone’s camera at the QR code","-1773802163":"If it doesn’t work, download a QR code scanner from Google Play or the App Store","-109026565":"Scan QR code","-1644436882":"Get link via SMS","-1667839246":"Enter mobile number","-1533172567":"Enter your mobile number:","-1352094380":"Send this one-time link to your phone","-28974899":"Get your secure link","-359315319":"Continue","-826420669":"Make sure","-1279080293":"2. Your desktop window stays open","-102776692":"Continue with the verification","-89152891":"Take a photo of the back of your card","-1646367396":"Take a photo of the front of your card","-1350855047":"Take a photo of the front of your license","-2119367889":"Take a photo using the basic camera mode instead","-342915396":"Take a photo","-419040068":"Passport photo page","-1354983065":"Refresh","-1925063334":"Recover camera access to continue face verification","-54784207":"Camera access is denied","-1392699864":"Allow camera access","-269477401":"Provide the whole document page for best results","-864639753":"Upload back of card from your computer","-1309771027":"Upload front of license from your computer","-1722060225":"Take photo","-565732905":"Selfie","-1703181240":"Check that it is connected and functional. You can also continue verification on your phone","-2043114239":"Camera not working?","-2029238500":"It may be disconnected. Try using your phone instead.","-468928206":"Make sure your device's camera works","-466246199":"Camera not working","-698978129":"Remember to press stop when you're done. Redo video actions","-538456609":"Looks like you took too long","-781816433":"Photo of your face","-1471336265":"Make sure your selfie clearly shows your face","-1375068556":"Check selfie","-1914530170":"Face forward and make sure your eyes are clearly visible","-776541617":"We'll compare it with your document","-478752991":"Your link will expire in one hour","-1859729380":"Keep this window open while using your mobile","-1283761937":"Resend link","-629011256":"Don't refresh this page","-1005231905":"Once you've finished we'll take you to the next step","-542134805":"Upload photo","-1462975230":"Document example","-1472844935":"The photo should clearly show your document","-1120954663":"First name*","-1659980292":"First name","-962979523":"Your {{ field_name }} as in your identity document","-1416797980":"Please enter your {{ field_name }} as in your official identity documents.","-1466268810":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your <0>account settings.","-32386760":"Name","-766265812":"first name","-1857534296":"John","-1282749116":"last name","-1485480657":"Other details","-1784741577":"date of birth","-1702919018":"Second line of address (optional)","-1315410953":"State/Province","-2040322967":"Citizenship","-344715612":"Employment status*","-1543016582":"I hereby confirm that the tax information I provided is true and complete. I will also inform {{legal_entity_name}} about any changes to this information.","-946282997":"Additional information","-1315571766":"Place of birth","-789291456":"Tax residence*","-1692219415":"Tax residence","-1903720068":"The country in which you meet the criteria for paying taxes. Usually the country in which you physically reside.","-651516152":"Tax Identification Number","-1387062433":"Account opening reason","-222283483":"Account opening reason*","-583925597":"For verification purposes as required by regulation. It’s your responsibility to provide accurate and complete answers. You can update personal details at any time in your account settings.","-1113902570":"Details","-71696502":"Previous","-1541554430":"Next","-307865807":"Risk Tolerance Warning","-690100729":"Yes, I understand the risk.","-2010628430":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, you must confirm that you understand your capital is at risk.","-863770104":"Please note that by clicking ‘OK’, you may be exposing yourself to risks. You may not have the knowledge or experience to properly assess or mitigate these risks, which may be significant, including the risk of losing the entire sum you have invested.","-684271315":"OK","-1292808093":"Trading Experience","-153346659":"Upload your selfie.","-602131304":"Passport number","-1051213440":"Upload the front and back of your identity card.","-1600807543":"First, enter your identity card number and the expiry date.","-1139923664":"Next, upload the front and back of your identity card.","-783705755":"Upload the front of your identity card.","-566750665":"NIMC slip and proof of age","-1465944279":"NIMC slip number","-429612996":"Next, upload both of the following documents.","-376981174":"Upload your proof of age: birth certificate or age declaration document.","-612174191":"First line of address is required","-242734402":"Only {{max}} characters, please.","-378415317":"State is required","-1784470716":"State is not in a proper format","-1699820408":"Please enter a {{field_name}} under {{max_number}} characters.","-1575567374":"postal/ZIP code","-816263501":"Only letters, numbers, space and hyphen are allowed.","-755626951":"Complete your address details","-1024240099":"Address","-1534917661":"Select your preferred currency","-1027595143":"Less than $25,000","-40491332":"$25,000 - $50,000","-1139806939":"$50,001 - $100,000","-996132458":"Construction","-915003867":"Health","-1430012453":"Information & Communications Technology","-987824916":"Science & Engineering","-146630682":"Social & Cultural","-761306973":"Manufacturing","-1631552645":"Professionals","-474864470":"Personal Care, Sales and Service Workers","-1129355784":"Agricultural, Forestry and Fishery Workers","-1242914994":"Craft, Metal, Electrical and Electronics Workers","-1317824715":"Cleaners and Helpers","-1592729751":"Mining, Construction, Manufacturing and Transport Workers","-1030759620":"Government Officers","-2137323480":"Company Ownership","-1590574533":"Divorce Settlement","-1667683002":"Inheritance","-1237843731":"Investment Income","-777506574":"Sale of Property","-654781670":"Primary","-1717373258":"Secondary","-1156937070":"$500,001 - $1,000,000","-315534569":"Over $1,000,000","-2068544539":"Salaried Employee","-531314998":"Investments & Dividends","-1235114522":"Pension","-1298056749":"State Benefits","-449943381":"Savings & Inheritance","-477761028":"Voter ID","-1466346630":"CPF","-1161338910":"First name is required.","-1161818065":"Last name should be between 2 and 50 characters.","-1281693513":"Date of birth is required.","-26599672":"Citizenship is required","-912174487":"Phone is required.","-673765468":"Letters, numbers, spaces, periods, hyphens and forward slashes only.","-212167954":"Tax Identification Number is not properly formatted.","-1823540512":"Personal details","-1227878799":"Speculative","-1174064217":"Mr","-855506127":"Ms","-204765990":"Terms of use","-189310067":"Account closed","-849320995":"Assessments","-773766766":"Email and passwords","-1144318594":"Passkeys","-1466827732":"Self exclusion","-1498206510":"Account limits","-241588481":"Login history","-966136867":"Connected apps","-213009361":"Two-factor authentication","-526636259":"Error 404","-739367071":"Employed","-626752657":"0-1 year","-532014689":"1-2 years","-1001024004":"Over 3 years","-790513277":"6-10 transactions in the past 12 months","-580085300":"11-39 transactions in the past 12 months","-1458676679":"You should enter 2-50 characters.","-1116008222":"You should enter 9-35 numbers.","-1995979930":"First line of address is required.","-703454156":"Please enter a Postal/ZIP code under 20 characters.","-2113555886":"Only letters, numbers, space, and hyphen are allowed.","-1103497546":"Tax return","-700600899":"Business proof of address","-1073862586":"Memorandum","-1823328095":"Authorization letter","-397487797":"Enter your full card number","-1376950117":"That file format isn't supported. Please upload .pdf, .png, .jpg, or .jpeg files only.","-612752984":"These are default limits that we apply to your accounts.","-1411635770":"Learn more about account limits","-1340125291":"Done","-1101543580":"Limit","-858297154":"Represents the maximum amount of cash that you may hold in your account. If the maximum is reached, you will be asked to withdraw funds.","-976258774":"Not set","-1182362640":"Represents the maximum aggregate payouts on outstanding contracts in your portfolio. If the maximum is attained, you may not purchase additional contracts without first closing out existing positions.","-1781293089":"Maximum aggregate payouts on open positions","-1412690135":"*Any limits in your Self-exclusion settings will override these default limits.","-1598751496":"Represents the maximum volume of contracts that you may purchase in any given trading day.","-173346300":"Maximum daily turnover","-138380129":"Total withdrawal allowed","-1502578110":"Your account is fully authenticated and your withdrawal limits have been lifted.","-506122621":"Please take a moment to update your information now.","-1106259572":"Don't know your tax identification number? <1 />Click <0>here to learn more.","-252665911":"Place of birth{{required}}","-859814496":"Tax residence{{required}}","-237940902":"Tax Identification number{{required}}","-919191810":"Please fill in tax residence.","-270569590":"Intended use of account{{required}}","-2120290581":"Intended use of account is required.","-1662154767":"a recent utility bill (e.g. electricity, water, gas, landline, or internet), bank statement, or government-issued letter with your name and this address.","-594456225":"Second line of address","-1964954030":"Postal/ZIP Code","-516397235":"Be careful who you share this token with. Anyone with this token can perform the following actions on your account behalf","-989216986":"Add accounts","-617480265":"Delete token","-316749685":"Are you sure you want to delete this token?","-955038366":"Copy this token","-1668692965":"Hide this token","-1661284324":"Show this token","-1076138910":"Trade","-1666909852":"Payments","-488597603":"Trading information","-605778668":"Never","-1628008897":"Token","-1238499897":"Last Used","-1171226355":"Length of token name must be between {{MIN_TOKEN}} and {{MAX_TOKEN}} characters.","-1803339710":"Maximum {{MAX_TOKEN}} characters.","-408613988":"Select scopes based on the access you need.","-5605257":"This scope will allow third-party apps to withdraw to payment agents and make inter-account transfers for you.","-1373485333":"This scope will allow third-party apps to view your trading history.","-758221415":"This scope will allow third-party apps to open accounts for you, manage your settings and token usage, and more. ","-807767876":"Note:","-1117963487":"Name your token and click on 'Create' to generate your token.","-2005211699":"Create","-1652683689":"Please note that you can only have 1 fiat account.","-1146960797":"Fiat currencies","-1959484303":"Cryptocurrencies","-2087317410":"Oops, something went wrong.","-184202848":"Upload file","-370334393":"Click here to browse your files.","-863586176":"Drag and drop a file or click to browse your files.","-723198394":"File size should be 8MB or less","-1948369500":"File uploaded is not supported","-1040865880":"Drop files here..","-1100235269":"Industry of employment","-684388823":"Estimated net worth","-509054266":"Anticipated annual turnover","-1117345066":"Choose the document type","-1634507018":"Enter your {{document_name}}","-1237846864":"Verify again","-39187636":"{{index}}.","-337620257":"Switch to real account","-2120454054":"Add a real account","-38915613":"Unsaved changes","-2137450250":"You have unsaved changes. Are you sure you want to discard changes and leave this page?","-1067082004":"Leave Settings","-1982432743":"It appears that the address in your document doesn’t match the address\n in your Deriv profile. Please update your personal details now with the\n correct address.","-1451334536":"Continue trading","-251603364":"Your document for proof of address is expired. <0/>Please submit again.","-1425489838":"Proof of address verification not required","-1008641170":"Your account does not need address verification at this time. We will inform you if address verification is required in the future.","-60204971":"We could not verify your proof of address","-1944264183":"To continue trading, you must also submit a proof of identity.","-1088324715":"We’ll review your documents and notify you of its status within 1 - 3 working days.","-329713179":"Ok","-2145244263":"This field is required","-1500958859":"Verify","-839094775":"Back","-1813671961":"Your identity verification failed because:","-2097808873":"We were unable to verify your ID with the details you provided. ","-1652371224":"Your profile is updated","-504784172":"Your document has been submitted","-1391934478":"Your ID is verified. You will also need to submit proof of your address.","-118547687":"ID verification passed","-200989771":"Go to personal details","-1358357943":"Please check and update your postal code before submitting proof of identity.","-1401994581":"Your personal details are missing","-2004327866":"Please select a valid country of document issuance.","-1664159494":"Country","-1044962593":"Upload Document","-749870311":"Please contact us via <0>live chat.","-1084991359":"Proof of identity verification not required","-1981334109":"Your account does not need identity verification at this time. We will inform you if identity verification is required in the future.","-182918740":"Your proof of identity submission failed because:","-155705811":"A clear colour photo or scanned image","-246893488":"JPEG, JPG, PNG, PDF, or GIF","-1454880310":"Must be valid for at least 6 months","-1949501500":"First, enter your {{label}}.","-100534371":"Before uploading, please ensure that you’re facing forward in the selfie, your face is within the frame, and your eyes are clearly visible even if you’re wearing glasses.","-1529523673":"Confirm and upload","-705047643":"Sorry, an error occured. Please select another file.","-1664309884":"Tap here to upload","-1725454783":"Failed","-856213726":"You must also submit a proof of address.","-552371330":"We were unable to verify your income. <0 /> Please check the email we've sent you for further information.","-841187054":"Try Again","-978467455":"Limit reached","-361316523":"You have reached the maximum number of allowed attempts for submitting proof of income. <0 /> Please check the email we've sent you for further information.","-1785967427":"We'll review your documents and notify you of its status within 7 working days.","-987011273":"Your proof of ownership isn't required.","-808299796":"You are not required to submit proof of ownership at this time. We will inform you if proof of ownership is required in the future.","-179726573":"We’ve received your proof of ownership.","-813779897":"Proof of ownership verification passed.","-1389323399":"You should enter {{min_number}}-{{max_number}} characters.","-47815161":"Please include at least 1 special character such as ( _ @ ? ! / # ) in your password.","-1313806160":"Please request a new password and check your email for the new token.","-1598167506":"Success","-1077809489":"You have a new {{platform}} password to log in to your {{platform}} accounts on the web and mobile apps.","-1108813179":"You can use this password for all your Deriv MT5 accounts.","-2068479232":"{{platform}} password","-507633532":"Your password must contain between 8-16 characters that include uppercase and lowercase letters, and at least one number and special character such as ( _ @ ? ! / # ).","-1597186502":"Reset {{platform}} password","-638756912":"Black out digits 7 to 12 of the card number that’s shown on the front of your debit/credit card.⁤","-996691262":"We’ve introduced these limits to encourage <0>responsible trading. They are optional, and you can adjust them anytime.","-2079276011":"These limits apply to your multipliers trades only. For example, <0>maximum total loss refers to the losses on your multipliers trades.","-2116570030":"If you want to adjust your limits, <0>contact us via live chat. We’ll make the adjustments within 24 hours.","-1389915983":"You decide how much and how long to trade. You can take a break from trading whenever you want. This break can be from 6 weeks to 5 years. When it’s over, you can extend it or log in to resume trading. If you don’t want to set a specific limit, leave the field empty.","-1031814119":"About trading limits and self-exclusion","-183468698":"Trading limits and self-exclusion","-1088698009":"These self-exclusion limits help you control the amount of money and time you spend trading on {{platform_name_trader}}, {{platform_name_dbot}}, {{platform_name_smarttrader}} and {{platform_name_bbot}} on Deriv. The limits you set here will help you exercise <0>responsible trading.","-933963283":"No, review my limits","-1759860126":"Yes, log me out immediately","-572347855":"{{value}} mins","-313333548":"You’ll be able to adjust these limits at any time. You can reduce your limits from the <0>self-exclusion page. To increase or remove your limits, please contact our <1>Customer Support team.","-1265833982":"Accept","-2123139671":"Your stake and loss limits","-1250802290":"24 hours","-2070080356":"Max. total stake","-1545823544":"7 days","-180147209":"You will be automatically logged out from each session after this time limit.","-374553538":"Your account will be excluded from the website until this date (at least 6 months, up to 5 years).","-2105708790":"Your maximum account balance and open positions","-1960600163":"Once your account balance reaches this amount, you will not be able to deposit funds into your account.","-1073845224":"No. of open position(s)","-288196326":"Your maximum deposit limit","-568749373":"Max. deposit limit","-1617352279":"The email is in your spam folder (Sometimes things get lost there).","-547557964":"We can’t deliver the email to this address (Usually because of firewalls or filtering).","-142444667":"Please click on the link in the email to change your Deriv MT5 password.","-742748008":"Check your email and click the link in the email to proceed.","-84068414":"Still didn't get the email? Please contact us via <0>live chat.","-474419287":"FATCA declaration","-1101737402":"Please select*","-975118358":"Your account will be opened with {{legal_entity_name}}, regulated by the Malta Financial Services Authority (MFSA), and will be subject to the laws of Malta.","-2073934245":"The financial trading services offered on this site are only suitable for customers who accept the possibility of losing all the money they invest and who understand and have experience of the risk involved in the purchase of financial contracts. Transactions in financial contracts carry a high degree of risk. If the contracts you purchased expire as worthless, you will lose all your investment, which includes the contract premium.","-1035494182":"You acknowledge that, subject to the Company's discretion, applicable regulations, and internal checks being fulfilled, we will open an account for you and allow you to deposit funds during the client acceptance procedure. However, until the verification of your account is completed, you will not be able to trade, withdraw or make further deposits. If you do not provide relevant documents within 30-days, we will refund the deposited amount through the same payment method you used to deposit.","-1125193491":"Add account","-2068229627":"I am not a PEP, and I have not been a PEP in the last 12 months.","-1209644365":"I hereby confirm that my request for opening an account with Deriv Investments (Europe) Ltd is made on my own initiative.","-740157281":"Trading Experience Assessment","-1720468017":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you.","-1685104463":"* This is required","-186841084":"Change your login email","-907403572":"To change your email address, you'll first need to unlink your email address from your {{identifier_title}} account.","-1850792730":"Unlink from {{identifier_title}}","-428335668":"You will need to set a password to complete the process.","-1232613003":"<0>Verification failed. <1>Why?","-805775852":"<0>Needs verification.<1>Verify now","-1983989074":"<0>No new positions","-1196936955":"Upload a screenshot of your name and email address from the personal information section.","-1286823855":"Upload your mobile bill statement showing your name and phone number.","-1309548471":"Upload your bank statement showing your name and account details.","-1410396115":"Upload a photo showing your name and the first six and last four digits of your card number. If the card does not display your name, upload the bank statement showing your name and card number in the transaction history.","-3805155":"Upload a screenshot of either of the following to process the transaction:","-1523487566":"- your account profile section on the website","-613062596":"- the Account Information page on the app","-1718304498":"User ID","-609424336":"Upload a screenshot of your name, account number, and email address from the personal details section of the app or profile section of your account on the website.","-1954436643":"Upload a screenshot of your username on the General Information page at <0>https://onlinenaira.com/members/index.htm","-79853954":"Upload a screenshot of your account number and phone number on the Bank Account/Mobile wallet page at <0>https://onlinenaira.com/members/bank.htm","-1192882870":"Upload a screenshot of your name and account number from the personal details section.","-818898181":"Name in document doesn’t match your Deriv profile.","-310316375":"Address in document doesn’t match address you entered above.","-485368404":"Document issued more than 6-months ago.","-91160765":"Document issued more than 12-months ago.","-367016488":"Blurry document. All information must be clear and visible.","-1957076143":"Cropped document. All information must be clear and visible.","-1576856758":"An account with these details already exists. Please make sure the details you entered are correct as only one real account is allowed per client. If this is a mistake, contact us via <0>live chat.","-1792723131":"To avoid delays, enter your <0>date of birth exactly as it appears on your {{document_name}}.","-1629894615":"I have other financial priorities.","-844051272":"I want to stop myself from trading.","-1113965495":"I’m no longer interested in trading.","-1224285232":"Customer service was unsatisfactory.","-1231402474":"Connected apps are authorised applications associated with your account through your API token or the OAuth authorisation process. They can act on your behalf within the limitations that you have set.","-506083843":"As a user, you are responsible for sharing access and for actions that occur in your account (even if they were initiated by a third-party app on your behalf).","-831752682":"Please note that only third-party apps will be displayed on this page. Official Deriv apps will not appear here.","-915844096":"US citizenship or lawful permanent resident (green card) status","-208714573":"An “in care of” address or a “hold mail” address that is the sole address with respect to the client","-1082633433":"A power of attorney or signatory authority granted to a person with a US address.","-231863107":"No","-1858215754":"The document must be up-to-date and signed by the issuance authority.","-718917527":"Invalid or incomplete documents shall be rejected.","-1526404112":"Utility bill: electricity, water, gas, or landline phone bill.","-537552700":"Home rental agreement: valid and current agreement.","-506510414":"Date and time","-1708927037":"IP address","-870902742":"How much knowledge and experience do you have in relation to online trading?","-1929477717":"I have an academic degree, professional certification, and/or work experience related to financial services.","-1540148863":"I have attended seminars, training, and/or workshops related to trading.","-922751756":"Less than a year","-542986255":"None","-1337206552":"In your understanding, CFD trading allows you to","-456863190":"Place a position on the price movement of an asset where the outcome is a fixed return or nothing at all.","-1314683258":"Make a long-term investment for a guaranteed profit.","-1546090184":"How does leverage affect CFD trading?","-1636427115":"Leverage helps to mitigate risk.","-800221491":"Leverage guarantees profits.","-811839563":"Leverage lets you open large positions for a fraction of trade value, which may result in increased profit or loss.","-1185193552":"Close your trade automatically when the loss is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1046354":"Close your trade automatically when the profit is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1842858448":"Make a guaranteed profit on your trade.","-860053164":"When trading multipliers.","-1250327770":"When buying shares of a company.","-1222388581":"All of the above.","-1592318047":"See example","-1694758788":"Enter your document number","-1176889260":"Please select a document type.","-1265050949":"identity document","-2139303636":"You may have followed a broken link, or the page has moved to a new address.","-1448368765":"Error code: {{error_code}} page not found","-254792921":"You can only make deposits at the moment. To enable withdrawals, please complete your financial assessment.","-1437017790":"Financial information","-70342544":"We’re legally obliged to ask for your financial information.","-39038029":"Trading experience","-601903492":"Forex trading experience","-1012699451":"CFD trading experience","-1894668798":"Other trading instruments experience","-1026468600":"Other trading instruments frequency","-1743024217":"Select Language","-136976514":"Country of residence*","-1124948631":"Professional Client","-259515058":"By default, all {{brand_website_name}} clients are retail clients but anyone can request to be treated as a professional client.","-1463348492":"I would like to be treated as a professional client.","-1958764604":"Email preference","-2068064150":"Get updates about Deriv products, services and events.","-1558679249":"Please make sure your information is correct or it may affect your trading experience.","-1822545742":"Ether Classic","-1334641066":"Litecoin","-1214036543":"US Dollar","-1782590355":"No currency has been set for this account","-2116332353":"Please close your positions in the following Deriv account(s):","-2048005267":"{{number_of_positions}} position(s)","-2125635811":"Please withdraw your funds from the following {{platform_name}} account(s):","-577445413":"Please close your positions in the following {{platform_name}} account(s):","-1219849101":"Please select at least one reason","-9323953":"Remaining characters: {{remaining_characters}}","-484540402":"An error occurred","-1911549768":"Inaccessible MT5 account(s)","-1869355019":"Action required","-1030102424":"You can't trade on Deriv.","-448385353":"You can't make transactions.","-1058447223":"Before closing your account:","-912764166":"Withdraw your funds.","-60139953":"We shall delete your personal information as soon as our legal obligations are met, as mentioned in the section on Data Retention in our <0>Security and privacy policy","-2061895474":"Closing your account will automatically log you out. We shall delete your personal information as soon as our legal obligations are met.","-203298452":"Close account","-937707753":"Go Back","-771109503":"Use our powerful, flexible, and free API to build a custom trading platform for yourself or for your business.","-1815044949":"You currently don't have any third-party authorised apps associated with your account.","-1699100421":"What are connected apps?","-536187647":"Confirm revoke access?","-1357606534":"Permission","-570222048":"Revoke access","-1468863262":"{{action}}","-727433417":"{{status}}","-1814836151":"What are passkeys?","-1275937234":"Unlock your account like your phone - with biometrics, face scan or PIN.","-587750445":"Extra security layer.","-642452561":"Shields against unauthorised access and phishing.","-1654043401":"You can create one passkey per device.","-1411242065":"Where are passkeys saved?","-258752017":"What happens if my Deriv account email is changed?","-634268263":"Sign in to Deriv with your existing passkey.","-1405679241":"Stored on: ","-1700177761":"Create passkey","-1729774899":"Sign in to your Google or iCloud account.","-1708254107":"Enable Bluetooth.","-613368504":"Tips:","-1897886029":"Before using passkey:","-592543249":"Add more passkeys","-585339315":"Your passkey is successfully removed. To avoid sign-in prompts, also remove the passkey from your Google password manager. ","-1728732301":"Effortless login with passkeys","-684009726":"Edit passkey","-1140319320":"Your account is now secured with a passkey.<0/>Manage your passkey through your<0/>Deriv account settings.","-1036903080":"We’re experiencing a temporary issue in processing your request. Please try again later.","-331060101":"Passkey setup failed","-713875531":"Enable bluetooth.","-80717068":"Apps you have linked to your <0>Deriv password:","-340060402":"Your Deriv X password is for logging in to your Deriv X accounts on the web and mobile apps.","-619126443":"Use the <0>Deriv password to log in to {{brand_website_name}} and {{platform_name_trader}}.","-623760979":"Use the <0>Deriv password to log in to {{brand_website_name}}, {{platform_name_trader}} and {{platform_name_go}}.","-459147994":"Use the <0>Deriv password to log in to {{brand_website_name}}, {{platform_name_go}}, {{platform_name_trader}}, {{platform_name_smarttrader}}, {{platform_name_dbot}} and {{platform_name_ctrader}}.","-1884902844":"Max. deposit limit per day","-545085253":"Max. deposit limit over 7 days","-1031006762":"Max. deposit limit over 30 days","-1116871438":"Max. total loss over 30 days","-2134714205":"Time limit per session","-1884271702":"Time out until","-1265825026":"Timeout time must be greater than current time.","-1332882202":"Timeout time cannot be more than 6 weeks.","-1635977118":"Exclude time cannot be less than 6 months.","-2131200819":"Disable","-200487676":"Enable","-1840392236":"That's not the right code. Please try again.","-2067796458":"Authentication code","-790444493":"Protect your account with 2FA. Each time you log in to your account, you will need to enter your password and an authentication code generated by a 2FA app on your smartphone.","-752939584":"How to set up 2FA for your Deriv account","-90649785":"Click here to copy key","-206376148":"Key copied!","-368010540":"You have enabled 2FA for your Deriv account.","-403552929":"To disable 2FA, please enter the six-digit authentication code generated by your 2FA app below:","-890084320":"Save and submit","-30772747":"Your personal details have been saved successfully.","-2021135479":"This field is required.","-1002044401":"Select your document*","-1272489896":"Please complete this field.","-1107320163":"Automate your trading, no coding needed.","-829643221":"Multipliers trading platform.","-2115275974":"CFDs","-1585707873":"Financial Commission","-199154602":"Vanuatu Financial Services Commission","-191165775":"Malta Financial Services Authority","-194969520":"Counterparty company","-1089385344":"Deriv (SVG) LLC","-2019617323":"Deriv (BVI) Ltd","-112814932":"Deriv (FX) Ltd","-1131400885":"Deriv Investments (Europe) Limited","-1471207907":"All assets","-781132577":"Leverage","-1591882610":"Synthetics","-543177967":"Stock indices","-362324454":"Commodities","-1071336803":"Platform","-1879666853":"Deriv MT5","-820028470":"Options & Multipliers","-1210359945":"Transfer funds to your accounts","-81256466":"You need a Deriv account to create a CFD account.","-1926387364":"We’ve sent your e-book to your email. You can also download it here.","-1057002564":"<0>We’re unable to upgrade you to Wallets at this time and are working to get this fixed as soon as we can. Please <1>try again<0>.","-1424352390":"<0>Wallets<1> — A smarter way to manage your funds","-280236366":"Enable now","-699372497":"Trade with leverage and tight spreads for better returns on successful trades. <0>Learn more","-145462920":"Deriv cTrader","-982095728":"Get","-1790089996":"NEW!","-2134770229":"Total assets in your Deriv Apps and Deriv MT5 CFDs demo account.","-1277942366":"Total assets","-1255879419":"Trader's Hub","-493788773":"Non-EU","-673837884":"EU","-230566990":"The following documents you submitted did not pass our checks:","-846812148":"Proof of address.","-1146027991":"If you’d like to get the {{from_account}} account, resubmit these documents.","-710685402":"No new positions","-1445744852":"You can no longer open new positions with your {{from_account}} account. Please use your {{to_account}} account to open new positions.","-1699909965":"or ","-2127865736":"Your {{from_account}} account will be archived after 30 days of inactivity. You can still access your trade history until the account is archived.","-417529381":"Your current trading account(s)","-1543281897":"Instant transfers between Wallets and trading accounts","-1415400918":"Multiple currency support","-1712363879":"Why Wallets","-348452343":"Your open trading positions will not be affected while we are setting up your wallets.","-2055865877":"Non-EU regulation","-643108528":"Non-EU and EU regulation","-1002556560":"We’re unable to complete with the Wallet upgrade. Please try again later or contact us via live chat.","-1186807402":"Transfer","-2051096382":"Earn a range of payouts by correctly predicting market movements with <0>options, or get the\n upside of CFDs without risking more than your initial stake with <1>multipliers.","-1638358352":"Get the upside of CFDs without risking more than your initial stake with <0>Multipliers.","-744999940":"Deriv account","-749129977":"Get a real Deriv account, start trading and manage your funds.","-2146691203":"Choice of regulation","-249184528":"You can create real accounts under EU or non-EU regulation. Click the <0><0/> icon to learn more about these accounts.","-1505234170":"Trader's Hub tour","-1901718278":"The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 70.1% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.","-1870909526":"Our server cannot retrieve an address.","-582721696":"The current allowed withdraw amount is {{format_min_withdraw_amount}} to {{format_max_withdraw_amount}} {{currency}}","-1975494965":"Cashier","-42592103":"Deposit cryptocurrencies","-60779216":"Withdrawals are temporarily unavailable due to system maintenance. You can make your withdrawals when the maintenance is complete.","-520142572":"Cashier is currently down for maintenance","-1552080215":"Please check back in a few minutes.<0>Thank you for your patience.","-215186732":"You’ve not set your country of residence. To access Cashier, please update your country of residence in the Personal details section in your account settings.","-1392897508":"The identification documents you submitted have expired. Please submit valid identity documents to unlock Cashier. ","-954082208":"Your cashier is currently locked. Please contact us via <0>live chat to find out how to unlock it.","-929148387":"Please set your account currency to enable deposits and withdrawals.","-2027907316":"You can make a withdrawal once the verification of your account is complete.","-541392118":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and access your cashier.","-599998434":"You cannot make a fund transfer as your documents are still under review. We will notify you by email within 3 days once your verification is approved.","-247122507":"Your cashier is locked. Please complete the <0>financial assessment to unlock it.","-1443721737":"Your cashier is locked. See <0>how we protect your funds before you proceed.","-901712457":"Your access to Cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to <0>Self-exclusion and set your 30-day turnover limit.","-166472881":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits and withdrawals.","-666905139":"Deposits are locked","-378858101":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits.","-1318742415":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and request for withdrawals.","-1923809087":"Unfortunately, you can only make deposits. Please contact us via <0>live chat to enable withdrawals.","-172277021":"Cashier is locked for withdrawals","-1624999813":"It seems that you've no commissions to withdraw at the moment. You can make withdrawals once you receive your commissions.","-1077304626":"Amount ({{currency}})","-1559994981":"Approximate value","-1272778997":"We've sent you an email.","-89973258":"Resend email in {{seconds}}s","-1332236294":"Please verify your identity","-1675848843":"Error","-283017497":"Retry","-1294455996":"Deriv P2P unavailable","-1838982691":"UNKNOWN","-532693866":"Something went wrong. Please refresh the page and try again.","-1196049878":"First line of home address","-1326406485":"Postal Code/ZIP","-939625805":"Telephone","-442575534":"Email verification failed","-1459042184":"Update your personal details","-1603543465":"We can't validate your personal details because there is some information missing.","-614516651":"Need help? <0>Contact us.","-203002433":"Deposit now","-720315013":"You have no funds in your {{currency}} account","-2052373215":"Please make a deposit to use this feature.","-379487596":"{{selected_percentage}}% of available balance ({{format_amount}} {{currency__display_code}})","-1957498244":"more","-1059419768":"Notes","-285921910":"Learn more about <0>payment methods.","-190084602":"Transaction","-1995606668":"Amount","-2024290965":"Confirmations","-811190405":"Time","-1984478597":"The details of this transaction is available on CoinsPaid.","-316545835":"Please ensure <0>all details are <0>correct before making your transfer.","-949073402":"I confirm that I have verified the client’s transfer information.","-1752211105":"Transfer now","-1787304306":"Deriv P2P","-174976899":"P2P verification","-1705887186":"Your deposit is successful.","-142361708":"In process","-1582681840":"We’ve received your request and are waiting for more blockchain confirmations.","-1626218538":"You’ve cancelled your withdrawal request.","-1062841150":"Your withdrawal is unsuccessful due to an error on the blockchain. Please <0>contact us via live chat for more info.","-630780094":"We’re awaiting confirmation from the blockchain.","-1525882769":"Your withdrawal is unsuccessful. We've sent you an email with more information.","-298601922":"Your withdrawal is successful.","-922143389":"Deriv P2P is currently unavailable in this currency.","-1310327711":"Deriv P2P is currently unavailable in your country.","-1463156905":"Learn more about payment methods","-972283623":"Deriv P2P-V2","-685073712":"This is your <0>{{currency}} account {{loginid}}.","-1547606079":"We accept the following cryptocurrencies:","-1517325716":"Deposit via the following payment methods:","-639677539":"Buy cryptocurrencies","-1560098002":"Buy cryptocurrencies via fiat onramp","-541870313":"Deposit via payment agents","-197251450":"Don't want to trade in {{currency_code}}? You can open another cryptocurrency account.","-515809216":"Send only {{currency_name}} ({{currency_code}}) to this address.","-748636591":"A minimum deposit value of <0>{{minimum_deposit}} {{currency}} is required. Otherwise, a fee is applied.","-1589407981":"To avoid loss of funds:","-1042704302":"Make sure to copy your Deriv account address correctly into your crypto wallet.","-2108344100":"Looking for a way to buy cryptocurrencies? <0>Try Fiat onramp.","-598073640":"About Tether (Ethereum)","-275902914":"Tether on Ethereum (eUSDT)","-1188009792":"Tether on Omni Layer (USDT)","-1239329687":"Tether was originally created to use the bitcoin network as its transport protocol ‒ specifically, the Omni Layer ‒ to allow transactions of tokenised traditional currency.","-314177745":"Unfortunately, we couldn't get the address since our server was down. Please click Refresh to reload the address or try again later.","-91824739":"Deposit {{currency}}","-523804269":"{{amount}} {{currency}} on {{date}}","-494847428":"Address: <0>{{value}}","-1117977576":"Confirmations: <0>{{value}}","-1935946851":"View more","-1744490898":"Unfortunately, we cannot retrieve the information at this time. ","-338505133":"We do not charge a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts, between your Deriv fiat and {{platform_name_ctrader}} accounts, and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-2056016338":"You’ll not be charged a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts.","-599632330":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-1196994774":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency accounts.","-993556039":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts and between your Deriv cryptocurrency and {{platform_name_dxtrade}} accounts.","-1382702462":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts.","-1339063554":"You may transfer between your Deriv fiat, cryptocurrency, {{platform_name_mt5}}, {{platform_name_ctrader}}, and {{platform_name_dxtrade}} accounts.","-1151983985":"Transfer limits may vary depending on the exchange rates.","-1747571263":"Please bear in mind that some transfers may not be possible.","-757062699":"Transfers may be unavailable due to high volatility or technical issues and when the exchange markets are closed.","-855721928":"Needs verification","-908402700":"Verification failed","-1866405488":"Deriv cTrader accounts","-1344870129":"Deriv accounts","-1109729546":"You will be able to transfer funds between MT5 accounts and other accounts once your address is verified.","-1593609508":"Transfer between your accounts in Deriv","-1155970854":"You have reached the maximum daily transfers. Please try again tomorrow.","-464965808":"Transfer limits: <0 /> - <1 />","-553249337":"Transfers are locked","-1638172550":"To enable this feature you must complete the following:","-1949883551":"You only have one account","-1149845849":"Back to Trader's Hub","-1232852916":"We’re switching over to your {{currency}} account to view the transaction.","-1632668764":"I accept","-544232635":"Please go to the Deposit page to generate an address. Then come back here to continue with your transaction.","-1161069724":"Please copy the crypto address you see below. You'll need it to deposit your cryptocurrency.","-1388977563":"Copied!","-1962894999":"This address can only be used ONCE. Please copy a new one for your next transaction.","-451858550":"By clicking 'Continue' you will be redirected to {{ service }}, a third-party payment service provider. Please note that {{ website_name }} is not responsible for the content or services provided by {{ service }}. If you encounter any issues related to {{ service }} services, you must contact {{ service }} directly.","-2005265642":"Fiat onramp is a cashier service that allows you to convert fiat currencies to crypto to top up your Deriv crypto accounts. Listed here are third-party crypto exchanges. You’ll need to create an account with them to use their services.","-1593063457":"Select payment channel","-1309258714":"From account number","-1247676678":"To account number","-816476007":"Account holder name","-344403983":"Description","-922432739":"Please enter a valid client login ID.","-1024241603":"Insufficient balance.","-1979554765":"Please enter a valid description.","-1254233806":"You've transferred","-953082600":"Some payment methods may not be listed here but payment agents may still offer them. If you can’t find your favourite method, contact the payment agents directly to check further.","-1491457729":"All payment methods","-142563298":"Contact your preferred payment agent for payment instructions and make your deposit.","-352134412":"Transfer limit","-1023961762":"Commission on deposits","-552873274":"Commission on withdrawal","-880645086":"Withdrawal amount","-118683067":"Withdrawal limits: <0 />-<1 />","-1125090734":"Important notice to receive your funds","-1924707324":"View transaction","-1474202916":"Make a new withdrawal","-511423158":"Enter the payment agent account number","-2059278156":"Note: {{website_name}} does not charge any transfer fees.","-1201279468":"To withdraw your funds, please choose the same payment method you used to make your deposits.","-2004264970":"Your wallet address should have 25 to 64 characters.","-1707299138":"Your {{currency_symbol}} wallet address","-38063175":"{{account_text}} wallet","-705272444":"Upload a proof of identity to verify your identity","-130833284":"Please note that your maximum and minimum withdrawal limits aren’t fixed. They change due to the high volatility of cryptocurrency.","-1531269493":"We'll send you an email once your transaction has been processed.","-1373954791":"Should be a valid number","-1278608332":"Please enter a number between 0 and {{api_max_losses}}.","-287597204":"Enter limits to stop your bot from trading when any of these conditions are met.","-1445989611":"Limits your potential losses for the day across all Deriv platforms.","-152878438":"Maximum number of trades your bot will execute for this run.","-1490942825":"Apply and run","-2067572496":"You’ve just stopped the bot. Any open contracts can be viewed on the Reports page.","-992003496":"Changes you make will not affect your running bot.","-1778025545":"You’ve successfully imported a bot.","-1572746946":"Asian Up","-686840306":"Asian Down","-2141198770":"Higher","-816098265":"Lower","-1646655742":"Spread Up","-668987427":"Spread Down","-912577498":"Matches","-1862940531":"Differs","-808904691":"Odd","-556230215":"Ends Outside","-1268220904":"Ends Between","-703542574":"Up","-1127399675":"Down","-768425113":"No Touch","-1163058241":"Stays Between","-1354485738":"Reset Call","-376148198":"Only Ups","-1337379177":"High Tick","-328036042":"Please enter a stop loss amount that's higher than the current potential loss.","-2127699317":"Invalid stop loss. Stop loss cannot be more than stake.","-179005984":"Save","-610059687":"Exploring the D’Alembert strategy in Deriv Bot","-1226666341":"The D'Alembert strategy involves increasing your stake after a losing trade and reducing it after a successful trade by a predetermined number of units.","-312844882":"Initial stake: The amount that you are willing to place as a stake to enter a trade. This is the starting point for any changes in stake depending on the dynamic of the strategy being used.","-1173302981":"1. Start with the initial stake. In this example, we’ll use 1 USD.","-1540106116":"Profit and loss thresholds","-894905768":"With Deriv Bot, traders can set the profit and loss thresholds to secure potential profits and limit potential losses. This means that the trading bot will automatically stop when either the profit or loss thresholds are reached. It's a form of risk management that can potentially enhance returns. For example, if a trader sets the profit threshold at 100 USD and the strategy exceeds 100 USD of profit from all trades, then the bot will stop running.","-1946134465":"Where:","-248283982":"B is the loss threshold.","-1148521416":"f is the unit increment.","-211800490":"D’Alembert formula 2","-1772692202":"This formula helps you plan your trades by considering the amount of money you have and your comfort level with risk. It involves determining your loss threshold and the initial stake you want to trade with. Then, you use this formula to calculate the number of rounds you can trade. This process provides insight into stake sizing and expectations.","-2107238266":"The D'Alembert system offers more balanced trading through controlled stake progression. With prudent risk management like stake limits, it can be effectively automated in Deriv Bot. However, traders should thoroughly assess their risk appetite, test strategies on a demo account to align with their trading style before trading with real money. This allows optimising the approach and striking a balance between potential gains and losses whilst managing risk.","-500873566":"Disclaimer:","-344769349":"Please be aware that while we may use rounded figures for illustration, a stake of a specific amount does not guarantee an exact amount in successful trades. For example, a 1 USD stake does not necessarily equate to a 1 USD profit in successful trades.","-818800551":"Exploring the Martingale strategy in Deriv Bot","-533490374":"These are the trade parameters used in Deriv Bot with Martingale strategy.","-1507161059":"Multiplier: The multiplier used to increase your stake if you're losing a trade. The value must be greater than 1.","-1333404686":"An example of Martingale strategy","-1755877136":"3. If the first trade ends in a loss, Deriv Bot will automatically double your stake for the next trade to 2 USD. Deriv Bot will continue to double the stake after every losing trade.","-1297651002":"If you're about to start trading and haven't established a Maximum Stake as part of your risk management strategy, you can determine how long your funds will last by employing the Martingale strategy. Simply use this formula.","-46865201":"Martingale formula 1","-116397598":"m is the Martingale multiplier.","-658161609":"Number of rounds, R ≈ 9.965","-288082521":"This means that after 10 rounds of consecutive losses, this trader will lose 1023 USD which exceeds the loss threshold of 1000 USD, stopping the bot.","-770387160":"The Martingale strategy in trading may offer substantial gains but also comes with significant risks. With your selected strategy, Deriv Bot provides automated trading with risk management measures like setting initial stake, stake size, maximum stake, profit threshold and loss threshold. It's crucial for traders to assess their risk tolerance, practice in a demo account, and understand the strategy before trading with real money.","-1901073152":"These are the trade parameters used for Oscar’s Grind strategy in Deriv Bot.","-1575153036":"An example of Oscar’s Grind strategy","-732418614":"The table above demonstrates this principle by showing that when a successful trade occurs and meets the target of one unit of potential profit which is 1 USD in this example, the session ends. If trading continues, a new session will begin.","-106266344":"Principle 3: The stake adjusts to the gap size between current loss and the target profit for the session","-492908094":"In round 7, the stake is adjusted downwards from 2 USD to 1 USD, to meet the target profit of 1 USD.","-90079299":"With Deriv Bot, traders can set the profit and loss thresholds to secure potential profits and limit potential losses. This means that the trading bot will automatically stop when either the profit or loss threshold is reached. This is a form of risk management that can potentially boost successful trades whilst limiting the impact of loss. For example, if a trader sets the profit threshold at 100 USD and the strategy exceeds 100 USD of profit from all trades, then the bot will stop running.","-1549673884":"The Oscar's Grind strategy provides a disciplined approach for incremental gains through systematic stake progression. When integrated into Deriv Bot with proper risk management like profit or loss thresholds, it offers traders a potentially powerful automated trading technique. However, traders should first thoroughly assess their risk tolerance and first try trading on a demo account in order to familiarise with the strategy before trading with real funds.","-655650222":"Exploring the Reverse D’Alembert strategy in Deriv Bot","-1864807973":"The Reverse D'Alembert strategy involves increasing your stake after a successful trade and reducing it after a losing trade by a predetermined number of units.","-809681645":"These are the trade parameters used in Deriv Bot with Reverse D’Alembert strategy.","-1239374257":"An example of Reverse D’Alembert strategy","-309821442":"Please be aware that while we may use rounded figures for illustration, a stake of a specific amount does not guarantee an exact amount in successful trades. For example, a 1 USD stake does not necessarily equate to a 1 USD profit in successful trades.","-1576691912":"This article explores the Reverse Martingale strategy integrated into Deriv Bot, a versatile trading bot designed to trade assets such as forex, commodities, and derived indices. We will delve into the strategy's core parameters, its application, and provide essential takeaways for traders looking to use the bot effectively.","-1934849823":"These are the trade parameters used in Deriv Bot with Reverse Martingale strategy.","-1021919630":"Multiplier: The multiplier used to increase your stake if your trade is successful. The value must be greater than 1.","-760516362":"3. If the first trade is a successful trade, Deriv Bot will automatically double your stake for the next trade to 2 USD. Deriv Bot will continue to double the stake after every successful trade.","-1410950365":"Exploring the 1-3-2-6 strategy in Deriv Bot","-1175255072":"These are the trade parameters used in Deriv Bot with 1-3-2-6 strategy.","-183884527":"An example of 1-3-2-6 strategy","-275617819":"4. However, if any trade results in a loss, your stake will reset back to the initial stake of 1 USD for the next trade. The third trade results in a loss hence the stake resets to the initial stake of 1 USD for the next trade.","-719846465":"5. Upon reaching the initial stake, if the next trade still results in a loss, your stake will remain at the initial stake of 1 USD. This strategy will minimally trade at the initial stake. Refer to the fourth and fifth trade.","-1452746011":"The 1-3-2-6 strategy in trading may offer substantial gains but also comes with significant risks. Each stake is independent, and the strategy does not increase your chances of successful trades in the long run. If you encounter a series of losses, the strategy can lead to significant losses. Therefore, it is crucial for traders to assess their risk tolerance, practice in a demo account, utilise profit and loss thresholds, and fully comprehend the strategy before engaging in real-money trading.","-1016171176":"Asset","-138833194":"The underlying market your bot will trade with this strategy.","-621128676":"Trade type","-399349239":"Your bot will use this trade type for every run","-410856998":"The bot will stop trading if your total profit exceeds this amount.","-447853970":"Loss threshold","-33106112":"The size used to multiply the stake after a successful trade for the next trade.","-1503301801":"The value must be equal or greater than {{ min }}","-1596504046":"Number of unit(s) to be added to the next trade after a successful trade. One unit is equivalent to the amount of initial stake.","-1521098535":"Max stake","-1448426542":"The stake for your next trade will reset to the initial stake if it exceeds this value.","-993953307":"Your prediction of the last digit of the asset price.","-1305281529":"D’Alembert","-1842451303":"Welcome to Deriv Bot!","-1391310674":"Check out these guides and FAQs to learn more about building your bot:","-2066779239":"FAQs","-280324365":"What is Deriv Bot?","-155173714":"Let’s build a bot!","-1919212468":"3. You can also search for the blocks you want using the search bar above the categories.","-1520558271":"For more info, check out this blog post on the basics of building a trading bot.","-980360663":"3. Choose the block you want and drag it to the workspace.","-1493168314":"What is a quick strategy?","-1680391945":"Using a quick strategy","-1177914473":"How do I save my strategy?","-271986909":"In Bot Builder, hit Save on the toolbar at the top to download your bot. Give your bot a name, and choose to download your bot to your device or Google Drive. Your bot will be downloaded as an XML file.","-1149045595":"1. After hitting Import, select Local and click Continue.","-288041546":"2. Select your XML file and hit Open.","-2127548288":"3. Your bot will be loaded accordingly.","-1311297611":"1. After hitting Import, select Google Drive and click Continue.","-1549564044":"How do I reset the workspace?","-1127331928":"In Bot Builder, hit Reset on the toolbar at the top. This will clear the workspace. Please note that any unsaved changes will be lost.","-1720444288":"How do I control my losses with Deriv Bot?","-1142295124":"There are several ways to control your losses with Deriv Bot. Here’s a simple example of how you can implement loss control in your strategy:","-2129119462":"1. Create the following variables and place them under Run once at start:","-1918487001":"Example:","-468926787":"This is how your trade parameters, variables, and trade options should look like:","-1565344891":"Can I run Deriv Bot on multiple tabs in my web browser?","-90192474":"Yes, you can. However, there are limits on your account, such as maximum number of open positions and maximum aggregate payouts on open positions. So, just keep these limits in mind when opening multiple positions. You can find more info about these limits at Settings > Account limits.","-213872712":"No, we don't offer cryptocurrencies on Deriv Bot.","-2147346223":"In which countries is Deriv Bot available?","-352345777":"What are the most popular strategies for automated trading?","-552392096":"Three of the most commonly used strategies in automated trading are Martingale, D'Alembert, and Oscar's Grind — you can find them all ready-made and waiting for you in Deriv Bot.","-1630262763":"About Martingale","-413928457":"About Oscar's Grind","-1497015866":"About Reverse D’Alembert","-437005403":"About 1-3-2-6","-590765322":"Unfortunately, this trading platform is not available for EU Deriv account. Please switch to a non-EU account to continue trading.","-2110207996":"Deriv Bot is unavailable for this account","-971295844":"Switch to another account","-1194079833":"Deriv Bot is not available for EU clients","-746652890":"Notifications","-824109891":"System","-507620484":"Unsaved","-764102808":"Google Drive","-749186458":"Account switching is disabled while your bot is running. Please stop your bot before switching accounts.","-597939268":"Keep my contract","-1322453991":"You need to log in to run the bot.","-236548954":"Contract Update Error","-1428017300":"THE","-1450728048":"OF","-255051108":"YOU","-1845434627":"IS","-931434605":"THIS","-740712821":"A","-1223145005":"Loss amount: {{profit}}","-1206212388":"Welcome back! Your messages have been restored. You are using your {{current_currency}} account.","-1724342053":"You are using your {{current_currency}} account.","-187634388":"This block is mandatory. Here is where you can decide if your bot should continue trading. Only one copy of this block is allowed.","-2105473795":"The only input parameter determines how block output is going to be formatted. In case if the input parameter is \"string\" then the account currency will be added.","-1800436138":"2. for \"number\": 1325.68","-530632460":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of \"True\" or \"False\".","-1875717842":"Examples:","-890079872":"1. If the selected direction is \"Rise\", and the previous tick value is less than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-489739641":"2. If the selected direction is \"Fall\", and the previous tick value is more than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-2116076360":"There are 4 message types:","-1421941045":"2. 'Warn' displays a message in yellow to highlight something that needs attention.","-277850921":"If \"Win\" is selected, it will return \"True\" if your last trade was successful. Otherwise, it will return an empty string.","-2139916657":"1. In the below example the loop is terminated in case \"x\" is \"False\" even though only one iteration is complete","-1238900333":"2. In the below example the loop jumps to the next iteration without executing below block in case if \"x\" is \"False\"","-1729479576":"You can use \"i\" inside the loop, for example to access list items","-1474636594":"In this example, the loop will repeat three times, as that is the number of items in the given list. During each iteration, the variable \"i\" will be assigned a value from the list. ","-908772734":"This block evaluates a statement and will perform an action only when the statement is true.","-334040831":"2. In this example, the instructions are repeated as long as the value of x is greater than or equal to 10. Once the value of x drops below 10, the loop is terminated.","-444267958":"\"Seconds Since Epoch\" block returns the number of seconds since January 1st, 1970.","-447522129":"You might need it when you want to repeat an actions after certain amount of time.","-1488259879":"The term \"candle\" refers to each bar on the candlestick chart. Each candle represents four market prices for the selected time interval:","-2020693608":"Each candlestick on the chart represents 4 market prices for the selected time interval:","-62728852":"- Open price: the opening price","-1247744334":"- Low price: the lowest price","-1386365697":"- Close price: the closing price","-1498732382":"A black (or red) candle indicates that the open price is higher than the close price. This represents a downward movement of the market price.","-1871864755":"This block gives you the last digit of the latest tick value of the selected market. If the latest tick value is 1410.90, this block will return 0. It’s useful for digit-based contracts such as Even/Odd, Matches/Differs, or Higher/Lower.","-1029671512":"In case if the \"OR\" operation is selected, the block returns \"True\" in case if one or both given values are \"True\"","-210295176":"Available operations:","-1385862125":"- Addition","-983721613":"- Subtraction","-854750243":"- Multiplication","-1394815185":"In case if the given number is less than the lower boundary of the range, the block returns the lower boundary value. Similarly, if the given number is greater than the higher boundary, the block will return the higher boundary value. In case if the given value is between boundaries, the block will return the given value unchanged.","-1034564248":"In the below example the block returns the value of 10 as the given value (5) is less than the lower boundary (10)","-2009817572":"This block performs the following operations to a given number","-671300479":"Available operations are:","-514610724":"- Absolute","-1923861818":"- Euler’s number (2.71) to the power of a given number","-1556344549":"Here’s how:","-1061127827":"- Visit the following URL, make sure to replace with the Telegram API token you created in Step 1: https://api.telegram.org/bot/getUpdates","-311389920":"In this example, the open prices from a list of candles are assigned to a variable called \"cl\".","-1460794449":"This block gives you a list of candles within a selected time interval.","-1634242212":"Used within a function block, this block returns a value when a specific condition is true.","-2012970860":"This block gives you information about your last contract.","-1504783522":"You can choose to see one of the following:","-10612039":"- Profit: the profit you’ve earned","-555996976":"- Entry time: the starting time of the contract","-1391071125":"- Exit time: the contract expiration time","-1961642424":"- Exit value: the value of the last tick of the contract","-111312913":"- Barrier: the barrier value of the contract (applicable to barrier-based trade types such as stays in/out, touch/no touch, etc.)","-674283099":"- Result: the result of the last contract: \"win\" or \"loss\"","-704543890":"This block gives you the selected candle value such as open price, close price, high price, low price, and open time. It requires a candle as an input parameter.","-482281200":"In the example below, the open price is assigned to the variable \"op\".","-364621012":"This block gives you the specified candle value for a selected time interval. You can choose which value you want:","-232477769":"- Open: the opening price","-610736310":"Use this block to sell your contract at the market price. Selling your contract is optional. You may choose to sell if the market trend is unfavourable.","-1307657508":"This block gives you the potential profit or loss if you decide to sell your contract. It can only be used within the \"Sell conditions\" root block.","-1921072225":"In the example below, the contract will only be sold if the potential profit or loss is more than the stake.","-955397705":"SMA adds the market price in a list of ticks or candles for a number of time periods, and divides the sum by that number of time periods.","-1424923010":"where n is the number of periods.","-1835384051":"What SMA tells you","-749487251":"SMA serves as an indicator of the trend. If the SMA points up then the market price is increasing and vice versa. The larger the period number, the smoother SMA line is.","-1996062088":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 10 days.","-1866751721":"Input list accepts a list of ticks or candles, while period is the specified time period.","-1097076512":"You may compare SMA values calculated on every bot run to identify the market trend direction. Alternatively, you may also use a variation of the SMA block, the Simple Moving Average Array block. ","-1254849504":"If a period of 10 is entered, the Simple Moving Average Array block will return a list of SMA values calculated based on period of 10.","-1190046167":"This block displays a dialog box with a customised message. When the dialog box is displayed, your strategy is paused and will only resume after you click \"OK\".","-859028989":"In this example, the date and time will be displayed in a green notification box.","-1452086215":"In this example, a Rise contract will be purchased at midnight on 1 August 2019.","-2078588404":"Select your desired market and asset type. For example, Forex > Major pairs > AUD/JPY","-2037446013":"2. Trade Type","-533927844":"Select your desired trade type. For example, Up/Down > Rise/Fall","-1192411640":"4. Default Candle Interval","-485434772":"8. Trade Options","-1827646586":"This block assigns a given value to a variable, creating the variable if it doesn't already exist.","-254421190":"List: ({{message_length}})","-555886064":"Won","-529060972":"Lost","-1062922595":"Reference ID (buy)","-2068574600":"Reference ID (sell)","-994038153":"Start Time","-1979852400":"Entry Spot","-427802309":"Profit/Loss","-224804428":"Transactions","-287223248":"No transaction or activity yet.","-418247251":"Download your journal.","-2123571162":"Download","-1616649196":"results","-90107030":"No results found","-984140537":"Add","-870004399":"<0>Bought: {{longcode}} (ID: {{transaction_id}})","-1211474415":"Filters","-186972150":"There are no messages to display","-558594655":"The bot is not running","-478946875":"The stats are cleared","-999254545":"All messages are filtered out","-934909826":"Load strategy","-1121028020":"or, if you prefer...","-254025477":"Select an XML file from your device","-1131095838":"Please upload an XML file","-523928088":"Create one or upload one from your local drive or Google Drive.","-1684205190":"Why can't I see my recent bots?","-2050879370":"1. Logged in from a different device","-811857220":"3. Cleared your browser cache","-625024929":"Leaving already?","-584289785":"No, I'll stay","-1435060006":"If you leave, your current contract will be completed, but your bot will stop running immediately.","-783058284":"Total stake","-2077494994":"Total payout","-1073955629":"No. of runs","-1729519074":"Contracts lost","-42436171":"Total profit/loss","-1856204727":"Reset","-1137823888":"Total payout since you last cleared your stats.","-992662695":"The number of times your bot has run since you last cleared your stats. Each run includes the execution of all the root blocks.","-1382491190":"Your total profit/loss since you last cleared your stats. It is the difference between your total payout and your total stake.","-24780060":"When you’re ready to trade, hit ","-2147110353":". You’ll be able to track your bot’s performance here.","-1442034178":"Contract bought","-2020280751":"Bot is stopping","-1436403979":"Contract closed","-411060180":"TradingView Chart","-627895223":"Exit spot","-2140412463":"Buy price","-1299484872":"Account","-2004386410":"Win","-266502731":"Transactions detailed summary","-1711732508":"Reference IDs","-386141434":"(Buy)","-482272687":"(Sell)","-1983189496":"ticks","-694277729":"(High)","-2028564707":"(Low)","-596238067":"Entry/Exit spot","-1823621139":"Quick Strategy","-1782602933":"Choose a template below and set your trade parameters.","-315611205":"Strategy","-1524489375":"(optional)","-150224710":"Yes, continue","-475765963":"Edit the amount","-1349897832":"Do not show this message again.","-984512425":"Minimum duration: {{ value }}","-2084091453":"The value must be equal or greater than {{ value }}","-657364297":"The value must be equal or less than {{ value }}","-1696412885":"Import","-320197558":"Sort blocks","-939764287":"Charts","-1566369363":"Zoom out","-1285759343":"Search","-1291088318":"Purchase conditions","-112876186":"Analysis","-1769584466":"Stats","-1133736197":"Utility","-1682372359":"Text","-907562847":"Lists","-1646497683":"Loops","-251326965":"Miscellaneous","-1692205739":"Import a bot from your computer or Google Drive, build it from scratch, or start with a quick strategy.","-1545070554":"Delete bot","-1972599670":"Your bot will be permanently deleted when you hit ","-1692956623":"Yes, delete.","-573479616":"Are you sure you want to delete it?","-786915692":"You are connected to Google Drive","-1256971627":"To import your bot from your Google Drive, you'll need to sign in to your Google account.","-1233084347":"To know how Google Drive handles your data, please review Deriv’s <0>Privacy policy.","-1150107517":"Connect","-1150390589":"Last modified","-1393876942":"Your bots:","-767342552":"Enter your bot name, choose to save on your computer or Google Drive, and hit ","-1372891985":"Save.","-1003476709":"Save as collection","-636521735":"Save strategy","-1953880747":"Stop my bot","-1899230001":"Stopping the current bot will load the Quick Strategy you just created to the workspace.","-2131847097":"Any open contracts can be viewed on the ","-563774117":"Dashboard","-683790172":"Now, <0>run the bot to test out the strategy.","-1127164953":"Hi! Hit <0>Start for a quick tour.","-358288026":"Note: You can also find this tutorial in the <0>Tutorials tab.","-129587613":"Got it, thanks!","-1793577405":"Build from scratch","-358753028":"Create your bot using our drag-and-drop blocks or click Quick Strategy to choose from the ready-to-use bot templates.","-1212601535":"Monitor the market","-21136101":"See how your bot is doing in real-time.","-631097919":"Click <0>Run when you want to start trading, and click <0>Stop when you want to stop.","-1999747212":"Want to retake the tour?","-782992165":"Step 1 :","-1207872534":"First, set the <0>Trade parameters block.","-1656388044":"First, set <0>Market to Derived > Continuous Indices > Volatility 100 (1s) Index.","-1706298865":"Then, set <0>Trade type to Up/Down > Rise/Fall.","-1834358537":"For <0>Default candle interval, set it to 1 minute","-1940971254":"For <0>Trade options, set it as below:","-512839354":"<0>Stake: USD 10 (min: 0.35 - max: 50000)","-753745278":"Step 2 :","-1056713679":"Then, set the <0>Purchase conditions block.","-245497823":"<0>2. Purchase conditions:","-916770284":"<0>Purchase: Rise","-758077259":"Step 3 :","-677396944":"Step 4 :","-295975118":"Next, go to <0>Utility tab under the Blocks menu. Tap the drop-down arrow and hit <0>Loops.","-698493945":"Step 5 :","-1992994687":"Now, tap the <0>Analysis drop-down arrow and hit <0>Contract.","-1844492873":"Go to the <0>Last trade result block and click + icon to add the <0>Result is Win block to the workspace.","-1547091772":"Then, drag the <0>Result is win into the empty slot next to <0>repeat until block.","-736400802":"Step 6 :","-732067680":"Finally, drag and add the whole <0>Repeat block to the <0>Restart trading conditions block.","-1411787252":"Step 1","-1109392787":"Learn how to build your bot from scratch using a simple strategy.","-1263822623":"You can import a bot from your mobile device or from Google drive, see a preview in the bot builder, and start trading by running the bot.","-563921656":"Bot Builder guide","-1596172043":"Quick strategy guides","-1765276625":"Click the multiplier drop-down menu and choose the multiplier value you want to trade with.","-1872233077":"Your potential profit will be multiplied by the multiplier value you’ve chosen.","-614454953":"To learn more about multipliers, please go to the <0>Multipliers page.","-662836330":"Would you like to keep your current contract or close it? If you decide to keep it running, you can check and close it later on the <0>Reports page.","-1717650468":"Online","-1309011360":"Open positions","-1597214874":"Trade table","-1929724703":"Compare CFD accounts","-883103549":"Account deactivated","-45873457":"NEW","-1190972431":"P2P-V2","-1837059346":"Buy / Sell","-1845037007":"Advertiser's page","-494667560":"Orders","-679691613":"My ads","-821418875":"Trader","-679102561":"Contract Details","-430118939":"Complaints policy","-1308346982":"Derived","-579984289":"Derived Demo","-1596515467":"Derived BVI","-222394569":"Derived Vanuatu","-328128497":"Financial","-533935232":"Financial BVI","-565431857":"Financial Labuan","-659955365":"Swap-Free","-291535132":"Swap-Free Demo","-1472945832":"Swap-Free SVG","-144803045":"Only numbers and these special characters are allowed: {{permitted_characters}}","-1450516268":"Only letters, numbers, space, hyphen, period, and apostrophe are allowed.","-1966032552":"The length of token should be 8.","-2128137611":"Should start with letter or number, and may contain hyphen and underscore.","-1590869353":"Up to {{decimal_count}} decimal places are allowed.","-2061307421":"Should be more than {{min_value}}","-1099941162":"Should be less than {{max_value}}","-1528188268":"Straight rows of keys are easy to guess","-1339903234":"Short keyboard patterns are easy to guess","-23980798":"Repeats like \"aaa\" are easy to guess","-235760680":"Avoid repeated words and characters","-1568933154":"Sequences like abc or 6543 are easy to guess","-725663701":"Avoid sequences","-1450768475":"Recent years are easy to guess","-1804838610":"Avoid years that are associated with you","-64849469":"Dates are often easy to guess","-2006915194":"Avoid dates and years that are associated with you","-2124205211":"A word by itself is easy to guess","-1095202689":"All-uppercase is almost as easy to guess as all-lowercase","-2137856661":"Reversed words aren't much harder to guess","-1885413063":"Predictable substitutions like '@' instead of 'a' don't help very much","-369258265":"This password is on the blacklist","-577777971":"You have reached the rate limit of requests per second. Please try later.","-206321775":"Fiat","-522767852":"DEMO","-433761292":"Switching to default account.","-405439829":"Sorry, you can't view this contract because it doesn't belong to this account.","-1590712279":"Gaming","-16448469":"Virtual","-2093768906":"{{name}} has released your funds.
Would you like to give your feedback?","-705744796":"Your demo account balance has reached the maximum limit, and you will not be able to place new trades. Reset your balance to continue trading from your demo account.","-2063700253":"disabled","-1585069798":"Please click the following link to complete your Appropriateness Test.","-1287141934":"Find out more","-367759751":"Your account has not been verified","-596690079":"Enjoy using Deriv?","-265932467":"We’d love to hear your thoughts","-1815573792":"Drop your review on Trustpilot.","-823349637":"Go to Trustpilot","-1204063440":"Set my account currency","-1601813176":"Would you like to increase your daily limits to {{max_daily_buy}} {{currency}} (buy) and {{max_daily_sell}} {{currency}} (sell)?","-1751632759":"Get a faster mobile trading experience with the <0>{{platform_name_go}} app!","-1164554246":"You submitted expired identification documents","-219846634":"Let’s verify your ID","-529038107":"Install","-1738575826":"Please switch to your real account or create one to access the cashier.","-1329329028":"You’ve not set your 30-day turnover limit","-132893998":"Your access to the cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to Self-exclusion and set the limit.","-1852207910":"MT5 withdrawal disabled","-764323310":"MT5 withdrawals have been disabled on your account. Please check your email for more details.","-1744163489":"Please verify your proof of income","-382676325":"To continue trading with us, please submit your proof of income.","-1902997828":"Refresh now","-753791937":"A new version of Deriv is available","-1775108444":"This page will automatically refresh in 5 minutes to load the latest version.","-1175685940":"Please contact us via live chat to enable withdrawals.","-493564794":"Please complete your financial assessment.","-1125797291":"Password updated.","-157145612":"Please log in with your updated password.","-1728185398":"Resubmit proof of address","-612396514":"Please resubmit your proof of address.","-1519764694":"Your proof of address is verified.","-1629185222":"Submit now","-1961967032":"Resubmit proof of identity","-117048458":"Please submit your proof of identity.","-1196422502":"Your proof of identity is verified.","-1392958585":"Please check your email.","-136292383":"Your proof of address verification is pending","-386909054":"Your proof of address verification has failed","-430041639":"Your proof of address did not pass our verification checks, and we’ve placed some restrictions on your account. Please resubmit your proof of address.","-87177461":"Please go to your account settings and complete your personal details to enable deposits.","-904632610":"Reset your balance","-470018967":"Reset balance","-156611181":"Please complete the financial assessment in your account settings to unlock it.","-1925176811":"Unable to process withdrawals in the moment","-980696193":"Withdrawals are temporarily unavailable due to system maintenance. You can make withdrawals when the maintenance is complete.","-1647226944":"Unable to process deposit in the moment","-488032975":"Deposits are temporarily unavailable due to system maintenance. You can make deposits when the maintenance is complete.","-2136953532":"Scheduled cashier maintenance","-849587074":"You have not provided your tax identification number","-47462430":"This information is necessary for legal and regulatory requirements. Please go to your account settings, and fill in your latest tax identification number.","-2067423661":"Stronger security for your Deriv account","-1719731099":"With two-factor authentication, you’ll protect your account with both your password and your phone - so only you can access your account, even if someone knows your password.","-949074612":"Please contact us via live chat.","-2087822170":"You are offline","-1669693571":"Check your connection.","-1706642239":"<0>Proof of ownership <1>required","-553262593":"<0><1>Your account is currently locked <2><3>Please upload your proof of <4>ownership to unlock your account. <5>","-1834929362":"Upload my document","-1043638404":"<0>Proof of ownership <1>verification failed","-1766760306":"<0><1>Please upload your document <2>with the correct details. <3>","-8892474":"Start assessment","-1330929685":"Please submit your proof of identity and proof of address to verify your account and continue trading.","-99461057":"Please submit your proof of address to verify your account and continue trading.","-577279362":"Please submit your proof of identity to verify your account and continue trading.","-197134911":"Your proof of identity is expired","-152823394":"Your proof of identity has expired. Please submit a new proof of identity to verify your account and continue trading.","-822813736":"We're unable to complete with the Wallet upgrade. Please try again later or contact us via live chat.","-285366843":"We are going to update the login process for your Deriv MT5 account.","-978414767":"We require additional information for your Deriv MT5 account(s). Please take a moment to update your information now.","-2142540205":"It appears that the address in your document doesn’t match the address in your Deriv profile. Please update your personal details now with the correct address.","-482715448":"Go to Personal details","-2072411961":"Your proof of address has been verified","-384887227":"Update the address in your profile.","-1779268418":"Trade swap-free CFDs on MT5 with forex, stocks, stock indices, commodities cryptocurrencies, ETFs and synthetic indices.","-1998049070":"If you agree to our use of cookies, click on Accept. For more information, <0>see our policy.","-402093392":"Add Deriv Account","-1721181859":"You’ll need a {{deriv_account}} account","-1989074395":"Please add a {{deriv_account}} account first before adding a {{dmt5_account}} account. Deposits and withdrawals for your {{dmt5_label}} account are done by transferring funds to and from your {{deriv_label}} account.","-689237734":"Proceed","-1642457320":"Help centre","-1966944392":"Network status: {{status}}","-181484419":"Responsible trading","-650505513":"Full screen","-1823504435":"View notifications","-1954045170":"No currency assigned","-1591792668":"Account Limits","-34495732":"Regulatory information","-1496158755":"Go to Deriv.com","-1323441180":"I hereby confirm that my request for opening an account with Deriv to trade OTC products issued and offered exclusively outside Brazil was initiated by me. I fully understand that Deriv is not regulated by CVM and by approaching Deriv I intend to set up a relation with a foreign company.","-1396326507":"Unfortunately, {{website_name}} is not available in your country.","-288996254":"Unavailable","-1019903756":"Synthetic","-735306327":"Manage accounts","-1813972756":"Account creation paused for 24 hours","-366030582":"Sorry, you're unable to create an account at this time. As you declined our previous risk warnings, we need you to wait for 24 hours after your first account creation attempt before you can proceed.<0/><0/>","-534047566":"Thank you for your understanding. You can create your account on {{real_account_unblock_date}} or later.","-399816343":"Trading Experience Assessment<0/>","-1822498621":"As per our regulatory obligations, we are required to assess your trading knowledge and experience.<0/><0/>Please click ‘OK’ to continue","-71049153":"Keep your account secure with a password","-1861974537":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters, numbers, and symbols.","-1965920446":"Start trading","-1485242688":"Step {{step}}: {{step_title}} ({{step}} of {{steps}})","-1829842622":"You can open an account for each cryptocurrency.","-987221110":"Choose a currency you would like to trade with.","-1066574182":"Choose a currency","-1914534236":"Choose your currency","-200560194":"Please switch to your {{fiat_currency}} account to change currencies.","-1829493739":"Choose the currency you would like to trade with.","-1814647553":"Add a new","-1269362917":"Add new","-650480777":"crypto account","-175638343":"Choose an account or add a new one","-1768223277":"Your account is ready","-1215717784":"<0>You have successfully changed your currency to {{currency}}.<0>Make a deposit now to start trading.","-1775006840":"Make a deposit now to start trading.","-983734304":"We need proof of your identity and address before you can start trading.","-917733293":"To get trading, please confirm where you live.","-1282628163":"You'll be able to get trading as soon as verification is complete.","-952649119":"Log In","-3815578":"Sign Up","-1456176427":"Set a currency for your real account","-1329687645":"Create a cryptocurrency account","-1429178373":"Create a new account","-1740162250":"Manage account","-1016775979":"Choose an account","-1362081438":"Adding more real accounts has been restricted for your country.","-1602122812":"24-hour Cool Down Warning","-1519791480":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the risk of losing your money. <0/><0/>\n As you have declined our previous warning, you would need to wait 24 hours before you can proceed further.","-1010875436":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, kindly note that you would need to wait 24 hours before you can proceed further.","-1725418054":"By clicking ‘Accept’ and proceeding with the account opening, you should note that you may be exposing yourself to risks. These risks, which may be significant, include the risk of losing the entire sum invested, and you may not have the knowledge and experience to properly assess or mitigate them.","-1369294608":"Already signed up?","-730377053":"You can’t add another real account","-2100785339":"Invalid inputs","-2061807537":"Something’s not right","-617844567":"An account with your details already exists.","-1534648620":"Your password has been changed","-596199727":"We will now redirect you to the login page.","-310434518":"The email input should not be empty.","-437918412":"No currency assigned to your account","-1193651304":"Country of residence","-707550055":"We need this to make sure our service complies with laws and regulations in your country.","-280139767":"Set residence","-601615681":"Select theme","-1152511291":"Dark","-1428458509":"Light","-1976089791":"Your Deriv account has been unlinked from your {{social_identity_provider}} account. You can now log in to Deriv using your new email address and password.","-505449293":"Enter a new password for your Deriv account.","-1728963310":"Stop creating an account?","-703818088":"Only log in to your account at this secure link, never elsewhere.","-1235799308":"Fake links often contain the word that looks like \"Deriv\" but look out for these differences.","-2102997229":"Examples","-82488190":"I've read the above carefully.","-97775019":"Do not trust and give away your credentials on fake websites, ads or emails.","-2142491494":"OK, got it","-611136817":"Beware of fake links.","-1342699195":"Total profit/loss:","-1941013000":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}, {{legal_entity_name_fx}}, and {{legal_entity_name_v}}.","-594812204":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}.","-813256361":"We are committed to treating our clients fairly and providing them with excellent service.<0/><1/>We would love to hear from you on how we can improve our services to you. Any information you provide will be treated in the strictest confidence. Rest assured that you will be heard, valued, and always treated fairly.","-1622847732":"If you have an inquiry regarding your trading account with {{legal_entity_name}}, you can contact us through our <0>Help centre or by chatting with a representative via <1>Live Chat.<2/><3/>We are committed to resolving your query in the quickest time possible and appreciate your patience in allowing us time to resolve the matter.<4/><5/>We strive to provide the best possible service and support to our customers. However, in the event that we are unable to resolve your query or if you feel that our response is unsatisfactory, we want to hear from you. We welcome and encourage you to submit an official complaint to us so that we can review your concerns and work towards a resolution.","-1406192787":"If you are not satisfied with the outcome, you can escalate your complaint to the <0>Financial Commission.","-2115348800":"1. Introduction","-744009523":"2. Fair treatment","-866831420":"3.1. Submission of a complaint","-1102904026":"3.2. Handling your complaint","-603378979":"3.3. Resolving your complaint","-697569974":"3.4. Your decision","-1280998762":"4. Complaints","-1886635232":"A complaint is any expression of dissatisfaction by a client regarding our products or services that requires a formal response.<0/><1/>If what you submit does not fall within the scope of a complaint, we may reclassify it as a query and forward it to the relevant department for handling. However, if you believe that your query should be classified as a complaint due to its relevance to the investment services provided by {{legal_entity_name}}, you may request that we reclassify it accordingly.","-1771496016":"To submit a complaint, please send an email to <0>complaints@deriv.com, providing as much detail as possible. To help us investigate and resolve your complaint more efficiently, please include the following information:","-1197243525":"<0>•A clear and detailed description of your complaint, including any relevant dates, times, and transactions","-1795134892":"<0>•Any relevant screenshots or supporting documentation that will assist us in understanding the issue","-2053887036":"4.4. Handling your complaint","-717170429":"Once we have received the details of your complaint, we shall review it carefully and keep you updated on the handling process. We might request further information or clarifications to facilitate the resolution of the complaint.","-1841922393":"4.5. Resolving your complaint","-1327119795":"4.6. Your decision","-2019654103":"If we are unable to resolve your complaint or you are not satisfied with the outcome, you can escalate your complaint to the Office of the Arbiter for Financial Services.<0/><1/><2>Filing complaints with the Office of the Arbiter for Financial Services","-687172857":"<0>•You may file a complaint with the Arbiter for Financial Services only if you are not satisfied with our decision or the decision wasn’t made within 15 business days.","-262934706":"<0>•If the complaint is accepted by the Arbiter, you will receive another email with further details relating to the payment of the €25 complaint fee and the processes that follow.","-993572476":"<0>b.The Financial Commission has 5 days to acknowledge that your complaint was received and 14 days to answer the complaint through our Internal Dispute Resolution (IDR) procedure.","-1769159081":"<0>c.You will be able to file a complaint with the Financial Commission only if you are not satisfied with our decision or the decision wasn’t made within 14 days.","-58307244":"3. Determination phase","-356618087":"<0>b.The DRC may request additional information from you or us, who must then provide the requested information within 7 days.","-945718602":"<0>b.If you agree with a DRC decision, you will need to accept it within 14 days. If you do not respond to the DRC decision within 14 days, the complaint is considered closed.","-1500907666":"<0>d.If the decision is made in our favour, you must provide a release for us within 7 days of when the decision is made, and the complaint will be considered closed.","-429248139":"5. Disclaimer","-818926350":"The Financial Commission accepts appeals for 45 days following the date of the incident and only after the trader has tried to resolve the issue with the company directly.","-1825471709":"A whole new trading experience on a powerful yet easy to use platform.","-981017278":"Automated trading at your fingertips. No coding needed.","-583559763":"Menu","-1685795001":"Demo Wallet","-319395348":"Looking for CFDs? Go to Trader’s Hub","-554054753":"Get started","-1364763296":"No need to remember a password","-1274467503":"Sync across devices","-2036288743":"Enhanced security with biometrics or screen lock ","-143216768":"Learn more about passkeys <0> here.","-778309978":"The link you clicked has expired. Ensure to click the link in the latest email in your inbox. Alternatively, enter your email below and click <0>Resend email for a new link.","-2007055538":"Information updated","-521477049":"We are going to update the login process for your Deriv MT5 account. Here is what you need to do when you want to log in via your MT5 mobile app starting from 7 February:","-749864644":"If you have trouble logging into your Deriv MT5 account, please follow this <0>guide.","-238296389":"Need help? Contact us via <0>live chat to assist you with any login questions.","-941870889":"The cashier is for real accounts only","-352838513":"It looks like you don’t have a real {{regulation}} account. To use the cashier, switch to your {{active_real_regulation}} real account, or get an {{regulation}} real account.","-1858915164":"Ready to deposit and trade for real?","-162753510":"Add real account","-1208519001":"You need a real Deriv account to access the cashier.","-715867914":"Successfully deposited","-1271218821":"Account added","-197631101":"Your funds will be available for trading once the verification of your account is complete.","-835056719":"We’ve received your documents","-55435892":"We’ll need 1 - 3 days to review your documents and notify you by email. You can practice with demo accounts in the meantime.","-1916578937":"<0>Explore the exciting new features that your Wallet offers.","-1724438599":"<0>You're almost there!","-1089300025":"We don’t charge deposit fees! Once your account is verified, you will be able to trade, make additional deposits, or withdraw funds.","-476018343":"Live Chat","-1471705969":"<0>{{title}}: {{trade_type_name}} on {{symbol}}","-1771117965":"Trade opened","-1856112961":"The URL you requested isn’t available","-304807228":"<0>You’re not logged in, or<0>Our services are unavailable in your country.","-1567989247":"Submit your proof of identity and address","-523602297":"Forex majors","-1303090739":"Up to 1:1500","-19213603":"Metals","-1264604378":"Up to 1:1000","-1728334460":"Up to 1:300","-646902589":"(US_30, US_100, US_500)","-705682181":"Malta","-1835174654":"1:30","-1647612934":"Spreads from","-1587894214":"about verifications needed.","-466784048":"Regulator/EDR","-2098459063":"British Virgin Islands","-1005069157":"Synthetic indices, basket indices, and derived FX","-1344709651":"40+","-1326848138":"British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114)","-1711743223":"Forex (standard/micro), stocks, stock indices, commodities, cryptocurrencies and ETFs","-1372141447":"Straight-through processing","-1969608084":"Forex and Cryptocurrencies","-800771713":"Labuan Financial Services Authority (licence no. MB/18/0024)","-1497128311":"80+","-1689815930":"You will need to submit proof of identity and address once you reach certain thresholds.","-1175785439":"Deriv (SVG) LLC (company no. 273 LLC 2020)","-139026353":"A selfie of yourself.","-1228847561":"Verification in review.","-618322245":"Verification successful.","-149461870":"Forex: standard/exotic","-1995163270":"ETFs","-651501076":"Derived - SVG","-865172869":"Financial - BVI","-1851765767":"Financial - Vanuatu","-558597854":"Financial - Labuan","-2052425142":"Swap-Free - SVG","-1192904361":"Deriv X Demo","-283929334":"Deriv cTrader Demo","-1269597956":"MT5 Platform","-1302404116":"Maximum leverage","-239789243":"(License no. SIBA/L/18/1114)","-941636117":"MetaTrader 5 Linux app","-1434036215":"Demo Financial","-1416247163":"Financial STP","-1637969571":"Demo Swap-Free","-1882063886":"Demo CFDs","-1347908717":"Demo Financial SVG","-1780324582":"SVG","-860609405":"Password","-742647506":"Fund transfer","-712681566":"Peer-to-peer exchange","-1267880283":"{{field_name}} is required","-2084509650":"{{field_name}} is not properly formatted.","-790488576":"Forgot password?","-476558960":"If you don’t have open positions","-1385484963":"Confirm to change your {{platform}} password","-1990902270":"This will change the password to all of your {{platform}} accounts.","-12535938":"*Volatility 250 Index, Volatility 150 Index, Boom 300 and Crash 300 Index","-201485855":"Up to","-700260448":"demo","-1769158315":"real","-1922462747":"Trader's hub","-16858060":"You have a new Deriv MT5 password to log in to your Deriv MT5 accounts on the web and mobile apps.","-1868608634":"Current password","-2092058806":"8 to 16 characters","-2051033705":"A special character such as ( _ @ ? ! / # )","-1762249687":"A lowercase letter","-535365199":"Enter your {{platform}} password to add a {{platform_name}} {{account}} account.","-184453418":"Enter your {{platform}} password","-393388362":"We’re reviewing your documents. This should take about 1 to 3 days.","-2057918502":"Hint: You may have entered your Deriv password, which is different from your {{platform}} password.","-267598687":"Congratulations, you have successfully created your <0/>{{category}} {{platform}} {{type}} account. To start trading, <1 />transfer funds <2 />from your Deriv account into this account.","-1475660820":"Your Deriv MT5 {{type}} account is ready. ","-1710177700":"Your demo {{type}} account is ready.","-1184248732":"Congratulations, you have successfully created your <0/>{{category}} {{platform}} {{type}} account. ","-1928229820":"Reset Deriv X investor password","-1969916895":"Your password must contain between 8-16 characters that include uppercase and lowercase letters, and at least one number and special character ( _ @ ? ! / # ).","-1087845020":"main","-1950683866":"investor","-1874242353":"Fund top up","-89838213":"You can top up your demo account with an additional <0> if your balance is <1> or less.","-1211122723":"{{ platform }} {{ account_title }} account","-78895143":"Current balance","-149993085":"New current balance","-1615126227":"Manage up to {{max_count}} Deriv cTrader accounts. While you can convert any of your Deriv cTrader accounts into a strategy account, please take note of the following:","-1547739386":"To ensure you can always create and manage strategies with fees, <0>keep at least one account free from being a strategy provider. This way, you’ll always have an account ready for collecting fees, allowing you to have up to four strategies where you may impose fees.","-2145356061":"Download Deriv X on your phone to trade with the Deriv X account","-1547458328":"Run cTrader on your browser","-747382643":"Get another cTrader account","-1986258847":"Server maintenance starts at 01:00 GMT every Sunday, and this process may take up to 2 hours to complete. Service may be disrupted during this time.","-499504077":"Choose a cTrader account to transfer","-251202291":"Broker","-678964540":"to","-206829624":"(1:x)","-616293830":"Enjoy dynamic leverage of <0>up to 1:1500 when trading selected instruments in the forex, commodities, cryptocurrencies, and stock indices markets. Our dynamic leverage adjusts automatically to your trading position, based on asset type and trading volume.","-2042845290":"Your investor password has been changed.","-1882295407":"Your password has been changed.","-254497873":"Use this password to grant viewing access to another user. While they may view your trading account, they will not be able to trade or take any other actions.","-161656683":"Current investor password","-374736923":"New investor password","-1793894323":"Create or reset investor password","-21438174":"Add your Deriv cTrader account under Deriv (SVG) LLC (company no. 273 LLC 2020).","-2026018074":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (SVG) LLC (company no. 273 LLC 2020).","-162320753":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (BVI) Ltd, regulated by the British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114).","-271828350":"Get more out of Deriv MT5 Financial","-2125860351":"Choose a jurisdiction for your Deriv MT5 CFDs account","-1460321521":"Choose a jurisdiction for your {{account_type}} account","-637537305":"Download {{ platform }} on your phone to trade with the {{ platform }} {{ account }} account","-964130856":"{{existing_account_title}}","-879259635":"Enter your Deriv MT5 password to upgrade your account(s).","-1504907646":"Deriv MT5 password","-361998267":"We've introduced additional password requirements to increase your account security. Your password should:","-996995493":"Be between 8 to 16 characters.","-219163415":"Contain at least one special character.","-1446636186":"By clicking on <0>Next you agree to move your {{platform}} {{type_1}} and {{type_2}} {{from_account}} account(s) under Deriv {{account_to_migrate}} Ltd’s <1>terms and conditions.","-1766387013":"Upgrade your MT5 account(s)","-990927225":"Enter your Deriv MT5 password","-1486399361":"Trade with MT5 mobile app","-301350824":"Note: Don't have the MT5 app? Tap the <0>Trade with MT5 mobile app button to download. Once you have\n installed the app, return to this screen and hit the same button to log in.","-648956272":"Use this password to log in to your Deriv X accounts on the web and mobile apps.","-1814308691":"Please click on the link in the email to change your {{platform}} password.","-2015785957":"Compare CFDs {{demo_title}} accounts","-81650212":"MetaTrader 5 web","-508045656":"Coming soon on IOS","-601303096":"Scan the QR code to download Deriv {{ platform }}.","-1357917360":"Web terminal","-1282933308":"Not {{barrier}}","-968190634":"Equals {{barrier}}","-1747377543":"Under {{barrier}}","-1386326276":"Barrier is a required field.","-1418742026":"Higher barrier must be higher than lower barrier.","-92007689":"Lower barrier must be lower than higher barrier.","-1095538960":"Please enter the start time in the format \"HH:MM\".","-1975910372":"Minute must be between 0 and 59.","-866277689":"Expiry time cannot be in the past.","-1455298001":"Now","-256210543":"Trading is unavailable at this time.","-1150099396":"We’re working to have this available for you soon. If you have another account, switch to that account to continue trading. You may add a Deriv MT5 Financial.","-28115241":"{{platform_name_trader}} is not available for this account","-453920758":"Go to {{platform_name_mt5}} dashboard","-402175529":"History","-1013917510":"The reset time is {{ reset_time }}","-925402280":"Indicative low spot","-1075414250":"High spot","-902712434":"Deal cancellation","-988484646":"Deal cancellation (executed)","-444882676":"Deal cancellation (active)","-13423018":"Reference ID","-1371082433":"Reset barrier","-1402197933":"Reset time","-2035315547":"Low barrier","-1745835713":"Selected tick","-1551639437":"No history","-1214703885":"You have yet to update either take profit or stop loss","-504849554":"It will reopen at","-59803288":"In the meantime, try our synthetic indices. They simulate real-market volatility and are open 24/7.","-1278109940":"See open markets","-694105443":"This market is closed","-104603605":"You cannot trade as your documents are still under review. We will notify you by email once your verification is approved.","-439389714":"We’re working on it","-770929448":"Go to {{platform_name_smarttrader}}","-347156282":"Submit Proof","-138538812":"Log in or create a free account to place a trade.","-2036388794":"Create free account","-1813736037":"No further trading is allowed on this contract type for the current trading session. For more info, refer to our <0>terms and conditions.","-1043795232":"Recent positions","-153220091":"{{display_value}} Tick","-802374032":"Hour","-1052279158":"Your <0>payout is the sum of your initial stake and profit.","-1819891401":"You can close your trade anytime. However, be aware of <0>slippage risk.","-231957809":"Win maximum payout if the exit spot is higher than or equal to the upper barrier.","-464144986":"Win maximum payout if the exit spot is lower than or equal to the lower barrier.","-1031456093":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between upper barrier and exit spot.","-968162707":"No payout if exit spot is above or equal to the upper barrier.","-2089488446":"If you select \"Ends Between\", you win the payout if the exit spot is strictly higher than the Low barrier AND strictly lower than the High barrier.","-1876950330":"If you select \"Ends Outside\", you win the payout if the exit spot is EITHER strictly higher than the High barrier, OR strictly lower than the Low barrier.","-546460677":"If the exit spot is equal to either the Low barrier or the High barrier, you don't win the payout.","-1929209278":"If you select \"Even\", you will win the payout if the last digit of the last tick is an even number (i.e., 2, 4, 6, 8, or 0).","-2038865615":"If you select \"Odd\", you will win the payout if the last digit of the last tick is an odd number (i.e., 1, 3, 5, 7, or 9).","-1959473569":"If you select \"Lower\", you win the payout if the exit spot is strictly lower than the barrier.","-1350745673":"If the exit spot is equal to the barrier, you don't win the payout.","-93996528":"By purchasing the \"Close-to-Low\" contract, you'll win the multiplier times the difference between the close and low over the duration of the contract.","-420387848":"The high is the highest point ever reached by the market during the contract period.","-1722190480":"By purchasing the \"High-to-Low\" contract, you'll win the multiplier times the difference between the high and low over the duration of the contract.","-1281286610":"If you select \"Matches\", you will win the payout if the last digit of the last tick is the same as your prediction.","-618782785":"Use multipliers to leverage your potential returns. Predict if the asset price will move upward (bullish) or downward (bearish). We’ll charge a commission when you open a multipliers trade.","-565391674":"If you select \"<0>Up\", your total profit/loss will be the percentage increase in the underlying asset price, times the multiplier and stake, minus commissions.","-1113825265":"Additional features are available to manage your positions: “<0>Take profit” and “<0>Stop loss” allow you to adjust your level of risk aversion.","-1104397398":"Additional features are available to manage your positions: “<0>Take profit”, “<0>Stop loss” and “<0>Deal cancellation” allow you to adjust your level of risk aversion.","-1272255095":"If the exit spot is equal to the barrier or the new barrier (if a reset occurs), you don't win the payout.","-1392065699":"If you select \"Rise\", you win the payout if the exit spot is strictly higher than the entry spot.","-1762566006":"If you select \"Fall\", you win the payout if the exit spot is strictly lower than the entry spot.","-1435306976":"If you select \"Allow equals\", you win the payout if exit spot is higher than or equal to entry spot for \"Rise\". Similarly, you win the payout if exit spot is lower than or equal to entry spot for \"Fall\".","-1812957362":"If you select \"Stays Between\", you win the payout if the market stays between (does not touch) either the High barrier or the Low barrier at any time during the contract period","-220379757":"If you select \"Goes Outside\", you win the payout if the market touches either the High barrier or the Low barrier at any time during the contract period.","-299450697":"If you select \"High Tick\", you win the payout if the selected tick is the highest among the next five ticks.","-1416078023":"If you select \"Touch\", you win the payout if the market touches the barrier at any time during the contract period.","-1565216130":"If you select <0>\"Up\", you’ll earn a payout if the spot price never drops below the barrier.","-1336860323":"If you select <0>\"Down\", you’ll earn a payout if the spot price never rises above the barrier.","-1547935605":"Your payout is equal to the <0>payout per point multiplied by the difference between the <0>final price and the barrier. You will only earn a profit if your payout is higher than your initial stake.","-1307465836":"You may sell the contract up to 15 seconds before expiry. If you do, we’ll pay you the <0>contract value.","-351875097":"Number of ticks","-729830082":"View less","-1649593758":"Trade info","-1382749084":"Go back to trading","-1239477911":"second","-1585766960":"min","-1652791614":"mins","-1977959027":"hours","-442488432":"day","-337314714":"days","-1435392215":"About deal cancellation","-2017825013":"Got it","-1192773792":"Don't show this again","-1341681145":"When this is active, you can cancel your trade within the chosen time frame. Your stake will be returned without loss.","-471757681":"Risk management","-843831637":"Stop loss","-771725194":"Deal Cancellation","-1669741470":"The payout at expiry is equal to the payout per point multiplied by the difference between the final price and the strike price.","-993480898":"Accumulators","-2131851017":"Growth rate","-1422269966":"You can choose a growth rate with values of 1%, 2%, 3%, 4%, and 5%.","-1186791513":"Payout is the sum of your initial stake and profit.","-1682624802":"It is a percentage of the previous spot price. The percentage rate is based on your choice of the index and the growth rate.","-1186082278":"Your payout is equal to the payout per point multiplied by the difference between the final price and barrier.","-584445859":"This is when your contract will expire based on the duration or end time you’ve selected. If the duration is more than 24 hours, the cut-off time and expiry date will apply instead.","-1221049974":"Final price","-1247327943":"This is the spot price of the last tick at expiry.","-1890561510":"Cut-off time","-878534036":"If you select \"Call\", you’ll earn a payout if the final price is above the strike price at expiry. Otherwise, you won’t receive a payout.","-1587076792":"If you select \"Put\", you’ll earn a payout if the final price is below the strike price at expiry. Otherwise, you won’t receive a payout.","-1482134885":"We calculate this based on the strike price and duration you’ve selected.","-565990678":"Your contract will expire on this date (in GMT), based on the End time you’ve selected.","-1545819495":"Your trade will be closed automatically at the nearest available asset price when your loss reaches a certain percentage of your stake, but your loss never exceeds your stake. This percentage depends on the chosen underlying asset and the Multiplier.","-468501352":"If you select this feature, your trade will be closed automatically at the nearest available asset price when your profit reaches or exceeds the take profit amount. Your profit may be more than the amount you entered depending on the market price at closing.","-477936848":"We use next-tick-execution mechanism, which is the next asset price when the trade opening is processed by our servers.","-1476381873":"The latest asset price when the trade closure is processed by our servers.","-148680560":"Spot price of the last tick upon reaching expiry.","-1123926839":"Contracts will expire at exactly 14:00:00 GMT on your selected expiry date.","-1904828224":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price, duration, etc. However, we won’t offer a contract value if the remaining duration is below 24 hours.","-127118348":"Choose {{contract_type}}","-543478618":"Try checking your spelling or use a different term","-338707425":"Minimum duration is 1 day","-1003473648":"Duration: {{duration}} day","-700280380":"Deal cancel. fee","-8998663":"Digit: {{last_digit}} ","-718750246":"Your stake will grow at {{growth_rate}}% per tick as long as the current spot price remains within ±{{tick_size_barrier_percentage}} from the previous spot price.","-1358367903":"Stake","-542594338":"Max. payout","-690963898":"Your contract will be automatically closed when your payout reaches this amount.","-511541916":"Your contract will be automatically closed upon reaching this number of ticks.","-438655760":"<0>Note: You can close your trade anytime. Be aware of slippage risk.","-774638412":"Stake must be between {{min_stake}} {{currency}} and {{max_stake}} {{currency}}","-434270664":"Current Price","-1956787775":"Barrier Price:","-1513281069":"Barrier 2","-390994177":"Should be between {{min}} and {{max}}","-1231210510":"Tick","-2055106024":"Toggle between advanced and simple duration settings","-1012793015":"End time","-1804019534":"Expiry: {{date}}","-2037881712":"Your contract will be closed automatically at the next available asset price on <0>.","-629549519":"Commission <0/>","-2131859340":"Stop out <0/>","-1686280757":"<0>{{commission_percentage}}% of (<1/> * {{multiplier}})","-732683018":"When your profit reaches or exceeds this amount, your trade will be closed automatically.","-339236213":"Multiplier","-1763848396":"Put","-194424366":"above","-857660728":"Strike Prices","-1346404690":"You receive a payout at expiry if the spot price never touches or breaches the barrier throughout the contract duration. Otherwise, your contract will be terminated early.","-1572548510":"Ups & Downs","-71301554":"Ins & Outs","-952298801":"Look Backs","-763273340":"Digits","-2002533437":"Custom function","-215053350":"with:","-1257232389":"Specify a parameter name:","-1885742588":"with: ","-188442606":"function {{ function_name }} {{ function_params }} {{ dummy }}","-313112159":"This block is similar to the one above, except that this returns a value. The returned value can be assigned to a variable of your choice.","-1783320173":"Prematurely returns a value within a function","-1485521724":"Conditional return","-1482801393":"return","-46453136":"get","-1838027177":"first","-1182568049":"Get list item","-1675454867":"This block gives you the value of a specific item in a list, given the position of the item. It can also remove the item from the list.","-381501912":"This block creates a list of items from an existing list, using specific item positions.","-426766796":"Get sub-list","-1679267387":"in list {{ input_list }} find {{ first_or_last }} occurence of item {{ input_value }}","-2087996855":"This block gives you the position of an item in a given list.","-422008824":"Checks if a given list is empty","-1343887675":"This block checks if a given list is empty. It returns “True” if the list is empty, “False” if otherwise.","-1548407578":"length of {{ input_list }}","-1786976254":"This block gives you the total number of items in a given list.","-2113424060":"create list with item {{ input_item }} repeated {{ number }} times","-1955149944":"Repeat an item","-434887204":"set","-197957473":"as","-851591741":"Set list item","-1874774866":"ascending","-1457178757":"Sorts the items in a given list","-350986785":"Sort list","-324118987":"make text from list","-155065324":"This block creates a list from a given string of text, splitting it with the given delimiter. It can also join items in a list into a string of text.","-459051222":"Create list from text","-977241741":"List Statement","-451425933":"{{ break_or_continue }} of loop","-323735484":"continue with next iteration","-1592513697":"Break out/continue","-713658317":"for each item {{ variable }} in list {{ input_list }}","-1825658540":"Iterates through a given list","-952264826":"repeat {{ number }} times","-887757135":"Repeat (2)","-1608672233":"This block is similar to the block above, except that the number of times it repeats is determined by a given variable.","-533154446":"Repeat (1)","-1059826179":"while","-1893063293":"until","-279445533":"Repeat While/Until","-1003706492":"User-defined variable","-359097473":"set {{ variable }} to {{ value }}","-1588521055":"Sets variable value","-980448436":"Set variable","-1538570345":"Get the last trade information and result, then trade again.","-222725327":"Here is where you can decide if your bot should continue trading.","-1638446329":"Result is {{ win_or_loss }}","-1968029988":"Last trade result","-1588406981":"You can check the result of the last trade with this block.","-1459154781":"Contract Details: {{ contract_detail }}","-1652241017":"Reads a selected property from contract details list","-985351204":"Trade again","-2082345383":"These blocks transfer control to the Purchase conditions block.","-172574065":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract.","-403103225":"restart","-837044282":"Ask Price {{ contract_type }}","-1033917049":"This block returns the purchase price for the selected trade type.","-1863737684":"2. Purchase conditions","-228133740":"Specify contract type and purchase conditions.","-1098726473":"This block is mandatory. Only one copy of this block is allowed. You can place the Purchase block (see below) here as well as conditional blocks to define your purchase conditions.","-1777988407":"Payout {{ contract_type }}","-511116341":"This block returns the potential payout for the selected trade type","-1943211857":"Potential payout","-1738427539":"Purchase","-813464969":"buy","-53668380":"True if active contract can be sold before expiration at current market price","-43337012":"Sell profit/loss","-2112866691":"Returns the profit/loss from selling at market price","-2132417588":"This block gives you the potential profit or loss if you decide to sell your contract.","-1360483055":"set {{ variable }} to Bollinger Bands {{ band_type }} {{ dummy }}","-20542296":"Calculates Bollinger Bands (BB) from a list with a period","-1951109427":"Bollinger Bands (BB)","-857226052":"BB is a technical analysis indicator that’s commonly used by traders. The idea behind BB is that the market price stays within the upper and lower bands for 95% of the time. The bands are the standard deviations of the market price, while the line in the middle is a simple moving average line. If the price reaches either the upper or lower band, there’s a possibility of a trend reversal.","-325196350":"set {{ variable }} to Bollinger Bands Array {{ band_type }} {{ dummy }}","-199689794":"Similar to BB. This block gives you a choice of returning the values of either the lower band, higher band, or the SMA line in the middle.","-920690791":"Calculates Exponential Moving Average (EMA) from a list with a period","-960641587":"EMA is a type of moving average that places more significance on the most recent data points. It’s also known as the exponentially weighted moving average. EMA is different from SMA in that it reacts more significantly to recent price changes.","-1557584784":"set {{ variable }} to Exponential Moving Average Array {{ dummy }}","-32333344":"Calculates Moving Average Convergence Divergence (MACD) from a list","-628573413":"MACD is calculated by subtracting the long-term EMA (26 periods) from the short-term EMA (12 periods). If the short-term EMA is greater or lower than the long-term EMA than there’s a possibility of a trend reversal.","-1133676960":"Fast EMA Period {{ input_number }}","-883166598":"Period {{ input_period }}","-450311772":"set {{ variable }} to Relative Strength Index {{ dummy }}","-1861493523":"Calculates Relative Strength Index (RSI) list from a list of values with a period","-880048629":"Calculates Simple Moving Average (SMA) from a list with a period","-1150972084":"Market direction","-276935417":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of “True” or “False”.","-764931948":"in candle list get # from end {{ input_number }}","-924607337":"Returns the last digit of the latest tick","-560033550":"Returns the list of last digits of 1000 recent tick values","-74062476":"Make a List of {{ candle_property }} values in candles list with interval: {{ candle_interval_type }}","-1556495906":"Returns a list of specific values from a candle list according to selected time interval","-166816850":"Create a list of candle values (1)","-1261436901":"Candles List","-1174859923":"Read the selected candle value","-1972165119":"Read candle value (1)","-1956100732":"You can use this block to analyze the ticks, regardless of your trades","-443243232":"The content of this block is called on every tick. Place this block outside of any root block.","-641399277":"Last Tick","-1628954567":"Returns the value of the last tick","-1332756793":"This block gives you the value of the last tick.","-2134440920":"Last Tick String","-1466340125":"Tick value","-467913286":"Tick value Description","-785831237":"This block gives you a list of the last 1000 tick values.","-1546430304":"Tick List String Description","-1788626968":"Returns \"True\" if the given candle is black","-436010611":"Make a list of {{ candle_property }} values from candles list {{ candle_list }}","-1384340453":"Returns a list of specific values from a given candle list","-584859539":"Create a list of candle values (2)","-2010558323":"Read {{ candle_property }} value in candle {{ input_candle }}","-2846417":"This block gives you the selected candle value.","-1587644990":"Read candle value (2)","-1202212732":"This block returns account balance","-1737837036":"Account balance","-1963883840":"Put your blocks in here to prevent them from being removed","-1284013334":"Use this block if you want some instructions to be ignored when your bot runs. Instructions within this block won’t be executed.","-1217253851":"Log","-1987568069":"Warn","-104925654":"Console","-1956819233":"This block displays messages in the developer's console with an input that can be either a string of text, a number, boolean, or an array of data.","-1450461842":"Load block from URL: {{ input_url }}","-1088614441":"Loads blocks from URL","-1747943728":"Loads from URL","-2105753391":"Notify Telegram {{ dummy }} Access Token: {{ input_access_token }} Chat ID: {{ input_chat_id }} Message: {{ input_message }}","-1008209188":"Sends a message to Telegram","-1218671372":"Displays a notification and optionally play selected sound","-2099284639":"This block gives you the total profit/loss of your trading strategy since your bot started running. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-683825404":"Total Profit String","-718220730":"Total Profit String Description","-1861858493":"Number of runs","-264195345":"Returns the number of runs","-303451917":"This block gives you the total number of times your bot has run. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-2132861129":"Conversion Helper Block","-74095551":"Seconds Since Epoch","-15528039":"Returns the number of seconds since January 1st, 1970","-729807788":"This block returns the number of seconds since January 1st, 1970.","-1370107306":"{{ dummy }} {{ stack_input }} Run after {{ number }} second(s)","-558838192":"Delayed run","-1975250999":"This block converts the number of seconds since the Unix Epoch (1 January 1970) into a string of text representing the date and time.","-702370957":"Convert to date/time","-982729677":"Convert to timestamp","-311268215":"This block converts a string of text that represents the date and time into seconds since the Unix Epoch (1 January 1970). The time and time zone offset are optional. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825.","-1797602591":"Stop Loss: {{ currency }} {{ stop_loss }}","-1374685318":"Your contract is closed automatically when your loss is more than or equals to this amount. This block can only be used with the multipliers trade type.","-1214929127":"Stop loss must be a positive number.","-780745489":"If the contract type is “Both”, then the Purchase Conditions should include both Rise and Fall using the “Conditional Block\"","-2142851225":"Multiplier trade options","-625636913":"Amount must be a positive number.","-1466383897":"Duration: {{ duration_unit }} {{ duration_value }}","-440702280":"Trade options","-1193894978":"Define your trade options such as duration and stake. Some options are only applicable for certain trade types.","-46523443":"Duration value is not allowed. To run the bot, please enter a value between {{min}} to {{max}}.","-1483427522":"Trade Type: {{ trade_type_category }} > {{ trade_type }}","-323348124":"1. Trade parameters","-1671903503":"Run once at start:","-783173909":"Trade options:","-376956832":"Here is where you define the parameters of your contract.","-1244007240":"if {{ condition }} then","-1577206704":"else if","-33796979":"true","-1434883449":"This is a single block that returns a boolean value, either true or false.","-1946404450":"Compares two values","-979918560":"This block converts the boolean value (true or false) to its opposite.","-2047257743":"Null","-1274387519":"Performs selected logic operation","-766386234":"This block performs the \"AND\" or the \"OR\" logic operation.","-790995537":"test {{ condition }}","-1860211657":"if false {{ return_value }}","-1643760249":"This block tests if a given value is true or false and returns “True” or “False” accordingly.","-1551875333":"Test value","-52486882":"Arithmetical operations","-1010436425":"This block adds the given number to the selected variable","-999773703":"Change variable","-1272091683":"Mathematical constants","-1396629894":"constrain {{ number }} low {{ low_number }} high {{ high_number }}","-425224412":"This block constrains a given number so that it is within a set range.","-2072551067":"Constrain within a range","-43523220":"remainder of {{ number1 }} ÷ {{ number2 }}","-1291857083":"Returns the remainder after a division","-592154850":"Remainder after division","-736665095":"Returns the remainder after the division of the given numbers.","-1266992960":"Math Number Description","-77191651":"{{ number }} is {{ type }}","-817881230":"even","-142319891":"odd","-1000789681":"whole","-1735674752":"Test a number","-1017805068":"This block tests a given number according to the selection and it returns a value of “True” or “False”. Available options: Even, Odd, Prime, Whole, Positive, Negative, Divisible","-1858332062":"Number","-1053492479":"Enter an integer or fractional number into this block. Please use `.` as a decimal separator for fractional numbers.","-927097011":"sum","-1653202295":"max","-1555878023":"average","-1748351061":"mode","-992067330":"Aggregate operations","-1691561447":"This block gives you a random fraction between 0.0 to 1.0","-523625686":"Random fraction number","-933024508":"Rounds a given number to an integer","-1656927862":"This block rounds a given number according to the selection: round, round up, round down.","-1495304618":"absolute","-61210477":"Operations on a given number","-181644914":"This block performs the selected operations to a given number.","-840732999":"to {{ variable }} append text {{ input_text }}","-1469497908":"Appends a given text to a variable","-1851366276":"Text Append","-1666316828":"Appends a given text to a variable.","-1902332770":"Transform {{ input_text }} to {{ transform_type }}","-1489004405":"Title Case","-904432685":"Changes text case accordingly","-882381096":"letter #","-1027605069":"letter # from end","-2066990284":"random letter","-337089610":"in text {{ input_text1 }} find {{ first_or_last }} occurence of text {{ input_text2 }}","-1966694141":"Searches through a string of text for a specific occurrence of a given character or word, and returns the position.","-697543841":"Text join","-141160667":"length of {{ input_text }}","-1133072029":"Text String Length","-1109723338":"print {{ input_text }}","-736668830":"Print","-1631669591":"string","-1768939692":"number","-1821552998":"trim spaces from {{ side }} of {{ input_text }}","-801766026":"right side","-474779821":"Trims spaces","-1687036846":"Download block","-1266781295":"Expand","-894560707":"function","-1867119688":"Duplicate","-610728049":"Rearrange Vertically","-2033146714":"Collapse All Blocks","-958601558":"Delete Block","-1193267384":"Detach Block","-1750478127":"New variable name","-1061878051":"Y","-2047029150":"Unable to load the block file.","-1410769167":"Target must be an XML file","-609157479":"This URL is already loaded","-241945454":"Proposals are not ready","-1087890592":"Maximum loss amount reached","-1030545878":"You are rate limited for: {{ message_type }}, retrying in {{ delay }}s (ID: {{ request }})","-490766438":"You are disconnected, retrying in {{ delay }}s","-1389975609":"unknown","-1900515692":"Duration must be a positive integer","-245297595":"Please login","-1445046468":"Given candle is not valid","-1891622945":"{{hourPast}}h ago","-1919680487":"workspace","-1703118772":"The {{block_type}} block is misplaced from {{missing_space}}.","-1785726890":"purchase conditions","-461955353":"purchase price","-172348735":"profit","-1624674721":"contract type","-1644154369":"entry spot time","-510792478":"entry spot price","-1974651308":"exit spot time","-1600267387":"exit spot price","-514917720":"barrier","-1072292603":"No Change","-795152863":"green","-1640576332":"blue","-804983649":"yellow","-94281841":"red","-1242470654":"Earned money","-841561409":"Put Spread","-1429914047":"Low","-1893628957":"Open Time","-1896106455":"10 minutes","-999492762":"15 minutes","-1978767852":"30 minutes","-293628675":"1 hour","-385604445":"2 hours","-1965813351":"4 hours","-525321833":"1 day","-1691868913":"Touch/No Touch","-151151292":"Asians","-1048378719":"Reset Call/Reset Put","-1282312809":"High/Low Ticks","-1237186896":"Only Ups/Only Downs","-529846150":"Seconds","-1635771697":"middle","-1529389221":"Histogram","-1819860668":"MACD","-1750896349":"D'Alembert","-102980621":"The Oscar's Grind Strategy is a low-risk positive progression strategy that first appeared in 1965. By using this strategy, the size of your contract will increase after successful trades, but remains unchanged after unsuccessful trades.","-462715374":"Untitled Bot","-280147477":"All transactions","-137444201":"Buy","-130601012":"Please select duration","-232254547":"Custom","-1577570698":"Start date","-1251526905":"Last 7 days","-1904030160":"Transaction performed by (App ID: {{app_id}})","-1876891031":"Currency","-513103225":"Transaction time","-2066666313":"Credit/Debit","-1981004241":"Sell time","-1196431745":"Contract cost","-3423966":"Take profit<0 />Stop loss","-1131753095":"The {{trade_type_name}} contract details aren't currently available. We're working on making them available soon.","-360975483":"You've made no transactions of this type during this period.","-561436679":"This account offers CFDs on derived instruments.","-1173266642":"This account offers CFDs on a feature-rich trading platform.","-1226595254":"Turbos","-922253974":"Rise/Fall","-1361254291":"Higher/Lower","-335816381":"Ends In/Ends Out","-1789807039":"Asian Up/Asian Down","-330437517":"Matches/Differs","-657360193":"Over/Under","-558031309":"High Tick/Low Tick","-123659792":"Vanillas","-447037544":"Buy price:","-737348236":"Contract cost:","-1694314813":"Contract value:","-113940416":"Current stake:","-1999539705":"Deal cancel. fee:","-155989831":"Decrement value","-338379841":"Indicative price:","-2027409966":"Initial stake:","-1769852749":"N/A","-726626679":"Potential profit/loss:","-1511825574":"Profit/Loss:","-1167474366":"Tick ","-1669418686":"AUD/CAD","-1548588249":"AUD/CHF","-1552890620":"AUD/JPY","-681231560":"AUD/PLN","-64938413":"AUD/USD","-1430522808":"EUR/AUD","-2020477069":"EUR/CAD","-1201853162":"EUR/CHF","-1318070255":"EUR/GBP","-1197505739":"EUR/JPY","-405907358":"EUR/USD","-1536293064":"NZD/JPY","-79700881":"NZD/USD","-642323838":"USD/CAD","-428199705":"USD/CHF","-424108348":"USD/JPY","-548255282":"USD/NOK","-1834131208":"USD/PLN","-524302516":"Silver/USD","-764731776":"Platinum/USD","-853582174":"France 40","-1096386695":"UK 100","-617646862":"Germany 40","-2077690248":"Japan 225","-512194910":"US Tech 100","-381746202":"US 500","-1935463381":"Swiss 20","-1941767726":"Euro 50","-1925264914":"Volatility 25 Index","-708579504":"Volatility 50 Index","-975255670":"Volatility 75 Index","-1736314513":"Crash 300 Index","-342128411":"Crash 500 Index","-9704319":"Crash 1000 Index","-465860988":"Bull Market Index","-390528194":"Step Index","-280323742":"EUR Basket","-563812039":"Volatility 10 (1s) Index","-82971929":"Volatility 25 (1s) Index","-433962508":"Volatility 75 (1s) Index","-764111252":"Volatility 100 (1s) Index","-816110209":"Volatility 150 (1s) Index","-1374309449":"Volatility 200 (1s) Index","-1288044380":"Volatility 250 (1s) Index","-1164978320":"Jump 10 Index","-575272887":"BCH/USD","-295406873":"BTC/ETH","-1713556301":"ZMR/USD","-2046638412":"XRP/USD","-1263203461":"BTC/USD","-1112522776":"DSH/USD","-460689370":"LTC/USD","-132112961":"Sharkfin","-1715390759":"I want to do this later","-56163366":"I don't have any of these","-175164838":"{{seconds_passed}}s ago","-514136557":"{{minutes_passed}}m ago","-1420737287":"{{hours_passed}}h ago","-2092611555":"Sorry, this app is unavailable in your current location.","-1488537825":"If you have an account, log in to continue.","-1603581277":"minutes","-886317740":"The <0>date of birth on your identity document doesn't match your profile.","-1606307809":"We were unable to verify the identity document with the details provided.","-475787720":"The verification status was empty, rejected for lack of information.","-1627868670":"Your identity document has expired.","-1302288704":"The document’s owner is deceased.","-895884696":"The <0>name and <0>date of birth on your identity document don't match your profile.","-1231856133":"The verification status is not available, provider says: Needs Technical Investigation.","-433687715":"For enhanced security, we need to reverify your identity. Kindly resubmit your proof of identity to unlock your account.","-1637538521":"Your document appears to be invalid.","-876579004":"The name on your document doesn’t match your profile.","-746520172":"Some details on your document appear to be invalid, missing, or unclear.","-2146200521":"The serial number of your document couldn’t be verified.","-1945323197":"Your document appears to be in black and white. Please upload a colour photo of your document.","-631393256":"Your document contains markings or text that should not be on your document.","-609103016":"The image quality of your document is too low. Please provide a hi-res photo of your identity document.","-530935718":"We’re unable to verify the document you provided because some details appear to be missing. Please try again or provide another document.","-1027031626":"We’re unable to verify the document you provided because it appears to be damaged. Please try again or upload another document.","-1671621833":"The front of your document appears to be missing. Please provide both sides of your identity document.","-727588232":"Your document appears to be a scanned copy that contains markings or text that shouldn’t be on your document.","-1435064387":"Your document appears to be a printed copy.","-624316211":"Your document appears to be a photo of a device screen.","-1714959941":"This chart display is not ideal for tick contracts","-1254554534":"Please change the chart duration to tick for a better trading experience.","-1658230823":"Contract was sold for <0 />.","-1905867404":"Contract cancelled"} \ No newline at end of file +{"1485191":"1:1000","2082741":"additional document number","2091451":"Deriv Bot - your automated trading partner","3125515":"Your Deriv MT5 password is for logging in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","3215342":"Last 30 days","3420069":"To avoid delays, enter your <0>name and <0>date of birth exactly as they appear on your identity document.","4547840":"<0>Verify your account to transfer funds. <1>Verify now","5149403":"Learn more about trade types","7100308":"Hour must be between 0 and 23.","9488203":"Deriv Bot is a web-based strategy builder for trading digital options. It’s a platform where you can build your own automated trading bot using drag-and-drop 'blocks'.","9757544":"Please submit your proof of address","11539750":"set {{ variable }} to Relative Strength Index Array {{ dummy }}","11706633":"Loss threshold: The bot will stop trading if your total loss exceeds this amount.","11872052":"Yes, I'll come back later","14365404":"Request failed for: {{ message_type }}, retrying in {{ delay }}s","15377251":"Profit amount: {{profit}}","17843034":"Check proof of identity document verification status","19424289":"Username","19552684":"USD Basket","21035405":"Please tell us why you’re leaving. (Select up to {{ allowed_reasons }} reasons.)","24900606":"Gold Basket","25854018":"This block displays messages in the developer’s console with an input that can be either a string of text, a number, boolean, or an array of data.","26566655":"Summary","26596220":"Finance","27582393":"Example :","27582767":"{{amount}} {{currency}}","27731356":"Your account is temporarily disabled. Please contact us via <0>live chat to enable deposits and withdrawals again.","27830635":"Deriv (V) Ltd","28581045":"Add a real MT5 account","33433576":"Please use an e-wallet to withdraw your funds.","35089987":"Upload the front and back of your driving licence.","41737927":"Thank you","44877997":"Residence permit","45453595":"Binary Coin","45821474":"Proof of income","46523711":"Your proof of identity is verified","49404821":"If you buy a \"<0>{{trade_type}}\" option, you receive a payout at expiry if the final price is {{payout_status}} the strike price. Otherwise, your “<0>{{trade_type}}” option will expire worthless.","53801223":"Hong Kong 50","53964766":"5. Hit Save to download your bot. You can choose to download your bot to your device or your Google Drive.","54185751":"Less than $100,000","55340304":"Keep your current contract?","55916349":"All","57362642":"Closed","58254854":"Scopes","59169515":"If you select \"Asian Rise\", you will win the payout if the last tick is higher than the average of the ticks.","59341501":"Unrecognized file format","59662816":"Stated limits are subject to change without prior notice.","62748351":"List Length","63869411":"This block tests a given number according to the selection","64402604":"Check transfer information","65185694":"Fiat onramp","65982042":"Total","66519591":"Investor password","66610627":"We were unable to verify your selfie because it’s not clear. Please take a clearer photo and try again. Ensure that there’s enough light where you are and that your entire face is in the frame.","67923436":"No, Deriv Bot will stop running when your web browser is closed.","68885999":"Repeats the previous trade when an error is encountered.","69005593":"The example below restarts trading after 30 or more seconds after 1 minute candle was started.","71016232":"OMG/USD","71232823":"Manage funds","71445658":"Open","71563326":"A fast and secure fiat-to-crypto payment service. Deposit cryptocurrencies from anywhere in the world using your credit/debit cards and bank transfers.","71853457":"$100,001 - $500,000","72500774":"Please fill in Tax residence.","73086872":"You have self-excluded from trading","73326375":"The low is the lowest point ever reached by the market during the contract period.","74963864":"Under","76635112":"To proceed, resubmit these documents","76916358":"You have reached the withdrawal limit.<0/>Please upload your proof of identity and address to lift the limit to continue your withdrawal.","76925355":"Check your bot’s performance","77982950":"Vanilla options allow you to predict an upward (bullish) or downward (bearish) direction of the underlying asset by purchasing a \"Call\" or a \"Put\".","81091424":"To complete the upgrade, please log out and log in again to add more accounts and make transactions with your Wallets.","81450871":"We couldn’t find that page","82839270":"Upload the page of your passport that contains your photo.","83202647":"Collapse Block","84402478":"Where do I find the blocks I need?","84924586":"To trade options and multipliers, get a Deriv Apps account first.","85343079":"Financial assessment","85359122":"40 or more","85389154":"Steps required to continue verification on your mobile","90266322":"2. Start a chat with your newly created Telegram bot and make sure to send it some messages before proceeding to the next step. (e.g. Hello Bot!)","91993812":"The Martingale Strategy is a classic trading technique that has been used for more than a hundred years, popularised by the French mathematician Paul Pierre Levy in the 18th century.","93154671":"1. Hit Reset at the bottom of stats panel.","96381225":"ID verification failed","98473502":"We’re not obliged to conduct an appropriateness test, nor provide you with any risk warnings.","98972777":"random item","100239694":"Upload front of card from your computer","102226908":"Field cannot be empty","105871033":"Your age in the document you provided appears to be below 18 years. We’re only allowed to offer our services to clients above 18 years old, so we’ll need to close your account. If you have a balance in your account, contact us via live chat and we’ll help to withdraw your funds before your account is closed.","107537692":"These limits apply to your options trades only. For example, <0>maximum total loss refers to the losses on all your trades on options trading platforms.","108916570":"Duration: {{duration}} days","109073671":"Please use an e-wallet that you have used for deposits previously. Ensure the e-wallet supports withdrawal. See the list of e-wallets that support withdrawals <0>here.","111215238":"Move away from direct light","111718006":"End date","111931529":"Max. total stake over 7 days","112152170":"Your passkey is successfully removed. To avoid sign-in prompts, also remove the passkey from your password manager. ","113378532":"ETH/USD","115032488":"Buy price and P/L","116005488":"Indicators","117056711":"We’re updating our site","117318539":"Password should have lower and uppercase English letters with numbers.","117366356":"Turbo options allow you to predict the direction of the underlying asset’s movements.","118727646":"{{new_account_title}}","119261701":"Prediction:","119446122":"Contract type is not selected","120340777":"Complete your personal details","122617359":"View tutorial","122993457":"This is to confirm that it's you making the withdrawal request.","123454801":"{{withdraw_amount}} {{currency_symbol}}","124723298":"Upload a proof of address to verify your address","125354367":"An example of D’Alembert's Grind strategy","125443840":"6. Restart last trade on error","125842960":"{{name}} is required.","127307725":"A politically exposed person (PEP) is someone appointed with a prominent public position. Close associates and family members of a PEP are also considered to be PEPs.","129005644":"The idea is that successful trades may recoup previous losses. However, it is crucial to exercise caution as the risk can quickly increase with this strategy. With Deriv Bot, you can minimise your risk by setting a maximum stake. This is an optional risk management feature. Let’s say a maximum stake of 3 USD. If your stake for the next trade is set to exceed 3 USD, your stake will reset to the initial stake of 1 USD. If you didn't set a maximum stake, it would have increased beyond 3 USD.","129137937":"You decide how much and how long to trade. You can take a break from trading whenever you want. This break can be from 6 weeks to 5 years. When it’s over, you can extend it or resume trading after a 24-hour cooling-off period. If you don’t want to set a specific limit, leave the field empty.","129729742":"Tax Identification Number*","130567238":"THEN","132596476":"In providing our services to you, we are required to ask you for some information to assess if a given product or service is appropriate for you and whether you have the experience and knowledge to understand the risks involved.<0/><0/>","132689841":"Trade on web terminal","133523018":"Please go to the Deposit page to get an address.","133536621":"and","133655768":"Note: If you wish to learn more about the Bot Builder, you can proceed to the <0>Tutorials tab.","137589354":"To assess your trading experience and if our products are suitable for you. Please provide accurate and complete answers, as they may affect the outcome of this assessment.","138055021":"Synthetic indices","139454343":"Confirm my limits","141265840":"Funds transfer information","141626595":"Make sure your device has a working camera","142050447":"set {{ variable }} to create text with","142390699":"Connected to your mobile","143970826":"Payment problems?","145511192":"s is the initial stake.","145633981":"Unavailable as your documents are still under review","145736466":"Take a selfie","150156106":"Save changes","150486954":"Token name","151279367":"2. Set the Purchase conditions. In this example, your bot will purchase a Rise contract when it starts and after a contract closes.","151646545":"Unable to read file {{name}}","152415091":"Math","152524253":"Trade the world’s markets with our popular user-friendly platform.","157593038":"random integer from {{ start_number }} to {{ end_number }}","157871994":"Link expired","158355408":"Some services may be temporarily unavailable.","160746023":"Tether as an Omni token (USDT) is a version of Tether that is hosted on the Omni layer on the Bitcoin blockchain.","160863687":"Camera not detected","164112826":"This block allows you to load blocks from a URL if you have them stored on a remote server, and they will be loaded only when your bot runs.","164564432":"Deposits are temporarily unavailable due to system maintenance. You can make your deposits when the maintenance is complete.","165294347":"Please set your country of residence in your account settings to access the cashier.","165312615":"Continue on phone","165682516":"If you don’t mind sharing, which other trading platforms do you use?","167094229":"• Current stake: Use this variable to store the stake amount. You can assign any amount you want, but it must be a positive number.","170185684":"Ignore","170244199":"I’m closing my account for other reasons.","171307423":"Recovery","171579918":"Go to Self-exclusion","171638706":"Variables","173991459":"We’re sending your request to the blockchain.","174793462":"Strike","176078831":"Added","176319758":"Max. total stake over 30 days","176654019":"$100,000 - $250,000","177099483":"Your address verification is pending, and we’ve placed some restrictions on your account. The restrictions will be lifted once your address is verified.","178413314":"First name should be between 2 and 50 characters.","179083332":"Date","181107754":"Your new <0>{{platform}} {{eligible_account_to_migrate}} account(s) are ready for trading.","181346014":"Notes ","181881956":"Contract Type: {{ contract_type }}","182630355":"Thank you for submitting your information.","184024288":"lower case","189705706":"This block uses the variable \"i\" to control the iterations. With each iteration, the value of \"i\" is determined by the items in a given list.","189759358":"Creates a list by repeating a given item","190834737":"Guide","191372501":"Accumulation of Income/Savings","192436105":"No need for symbols, digits, or uppercase letters","192573933":"Verification complete","195136585":"Trading View Chart","195972178":"Get character","196810983":"If the duration is more than 24 hours, the Cut-off time and Expiry date will apply instead.","196998347":"We hold customer funds in bank accounts separate from our operational accounts which would not, in the event of insolvency, form part of the company's assets. This meets the <0>Gambling Commission's requirements for the segregation of customer funds at the level: <1>medium protection.","197190401":"Expiry date","201091938":"30 days","203179929":"<0>You can open this account once your submitted documents have been verified.","203271702":"Try again","203297887":"The Quick Strategy you just created will be loaded to the workspace.","203924654":"Hit the <0>Start button to begin and follow the tutorial.","204797764":"Transfer to client","204863103":"Exit time","206010672":"Delete {{ delete_count }} Blocks","207521645":"Reset Time","207824122":"Please withdraw your funds from the following Deriv account(s):","209533725":"You’ve transferred {{amount}} {{currency}}","210385770":"If you have an active account, please log in to continue. Otherwise, please sign up.","210872733":"The verification status is not available, provider says: Malformed JSON.","211224838":"Investment","211461880":"Common names and surnames are easy to guess","211487193":"Document number (e.g. identity card, passport, driver's license)","211847965":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable withdrawals.","216650710":"You are using a demo account","217377529":"5. If the next trades are profitable, the stake for the following trade will be reduced by 2 USD. This can be shown above where the stake of 3 USD is reduced to 1 USD. See A3.","217403651":"St. Vincent & Grenadines","217504255":"Financial assessment submitted successfully","218441288":"Identity card number","220014242":"Upload a selfie from your computer","220186645":"Text Is empty","221261209":"A Deriv account will allow you to fund (and withdraw from) your CFDs account(s).","223120514":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 50 days.","223607908":"Last digit stats for latest 1000 ticks for {{underlying_name}}","224650827":"IOT/USD","225887649":"This block is mandatory. It's added to your strategy by default when you create new strategy. You can not add more than one copy of this block to the canvas.","227591929":"To timestamp {{ input_datetime }} {{ dummy }}","227903202":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts.","228521812":"Tests whether a string of text is empty. Returns a boolean value (true or false).","233500222":"- High: the highest price","235583807":"SMA is a frequently used indicator in technical analysis. It calculates the average market price over a specified period, and is usually used to identify market trend direction: up or down. For example, if the SMA is moving upwards, it means the market trend is up. ","235994721":"Forex (standard/exotic) and cryptocurrencies","236642001":"Journal","238496287":"Leverage trading is high-risk, so it's a good idea to use risk management features such as stop loss. Stop loss allows you to","241546739":"Please choose the correct Deriv company and server name when logging in, as shown on Trader’s Hub.","243537306":"1. Under the Blocks menu, go to Utility > Variables.","243614144":"This is only available for existing clients.","245005091":"lower","245187862":"The DRC will make a <0>decision on the complaint (please note that the DRC mentions no timeframe for announcing its decision).","245812353":"if {{ condition }} return {{ value }}","246428134":"Step-by-step guides","248153700":"Reset your password","248565468":"Check your {{ identifier_title }} account email and click the link in the email to proceed.","248909149":"Send a secure link to your phone","251134918":"Account Information","251445658":"Dark theme","251882697":"Thank you! Your response has been recorded into our system.<0/><0/>Please click ‘OK’ to continue.","254912581":"This block is similar to EMA, except that it gives you the entire EMA line based on the input list and the given period.","256031314":"Cash Business","256602726":"If you close your account:","258448370":"MT5","258912192":"Trading assessment","260069181":"An error occured while trying to load the URL","260086036":"Place blocks here to perform tasks once when your bot starts running.","260361841":"Tax Identification Number can't be longer than 25 characters.","260393332":"You cannot make further deposits as your documents are still under review. We will notify you by email within 3 days once your verification is approved.","261074187":"4. Once the blocks are loaded onto the workspace, tweak the parameters if you want, or hit Run to start trading.","261250441":"Drag the <0>Trade again block and add it into the <0>do part of the <0>Repeat until block.","262095250":"If you select <0>\"Put\", you’ll earn a payout if the final price is below the strike price at expiry. Otherwise, you won’t receive a payout.","264976398":"3. 'Error' displays a message in red to highlight something that needs to be resolved immediately.","265644304":"Trade types","267992618":"The platforms lack key features or functionality.","268940240":"Your balance ({{format_balance}} {{currency}}) is less than the current minimum withdrawal allowed ({{format_min_withdraw_amount}} {{currency}}). Please top up your account to continue with your withdrawal.","269322978":"Deposit with your local currency via peer-to-peer exchange with fellow traders in your country.","269607721":"Upload","270339490":"If you select \"Over\", you will win the payout if the last digit of the last tick is greater than your prediction.","270396691":"<0>Your Wallets are ready!","270610771":"In this example, the open price of a candle is assigned to the variable \"candle_open_price\".","270712176":"descending","270780527":"You've reached the limit for uploading your documents.","271637055":"Download is unavailable while your bot is running.","272179372":"This block is commonly used to adjust the parameters of your next trade and to implement stop loss/take profit logic.","273350342":"Copy and paste the token into the app.","273728315":"Should not be 0 or empty","274268819":"Volatility 100 Index","275116637":"Deriv X","276770377":"New MT5 account(s) under the {{to_account}} jurisdiction will be created for new trades.","277469417":"Exclude time cannot be for more than five years.","278684544":"get sub-list from # from end","280021988":"Use these shortcuts","281110034":"Effective trading with the D'Alembert system requires careful consideration of its stake progression and risk management. Traders can automate this approach using Deriv Bot, setting profit and loss thresholds to ensure balanced and controlled trading. However, it is crucial for traders to assess their risk appetite, test strategies on a demo account, and align with their own trading style before transitioning to real money trading. This optimization process helps strike a balance between potential gains and losses while managing risk prudently.","282319001":"Check your image","282564053":"Next, we'll need your proof of address.","283830551":"Your address doesn’t match your profile","284527272":"antimode","284772879":"Contract","284809500":"Financial Demo","287934290":"Are you sure you want to cancel this transaction?","291344459":"The table illustrates this principle in the second session. After a trade resulting in loss in round 4 followed by a successful trade in round 5, the stake will increase to 2 USD for round 6. This is in line with the strategy's rule of raising the stake only after a loss is followed by a successful trade.","291744889":"<0>1. Trade parameters:<0>","291817757":"Go to our Deriv community and learn about APIs, API tokens, ways to use Deriv APIs, and more.","292526130":"Tick and candle analysis","292589175":"This will display the SMA for the specified period, using a candle list.","292887559":"Transfer to {{selected_value}} is not allowed, Please choose another account from dropdown","293250845":"Are you sure you want to continue?","294043810":"I confirm that my tax information is accurate and complete.","294305803":"Manage account settings","294335229":"Sell at market price","296017162":"Back to Bot","301441673":"Select your citizenship/nationality as it appears on your passport or other government-issued ID.","304309961":"We're reviewing your withdrawal request. You may still cancel this transaction if you wish. Once we start processing, you won't be able to cancel.","304506198":"Total balance:","310234308":"Close all your positions.","312142140":"Save new limits?","312300092":"Trims the spaces within a given string or text.","313741895":"This block returns “True” if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","315306603":"You have an account that do not have currency assigned. Please choose a currency to trade with this account.","316694303":"Is candle black?","318865860":"close","318984807":"This block repeats the instructions contained within for a specific number of times.","321457615":"Oops, something went wrong!","323179846":"The time interval for each candle can be set from one minute to one day.","323209316":"Select a Deriv Bot Strategy","323360883":"Baskets","325662004":"Expand Block","325763347":"result","326770937":"Withdraw {{currency}} ({{currency_symbol}}) to your wallet","327534692":"Duration value is not allowed. To run the bot, please enter {{min}}.","328539132":"Repeats inside instructions specified number of times","329353047":"Malta Financial Services Authority (MFSA) (licence no. IS/70156)","329404045":"<0>Switch to your real account<1> to create a {{platform}} {{account_title}} account.","330384187":"Enable trading with your first transfer.","333456603":"Withdrawal limits","333807745":"Click on the block you want to remove and press Delete on your keyboard.","334942497":"Buy time","337023006":"Start time cannot be in the past.","339449279":"Remaining time","339610914":"Spread Up/Spread Down","339879944":"GBP/USD","340807218":"Description not found.","342181776":"Cancel transaction","343873723":"This block displays a message. You can specify the color of the message and choose from 6 different sound options.","344418897":"These trading limits and self-exclusion help you control the amount of money and time you spend on {{brand_website_name}} and exercise <0>responsible trading.","345320063":"Invalid timestamp","345818851":"Sorry, an internal error occurred. Hit the above checkbox to try again.","346843343":"CFDs on financial and derived instruments with copy trading.","347029309":"Forex: standard/micro","347039138":"Iterate (2)","348951052":"Your cashier is currently locked","349047911":"Over","349110642":"<0>{{payment_agent}}<1>'s contact details","350602311":"Stats show the history of consecutive tick counts, i.e. the number of ticks the price remained within range continuously.","351744408":"Tests if a given text string is empty","352363702":"You may see links to websites with a fake Deriv login page where you’ll get scammed for your money.","353731490":"Job done","354945172":"Submit document","357477280":"No face found","357672069":"Income verification failed","359053005":"Please enter a token name.","359649435":"Given candle list is not valid","359809970":"This block gives you the selected candle value from a list of candles within the selected time interval. You can choose from open price, close price, high price, low price, and open time.","360224937":"Logic","360773403":"Bot Builder","363576009":"- High price: the highest price","363738790":"Browser","363990763":"Sell price:","367801124":"Total assets in your Deriv accounts.","368160866":"in list","369035361":"<0>•Your account number","371151609":"Last used","371710104":"This scope will allow third-party apps to buy and sell contracts for you, renew your expired purchases, and top up your demo accounts.","372291654":"Exclude time must be after today.","372645383":"True if the market direction matches the selection","372805409":"You should enter 9-35 characters.","373021397":"random","373306660":"{{label}} is required.","373495360":"This block returns the entire SMA line, containing a list of all values for a given period.","374537470":"No results for \"{{text}}\"","375714803":"Deal Cancellation Error","377231893":"Deriv Bot is unavailable in the EU","377538732":"Key parameters","379523479":"To avoid loss of funds, do not share tokens with the Admin scope with unauthorised parties.","380606668":"tick","380694312":"Maximum consecutive trades","381972464":"Your document has expired.","384303768":"This block returns \"True\" if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","384707870":"CRS confirmation","386278304":"Install the {{platform_name_trader}} web app","386502387":"Bot is not running","389923099":"Zoom in","390890891":"Last quarter","391038015":"The mobile trading app for multipliers.","391915203":"Hedging","392582370":"Fall Equals","393789743":"Letters, spaces, periods, hyphens, apostrophes only.","396418990":"Offline","398816980":"Launch {{platform_name_trader}} in seconds the next time you want to trade.","401339495":"Verify address","401345454":"Head to the Tutorials tab to do so.","403456289":"The formula for SMA is:","406359555":"Contract details","406497323":"Sell your active contract if needed (optional)","411482865":"Add {{deriv_account}} account","412433839":"I agree to the <0>terms and conditions.","413594348":"Only letters, numbers, space, hyphen, period, and forward slash are allowed.","417864079":"You’ll not be able to change currency once you have made a deposit.","418265501":"Demo Derived","419485005":"Spot","419496000":"Your contract is closed automatically when your profit is more than or equals to this amount. This block can only be used with the multipliers trade type.","420072489":"CFD trading frequency","422055502":"From","424101652":"Quick strategy guides >","424272085":"We take your financial well-being seriously and want to ensure you are fully aware of the risks before trading.<0/><0/>","424897068":"Do you understand that you could potentially lose 100% of the money you use to trade?","426031496":"Stop","427134581":"Try using another file type.","427617266":"Bitcoin","429970999":"To avoid delays, enter your <0>name exactly as it appears on your {{document_name}}.","431267979":"Here’s a quick guide on how to use Deriv Bot on the go.","432273174":"1:100","432508385":"Take Profit: {{ currency }} {{ take_profit }}","432519573":"Document uploaded","433348384":"Real accounts are not available to politically exposed persons (PEPs).","433616983":"2. Investigation phase","434548438":"Highlight function definition","434896834":"Custom functions","436364528":"Your account will be opened with {{legal_entity_name}}, and will be subject to the laws of Saint Vincent and the Grenadines.","436534334":"<0>We've sent you an email.","437138731":"Create a new {{platform}} password","437453244":"Choose your preferred cryptocurrency","437485293":"File type not supported","437904704":"Maximum open positions","438067535":"Over $500,000","439398769":"This strategy is currently not compatible with Deriv Bot.","442281706":"You’ve just deleted a block.","442520703":"$250,001 - $500,000","443559872":"Financial SVG","444484637":"Logic negation","445419365":"1 - 2 years","450983288":"Your deposit is unsuccessful due to an error on the blockchain. Please contact your crypto wallet service provider for more info.","451852761":"Continue on your phone","452054360":"Similar to RSI, this block gives you a list of values for each entry in the input list.","452949978":"The 1-3-2-6 strategy is designed to capitalise on consecutive successful trades while minimising losses during losing streaks. The rationale behind this strategy lies in statistical probabilities, with adjustments to stake sizes based on the perceived likelihood of success. There is a higher likelihood of success in the second trade after one successful trade. Hence the stake adjusts to 3 in the second trade. In the third trade, the stake adjusts to 2 units due to a lower probability of a successful trade. If the third trade is also successful, the strategy then allocates all the previous gains (a total of 6 units of initial stake) into the fourth trade with the aim of doubling the potential profits. If the fourth trade results in a positive outcome, the strategy helps achieve a total gain of 12 units. However, it is crucial to exercise caution, as the risk can escalate quickly with this strategy, and any loss in the fourth trade forfeits all previous gains.","453175851":"Your MT5 Financial STP account will be opened through {{legal_entity_name}}. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","454196938":"Regulation:","456746157":"Grant access to your camera from your browser settings","457020083":"It’ll take longer to verify you if we can’t read it","457494524":"1. From the block library, enter a name for the new variable and click Create.","459612953":"Select account","459817765":"Pending","460070238":"Congratulations","460975214":"Complete your Appropriateness Test","461795838":"Please contact us via live chat to unlock it.","462079779":"Resale not offered","463361726":"Select an item","465993338":"Oscar's Grind","466424460":"Oscar’s Grind","466837068":"Yes, increase my limits","467839232":"I trade forex CFDs and other complex financial instruments regularly on other platforms.","471402292":"Your bot uses a single trade type for each run.","473154195":"Settings","474306498":"We’re sorry to see you leave. Your account is now closed.","475492878":"Try Synthetic Indices","476023405":"Didn't receive the email?","477557241":"Remote blocks to load must be a collection.","478280278":"This block displays a dialog box that uses a customised message to prompt for an input. The input can be either a string of text or a number and can be assigned to a variable. When the dialog box is displayed, your strategy is paused and will only resume after you enter a response and click \"OK\".","478827886":"We calculate this based on the barrier you’ve selected.","479420576":"Tertiary","480356486":"*Boom 300 and Crash 300 Index","481276888":"Goes Outside","483279638":"Assessment Completed<0/><0/>","483591040":"Delete all {{ delete_count }} blocks?","485379166":"View transactions","487239607":"Converts a given True or False to the opposite value","488150742":"Resend email","489768502":"Change investor password","490053735":"If you select this feature, your trade will be closed automatically at the nearest available asset price when your loss reaches or exceeds the stop loss amount. Your loss may be more than the amount you entered depending on the market price at closing.","491603904":"Unsupported browser","492198410":"Make sure everything is clear","492566838":"Taxpayer identification number","497518317":"Function that returns a value","498562439":"or","499522484":"1. for \"string\": 1325.68 USD","500855527":"Chief Executives, Senior Officials and Legislators","500920471":"This block performs arithmetic operations between two numbers.","501401157":"You are only allowed to make deposits","501537611":"*Maximum number of open positions","502007051":"Demo Swap-Free SVG","502041595":"This block gives you a specific candle from within the selected time interval.","505793554":"last letter","508390614":"Demo Financial STP","511679687":"Accumulators allow you to express a view on the range of movement of an index and grow your stake exponentially at a fixed <0>growth rate.","514031715":"list {{ input_list }} is empty","514776243":"Your {{account_type}} password has been changed.","514948272":"Copy link","517631043":"We’ve sent your e-book. Check your email to download it.","517833647":"Volatility 50 (1s) Index","518955798":"7. Run Once at Start","519205761":"You can no longer open new positions with this account.","520136698":"Boom 500 Index","520458365":"Last used: ","521872670":"item","522703281":"divisible by","523123321":"- 10 to the power of a given number","524459540":"How do I create variables?","527329988":"This is a top-100 common password","529056539":"Options","531114081":"3. Contract Type","531675669":"Euro","532724086":"Employment contract","533403953":"Your existing <0>{{platform}} {{type}} {{from_account}} account(s) will remain accessible.","535041346":"Max. total stake per day","537788407":"Other CFDs Platform","538017420":"0.5 pips","538042340":"Principle 2: The stake only increases when a loss trade is followed by a successful trade","538228086":"Close-Low","541650045":"Manage {{platform}} password","541700024":"First, enter your driving licence number and the expiry date.","542038694":"Only letters, numbers, space, underscore, and hyphen are allowed for {{label}}.","542305026":"You must also submit a proof of identity.","543413346":"You have no open positions for this asset. To view other open positions, click Go to Reports","547029855":"If you select this feature, you can cancel your trade within a chosen time frame if the asset price moves against your favour. You will get your stake back without profit/loss. We charge a small fee for this. Take profit and stop loss are disabled when deal cancellation is active.","549479175":"Deriv Multipliers","549799607":"Go to LiveChat","551569133":"Learn more about trading limits","554135844":"Edit","554410233":"This is a top-10 common password","555351771":"After defining trade parameters and trade options, you may want to instruct your bot to purchase contracts when specific conditions are met. To do that you can use conditional blocks and indicators blocks to help your bot to make decisions.","555881991":"National Identity Number Slip","558866810":"Run your bot","559224320":"Our classic “drag-and-drop” tool for creating trading bots, featuring pop-up trading charts, for advanced users.","560759471":"You'll see these details once the contract starts.","561982839":"Change your currency","562599414":"This block returns the purchase price for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","563034502":"We shall try to resolve your complaint within 15 business days. We will inform you of the outcome together with an explanation of our position and propose any remedial measures we intend to take.","563166122":"We shall acknowledge receiving your complaint, review it carefully, and keep you updated on the handling process. We might request further information or clarifications to facilitate the resolution of the complaint.","563652273":"Go to block","565410797":"The below image illustrates how Simple Moving Average Array block works:","566274201":"1. Market","567019968":"A variable is among the most important and powerful components in creating a bot. It is a way to store information, either as text or numbers. The information stored as a variable can be used and changed according to the given instructions. Variables can be given any name, but usually they are given useful, symbolic names so that it is easier to call them during the execution of instructions.","567163880":"Create a {{platform}} password","567755787":"Tax Identification Number is required.","569057236":"In which country was your document issued?","571921777":"Funds protection level","572576218":"Languages","573173477":"Is candle {{ input_candle }} black?","575668969":"3. For trades that result in a profit, the stake for the next trade will be increased by 2 USD. Deriv Bot will continue to add 2 USD for every successful trade. See A1.","575702000":"Remember, selfies, pictures of houses, or non-related images will be rejected.","575968081":"Account created. Select payment method for deposit.","576355707":"Select your country and citizenship:","577215477":"count with {{ variable }} from {{ start_number }} to {{ end_number }} by {{ step_size }}","577779861":"Withdrawal","577883523":"4. Awards and orders","578640761":"Call Spread","579529868":"Show all details — including the bottom 2 lines","580431127":"Restart buy/sell on error (disable for better performance): {{ checkbox }}","580665362":"Stays In/Goes Out","580774080":"insert at","581168980":"Legal","582945649":"2 minutes","584028307":"Allow equals","587577425":"Secure my account","587856857":"Want to know more about APIs?","588609216":"Repeat tour","592087722":"Employment status is required.","592381383":"Passkey successfully removed","593459109":"Try a different currency","594937260":"Derived - BVI","595080994":"Example: CR123456789","595136687":"Save Strategy","597089493":"Here is where you can decide to sell your contract before it expires. Only one copy of this block is allowed.","597481571":"DISCLAIMER","597707115":"Tell us about your trading experience.","599469202":"{{secondPast}}s ago","602278674":"Verify identity","603849445":"Strike price","603849863":"Look for the <0>Repeat While/Until, and click the + icon to add the block to the workspace area.","603899222":"Distance to current spot","606240547":"- Natural log","606877840":"Back to today","607807243":"Get candle","609519227":"This is the email address associated with your Deriv account.","609650241":"Infinite loop detected","610537973":"Any information you provide is confidential and will be used for verification purposes only.","611020126":"View address on Blockchain","613418320":"<0>Setup unsuccessful","613877038":"Chart","615156635":"Your selfie does not match your document.","617345387":"If you select \"Reset-Up”, you win the payout if the exit spot is strictly higher than either the entry spot or the spot at reset time.","617910072":"Use your Deriv account email and password to login into the {{ platform }} platform.","618520466":"Example of a cut-off document","619268911":"<0>a.The Financial Commission will investigate the validity of the complaint within 5 business days.","619407328":"Are you sure you want to unlink from {{identifier_title}}?","621829484":"{{days_passed}}d ago","623192233":"Please complete the <0>Appropriateness Test to access your cashier.","623542160":"Exponential Moving Average Array (EMAA)","625571750":"Entry spot:","626175020":"Standard Deviation Up Multiplier {{ input_number }}","626809456":"Resubmit","627292452":"<0>Your Proof of Identity or Proof of Address did not meet our requirements. Please check your email for further instructions.","627814558":"This block returns a value when a condition is true. Use this block within either of the function blocks above.","628193133":"Account ID","629003252":"If your current password doesn't match these requirements, you'll need to create a new one in the next step.","629145209":"In case if the \"AND\" operation is selected, the block returns \"True\" only if both given values are \"True\"","629395043":"All growth rates","632398049":"This block assigns a null value to an item or statement.","632897893":"If any of the above applies to you, select <0>Yes. Otherwise, select <0>No.","634219491":"You have not provided your tax identification number. This information is necessary for legal and regulatory requirements. Please go to <0>Personal details in your account settings, and fill in your latest tax identification number.","634274250":"How long each trade takes to expire.","636219628":"<0>c.If no settlement opportunity can be found, the complaint will proceed to the determination phase to be handled by the DRC.","636427296":"Need help with tax info? Let us know via <0>live chat.","636579615":"Number of unit(s) to be added to the next trade after a losing trade. One unit is equivalent to the amount of initial stake.","639382772":"Please upload supported file type.","640249298":"Normal","640596349":"You have yet to receive any notifications","640730141":"Refresh this page to restart the identity verification process","641420532":"We've sent you an email","642210189":"Please check your email for the verification link to complete the process.","642393128":"Enter amount","642546661":"Upload back of license from your computer","644150241":"The number of contracts you have won since you last cleared your stats.","645902266":"EUR/NZD","646773081":"Profit threshold: The bot will stop trading if your total profit exceeds this amount.","647039329":"Proof of address required","647745382":"Input List {{ input_list }}","648035589":"Other CFD Platforms","649317411":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><1/>","649923867":"Adds a sign to a number to create a barrier offset. (deprecated)","650836587":"This article explores the Martingale strategy integrated into Deriv Bot, a versatile trading bot designed to trade assets such as forex, commodities, and derived indices. We will delve into the strategy's core parameters, its application, and provide essential takeaways for traders looking to use the bot effectively.","651284052":"Low Tick","651684094":"Notify","652298946":"Date of birth","654422099":"CRS confirmation is required.","654507872":"True-False","654924603":"Martingale","655937299":"We’ll update your limits. Click <0>Accept to acknowledge that you are fully responsible for your actions, and we are not liable for any addiction or loss.","656893085":"Timestamp","657325150":"This block is used to define trade options within the Trade parameters root block. Some options are only applicable for certain trade types. Parameters such as duration and stake are common among most trade types. Prediction is used for trade types such as Digits, while barrier offsets are for trade types that involve barriers such as Touch/No Touch, Ends In/Out, etc.","659482342":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your account settings.","660481941":"To access your mobile apps and other third-party apps, you'll first need to generate an API token.","660991534":"Finish","661759508":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><0/>","662953503":"Your contract will be closed when the <0>stop out level is reached.","664779910":"3. If the first trade results in profit, the stake for the following trade will not reduce but remain at the initial stake. The strategy minimally trades at the initial stake of 1 USD. See A1.","665089217":"Please submit your <0>proof of identity to authenticate your account and access your Cashier.","665777772":"XLM/USD","665872465":"In the example below, the opening price is selected, which is then assigned to a variable called \"op\".","666724936":"Please enter a valid ID number.","669494711":"1.4 pips","671630762":"We accept only these types of documents as proof of your address. The document must be recent (issued within last {{expiry_in_months}} months) and include your name and address:","672008428":"ZEC/USD","673915530":"Jurisdiction and choice of law","674973192":"Use this password to log in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","676159329":"Could not switch to default account.","676675313":"Authy","677918431":"Market: {{ input_market }} > {{ input_submarket }} > {{ input_symbol }}","679199080":"Why passkeys?","680334348":"This block was required to correctly convert your old strategy.","681108680":"Additional information required for {{platform}} account(s)","681808253":"Previous spot price","681926004":"Example of a blurry document","682056402":"Standard Deviation Down Multiplier {{ input_number }}","685391401":"If you're having trouble signing in, let us know via <0>chat","686387939":"How do I clear my transaction log?","687193018":"Slippage risk","687212287":"Amount is a required field.","688510664":"You've {{two_fa_status}} 2FA on this device. You'll be logged out of your account on other devices (if any). Use your password and a 2FA code to log back in.","689137215":"Purchase price","691956534":"<0>You have added a {{currency}} account.<0> Make a deposit now to start trading.","692354762":"Please enter your {{document_name}}. {{example_format}}","693396140":"Deal cancellation (expired)","693933036":"Exploring the Oscar’s Grind strategy in Deriv Bot","694035561":"Trade options multipliers","696157141":"Low spot","696735942":"Enter your National Identification Number (NIN)","696870196":"- Open time: the opening time stamp","697630556":"This market is presently closed.","698037001":"National Identity Number","699159918":"1. Filing complaints","699646180":"A minimum deposit value of <0>{{minimum_deposit}} {{currency}} is required. Otherwise, the funds will be lost and cannot be recovered.","700259824":"Account currency","701034660":"We are still processing your withdrawal request.<0 />Please wait for the transaction to be completed before deactivating your account.","701462190":"Entry spot","701647434":"Search for string","702451070":"National ID (No Photo)","702561961":"Change theme","705262734":"Your Wallets are ready","705299518":"Next, upload the page of your passport that contains your photo.","705697927":"2. Set your preferred unit. In this example, it is 2 units or 2 USD.","705821926":"Learn about this trade type","706448499":"We'll send you a secure link to verify your request. Tap on it to confirm you want to remove the passkey. This protects your account from unauthorised requests.","706727320":"Binary options trading frequency","706755289":"This block performs trigonometric functions.","706960383":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price, duration, etc. However, we won’t offer a contract value if the remaining duration is below 60 seconds.","707189572":"Your email address has changed.<0/>Now, log in with your new email address.","707662672":"{{unblock_date}} at {{unblock_time}}","708055868":"Driving licence number","710123510":"repeat {{ while_or_until }} {{ boolean }}","711999057":"Successful","712101776":"Take a photo of your passport photo page","712635681":"This block gives you the selected candle value from a list of candles. You can choose from open price, close price, high price, low price, and open time.","713054648":"Sending","714080194":"Submit proof","714746816":"MetaTrader 5 Windows app","715841616":"Please enter a valid phone number (e.g. +15417541234).","716428965":"(Closed)","718504300":"Postal/ZIP code","718509613":"Maximum duration: {{ value }}","720293140":"Log out","720519019":"Reset my password","721011817":"- Raise the first number to the power of the second number","723045653":"You'll log in to your Deriv account with this email address.","723961296":"Manage password","724526379":"Learn more with our tutorials","728042840":"To continue trading with us, please confirm where you live.","728824018":"Spanish Index","729251105":"Range: {{min}} - {{max}} {{duration_unit_text}} ","729651741":"Choose a photo","730473724":"This block performs the \"AND\" or the \"OR\" logic operation with the given values.","731382582":"BNB/USD","732828463":"Standing instructions to transfer funds to an account maintained in the United States, or directions regularly received from a US address","734298230":"Just a reminder","734390964":"Insufficient balance","734881840":"false","735907651":"A US residence address or a US correspondence address (including a US PO box)","737751617":"<0>Explore our website to see what’s available.","739126643":"Indicative high spot","742469109":"Reset Balance","743623600":"Reference","744110277":"Bollinger Bands Array (BBA)","745656178":"Use this block to sell your contract at the market price.","745674059":"Returns the specific character from a given string of text according to the selected option. ","746112978":"Your computer may take a few seconds to update","749336930":"Secure alternative to passwords.","750886728":"Switch to your real account to submit your documents","751468800":"Start now","751692023":"We <0>do not guarantee a refund if you make a wrong transfer.","752024971":"Reached maximum number of digits","752992217":"This block gives you the selected constant values.","753088835":"Default","753184969":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you (that is, whether you possess the experience and knowledge to understand the risks involved).<0/><1/>","753727511":"Type","755138488":"We’re unable to verify the document you provided because it contains markings or text that should not be on your document. Please provide a clear photo or a scan of your original identity document.","756152377":"SMA places equal weight to the entire distribution of values.","758003269":"make list from text","760528514":"Please note that changing the value of \"i\" won't change the value of the original item in the list","761576760":"Fund your account to start trading.","762926186":"A quick strategy is a ready-made strategy that you can use in Deriv Bot. There are 3 quick strategies you can choose from: Martingale, D'Alembert, and Oscar's Grind.","764366329":"Trading limits","766317539":"Language","770171141":"Go to {{hostname}}","772520934":"You may sell the contract up to 24 hours before expiry. If you do, we’ll pay you the <0>contract value.","773091074":"Stake:","773309981":"Oil/USD","773336410":"Tether is a blockchain-enabled platform designed to facilitate the use of fiat currencies in a digital manner.","775679302":"{{pending_withdrawals}} pending withdrawal(s)","775706054":"Do you sell trading bots?","776085955":"Strategies","776432808":"Select the country where you currently live.","778172770":"Deriv CFDs","780009485":"About D'Alembert","781924436":"Call Spread/Put Spread","783974693":"Avoid recent years","784311461":"Exponential Moving Average (EMA)","784583814":"Linked to your computer","785969488":"Jump 75 Index","787727156":"Barrier","788005234":"NA","792164271":"This is when your contract will expire based on the Duration or End time you’ve selected.","792622364":"Negative balance protection","793526589":"To file a complaint about our service, send an email to <0>complaints@deriv.com and state your complaint in detail. Please submit any relevant screenshots of your trading or system for our better understanding.","793531921":"Our company is one of the oldest and most reputable online trading companies in the world. We are committed to treat our clients fairly and provide them with excellent service.<0/><1/>Please provide us with feedback on how we can improve our services to you. Rest assured that you will be heard, valued, and treated fairly at all times.","794682658":"Copy the link to your phone","795859446":"Password saved","797007873":"Follow these steps to recover camera access:","797500286":"negative","800228448":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_fx}}.","800521289":"Your personal details are incomplete","801430087":"A link can contain the word \"Deriv\" and still be fake.","802436811":"View transaction details","802438383":"New proof of address is needed","802556390":"seconds","802989607":"Drag your XML file here","803500173":"Initial stake","806165583":"Australia 200","807499069":"Financial commission complaints procedure","808323704":"You can also use \"Compare\" and \"Logic operation\" blocks to make test variables.","812430133":"Spot price on the previous tick.","815925952":"This block is mandatory. Only one copy of this block is allowed. It is added to the canvas by default when you open Deriv Bot.","816580787":"Welcome back! Your messages have been restored.","816738009":"<0/><1/>You may also raise your unresolved dispute to the <2>Office of the Arbiter for Financial Services.","818447476":"Switch account?","820877027":"Please verify your proof of identity","821163626":"Server maintenance occurs every first Saturday of the month from 7 to 10 GMT time. You may experience service disruption during this time.","823186089":"A block that can contain text.","824797920":"Is list empty?","825042307":"Let’s try again","825179913":"This document number was already submitted for a different account. It seems you have an account with us that doesn't need further verification. Please contact us via <0>live chat if you need help.","826511719":"USD/SEK","827688195":"Disable Block","828219890":"then","828602451":"Returns the list of tick values in string format","830164967":"Last name","830703311":"My profile","830993327":"No current transactions available","832053636":"Document submission","832217983":"40 transactions or more in the past 12 months","832398317":"Sell Error","832721563":"If you select \"Low Tick\", you win the payout if the selected tick is the lowest among the next five ticks.","834966953":"1551661986 seconds since Jan 01 1970 (UTC) translates to 03/04/2019 @ 1:13am (UTC).","835336137":"View Detail","835350845":"Add another word or two. Uncommon words are better.","836097457":"I am interested in trading but have very little experience.","837063385":"Do not send other currencies to this address.","837066896":"Your document is being reviewed, please check back in 1-3 days.","839158849":"4. If the second trade results in a loss, the Deriv Bot will automatically increase your stake for the next trade by 2 USD. Deriv Bot will continue to add 2 USD to the previous round’s stake after every losing trade. See A2.","839805709":"To smoothly verify you, we need a better photo","841434703":"Disable stack","841543189":"View transaction on Blockchain","843333337":"You can only make deposits. Please complete the <0>financial assessment to unlock withdrawals.","845304111":"Slow EMA Period {{ input_number }}","848083350":"Your payout is equal to the <0>payout per point multiplied by the difference between the final price and the strike price. You will only earn a profit if your payout is higher than your initial stake.","850582774":"Please update your personal info","851054273":"If you select \"Higher\", you win the payout if the exit spot is strictly higher than the barrier.","851264055":"Creates a list with a given item repeated for a specific number of times.","851508288":"This block constrains a given number within a set range.","852527030":"Step 2","852583045":"Tick List String","852627184":"document number","854178118":"Verify your request","854399751":"Digit code must only contain numbers.","854630522":"Choose a cryptocurrency account","857363137":"Volatility 300 (1s) Index","857445204":"Deriv currently supports withdrawals of Tether eUSDT to Ethereum wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","857986403":"do something","858663703":"For new trades, please transfer your funds into the new <0>{{platform}} {{eligible_account_to_migrate}} account(s).","860319618":"Tourism","862283602":"Phone number*","863023016":"For instance, if a trader has a loss threshold (B) of 100 USD, with an initial stake (s) of 1 USD and 2 units of increment (f), the calculation would be as follows:","863328851":"Proof of identity","864610268":"First, enter your {{label}} and the expiry date.","864655280":"You can continue to hold your current open positions in your existing MT5 account(s).","864957760":"Math Number Positive","865424952":"High-to-Low","865642450":"2. Logged in from a different browser","866496238":"Make sure your license details are clear to read, with no blur or glare","868826608":"Excluded from {{brand_website_name}} until","869068127":"The cashier is temporarily down due to maintenance. It will be available as soon as the maintenance is complete.","869823595":"Function","872661442":"Are you sure you want to update email <0>{{prev_email}} to <1>{{changed_email}}?","872721776":"2. Select your XML file and hit Select.","872817404":"Entry Spot Time","873166343":"1. 'Log' displays a regular message.","873387641":"If you have open positions","874461655":"Scan the QR code with your phone","874472715":"Your funds will remain in your existing MT5 account(s).","874484887":"Take profit must be a positive number.","875101277":"If I close my web browser, will Deriv Bot continue to run?","875532284":"Restart process on a different device","876086855":"Complete the financial assessment form","876292912":"Exit","879014472":"Reached maximum number of decimals","879647892":"You may sell the contract up until 60 seconds before expiry. If you do, we’ll pay you the <0>contract value.","881963105":"(XAUUSD, XAGUSD)","882423592":"The amount that you stake for the first trade. Note that this is the minimum stake amount.","885065431":"Get a Deriv account","888274063":"Town/City","888924866":"We don’t accept the following inputs for:","890299833":"Go to Reports","891337947":"Select country","893963781":"Close-to-Low","893975500":"You do not have any recent bots","894191608":"<0>c.We must award the settlement within 28 days of when the decision is reached.","896790627":"A US birthplace","898457777":"You have added a Deriv Financial account.","898904393":"Barrier:","900646972":"page.","902045490":"3 minutes","903429103":"In candles list read {{ candle_property }} # from end {{ input_number }}","904696726":"API token","905227556":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters and numbers.","905564365":"MT5 CFDs","906049814":"We’ll review your documents and notify you of its status within 5 minutes.","906789729":"Your verification documents were already used for another account.","907680782":"Proof of ownership verification failed","909272635":"Financial - SVG","910888293":"Too many attempts","911048905":"(BTCUSD, ETHUSD)","912257733":"The workspace will be reset to the default strategy and any unsaved changes will be lost. <0>Note: This will not affect your running bot.","912406629":"Follow these steps:","912967164":"Import from your computer","915735109":"Back to {{platform_name}}","918447723":"Real","920125517":"Add demo account","921857297":"Enter a value from 0 to {{ value }}.","921901739":"- your account details of the bank linked to your account","922313275":"You're back online","924046954":"Upload a document showing your name and bank account number or account details.","924912760":"Your document appears to be a digital document.","929608744":"You are unable to make withdrawals","930255747":"Please enter your {{document_name}}. ","930346117":"Capitalization doesn't help very much","930546422":"Touch","933126306":"Enter some text here","933193610":"Only letters, periods, hyphens, apostrophes, and spaces, please.","937237342":"Strategy name cannot be empty","937682366":"Upload both of these documents to prove your identity.","937831119":"Last name*","937992258":"Table","938500877":"{{ text }}. <0>You can view the summary of this transaction in your email.","938947787":"Withdrawal {{currency}}","938988777":"High barrier","944499219":"Max. open positions","945532698":"Contract sold","945753712":"Back to Trader’s Hub","946204249":"Read","946841802":"A white (or green) candle indicates that the open price is lower than the close price. This represents an upward movement of the market price.","947046137":"Your withdrawal will be processed within 24 hours","947363256":"Create list","947704973":"Reverse D’Alembert","947758334":"City is required","947914894":"Top up  <0>","948156236":"Create {{type}} password","948176566":"New!","949859957":"Submit","951404247":"Enjoy seamless transactions across multiple currencies and an intuitive user interface with funds segregation.","952927527":"Regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156)","956448295":"Cut-off image detected","957182756":"Trigonometric functions","958430760":"In/Out","959031082":"set {{ variable }} to MACD Array {{ dropdown }} {{ dummy }}","960201789":"3. Sell conditions","961266215":"140+","961327418":"My computer","961692401":"Bot","962251615":"If you want to adjust your self-exclusion limits, <0>contact us via live chat.","966457287":"set {{ variable }} to Exponential Moving Average {{ dummy }}","968576099":"Up/Down","969858761":"Principle 1: Strategy aims to potentially make one unit of profit per session","969987233":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between exit spot and lower barrier.","970915884":"AN","974888153":"High-Low","975608902":"To trade CFDs, get a Deriv Apps account first.","975668699":"I confirm and accept {{company}} 's <0>Terms and Conditions","975950139":"Country of Residence","977929335":"Go to my account settings","980050614":"Update now","981138557":"Redirect","981568830":"You have chosen to exclude yourself from trading on our website until {{exclude_until}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via <0>live chat.","981965437":"Scan the QR code below with your 2FA app. We recommend <0>Authy or <1>Google Authenticator.","982146443":"WhatsApp","982402892":"First line of address","982829181":"Barriers","983451828":"2. Select the asset and trade type.","986565137":"We've received your proof of income","987053672":"You can continue with the open positions on your current <0>{{platform}} {{existing_account}} account(s).","987224688":"How many trades have you placed with other financial instruments in the past 12 months?","988064913":"4. Come back to Deriv Bot and add the Notify Telegram block to the workspace. Paste the Telegram API token and chat ID into the block fields accordingly.","988361781":"You have no trading activity yet.","988934465":"When prompted, you must enable camera access to continue","989840364":"You’re under legal age.","990739582":"170+","992294492":"Your postal code is invalid","992677950":"Logging out on other devices","993827052":"Choosing this jurisdiction will give you a Financial STP account. Your trades will go directly to the market and have tighter spreads.","995563717":"not {{ boolean }}","997276809":"I confirm that the name and date of birth above match my chosen identity document","997311089":"Change my password","999008199":"text","1001160515":"Sell","1002392396":"CFDs on derived instruments.","1002989598":"iOS: iCloud keychain.","1003876411":"Should start with letter or number and may contain a hyphen, period and slash.","1004127734":"Send email","1006069082":"The objective of Martingale strategy is to take advantage of consecutive successful trades and maximise potential profits from them. This strategy is beneficial only if there are consecutive successful trades. Therefore, it is important to set a maximum stake to secure all the potential profits gained from a number of consecutive successful trades, or you could lose all the profits you have accumulated, including your initial stake. For example, if your goal is to maximise profits within 2 consecutive successful trades, you set a maximum stake of 2 USD, given your initial stake is 1 USD. Similarly, if your goal is to maximise profits within 3 consecutive successful trades, you set a maximum stake of 4 USD, given your initial stake is 1 USD.","1006458411":"Errors","1006664890":"Silent","1008151470":"Unit: The number of units that are added in the event of successful trades or the number of units removed in the event of losing trades. For example, if the unit is set at 2, the stake increases or decreases by two times the initial stake of 1 USD, meaning it changes by 2 USD.","1009032439":"All time","1010198306":"This block creates a list with strings and numbers.","1010337648":"We were unable to verify your proof of ownership.","1011208051":"Congratulations, you have successfully created your <0/>{{category}} {{platform}} {{type}} {{jurisdiction_selected_shortcode}} account. ","1011424042":"{{text}}. stake<0/>","1012102263":"You will not be able to log in to your account until this date (up to 6 weeks from today).","1015201500":"Define your trade options such as duration and stake.","1016220824":"You need to switch to a real money account to use this feature.<0/>You can do this by selecting a real account from the <1>Account Switcher.","1018803177":"standard deviation","1019265663":"You have no transactions yet.","1019508841":"Barrier 1","1021090237":"Upgrade your <0>{{account_1}} <1/>and <0>{{account_2}} {{platform}} account(s)","1021679446":"Multipliers only","1022934784":"1 minute","1022971288":"Payout per pip","1023237947":"1. In the example below, the instructions are repeated as long as the value of x is less than or equal to 10. Once the value of x exceeds 10, the loop is terminated.","1023643811":"This block purchases contract of a specified type.","1023795011":"Even/Odd","1024205076":"Logic operation","1026046972":"Please enter a payout amount that's lower than {{max_payout}}.","1026289179":"Trade on the go","1028211549":"All fields are required","1028758659":"Citizenship*","1029164365":"We presume that you possess the experience, knowledge, and expertise to make your own investment decisions and properly assess the risk involved.","1029641567":"{{label}} must be less than 30 characters.","1030021206":"change {{ variable }} by {{ number }}","1031602624":"We've sent a secure link to %{number}","1031731167":"Pound Sterling","1032173180":"Deriv","1032907147":"AUD/NZD","1033253221":"Confirm your identity to make a withdrawal.","1035893169":"Delete","1036116144":"Speculate on the price movement of an asset without actually owning it.","1036867749":"The desired duration, stake, prediction, and/or barrier(s) for the contract is defined here.","1038575777":"Change password","1039428638":"EU regulation","1039476188":"The size used to multiply the stake after a losing trade for the next trade.","1039755542":"Use a few words, avoid common phrases","1040472990":"1. Go to Bot Builder.","1040677897":"To continue trading, you must also submit a proof of address.","1041001318":"This block performs the following operations on a given list: sum, minimum, maximum, average, median, mode, antimode, standard deviation, random item.","1041620447":"If you are unable to scan the QR code, you can manually enter this code instead:","1042659819":"You have an account that needs action","1043790274":"There was an error","1044599642":"<0> has been credited into your {{platform}} {{title}} account.","1045704971":"Jump 150 Index","1045782294":"Click the <0>Change password button to change your Deriv password.","1047389068":"Food Services","1047644783":"Enable screen lock on your device.","1047881477":"Unfortunately, your browser does not support the video.","1048687543":"Labuan Financial Services Authority","1048947317":"Sorry, this app is unavailable in {{clients_country}}.","1049384824":"Rise","1050063303":"Videos on Deriv Bot","1050128247":"I confirm that I have verified the payment agent’s transfer information.","1050844889":"Reports","1052779010":"You are on your demo account","1052921318":"{{currency}} Wallet","1053153674":"Jump 50 Index","1053159279":"Level of education","1053556481":"Once you submit your complaint, we will send you an acknowledgement email to confirm that we have received it.","1055313820":"No document detected","1056381071":"Return to trade","1056821534":"Are you sure?","1057216772":"text {{ input_text }} is empty","1057519018":"4. If a trade ends in a profit, the stake for the following trade will be reset to the initial stake amount of 1 USD.","1057749183":"Two-factor authentication (2FA)","1057904606":"The concept of the D’Alembert Strategy is said to be similar to the Martingale Strategy where you will increase your contract size after a loss. With the D’Alembert Strategy, you will also decrease your contract size after a successful trade.","1058804653":"Expiry","1058905535":"Tutorial","1060231263":"When are you required to pay an initial margin?","1061308507":"Purchase {{ contract_type }}","1062423382":"Explore the video guides and FAQs to build your bot in the tutorials tab.","1062536855":"Equals","1062569830":"The <0>name on your identity document doesn't match your profile.","1065275078":"cTrader is only available on desktop for now.","1065498209":"Iterate (1)","1065766135":"You have {{remaining_transfers}} {{transfer_text}} remaining for today.","1066235879":"Transferring funds will require you to create a second account.","1066459293":"4.3. Acknowledging your complaint","1069347258":"The verification link you used is invalid or expired. Please request for a new one.","1070323991":"6. If consecutive successful trades were to happen, the stake would follow a sequence of adjustment from 1 to 3, then 2, and 6 units of initial stake. After 4 consecutive successful trades, it completes one cycle and then the strategy will repeat itself for another cycle. If any trade results in a loss, your stake will reset back to the initial stake for the next trade.","1070624871":"Check proof of address document verification status","1073261747":"Verifications","1073611269":"A copy of your identity document (e.g. identity card, passport, driver's license)","1073711308":"Trade closed","1076006913":"Profit/loss on the last {{item_count}} contracts","1077515534":"Date to","1078189922":"You can make a new deposit once the verification of your account is complete.","1078221772":"Leverage prevents you from opening large positions.","1078303105":"Stop out","1080068516":"Action","1080990424":"Confirm","1082158368":"*Maximum account cash balance","1082406746":"Please enter a stake amount that's at least {{min_stake}}.","1083781009":"Tax identification number*","1083826534":"Enable Block","1087112394":"You must select the strike price before entering the contract.","1088031284":"Strike:","1088138125":"Tick {{current_tick}} - ","1089085289":"Mobile number","1089436811":"Tutorials","1089687322":"Stop your current bot?","1090041864":"The {{block_type}} block is mandatory and cannot be deleted/disabled.","1095295626":"<0>•The Arbiter for Financial Services will determine whether the complaint can be accepted and is in accordance with the law.","1096078516":"We’ll review your documents and notify you of its status within 3 days.","1096175323":"You’ll need a Deriv account","1098147569":"Purchase commodities or shares of a company.","1098622295":"\"i\" starts with the value of 1, and it will be increased by 2 at every iteration. The loop will repeat until \"i\" reaches the value of 12, and then the loop is terminated.","1100133959":"National ID","1100870148":"To learn more about account limits and how they apply, please go to the <0>Help Centre.","1101560682":"stack","1101712085":"Buy Price","1102420931":"Next, upload the front and back of your driving licence.","1102995654":"Calculates Exponential Moving Average (EMA) list from a list of values with a period","1103309514":"Target","1103452171":"Cookies help us to give you a better experience and personalised content on our site.","1104912023":"Pending verification","1107474660":"Submit proof of address","1107555942":"To","1109217274":"Success!","1110102997":"Statement","1112582372":"Interval duration","1113119682":"This block gives you the selected candle value from a list of candles.","1113292761":"Less than 8MB","1114679006":"You have successfully created your bot using a simple strategy.","1117281935":"Sell conditions (optional)","1117863275":"Security and safety","1118294625":"You have chosen to exclude yourself from trading on our website until {{exclusion_end}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via live chat.","1119887091":"Verification","1119986999":"Your proof of address was submitted successfully","1120985361":"Terms & conditions updated","1122910860":"Please complete your <0>financial assessment.","1123927492":"You have not selected your account currency","1124382808":"Please enter the expiry time in the format \"HH:MM\".","1125090693":"Must be a number","1126075317":"Add your Deriv MT5 <0>{{account_type_name}} STP account under Deriv (FX) Ltd regulated by Labuan Financial Services Authority (Licence no. MB/18/0024).","1126934455":"Length of token name must be between 2 and 32 characters.","1127224297":"Sorry for the interruption","1127884488":"cTrader MacOS app","1128139358":"How many CFD trades have you placed in the past 12 months?","1128321947":"Clear All","1128404172":"Undo","1129124569":"If you select \"Under\", you will win the payout if the last digit of the last tick is less than your prediction.","1129842439":"Please enter a take profit amount.","1130791706":"N","1133651559":"Live chat","1134879544":"Example of a document with glare","1134883120":"Use your Deriv account email and password to log in to cTrader.","1139483178":"Enable stack","1143730031":"Direction is {{ direction_type }}","1144028300":"Relative Strength Index Array (RSIA)","1145927365":"Run the blocks inside after a given number of seconds","1146064568":"Go to Deposit page","1147269948":"Barrier cannot be zero.","1150637063":"*Volatility 150 Index and Volatility 250 Index","1151964318":"both sides","1152294962":"Upload the front of your driving licence.","1154021400":"list","1154239195":"Title and name","1155011317":"This block converts the date and time to the number of seconds since the Unix Epoch (1970-01-01 00:00:00).","1155143434":"By clicking on <0>Next you agree to move your {{platform}} {{type}} {{from_account}} account(s) under <2/>Deriv {{account_to_migrate}} Ltd’s <1>terms and conditions.","1155626418":"below","1158678321":"<0>b.The Head of the Dispute Resolution Committee (DRC) will contact both you and us within 5 business days to obtain all necessary information and see if there is a chance to settle the complaint during the investigation phase.","1160761178":"No payout if exit spot is below or equal to the lower barrier.","1161924555":"Please select an option","1163771266":"The third block is <0>optional. You may use this block if you want to sell your contract before it expires. For now, leave the block as it is. ","1163836811":"Real Estate","1164773983":"Take profit and/or stop loss are not available while deal cancellation is active.","1166023941":"New password","1166128807":"Choose one of your accounts or add a new cryptocurrency account","1166377304":"Increment value","1168029733":"Win payout if exit spot is also equal to entry spot.","1169201692":"Create {{platform}} password","1170228717":"Stay on {{platform_name_trader}}","1171765024":"Step 3","1171961126":"trade parameters","1172230903":"• Stop loss threshold: Use this variable to store your loss limit. You can assign any amount you want. Your bot will stop when your losses hits or exceeds this amount.","1172524677":"CFDs Demo","1173957529":"Go to ‘Account Settings’ on Deriv.","1174542625":"- Find the chat ID property in the response, and copy the value of the id property","1174689133":"3. Set your trade parameters and hit Run.","1174748431":"Payment channel","1175183064":"Vanuatu","1177396776":"If you select \"Asian Fall\", you will win the payout if the last tick is lower than the average of the ticks.","1177723589":"There are no transactions to display","1178582280":"The number of contracts you have lost since you last cleared your stats.","1178800778":"Take a photo of the back of your license","1178942276":"Please try again in a minute.","1179704370":"Please enter a take profit amount that's higher than the current potential profit.","1181396316":"This block gives you a random number from within a set range","1181770592":"Profit/loss from selling","1183007646":"- Contract type: the name of the contract type such as Rise, Fall, Touch, No Touch, etс.","1183448523":"<0>We're setting up your Wallets","1184968647":"Close your contract now or keep it running. If you decide to keep it running, you can check and close it later on the ","1186687280":"Question {{ current }} of {{ total }}","1188316409":"To receive your funds, contact the payment agent with the details below","1188980408":"5 minutes","1189249001":"4.1. What is considered a complaint?","1189368976":"Please complete your personal details before you verify your identity.","1191429031":"Please click on the link in the email to change your <0>{{platform_name_dxtrade}} password.","1192598228":"Wallets will become your dedicated fund management tool, allowing you to transfer funds between Wallets and trading accounts instantly.","1195393249":"Notify {{ notification_type }} with sound: {{ notification_sound }} {{ input_message }}","1196006480":"Profit threshold","1198368641":"Relative Strength Index (RSI)","1199281499":"Last Digits List","1201533528":"Contracts won","1201773643":"numeric","1203297580":"This block sends a message to a Telegram channel.","1203380736":"The D’Alembert strategy is less risky than Martingale, but you can still determine how long your funds will last with this strategy before trading. Simply use this formula.","1204223111":"In this example, the open prices from a list of candles are assigned to a variable called \"candle_list\".","1204459171":"Your existing <0>{{platform}} {{type_1}} <1/>and <0>{{type_2}} {{from_account}} account(s) will remain accessible.","1206227936":"How to mask your card?","1206821331":"Armed Forces","1208729868":"Ticks","1208903663":"Invalid token","1211912982":"Bot is starting","1214893428":"Account creation is currently unavailable for mobile. Please log in with your computer to create a new account.","1216408337":"Self-Employed","1217159705":"Bank account number","1217481729":"Tether as an ERC20 token (eUSDT) is a version of Tether that is hosted on Ethereum.","1218546232":"What is Fiat onramp?","1219844088":"do %1","1221250438":"To enable withdrawals, please submit your <0>Proof of Identity (POI) and <1>Proof of Address (POA) and also complete the <2>financial assessment in your account settings.","1222096166":"Deposit via bank wire, credit card, and e-wallet","1222521778":"Making deposits and withdrawals is difficult.","1222544232":"We’ve sent you an email","1225874865":"The stake adjustment: target session profit (1 USD) - current session profit (0 USD) = 1 USD","1227074958":"random fraction","1227132397":"4. For trades that result in a loss, there are two outcomes. If it was traded at the initial stake, the next trade will remain at the same amount as the strategy trades minimally at the initial stake, see A2. If it was traded with a higher amount, the stake for the next trade would be reduced by 2 USD, see A3.","1227240509":"Trim spaces","1228534821":"Some currencies may not be supported by payment agents in your country.","1229883366":"Tax identification number","1230884443":"State/Province (optional)","1231282282":"Use only the following special characters: {{permitted_characters}}","1232291311":"Maximum withdrawal remaining","1232353969":"0-5 transactions in the past 12 months","1233300532":"Payout","1233910495":"If you select \"<0>Down\", your total profit/loss will be the percentage decrease in the underlying asset price, times the multiplier and stake, minus commissions.","1234292259":"Source of wealth","1234764730":"Upload a screenshot of your name and email address from the personal details section.","1234889964":"Better funds segregation","1237330017":"Pensioner","1238311538":"Admin","1239752061":"In your cryptocurrency wallet, make sure to select the <0>{{network_name}} network when you transfer funds to Deriv.","1239760289":"Complete your trading assessment","1239940690":"Restarts the bot when an error is encountered.","1240027773":"Please Log in","1240688917":"Glossary","1241238585":"You may transfer between your Deriv fiat, cryptocurrency, and {{platform_name_mt5}} accounts.","1242288838":"Hit the checkbox above to choose your document.","1242994921":"Click here to start building your Deriv Bot.","1243064300":"Local","1243287470":"Transaction status","1246207976":"Enter the authentication code generated by your 2FA app:","1246880072":"Select issuing country","1247280835":"Our cryptocurrency cashier is temporarily down due to system maintenance. You can make cryptocurrency deposits and withdrawals in a few minutes when the maintenance is complete.","1248018350":"Source of income","1248940117":"<0>a.The decisions made by the DRC are binding on us. DRC decisions are binding on you only if you accept them.","1250113042":"This device doesn't support passkeys.","1250495155":"Token copied!","1252669321":"Import from your Google Drive","1253531007":"Confirmed","1253636052":"MetaTrader5 web terminal","1254565203":"set {{ variable }} to create list with","1255827200":"You can also import or build your bot using any of these shortcuts.","1255909792":"last","1255963623":"To date/time {{ input_timestamp }} {{ dummy }}","1258097139":"What could we do to improve?","1258198117":"positive","1259145708":"Let’s try again. Choose another document and enter the corresponding details.","1259598687":"GBP/JPY","1260259925":"Phone is not in a proper format.","1264096613":"Search for a given string","1264842111":"You can switch between real and demo accounts.","1265317149":"A recent utility bill (e.g. electricity, water or gas) or recent bank statement or government-issued letter with your name and address.","1265704976":"","1266728508":"Proof of income verification passed","1269296089":"Let's build a Bot!","1270581106":"If you select \"No Touch\", you win the payout if the market never touches the barrier at any time during the contract period.","1272012156":"GBP/CHF","1272337240":"Days","1272681097":"Hours","1274380814":"Your payout is equal to the <0>payout per pip multiplied by the difference, <1>in pips, between the final price and the strike price. You will only earn a profit if your payout is higher than your initial stake.","1274819385":"3. Complaints and Disputes","1276660852":"Submit your proof of identity","1281045211":"Sorts the items in a given list, by their numeric or alphabetical value, in either ascending or descending order.","1281290230":"Select","1282951921":"Only Downs","1284522768":"If \"Loss\" is selected, it will return \"True\" if your last trade was unsuccessful. Otherwise, it will return an empty string.","1286094280":"Withdraw","1286507651":"Close identity verification screen","1288965214":"Passport","1289146554":"British Virgin Islands Financial Services Commission","1289650867":"The Oscar’s Grind strategy is designed to potentially gain a modest yet steady profit in each trading session. This strategy splits trades into sessions and has three principles.","1290525720":"Example: ","1291997417":"Contracts will expire at exactly 23:59:59 GMT on your selected expiry date.","1292188546":"Reset Deriv MT5 investor password","1292891860":"Notify Telegram","1293660048":"Max. total loss per day","1294553728":"We’re unable to verify the document you provided because it appears to be a blank image. Please try again or upload another document.","1294756261":"This block creates a function, which is a group of instructions that can be executed at any time. Place other blocks in here to perform any kind of action that you need in your strategy. When all the instructions in a function have been carried out, your bot will continue with the remaining blocks in your strategy. Click the “do something” field to give it a name of your choice. Click the plus icon to send a value (as a named variable) to your function.","1295284664":"Please accept our <0>updated Terms and Conditions to proceed.","1296380713":"Close my contract","1299479533":"8 hours","1300576911":"Please resubmit your proof of address or we may restrict your account.","1302691457":"Occupation","1303016265":"Yes","1303530014":"We’re processing your withdrawal.","1304083330":"copy","1304272843":"Please submit your proof of address.","1304620236":"Enable camera","1305217290":"Upload the back of your identity card.","1308625834":"Sets the default time interval for blocks that read list of candles.","1309017029":"Enabling this allows you to save your blocks as one collection which can be easily integrated into other bots.","1309044871":"Returns the value of the latest tick in string format","1310483610":"Results for \"{{ search_term }}\"","1311680770":"payout","1313167179":"Please log in","1313302450":"The bot will stop trading if your total loss exceeds this amount.","1314572331":"Your document failed our verification checks.","1316216284":"You can use this password for all your {{platform}} accounts.","1319217849":"Check your mobile","1320715220":"<0>Account closed","1320750775":"Front and back","1322804930":"Restart the process on the latest version of Google Chrome","1323327633":"Our complaints process comprises the following 4 steps:","1323476617":"Changes the capitalisation of a string of text to Upper case, Lower case, Title case.","1323996051":"Profile","1324922837":"2. The new variable will appear as a block under Set variable.","1325514262":"(licence no. MB/18/0024)","1327181172":"Financial Vanuatu","1327494533":"{{sell_value}} (Sell)","1329136554":"Jump 200 Index","1329325646":"The content of this block is called on every tick","1331199417":"Please enter the correct format. ","1331367811":"Client account number","1332168410":"Learn more","1332168769":"Disconnect","1333576137":"Please update your {{details}} to continue.","1333839457":"Submit identity card (front)","1334326985":"It may take a few minutes to arrive","1335967988":"Notice","1336052175":"Switch accounts","1337846406":"This block gives you the selected candle value from a list of candles within the selected time interval.","1337864666":"Photo of your document","1338496204":"Ref. ID","1339613797":"Regulator/External dispute resolution","1340286510":"The bot has stopped, but your trade may still be running. You can check it on the Reports page.","1341840346":"View in Journal","1341921544":"Trading accounts and funds","1344696151":"Forex, stocks, stock indices, commodities, cryptocurrencies and synthetic indices.","1346038489":"Should be less than 70.","1346204508":"Take profit","1346339408":"Managers","1346947293":"We were unable to verify your selfie because it’s not clear. Please take a clearer photo and try again. Ensure that there's enough light where you are and that your entire face is in the frame.","1347037687":"Trader’s Hub V2","1347071802":"{{minutePast}}m ago","1349133669":"Try changing your search criteria.","1349289354":"Great, that's everything we need","1349295677":"in text {{ input_text }} get substring from {{ position1 }} {{ index1 }} to {{ position2 }} {{ index2 }}","1351906264":"This feature is not available for payment agents.","1353197182":"Please select","1354288636":"Based on your answers, it looks like you have insufficient knowledge and experience in trading CFDs. CFD trading is risky and you could potentially lose all of your capital.<0/><0/>","1355250245":"{{ calculation }} of list {{ input_list }}","1356574493":"Returns a specific portion of a given string of text.","1356607862":"Deriv password","1357010670":"I acknowledge and confirm that I would like to upgrade to Wallets.","1357213116":"Identity card","1358543466":"Not available","1358543748":"enabled","1360929368":"Add a Deriv account","1362029761":"Exploring the Reverse Martingale strategy in Deriv Bot","1362578283":"High","1363645836":"Derived FX","1363675688":"Duration is a required field.","1364045306":"Account V2","1364879837":"The verification is passed but the personal info is not available to compare.","1364958515":"Stocks","1366244749":"Limits","1367488817":"4. Restart trading conditions","1367990698":"Volatility 10 Index","1370647009":"Enjoy higher daily limits","1371193412":"Cancel","1371555192":"Choose your preferred payment agent and enter your withdrawal amount. If your payment agent is not listed, <0>search for them using their account number.","1371641641":"Open the link on your mobile","1371911731":"Financial products in the EU are offered by {{legal_entity_name}}, licensed as a Category 3 Investment Services provider by the Malta Financial Services Authority (<0>Licence no. IS/70156).","1373949314":"The Reverse Martingale strategy involves increasing your stake after each successful trade and resets to the initial stake for every losing trade as it aims to secure potential profits from consecutive wins.","1374627690":"Max. account balance","1374902304":"Your document appears to be damaged or cropped.","1375884086":"Financial, legal, or government document: recent bank statement, affidavit, or government-issued letter.","1376329801":"Last 60 days","1378419333":"Ether","1380349261":"Range","1383017005":"You have switched accounts.","1384127719":"You should enter {{min}}-{{max}} numbers.","1384222389":"Please submit valid identity documents to unlock the cashier.","1385418910":"Please set a currency for your existing real account before creating another account.","1387503299":"Log in","1388770399":"Proof of identity required","1389197139":"Import error","1390792283":"Trade parameters","1391174838":"Potential payout:","1392985917":"This is similar to a commonly used password","1393559748":"Invalid date/time: {{ datetime_string }}","1393901361":"There’s an app for that","1393903598":"if true {{ return_value }}","1396179592":"Commission","1396417530":"Bear Market Index","1397628594":"Insufficient funds","1400341216":"We’ll review your documents and notify you of its status within 1 to 3 days.","1400732866":"View from camera","1400962248":"High-Close","1402208292":"Change text case","1402224124":"Hit the button below, and we'll email you a verification link.","1402300547":"Lets get your address verified","1403376207":"Update my details","1405584799":"with interval: {{ candle_interval_type }}","1407191858":"DTrader","1408844944":"Click the plus icon to extend the functionality of this block.","1408852678":"Trade bigger positions with less capital across diverse financial and derived instruments. <0>Learn more","1411373212":"Strong passwords contain at least 8 characters. combine uppercase and lowercase letters, numbers, and symbols.","1412405902":"See important notes","1412535872":"You can check the result of the last trade with this block. It can only be placed within the \"Restart trading conditions\" root block.","1413047745":"Assigns a given value to a variable","1413359359":"Make a new transfer","1414205271":"prime","1414366321":"An uppercase letter","1414918420":"We'll review your proof of identity again and will give you an update as soon as possible.","1415006332":"get sub-list from first","1415513655":"Download cTrader on your phone to trade with the Deriv cTrader account","1415974522":"If you select \"Differs\", you will win the payout if the last digit of the last tick is not the same as your prediction.","1417558007":"Max. total loss over 7 days","1417907460":"No problem! Your passkey still works.","1417914636":"Login ID","1418115525":"This block repeats instructions as long as a given condition is true.","1419330165":"Forex, stocks, stock indices, commodities, cryptocurrencies, ETFs and synthetic indices","1421046084":"Setup your account","1421749665":"Simple Moving Average (SMA)","1422060302":"This block replaces a specific item in a list with another given item. It can also insert the new item in the list at a specific position.","1422129582":"All details must be clear — nothing blurry","1423082412":"Last Digit","1423296980":"Enter your SSNIT number","1424741507":"See more","1424763981":"1-3-2-6","1424779296":"If you've recently used bots but don't see them in this list, it may be because you:","1428657171":"You can only make deposits. Please contact us via <0>live chat for more information.","1430221139":"Verify now","1430396558":"5. Restart buy/sell on error","1430632931":"To get trading, please confirm who you are, and where you live.","1433367863":"Sorry, an error occured while processing your request.","1433468641":"We offer our services in all countries, except for the ones mentioned in our terms and conditions.","1434382099":"Displays a dialog window with a message","1434767075":"Get started on Deriv Bot","1434976996":"Announcement","1435363248":"This block converts the number of seconds since the Unix Epoch to a date and time format such as 2019-08-01 00:00:00.","1437396005":"Add comment","1437529196":"Payslip","1438247001":"A professional client receives a lower degree of client protection due to the following.","1438340491":"else","1439168633":"Stop loss:","1441208301":"Total<0 />profit/loss","1442747050":"Loss amount: <0>{{profit}}","1442840749":"Random integer","1443478428":"Selected proposal does not exist","1444843056":"Corporate Affairs Commission","1445592224":"You accidentally gave us another email address (Usually a work or a personal one instead of the one you meant).","1446742608":"Click here if you ever need to repeat this tour.","1449462402":"In review","1452260922":"Too many failed attempts","1452941569":"This block delays execution for a given number of seconds. You can place any blocks within this block. The execution of other blocks in your strategy will be paused until the instructions in this block are carried out.","1453317405":"This block gives you the balance of your account either as a number or a string of text.","1454406889":"Choose <0>until as the repeat option.","1454648764":"deal reference id","1454865058":"Do not enter an address linked to an ICO purchase or crowdsale. If you do, the ICO tokens will not be credited into your account.","1455741083":"Upload the back of your driving licence.","1457341530":"Your proof of identity verification has failed","1457603571":"No notifications","1458160370":"Enter your {{platform}} password to add a {{platform_name}} {{account}} {{jurisdiction_shortcode}} account.","1459761348":"Submit proof of identity","1461323093":"Display messages in the developer’s console.","1462238858":"By purchasing the \"High-to-Close\" contract, you'll win the multiplier times the difference between the high and close over the duration of the contract.","1464190305":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract without manually stopping and restarting your bot.","1464253511":"You already have an account for each of the cryptocurrencies available on {{deriv}}.","1465084972":"How much experience do you have with other financial instruments?","1465919899":"Pick an end date","1466430429":"Should be between {{min_value}} and {{max_value}}","1466900145":"Doe","1467017903":"This market is not yet available on {{platform_name_trader}}, but it is on {{platform_name_smarttrader}}.","1467421920":"with interval: %1","1467880277":"3. General queries","1468308734":"This block repeats instructions as long as a given condition is true","1468419186":"Deriv currently supports withdrawals of Tether USDT to Omni wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","1468508098":"Slippage happens when the asset price changes by the time it reaches our servers.","1469133110":"cTrader Windows app","1469150826":"Take Profit","1469764234":"Cashier Error","1469814942":"- Division","1470319695":"Returns either True or False","1470565177":"Article of association","1471008053":"Deriv Bot isn't quite ready for real accounts","1471070549":"Can contract be sold?","1471741480":"Severe error","1473369747":"Synthetics only","1475513172":"Size","1476301886":"Similar to SMA, this block gives you the entire SMA line containing a list of all values for a given period.","1478030986":"Create or delete API tokens for trading and withdrawals","1480915523":"Skip","1484336612":"This block is used to either terminate or continue a loop, and can be placed anywhere within a loop block.","1487086154":"Your documents were submitted successfully","1488548367":"Upload again","1490509675":"Options accounts","1491392301":"<0>Sold for: {{sold_for}}","1492686447":"Your MT5 Financial STP account will be opened through Deriv (FX) Ltd. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","1493673429":"Change email","1493866481":"Run Deriv X on your browser","1496810530":"GBP/AUD","1497773819":"Deriv MT5 accounts","1499080621":"Tried to perform an invalid operation.","1501691227":"Add Your Deriv MT5 <0>{{account_type_name}} account under Deriv (V) Ltd, regulated by the Vanuatu Financial Services Commission.","1502039206":"Over {{barrier}}","1502325741":"Your password cannot be the same as your email address.","1503419760":"Swap-free CFDs on selected financial and derived instruments.","1503618738":"- Deal reference ID: the reference ID of the contract","1505420815":"No payment agents found for your search","1505898522":"Download stack","1505927599":"Our servers hit a bump. Let’s refresh to move on.","1506251760":"Wallets","1507554225":"Submit your proof of address","1509559328":"cTrader","1509570124":"{{buy_value}} (Buy)","1509678193":"Education","1510075920":"Gold/USD","1510357015":"Tax residence is required.","1510735345":"This block gives you a list of the last digits of the last 1000 tick values.","1512469749":"In the above example it is assumed that variable candle_open_price is processed somewhere within other blocks.","1513771077":"We're processing your withdrawal.","1516559721":"Please select one file only","1516676261":"Deposit","1517503814":"Drop file or click here to upload","1519124277":"Derived SVG","1520332426":"Net annual income","1524636363":"Authentication failed","1526012495":"This could be because:","1526483456":"2. Enter a name for your variable, and hit Create. New blocks containing your new variable will appear below.","1527251898":"Unsuccessful","1527664853":"Your payout is equal to the payout per point multiplied by the difference between the final price and the strike price.","1527906715":"This block adds the given number to the selected variable.","1531017969":"Creates a single text string from combining the text value of each attached item, without spaces in between. The number of items can be added accordingly.","1533177906":"Fall","1534796105":"Gets variable value","1537192641":"Unable to process your request","1537711064":"You need to make a quick identity verification before you can access the Cashier. Please go to your account settings to submit your proof of identity.","1540585098":"Decline","1541508606":"Looking for CFDs? Go to Trader's Hub","1541770236":"The 1-3-2-6 strategy aims to maximise potential profits with four consecutive successful trades. One unit is equal to the amount of the initial stake. The stake will adjust from 1 unit to 3 units after the first successful trade, then to 2 units after your second successful trade, and to 6 units after the third successful trade. The stake for the next trade will reset to the initial stake if there is a losing trade or a completion of the trade cycle.","1541969455":"Both","1542742708":"Synthetics, Forex, Stocks, Stock indices, Commodities, and Cryptocurrencies","1544642951":"If you select \"Only Ups\", you win the payout if consecutive ticks rise successively after the entry spot. No payout if any tick falls or is equal to any of the previous ticks.","1547148381":"That file is too big (only up to 8MB allowed). Please upload another file.","1549098835":"Total withdrawn","1549645155":"Your passkey is successfully removed. To avoid sign-in prompts, also remove the passkey from your iCloud keychain. ","1551172020":"AUD Basket","1551689907":"Enhance your trading experience by upgrading your <0/><1>{{platform}} {{type}} {{from_account}} account(s).","1555345325":"User Guide","1556391770":"You cannot make a withdrawal as your documents are still under review. We will notify you by email within 3 days once your verification is approved.","1557426040":"Demo Derived SVG","1557682012":"Account Settings","1558972889":"set {{ variable }} to Simple Moving Average {{ dummy }}","1560302445":"Copied","1562374116":"Students","1566037033":"Bought: {{longcode}} (ID: {{transaction_id}})","1566717687":"We also provide a guide on the Tutorial tab to show you how you can build and execute a simple strategy.","1567076540":"Only use an address for which you have proof of residence - ","1567745852":"Bot name","1569527365":"Verification failed. Resubmit your details.","1569624004":"Dismiss alert","1570484627":"Ticks list","1571575776":"Accepted formats: pdf, jpeg, jpg, and png. Max file size: 8MB","1572504270":"Rounding operation","1572982976":"Server","1573429525":"Call/Put","1575556189":"Tether on the Ethereum blockchain, as an ERC20 token, is a newer transport layer, which now makes Tether available in Ethereum smart contracts. As a standard ERC20 token, it can also be sent to any Ethereum address.","1577480486":"Your mobile link will expire in one hour","1577527507":"Account opening reason is required.","1577612026":"Select a folder","1579839386":"Appstore","1580498808":"Multiple faces found","1584109614":"Ticks String List","1584936297":"XML file contains unsupported elements. Please check or modify file.","1587046102":"Documents from that country are not currently supported — try another document type","1589148299":"Start","1589640950":"Resale of this contract is not offered.","1589702653":"Proof of address","1589863913":"These are the trade parameters used for D’Alembert strategy in Deriv Bot.","1590400723":"Total assets in all your accounts","1591933071":"Resubmit document","1593010588":"Login now","1594147169":"Please come back in","1594322503":"Sell is available","1595295238":"3. Use a logic block to check if Total profit/loss is more than the Stop loss threshold amount. You can find the Total profit/loss variable under Analysis > Stats on the Blocks menu on the left. Your bot will continue to purchase new contracts until the Total profit/loss amount exceeds the Stop loss threshold amount.","1597672660":"Deriv MT5 Password","1598009247":"<0>a.You may file a complaint with the Financial Commission up to 45 days after the incident.","1598386296":"Town/City is required.","1598443642":"Transaction hash","1599743312":"An example of Reverse Martingale strategy","1602894348":"Create a password","1604916224":"Absolute","1605222432":"I have no knowledge and experience in trading at all.","1605292429":"Max. total loss","1612105450":"Get substring","1612638396":"Cancel your trade at any time within a specified timeframe.","1615897837":"Signal EMA Period {{ input_number }}","1618652381":"For instance, if a trader has a loss threshold (B) is 1000 USD, with an initial stake (s) is 1 USD, and the Martingale multiplier (m) is 2, the calculation would be as follows:","1619070150":"You are being redirected to an external website.","1620278321":"Names and surnames by themselves are easy to guess","1620346110":"Set currency","1621024661":"Tether as a TRC20 token (tUSDT) is a version of Tether that is hosted on Tron.","1622662457":"Date from","1622944161":"Now, go to the <0>Restart trading conditions block.","1623706874":"Use this block when you want to use multipliers as your trade type.","1628981793":"Can I trade cryptocurrencies on Deriv Bot?","1630417358":"Please go to your account settings and complete your personal details to enable withdrawals.","1631281562":"GBP Basket","1633661992":"Tick {{current_tick}}/{{tick_count}}","1634016345":"2. If the trade is successful, this strategy will automatically adjust your stake to 3 units of your initial stake for the next trade. In this case, the stake adjustment is 3 units and the initial stake is 1 USD, hence the next trade will start at 3 USD.","1634903642":"Only your face can be in the selfie","1634969163":"Change currency","1635266650":"It seems that your name in the document is not the same as your Deriv profile. Please update your name in the <0>Personal details page to solve this issue.","1635628424":"An envelope with your name and address.","1636605481":"Platform settings","1636782601":"Multipliers","1638321777":"Your demo account balance is low. Reset your balance to continue trading from your demo account.","1639262461":"Pending withdrawal request:","1639304182":"Please click on the link in the email to reset your password.","1641395634":"Last digits list","1641635657":"New proof of identity document needed","1641980662":"Salutation is required.","1644636153":"Transaction hash: <0>{{value}}","1644703962":"Looking for CFD accounts? Go to Trader's Hub","1644864436":"You’ll need to authenticate your account before requesting to become a professional client. <0>Authenticate my account","1644908559":"Digit code is required.","1647186767":"The bot encountered an error while running.","1648938920":"Netherlands 25","1649239667":"2. Under the Blocks menu, you'll see a list of categories. Blocks are grouped within these categories. Choose the block you want and drag them to the workspace.","1650963565":"Introducing Wallets","1651513020":"Display remaining time for each interval","1651951220":"Repeats like \"abcabcabc\" are only slightly harder to guess than \"abc\"","1652366857":"get and remove","1652968048":"Define your trade options such as multiplier and stake.","1652976865":"In this example, this block is used with another block to get the open prices from a list of candles. The open prices are then assigned to the variable called \"cl\".","1653136377":"copied!","1653180917":"We cannot verify you without using your camera","1653999225":"Forex: major/minor","1654365787":"Unknown","1654529197":"Purchase condition","1654721858":"Upload anyway","1655372864":"Your contract will expire on this date (in GMT), based on the end time you’ve selected.","1655627840":"UPPER CASE","1656155124":"Resend in <0 /> seconds","1658954996":"Plant and Machine Operators and Assemblers","1659074761":"Reset Put","1659352235":"Add your Deriv MT5 CFDs account under Deriv Investments (Europe) Limited, regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156).","1665272539":"Remember: You cannot log in to your account until the selected date.","1665718170":"The document must contain a letterhead.","1665738338":"Balance","1665756261":"Go to live chat","1668138872":"Modify account settings","1669062316":"The payout at expiry is equal to the payout per pip multiplied by the difference, <0>in pips, between the final price and the strike price.","1670016002":"Multiplier: {{ multiplier }}","1670426231":"End Time","1671232191":"You have set the following limits:","1675030608":"To create this account first we need you to resubmit your proof of address.","1676549796":"Dynamic Leverage","1677027187":"Forex","1679743486":"1. Go to Quick strategy and select the strategy you want.","1680666439":"Upload your bank statement showing your name, account number, and transaction history.","1681765749":"Martingale formula 2","1682409128":"Untitled Strategy","1682636566":"Resend email in","1683963454":"Your contract will be closed automatically at the next available asset price on {{date}} at {{timestamp}}.","1684419981":"What's this?","1686800117":"{{error_msg}}","1689103988":"Second Since Epoch","1689258195":"We were unable to verify your address with the details you provided. Please check and resubmit or choose a different document type.","1690746575":"Enhance your trading experience by upgrading your <0>{{platform}} {{type_1}} <1/>and <0>{{type_2}} {{from_account}} account(s).","1691335819":"To continue trading with us, please confirm who you are.","1691536201":"If you choose your duration in number of ticks, you won’t be able to terminate your contract early.","1691765860":"- Negation","1692912479":"Deriv MT5, Deriv X","1693614409":"Start time","1694517345":"Enter a new email address","1696190747":"Trading inherently involves risks, and actual profits can fluctuate due to various factors, including market volatility and other unforeseen variables. As such, exercise caution and conduct thorough research before engaging in any trading activities.","1698624570":"2. Hit Ok to confirm.","1699606318":"You've reached the limit of uploading your documents.","1700233813":"Transfer from {{selected_value}} is not allowed, Please choose another account from dropdown","1701447705":"Please update your address","1702339739":"Common mistakes","1703091957":"We collect information about your employment as part of our due diligence obligations, as required by anti-money laundering legislation.","1703712522":"Your payout is equal to the payout per pip multiplied by the difference, <0>in pips, between the final price and the strike price.","1704656659":"How much experience do you have in CFD trading?","1708413635":"For your {{currency_name}} ({{currency}}) account","1709859601":"Exit Spot Time","1711013665":"Anticipated account turnover","1711016273":"<0>This may take up to 2 minutes. During this time, some services may be unavailable.","1711676335":"square root","1711929663":"Your funds have been transferred","1712357617":"Invalid email address.","1713633297":"3. If the second trade is also successful, your stake will adjust to 2 USD or 2 units of the initial stake for the next trade.","1714255392":"To enable withdrawals, please complete your financial assessment.","1715011380":"Jump 25 Index","1715630945":"Returns the total profit in string format","1715680813":"Your contract will expire at exactly 23:59:59 GMT +0 on your selected expiry date.","1717023554":"Resubmit documents","1717474982":"CFDs on financial and derived instruments via a customisable platform.","1720451994":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv fiat and Deriv cryptocurrency accounts.","1720968545":"Upload passport photo page from your computer","1722056905":"The document you provided is not supported for your country. Please provide a supported document for your country.","1722888575":"{{mt5_migration_error}}","1723069433":"Your new Wallet","1723589564":"Represents the maximum number of outstanding contracts in your portfolio. Each line in your portfolio counts for one open position. Once the maximum is reached, you will not be able to open new positions without closing an existing position first.","1724367774":"You can make a funds transfer once the verification of your account is complete.","1724696797":"You are limited to one fiat account only.","1725958461":"Account number","1726472773":"Function with no return value","1726565314":"Close my account","1728183781":"About Tether","1729145421":"Risk warning","1731747596":"The block(s) highlighted in red are missing input values. Please update them and click \"Run bot\".","1733711201":"Regulators/external dispute resolution","1734185104":"Balance: %1","1734264460":"Disclaimer","1734521537":"The document you provided appears to be two different types. Please try again or provide another document.","1736292549":"Update postal code","1737352280":"Bot.init is not called","1738094481":"<0>Duration: Ticks 1","1738611950":"About Reverse Martingale","1738681493":"Remove your glasses, if necessary","1739086943":"Wall Street 30","1739384082":"Unemployed","1739668049":"Close your account","1740371444":"Underlying market is not selected","1742256256":"Please upload one of the following documents:","1743448290":"Payment agents","1743679873":"If you select <0>\"Call\", you’ll earn a <1>payout if the <1>final price is above the <1>strike price at <1>expiry. Otherwise, you won’t receive a payout.","1743902050":"Complete your financial assessment","1744509610":"Just drag the XML file from your computer onto the workspace, and your bot will be loaded accordingly. Alternatively, you can hit Import in Bot Builder, and choose to import your bot from your computer or from your Google Drive.","1745523557":"- Square root","1746051371":"Download the app","1746273643":"Moving Average Convergence Divergence","1747501260":"Sell conditions","1747674345":"Please use `.` as a decimal separator for fractional numbers.","1747682136":"Contract was cancelled.","1748754976":"Run","1753082252":"This article explores the strategy integrated into Deriv Bot, a versatile trading bot designed to trade assets such as Forex, Commodities, and Derived Indices. We will delve into the strategy's core parameters, its application, and provide essential takeaways for traders looking to use the bot effectively.","1753183432":"We take all complaints seriously and aim to resolve them as quickly and fairly as possible. If you are unhappy with any aspect of our service, please let us know by submitting a complaint using the guidance below:","1753226544":"remove","1753975551":"Upload passport photo page","1754256229":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts, up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts, up to {{ allowed_ctrader }} transfers between your Deriv and {{platform_name_ctrader}} accounts, and up to {{ allowed_dxtrade }} transfers between your Deriv and {{platform_name_dxtrade}} accounts.","1756678453":"break out","1758386013":"Do not get lured to fake \"Deriv\" pages!","1761038852":"Let’s continue with providing proofs of address and identity.","1761254001":"A number","1761762171":"Restart last trade on error (bot ignores the unsuccessful trade): {{ checkbox }}","1762707297":"Phone number","1763123662":"Upload your NIMC slip.","1766212789":"Server maintenance starts at 06:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.","1766993323":"Only letters, numbers, and underscores are allowed.","1768293340":"Contract value","1768861315":"Minute","1768918213":"Only letters, space, hyphen, period, and apostrophe are allowed.","1769068935":"Choose any of these exchanges to buy cryptocurrencies:","1770041368":"Experience safer logins","1771037549":"Add a Deriv real account","1771592738":"Conditional block","1772396880":"The date of birth on your document doesn’t match your profile.","1777847421":"This is a very common password","1778893716":"Click here","1779144409":"Account verification required","1779519903":"Should be a valid number.","1779801832":"Please update your password accordingly.","1779872677":"Download e-book","1780442963":"Scan the QR code to download {{ platform }}.","1780770384":"This block gives you a random fraction between 0.0 to 1.0.","1782308283":"Quick strategy","1782395995":"Last Digit Prediction","1782690282":"Blocks menu","1782703044":"Sign up","1783526986":"How do I build a trading bot?","1783740125":"Upload your selfie","1785298924":"D’Alembert formula 1","1786644593":"Supported formats: JPEG, JPG, PNG, PDF, and GIF only","1787492950":"Indicators on the chart tab are for indicative purposes only and may vary slightly from the ones on the {{platform_name_dbot}} workspace.","1788515547":"<0/>For more information on submitting a complaint with the Office of the Arbiter for Financial Services, please <1>see their guidance.","1788966083":"01-07-1999","1789273878":"Payout per point","1789497185":"Make sure your passport details are clear to read, with no blur or glare","1791432284":"Search for country","1791971912":"Recent","1792037169":"To avoid delays, enter your <0>name and <0>date of birth exactly as they appear on your {{document_name}}.","1793913365":"To deposit money, please switch to your {{currency_symbol}} account.","1794815502":"Download your transaction history.","1796787905":"Please upload the following document(s).","1798943788":"You can only make deposits.","1801093206":"Get candle list","1801270786":"Ready to automate your trading strategy without writing any code? You’ve come to the right place.","1801927731":"{{platform_name_dxtrade}} accounts","1803338729":"Choose what type of contract you want to trade. For example, for the Rise/Fall trade type you can choose one of three options: Rise, Fall, or Both. Selected option will determine available options for the Purchase block.","1804620701":"Expiration","1804789128":"{{display_value}} Ticks","1806017862":"Max. ticks","1808058682":"Blocks are loaded successfully","1808867555":"This block uses the variable “i” to control the iterations. With each iteration, the value of “i” is determined by the items in a given list.","1810217569":"Please refresh this page to continue.","1811109068":"Jurisdiction","1811138041":"Enter a value from {{ value }} to 9.","1811343027":"2. Select your Martingale multiplier. In this example, it is 2.","1811972349":"Market","1811973475":"Returns a specific character from a given string","1812006199":"Identity verification","1812582011":"Connecting to server","1813700208":"Boom 300 Index","1813958354":"Remove comment","1815034361":"alphabetic","1815905959":"DTrader, DBot, SmartTrader, and Binary Bot","1815995250":"Buying contract","1817154864":"This block gives you a random number from within a set range.","1820242322":"e.g. United States","1820332333":"Top up","1821818748":"Enter Driver License Reference number","1823177196":"Most popular","1824193700":"This block gives you the last digit of the latest tick value.","1824292864":"Call","1827607208":"File not uploaded.","1828370654":"Onboarding","1830520348":"{{platform_name_dxtrade}} Password","1831847842":"I confirm that the name and date of birth above match my chosen identity document (see below)","1833499833":"Proof of identity documents upload failed","1836767074":"Search payment agent name","1837762008":"Please submit your proof of identity and proof of address to verify your account in your account settings to access the cashier.","1839021527":"Please enter a valid account number. Example: CR123456789","1840721160":"Deriv MT5 latest password requirements","1840865068":"set {{ variable }} to Simple Moving Average Array {{ dummy }}","1841788070":"Palladium/USD","1841996888":"Daily loss limit","1842266423":"back","1843336754":"Select document","1843658716":"If you select \"Only Downs\", you win the payout if consecutive ticks fall successively after the entry spot. No payout if any tick rises or is equal to any of the previous ticks.","1845598565":"The second session concludes upon reaching the aim of one unit of potential profit per session, equivalent to 1 USD. If trading continues, a new session will commence again.","1845892898":"(min: {{min_stake}} - max: {{max_payout}})","1846266243":"This feature is not available for demo accounts.","1846587187":"You have not selected your country of residence","1846588117":"Your contract will be closed automatically when your loss reaches {{stop_out_percentage}}% of your stake.","1849484058":"Any unsaved changes will be lost.","1850031313":"- Low: the lowest price","1850132581":"Country not found","1850659345":"- Payout: the payout of the contract","1851052337":"Place of birth is required.","1851776924":"upper","1854480511":"Cashier is locked","1854874899":"Back to list","1854909245":"Multiplier:","1855566768":"List item position","1856485118":"Please <0>resubmit your proof of address to transfer funds between MT5 and Deriv accounts.","1856755117":"Pending action required","1858251701":"minute","1859308030":"Give feedback","1861688160":"Deposit, transfer, trade","1863053247":"Please upload your identity document.","1863731653":"To receive your funds, contact the payment agent","1865525612":"No recent transactions.","1866244589":"The entry spot is the first tick for High/Low Ticks.","1866811212":"Deposit in your local currency via an authorised, independent payment agent in your country.","1867217564":"Index must be a positive integer","1867783237":"High-to-Close","1869315006":"See how we protect your funds to unlock the cashier.","1869486036":"You receive a <0>payout at <0>expiry if the spot price never touches or breaches the <0>barrier during the contract period. If it does, your contract will be terminated early.","1869787212":"Even","1870933427":"Crypto","1871196637":"True if the result of the last trade matches the selection","1871377550":"Do you offer pre-built trading bots on Deriv Bot?","1871664426":"Note","1873376454":"This is a price level that you choose. If this barrier is ever crossed, your contract would be terminated.","1874481756":"Use this block to purchase the specific contract you want. You may add multiple Purchase blocks together with conditional blocks to define your purchase conditions. This block can only be used within the Purchase conditions block.","1874737957":"To trade multipliers, get a Deriv Apps account first.","1874756442":"BVI","1875702561":"Load or build your bot","1876015808":"Social Security and National Insurance Trust","1876325183":"Minutes","1876333357":"Tax Identification Number is invalid.","1877225775":"Your proof of address is verified","1877832150":"# from end","1878172674":"No, we don't. However, you'll find quick strategies on Deriv Bot that'll help you build your own trading bot for free.","1878189977":"The Martingale strategy involves increasing your stake after each loss to recoup prior losses with a single successful trade.","1879042430":"Appropriateness Test, WARNING:","1879412976":"Profit amount: <0>{{profit}}","1879651964":"<0>Pending verification","1880029566":"Australian Dollar","1880097605":"prompt for {{ string_or_number }} with message {{ input_text }}","1880227067":"Submit passport photo pages","1880377568":"An example of D’Alembert strategy","1880875522":"Create \"get %1\"","1881018702":"hour","1881380263":"Total assets in your account.","1881587673":"Total stake since you last cleared your stats.","1882825238":"Restart trading conditions","1883531976":"Clerks","1885708031":"#","1887257727":"R is the number of rounds a trader can sustain given a specific loss threshold.","1887925280":"The document must be recent and include your name and address:","1889357660":"Enter a value in minutes, up to 60480 minutes (equivalent to 6 weeks).","1890171328":"By clicking Accept below and proceeding with the Account Opening you should note that you may be exposing yourself to risks (which may be significant, including the risk of loss of the entire sum invested) that you may not have the knowledge and experience to properly assess or mitigate.","1890332321":"Returns the number of characters of a given string of text, including numbers, spaces, punctuation marks, and symbols.","1893869876":"(lots)","1894667135":"Please verify your proof of address","1896269665":"CFDs on derived and financial instruments.","1899898605":"Maximum size: 8MB","1902547203":"MetaTrader 5 MacOS app","1903437648":"Blurry photo detected","1904665809":"The Reverse Martingale strategy in trading may offer substantial gains but also comes with significant risks. With your selected strategy, Deriv Bot provides automated trading with risk management measures like setting initial stake, stake size, maximum stake, profit threshold and loss threshold. It's crucial for traders to assess their risk tolerance, practice in a demo account, and understand the strategy before trading with real money.","1905032541":"We're now ready to verify your identity","1905589481":"If you want to change your account currency, please contact us via <0>live chat.","1906213000":"Our system will finish any Deriv Bot trades that are running, and Deriv Bot will not place any new trades.","1906639368":"If this is the first time you try to create a password, or you have forgotten your password, please reset it.","1907423697":"Earn more with Deriv API","1908023954":"Sorry, an error occurred while processing your request.","1908239019":"Make sure all of the document is in the photo","1908686066":"Appropriateness Test Warning","1909647105":"TRX/USD","1909769048":"median","1913777654":"Switch account","1914014145":"Today","1914270645":"Default Candle Interval: {{ candle_interval_type }}","1914725623":"Upload the page that contains your photo.","1916129921":"Reverse Martingale","1917178459":"Bank Verification Number","1917523456":"This block sends a message to a Telegram channel. You will need to create your own Telegram bot to use this block.","1918796823":"Please enter a stop loss amount.","1918832194":"No experience","1919030163":"Tips to take a good selfie","1919296368":"2. Select your unit. In this example, it is 2 units or 2 USD.","1919594496":"{{website_name}} is not affiliated with any payment agents. Customers deal with payment agents at their sole risk. Customers are advised to check the credentials of payment agents and the accuracy of any information about payment agents (on {{website_name}} or elsewhere) before using their services.","1919694313":"To start trading, transfer funds from your Deriv account into this account.","1920217537":"Compare","1920468180":"How to use the SMA block","1921914669":"Deposit with Deriv P2P","1922529883":"Boom 1000 Index","1922955556":"Use a longer keyboard pattern with more turns","1924365090":"Maybe later","1924765698":"Place of birth*","1928930389":"GBP/NOK","1929694162":"Compare accounts","1930899934":"Tether","1931659123":"Run on every tick","1931884033":"It seems that your date of birth in the document is not the same as your Deriv profile. Please update your date of birth in the <0>Personal details page to solve this issue.","1934450653":"For <0>Contract type, set it to Both.","1938327673":"Deriv {{platform}} <0>{{is_demo}}","1939014728":"How do I remove blocks from the workspace?","1939902659":"Signal","1940408545":"Delete this token","1941915555":"Try later","1943440862":"Calculates Bollinger Bands (BB) list from a list with a period","1944204227":"This block returns current account balance.","1947527527":"1. This link was sent by you","1948092185":"GBP/CAD","1949719666":"Here are the possible reasons:","1950413928":"Submit identity documents","1955219734":"Town/City*","1957759876":"Upload identity document","1958788790":"This is the amount you’ll receive at expiry for every point of change in the underlying price, if the spot price never touches or breaches the barrier throughout the contract duration.","1958807602":"4. 'Table' takes an array of data, such as a list of candles, and displays it in a table format.","1959678342":"Highs & Lows","1960240336":"first letter","1964165648":"Connection lost","1965916759":"Asian options settle by comparing the last tick with the average spot over the period.","1966023998":"2FA enabled","1966281100":"Console {{ message_type }} value: {{ input_message }}","1968025770":"Bitcoin Cash","1968077724":"Agriculture","1968368585":"Employment status","1970060713":"You’ve successfully deleted a bot.","1971898712":"Add or manage account","1973536221":"You have no open positions yet.","1973910243":"Manage your accounts","1974273865":"This scope will allow third-party apps to view your account activity, settings, limits, balance sheets, trade purchase history, and more.","1974903951":"If you hit Yes, the info you entered will be lost.","1978218112":"Google Authenticator","1981940238":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_v}}.","1982790875":"Upgrade your <0/><1>{{account_title}} {{platform}} account(s)","1982796981":"Declarations","1982912252":"Relative Strength Index (RSI) from a list with a period","1983001416":"Define your trade options such as multiplier and stake. This block can only be used with the multipliers trade type. If you select another trade type, this block will be replaced with the Trade options block.","1983358602":"This policy, which may change from time to time, applies to your account registered with {{legal_entity_name}}.","1983387308":"Preview","1983480826":"Sign in","1983544897":"P.O. Box is not accepted in address","1983676099":"Please check your email for details.","1984700244":"Request an input","1984742793":"Uploading documents","1985366224":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts and up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts.","1985637974":"Any blocks placed within this block will be executed at every tick. If the default candle interval is set to 1 minute in the Trade Parameters root block, the instructions in this block will be executed once every minute. Place this block outside of any root block.","1986322868":"When your loss reaches or exceeds this amount, your trade will be closed automatically.","1986498784":"BTC/LTC","1987080350":"Demo","1987447369":"Your cashier is locked","1988153223":"Email address","1988302483":"Take profit:","1990331072":"Proof of ownership","1990735316":"Rise Equals","1991055223":"View the market price of your favourite assets.","1991448657":"Don't know your tax identification number? Click <0>here to learn more.","1991524207":"Jump 100 Index","1994023526":"The email address you entered had a mistake or typo (happens to the best of us).","1994558521":"The platforms aren’t user-friendly.","1994600896":"This block requires a list of candles as an input parameter.","1995023783":"First line of address*","1996767628":"Please confirm your tax information.","1997138507":"If the last tick is equal to the average of the ticks, you don't win the payout.","1997313835":"Your stake will continue to grow as long as the current spot price remains within a specified <0>range from the <0>previous spot price. Otherwise, you lose your stake and the trade is terminated.","1999213036":"Enhanced security is just a tap away.","1999346412":"For faster verification, input the same address here as in your proof of address document (see section below)","2001222130":"Check your spam or junk folder. If it's not there, try resending the email.","2001361785":"1. Start with the initial stake. Let’s say 1 USD.","2004052487":"Estimating the lifespan of your trades","2007028410":"market, trade type, contract type","2010759971":"Uploads successful","2010866561":"Returns the total profit/loss","2011609940":"Please input number greater than 0","2011808755":"Purchase Time","2012139674":"Android: Google password manager.","2014536501":"Card number","2014590669":"Variable '{{variable_name}}' has no value. Please set a value for variable '{{variable_name}}' to notify.","2017672013":"Please select the country of document issuance.","2018044371":"Multipliers let you trade with leverage and limit your risk to your stake. <0>Learn more","2019596693":"The document was rejected by the Provider.","2020545256":"Close your account?","2021037737":"Please update your details to continue.","2021161151":"Watch this video to learn how to build a trading bot on Deriv Bot. Also, check out this blog post on building a trading bot.","2023546580":"Your account will be available for trading once the verification of your account is complete.","2023659183":"Student","2023762268":"I prefer another trading website.","2025339348":"Move away from direct light — no glare","2027441253":"Why do we collect this?","2027625329":"Simple Moving Average Array (SMAA)","2027638150":"Upgrade","2027696535":"Tax information","2028163119":"EOS/USD","2029237955":"Labuan","2030018735":"RSI is a technical analysis tool that helps you identify the market trend. It will give you a value from 0 to 100. An RSI value of 70 and above means that the asset is overbought and the current trend may reverse, while a value of 30 and below means that the asset is oversold.","2030045667":"Message","2033648953":"This block gives you the specified candle value for a selected time interval.","2034803607":"You must be 18 years old and above.","2035258293":"Start trading with us","2035925727":"sort {{ sort_type }} {{ sort_direction }} {{ input_list }}","2036578466":"Should be {{value}}","2037665157":"Expand All Blocks","2037906477":"get sub-list from #","2038562422":"TIN is required.","2039198937":"Maximum stake: The maximum amount you are willing to pay to enter a single trade. The stake for your next trade will reset to the initial stake if it exceeds this value. This is an optional risk management parameter.","2042023623":"We’re reviewing your documents. This should take about 5 minutes.","2042050260":"- Purchase price: the purchase price (stake) of the contract","2042115724":"Upload a screenshot of your account and personal details page with your name, account number, phone number, and email address.","2044086432":"The close is the latest tick at or before the end time. If you selected a specific end time, the end time is the selected time.","2046273837":"Last tick","2046577663":"Import or choose your bot","2048110615":"Email address*","2048134463":"File size exceeded.","2049386104":"We need you to submit these in order to get this account:","2050170533":"Tick list","2051558666":"View transaction history","2052022586":"To enhance your MT5 account security we have upgraded our password policy.","2054889300":"Create \"%1\"","2055317803":"Copy the link to your mobile browser","2056369950":"<0>To complete your Wallet setup, log out and then log in again.","2057082550":"Accept our updated <0>terms and conditions","2057419639":"Exit Spot","2059365224":"Yes, you can get started with a pre-built bot using the Quick strategy feature. You’ll find some of the most popular trading strategies here: Martingale, D'Alembert, and Oscar's Grind. Just select the strategy, enter your trade parameters, and your bot will be created for you. You can always tweak the parameters later.","2059753381":"Why did my verification fail?","2060873863":"Your order {{order_id}} is complete","2062912059":"function {{ function_name }} {{ function_params }}","2063812316":"Text Statement","2063815003":"Ready to enable Wallets","2063890788":"Cancelled","2066978677":"{{formatted_opening_time}} (GMT) on {{opening_day}},<0 /> {{opening_date}}.","2067903936":"Driving licence","2070002739":"Don’t accept","2070345146":"When opening a leveraged CFD trade.","2070518923":"Import your bot or tap Quick Strategies to choose from the ready-to-use bot templates.","2070752475":"Regulatory Information","2070858497":"Your document appears to be a screenshot.","2071043849":"Browse","2074207096":"How to create a passkey?","2074235904":"Last name is required.","2074497711":"The Telegram notification could not be sent","2074713563":"4.2. Submission of a complaint","2079925695":"Unit: The number of units that are added in the event of a trade resulting in loss or the number of units removed in the event of a trade resulting in profit. For example, if the unit is set at 2, the stake increases or decreases by two times the initial stake of 1 USD, meaning it changes by 2 USD.","2080553498":"3. Get the chat ID using the Telegram REST API (read more: https://core.telegram.org/bots/api#getupdates)","2080829530":"Sold for: {{sold_for}}","2081622549":"Must be a number higher than {{ min }}","2082533832":"Yes, delete","2084693624":"Converts a string representing a date/time string into seconds since Epoch. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825. Time and time zone offset are optional.","2085387371":"Must be numbers, letters, and special characters . , ' -","2085602195":"- Entry value: the value of the first tick of the contract","2086048243":"Certificate of incorporation","2086792088":"Both barriers should be relative or absolute","2088735355":"Your session and login limits","2089087110":"Basket indices","2089395053":"Unit","2089581483":"Expires on","2090650973":"The spot price may change by the time your order reaches our servers. When this happens, your payout may be affected.","2091671594":"Status","2093675079":"- Close: the closing price","2096014107":"Apply","2096456845":"Date of birth*","2096603244":"Derived - Vanuatu","2097170986":"About Tether (Omni)","2097381850":"Calculates Simple Moving Average line from a list with a period","2097815211":"Number of rounds (R) = 10","2097932389":"Upload 2 separate screenshots from the personal details page and the account page via <0>https://app.astropay.com/profile","2099488590":"Changes to your Deriv MT5 login","2100713124":"account","2100912278":"4. If a trade ends in a loss, the stake for the following trade will be reset to the initial stake amount of 1 USD.","2101972779":"This is the same as the above example, using a tick list.","2102572780":"Length of digit code must be 6 characters.","2104115663":"Last login","2104364680":"Please switch to your demo account to run your Deriv Bot.","2104397115":"Please go to your account settings and complete your personal details to enable deposits and withdrawals.","2107381257":"Scheduled cashier system maintenance","2107882050":"The back of your document appears to be missing. Please include both sides of your identity document.","2110365168":"Maximum number of trades reached","2111015970":"This block helps you check if your contract can be sold. If your contract can be sold, it returns “True”. Otherwise, it returns an empty string.","2111528352":"Creating a variable","2112119013":"Take a selfie showing your face","2112175277":"with delimiter","2113321581":"Add a Deriv Gaming account","2114766645":"Some trade types are unavailable for {{symbol}}.","2115223095":"Loss","2117165122":"1. Create a Telegram bot and get your Telegram API token. Read more on how to create bots in Telegram here: https://core.telegram.org/bots#6-botfather","2117489390":"Auto update in {{ remaining }} seconds","2118292085":"<0>Note: You’ll receive an email when your deposit starts being processed.","2119449126":"Example output of the below example will be:","2119710534":"FAQ","2121227568":"NEO/USD","2122152120":"Assets","2127564856":"Withdrawals are locked","2128919448":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price. We won’t offer a contract value if the remaining duration is below 15 seconds or if the contract duration is in ticks.","2129807378":"Update profile","2133075559":"This means after 10 rounds of consecutive losses, this trader will lose 100 USD. This reaches the loss threshold of 100 USD, stopping the bot.","2133451414":"Duration","2133470627":"This block returns the potential payout for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","2135563258":"Forex trading frequency","2136246996":"Selfie uploaded","2136480755":"Some details in your document appear to be invalid, missing, or unclear.","2137901996":"This will clear all data in the summary, transactions, and journal panels. All counters will be reset to zero.","2137993569":"This block compares two values and is used to build a conditional structure.","2138861911":"Scans and photocopies are not accepted","2139171480":"Reset Up/Reset Down","2139362660":"left side","2141055709":"New {{type}} password","2143803283":"Purchase Error","2144609616":"If you select \"Reset-Down”, you win the payout if the exit spot is strictly lower than either the entry spot or the spot at reset time.","2145690912":"Income Earning","2145995536":"Create new account","2146336100":"in text %1 get %2","2146698770":"Pro tip: You can also click and drag out the desired block","2146892766":"Binary options trading experience","2147244655":"How do I import my own trading bot into Deriv Bot?","-931052769":"Submit verification","-1004605898":"Tips","-1938142055":"Documents uploaded","-448090287":"The link only works on mobile devices","-1244287721":"Something's gone wrong","-241258681":"You'll need to restart your verification on your computer","-929254273":"Get secure link","-2021867851":"Check back here to finish the submission","-1547069149":"Open the link and complete the tasks","-1767652006":"Here's how to do it:","-277611959":"You can now return to your computer to continue","-724178625":"Make sure full document is visible","-1519380038":"Glare detected","-1895280620":"Make sure your card details are clear to read, with no blur or glare","-1464447919":"Make sure your permit details are clear to read, with no blur or glare","-1436160506":"Make sure details are clear to read, with no blur or glare","-759124288":"Close","-759118956":"Redo","-753375398":"Enlarge image","-1042933881":"Driver's license","-1503134764":"Face photo page","-1335343167":"Sorry, no mobile phone bills","-699045522":"Documents you can use to verify your identity","-543666102":"It must be an official photo ID","-903877217":"These are the documents most likely to show your current home address","-1356835948":"Choose document","-1364375936":"Select a %{country} document","-401586196":"or upload photo – no scans or photocopies","-3110517":"Take a photo with your phone","-2033894027":"Submit identity card (back)","-20684738":"Submit license (back)","-1359585500":"Submit license (front)","-106779602":"Submit residence permit (back)","-1287247476":"Submit residence permit (front)","-1954762444":"Restart the process on the latest version of Safari","-261174676":"Must be under 10MB.","-685885589":"An error occurred while loading the component","-502539866":"Your face is needed in the selfie","-1377968356":"Please try again","-1226547734":"Try using a JPG or PNG file","-849068301":"Loading...","-1730346712":"Loading","-1849371752":"Check that your number is correct","-309848900":"Copy","-1424436001":"Send link","-1093833557":"How to scan a QR code","-1408210605":"Point your phone’s camera at the QR code","-1773802163":"If it doesn’t work, download a QR code scanner from Google Play or the App Store","-109026565":"Scan QR code","-1644436882":"Get link via SMS","-1667839246":"Enter mobile number","-1533172567":"Enter your mobile number:","-1352094380":"Send this one-time link to your phone","-28974899":"Get your secure link","-359315319":"Continue","-826420669":"Make sure","-1279080293":"2. Your desktop window stays open","-102776692":"Continue with the verification","-89152891":"Take a photo of the back of your card","-1646367396":"Take a photo of the front of your card","-1350855047":"Take a photo of the front of your license","-2119367889":"Take a photo using the basic camera mode instead","-342915396":"Take a photo","-419040068":"Passport photo page","-1354983065":"Refresh","-1925063334":"Recover camera access to continue face verification","-54784207":"Camera access is denied","-1392699864":"Allow camera access","-269477401":"Provide the whole document page for best results","-864639753":"Upload back of card from your computer","-1309771027":"Upload front of license from your computer","-1722060225":"Take photo","-565732905":"Selfie","-1703181240":"Check that it is connected and functional. You can also continue verification on your phone","-2043114239":"Camera not working?","-2029238500":"It may be disconnected. Try using your phone instead.","-468928206":"Make sure your device's camera works","-466246199":"Camera not working","-698978129":"Remember to press stop when you're done. Redo video actions","-538456609":"Looks like you took too long","-781816433":"Photo of your face","-1471336265":"Make sure your selfie clearly shows your face","-1375068556":"Check selfie","-1914530170":"Face forward and make sure your eyes are clearly visible","-776541617":"We'll compare it with your document","-478752991":"Your link will expire in one hour","-1859729380":"Keep this window open while using your mobile","-1283761937":"Resend link","-629011256":"Don't refresh this page","-1005231905":"Once you've finished we'll take you to the next step","-542134805":"Upload photo","-1462975230":"Document example","-1472844935":"The photo should clearly show your document","-1120954663":"First name*","-1659980292":"First name","-962979523":"Your {{ field_name }} as in your identity document","-1416797980":"Please enter your {{ field_name }} as in your official identity documents.","-1466268810":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your <0>account settings.","-32386760":"Name","-766265812":"first name","-1857534296":"John","-1282749116":"last name","-1485480657":"Other details","-1784741577":"date of birth","-1702919018":"Second line of address (optional)","-1315410953":"State/Province","-2040322967":"Citizenship","-344715612":"Employment status*","-1543016582":"I hereby confirm that the tax information I provided is true and complete. I will also inform {{legal_entity_name}} about any changes to this information.","-946282997":"Additional information","-1315571766":"Place of birth","-789291456":"Tax residence*","-1692219415":"Tax residence","-1903720068":"The country in which you meet the criteria for paying taxes. Usually the country in which you physically reside.","-651516152":"Tax Identification Number","-1387062433":"Account opening reason","-222283483":"Account opening reason*","-583925597":"For verification purposes as required by regulation. It’s your responsibility to provide accurate and complete answers. You can update personal details at any time in your account settings.","-1113902570":"Details","-71696502":"Previous","-1541554430":"Next","-307865807":"Risk Tolerance Warning","-690100729":"Yes, I understand the risk.","-2010628430":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, you must confirm that you understand your capital is at risk.","-863770104":"Please note that by clicking ‘OK’, you may be exposing yourself to risks. You may not have the knowledge or experience to properly assess or mitigate these risks, which may be significant, including the risk of losing the entire sum you have invested.","-684271315":"OK","-1292808093":"Trading Experience","-153346659":"Upload your selfie.","-602131304":"Passport number","-1051213440":"Upload the front and back of your identity card.","-1600807543":"First, enter your identity card number and the expiry date.","-1139923664":"Next, upload the front and back of your identity card.","-783705755":"Upload the front of your identity card.","-566750665":"NIMC slip and proof of age","-1465944279":"NIMC slip number","-429612996":"Next, upload both of the following documents.","-376981174":"Upload your proof of age: birth certificate or age declaration document.","-612174191":"First line of address is required","-242734402":"Only {{max}} characters, please.","-378415317":"State is required","-1784470716":"State is not in a proper format","-1699820408":"Please enter a {{field_name}} under {{max_number}} characters.","-1575567374":"postal/ZIP code","-816263501":"Only letters, numbers, space and hyphen are allowed.","-755626951":"Complete your address details","-1024240099":"Address","-1534917661":"Select your preferred currency","-1027595143":"Less than $25,000","-40491332":"$25,000 - $50,000","-1139806939":"$50,001 - $100,000","-996132458":"Construction","-915003867":"Health","-1430012453":"Information & Communications Technology","-987824916":"Science & Engineering","-146630682":"Social & Cultural","-761306973":"Manufacturing","-1631552645":"Professionals","-474864470":"Personal Care, Sales and Service Workers","-1129355784":"Agricultural, Forestry and Fishery Workers","-1242914994":"Craft, Metal, Electrical and Electronics Workers","-1317824715":"Cleaners and Helpers","-1592729751":"Mining, Construction, Manufacturing and Transport Workers","-1030759620":"Government Officers","-2137323480":"Company Ownership","-1590574533":"Divorce Settlement","-1667683002":"Inheritance","-1237843731":"Investment Income","-777506574":"Sale of Property","-654781670":"Primary","-1717373258":"Secondary","-1156937070":"$500,001 - $1,000,000","-315534569":"Over $1,000,000","-2068544539":"Salaried Employee","-531314998":"Investments & Dividends","-1235114522":"Pension","-1298056749":"State Benefits","-449943381":"Savings & Inheritance","-477761028":"Voter ID","-1466346630":"CPF","-1161338910":"First name is required.","-1161818065":"Last name should be between 2 and 50 characters.","-1281693513":"Date of birth is required.","-26599672":"Citizenship is required","-912174487":"Phone is required.","-673765468":"Letters, numbers, spaces, periods, hyphens and forward slashes only.","-212167954":"Tax Identification Number is not properly formatted.","-1823540512":"Personal details","-1227878799":"Speculative","-1174064217":"Mr","-855506127":"Ms","-204765990":"Terms of use","-189310067":"Account closed","-849320995":"Assessments","-773766766":"Email and passwords","-1144318594":"Passkeys","-1466827732":"Self exclusion","-1498206510":"Account limits","-241588481":"Login history","-966136867":"Connected apps","-213009361":"Two-factor authentication","-526636259":"Error 404","-739367071":"Employed","-626752657":"0-1 year","-532014689":"1-2 years","-1001024004":"Over 3 years","-790513277":"6-10 transactions in the past 12 months","-580085300":"11-39 transactions in the past 12 months","-1458676679":"You should enter 2-50 characters.","-1116008222":"You should enter 9-35 numbers.","-1995979930":"First line of address is required.","-703454156":"Please enter a Postal/ZIP code under 20 characters.","-2113555886":"Only letters, numbers, space, and hyphen are allowed.","-1103497546":"Tax return","-700600899":"Business proof of address","-1073862586":"Memorandum","-1823328095":"Authorization letter","-397487797":"Enter your full card number","-1376950117":"That file format isn't supported. Please upload .pdf, .png, .jpg, or .jpeg files only.","-612752984":"These are default limits that we apply to your accounts.","-1411635770":"Learn more about account limits","-1340125291":"Done","-1101543580":"Limit","-858297154":"Represents the maximum amount of cash that you may hold in your account. If the maximum is reached, you will be asked to withdraw funds.","-976258774":"Not set","-1182362640":"Represents the maximum aggregate payouts on outstanding contracts in your portfolio. If the maximum is attained, you may not purchase additional contracts without first closing out existing positions.","-1781293089":"Maximum aggregate payouts on open positions","-1412690135":"*Any limits in your Self-exclusion settings will override these default limits.","-1598751496":"Represents the maximum volume of contracts that you may purchase in any given trading day.","-173346300":"Maximum daily turnover","-138380129":"Total withdrawal allowed","-1502578110":"Your account is fully authenticated and your withdrawal limits have been lifted.","-506122621":"Please take a moment to update your information now.","-1106259572":"Don't know your tax identification number? <1 />Click <0>here to learn more.","-252665911":"Place of birth{{required}}","-859814496":"Tax residence{{required}}","-237940902":"Tax Identification number{{required}}","-919191810":"Please fill in tax residence.","-270569590":"Intended use of account{{required}}","-2120290581":"Intended use of account is required.","-1662154767":"a recent utility bill (e.g. electricity, water, gas, landline, or internet), bank statement, or government-issued letter with your name and this address.","-594456225":"Second line of address","-1964954030":"Postal/ZIP Code","-516397235":"Be careful who you share this token with. Anyone with this token can perform the following actions on your account behalf","-989216986":"Add accounts","-617480265":"Delete token","-316749685":"Are you sure you want to delete this token?","-955038366":"Copy this token","-1668692965":"Hide this token","-1661284324":"Show this token","-1076138910":"Trade","-1666909852":"Payments","-488597603":"Trading information","-605778668":"Never","-1628008897":"Token","-1238499897":"Last Used","-1171226355":"Length of token name must be between {{MIN_TOKEN}} and {{MAX_TOKEN}} characters.","-1803339710":"Maximum {{MAX_TOKEN}} characters.","-408613988":"Select scopes based on the access you need.","-5605257":"This scope will allow third-party apps to withdraw to payment agents and make inter-account transfers for you.","-1373485333":"This scope will allow third-party apps to view your trading history.","-758221415":"This scope will allow third-party apps to open accounts for you, manage your settings and token usage, and more. ","-807767876":"Note:","-1117963487":"Name your token and click on 'Create' to generate your token.","-2005211699":"Create","-1652683689":"Please note that you can only have 1 fiat account.","-1146960797":"Fiat currencies","-1959484303":"Cryptocurrencies","-2087317410":"Oops, something went wrong.","-184202848":"Upload file","-370334393":"Click here to browse your files.","-863586176":"Drag and drop a file or click to browse your files.","-723198394":"File size should be 8MB or less","-1948369500":"File uploaded is not supported","-1040865880":"Drop files here..","-1100235269":"Industry of employment","-684388823":"Estimated net worth","-509054266":"Anticipated annual turnover","-1117345066":"Choose the document type","-1634507018":"Enter your {{document_name}}","-1237846864":"Verify again","-39187636":"{{index}}.","-337620257":"Switch to real account","-2120454054":"Add a real account","-38915613":"Unsaved changes","-2137450250":"You have unsaved changes. Are you sure you want to discard changes and leave this page?","-1067082004":"Leave Settings","-1982432743":"It appears that the address in your document doesn’t match the address\n in your Deriv profile. Please update your personal details now with the\n correct address.","-1451334536":"Continue trading","-251603364":"Your document for proof of address is expired. <0/>Please submit again.","-1425489838":"Proof of address verification not required","-1008641170":"Your account does not need address verification at this time. We will inform you if address verification is required in the future.","-60204971":"We could not verify your proof of address","-1944264183":"To continue trading, you must also submit a proof of identity.","-1088324715":"We’ll review your documents and notify you of its status within 1 - 3 working days.","-329713179":"Ok","-2145244263":"This field is required","-1500958859":"Verify","-839094775":"Back","-1813671961":"Your identity verification failed because:","-2097808873":"We were unable to verify your ID with the details you provided. ","-1652371224":"Your profile is updated","-504784172":"Your document has been submitted","-1391934478":"Your ID is verified. You will also need to submit proof of your address.","-118547687":"ID verification passed","-200989771":"Go to personal details","-1358357943":"Please check and update your postal code before submitting proof of identity.","-1401994581":"Your personal details are missing","-2004327866":"Please select a valid country of document issuance.","-1664159494":"Country","-1044962593":"Upload Document","-749870311":"Please contact us via <0>live chat.","-1084991359":"Proof of identity verification not required","-1981334109":"Your account does not need identity verification at this time. We will inform you if identity verification is required in the future.","-182918740":"Your proof of identity submission failed because:","-155705811":"A clear colour photo or scanned image","-246893488":"JPEG, JPG, PNG, PDF, or GIF","-1454880310":"Must be valid for at least 6 months","-1949501500":"First, enter your {{label}}.","-100534371":"Before uploading, please ensure that you’re facing forward in the selfie, your face is within the frame, and your eyes are clearly visible even if you’re wearing glasses.","-1529523673":"Confirm and upload","-705047643":"Sorry, an error occured. Please select another file.","-1664309884":"Tap here to upload","-1725454783":"Failed","-856213726":"You must also submit a proof of address.","-552371330":"We were unable to verify your income. <0 /> Please check the email we've sent you for further information.","-841187054":"Try Again","-978467455":"Limit reached","-361316523":"You have reached the maximum number of allowed attempts for submitting proof of income. <0 /> Please check the email we've sent you for further information.","-1785967427":"We'll review your documents and notify you of its status within 7 working days.","-987011273":"Your proof of ownership isn't required.","-808299796":"You are not required to submit proof of ownership at this time. We will inform you if proof of ownership is required in the future.","-179726573":"We’ve received your proof of ownership.","-813779897":"Proof of ownership verification passed.","-1389323399":"You should enter {{min_number}}-{{max_number}} characters.","-47815161":"Please include at least 1 special character such as ( _ @ ? ! / # ) in your password.","-1313806160":"Please request a new password and check your email for the new token.","-1598167506":"Success","-1077809489":"You have a new {{platform}} password to log in to your {{platform}} accounts on the web and mobile apps.","-1108813179":"You can use this password for all your Deriv MT5 accounts.","-2068479232":"{{platform}} password","-507633532":"Your password must contain between 8-16 characters that include uppercase and lowercase letters, and at least one number and special character such as ( _ @ ? ! / # ).","-1597186502":"Reset {{platform}} password","-638756912":"Black out digits 7 to 12 of the card number that’s shown on the front of your debit/credit card.⁤","-996691262":"We’ve introduced these limits to encourage <0>responsible trading. They are optional, and you can adjust them anytime.","-2079276011":"These limits apply to your multipliers trades only. For example, <0>maximum total loss refers to the losses on your multipliers trades.","-2116570030":"If you want to adjust your limits, <0>contact us via live chat. We’ll make the adjustments within 24 hours.","-1389915983":"You decide how much and how long to trade. You can take a break from trading whenever you want. This break can be from 6 weeks to 5 years. When it’s over, you can extend it or log in to resume trading. If you don’t want to set a specific limit, leave the field empty.","-1031814119":"About trading limits and self-exclusion","-183468698":"Trading limits and self-exclusion","-1088698009":"These self-exclusion limits help you control the amount of money and time you spend trading on {{platform_name_trader}}, {{platform_name_dbot}}, {{platform_name_smarttrader}} and {{platform_name_bbot}} on Deriv. The limits you set here will help you exercise <0>responsible trading.","-933963283":"No, review my limits","-1759860126":"Yes, log me out immediately","-572347855":"{{value}} mins","-313333548":"You’ll be able to adjust these limits at any time. You can reduce your limits from the <0>self-exclusion page. To increase or remove your limits, please contact our <1>Customer Support team.","-1265833982":"Accept","-2123139671":"Your stake and loss limits","-1250802290":"24 hours","-2070080356":"Max. total stake","-1545823544":"7 days","-180147209":"You will be automatically logged out from each session after this time limit.","-374553538":"Your account will be excluded from the website until this date (at least 6 months, up to 5 years).","-2105708790":"Your maximum account balance and open positions","-1960600163":"Once your account balance reaches this amount, you will not be able to deposit funds into your account.","-1073845224":"No. of open position(s)","-288196326":"Your maximum deposit limit","-568749373":"Max. deposit limit","-1617352279":"The email is in your spam folder (Sometimes things get lost there).","-547557964":"We can’t deliver the email to this address (Usually because of firewalls or filtering).","-142444667":"Please click on the link in the email to change your Deriv MT5 password.","-742748008":"Check your email and click the link in the email to proceed.","-84068414":"Still didn't get the email? Please contact us via <0>live chat.","-474419287":"FATCA declaration","-1101737402":"Please select*","-975118358":"Your account will be opened with {{legal_entity_name}}, regulated by the Malta Financial Services Authority (MFSA), and will be subject to the laws of Malta.","-2073934245":"The financial trading services offered on this site are only suitable for customers who accept the possibility of losing all the money they invest and who understand and have experience of the risk involved in the purchase of financial contracts. Transactions in financial contracts carry a high degree of risk. If the contracts you purchased expire as worthless, you will lose all your investment, which includes the contract premium.","-1035494182":"You acknowledge that, subject to the Company's discretion, applicable regulations, and internal checks being fulfilled, we will open an account for you and allow you to deposit funds during the client acceptance procedure. However, until the verification of your account is completed, you will not be able to trade, withdraw or make further deposits. If you do not provide relevant documents within 30-days, we will refund the deposited amount through the same payment method you used to deposit.","-1125193491":"Add account","-2068229627":"I am not a PEP, and I have not been a PEP in the last 12 months.","-1209644365":"I hereby confirm that my request for opening an account with Deriv Investments (Europe) Ltd is made on my own initiative.","-740157281":"Trading Experience Assessment","-1720468017":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you.","-1685104463":"* This is required","-186841084":"Change your login email","-907403572":"To change your email address, you'll first need to unlink your email address from your {{identifier_title}} account.","-1850792730":"Unlink from {{identifier_title}}","-428335668":"You will need to set a password to complete the process.","-1232613003":"<0>Verification failed. <1>Why?","-805775852":"<0>Needs verification.<1>Verify now","-1983989074":"<0>No new positions","-1196936955":"Upload a screenshot of your name and email address from the personal information section.","-1286823855":"Upload your mobile bill statement showing your name and phone number.","-1309548471":"Upload your bank statement showing your name and account details.","-1410396115":"Upload a photo showing your name and the first six and last four digits of your card number. If the card does not display your name, upload the bank statement showing your name and card number in the transaction history.","-3805155":"Upload a screenshot of either of the following to process the transaction:","-1523487566":"- your account profile section on the website","-613062596":"- the Account Information page on the app","-1718304498":"User ID","-609424336":"Upload a screenshot of your name, account number, and email address from the personal details section of the app or profile section of your account on the website.","-1954436643":"Upload a screenshot of your username on the General Information page at <0>https://onlinenaira.com/members/index.htm","-79853954":"Upload a screenshot of your account number and phone number on the Bank Account/Mobile wallet page at <0>https://onlinenaira.com/members/bank.htm","-1192882870":"Upload a screenshot of your name and account number from the personal details section.","-818898181":"Name in document doesn’t match your Deriv profile.","-310316375":"Address in document doesn’t match address you entered above.","-485368404":"Document issued more than 6-months ago.","-91160765":"Document issued more than 12-months ago.","-367016488":"Blurry document. All information must be clear and visible.","-1957076143":"Cropped document. All information must be clear and visible.","-1576856758":"An account with these details already exists. Please make sure the details you entered are correct as only one real account is allowed per client. If this is a mistake, contact us via <0>live chat.","-1792723131":"To avoid delays, enter your <0>date of birth exactly as it appears on your {{document_name}}.","-1629894615":"I have other financial priorities.","-844051272":"I want to stop myself from trading.","-1113965495":"I’m no longer interested in trading.","-1224285232":"Customer service was unsatisfactory.","-1231402474":"Connected apps are authorised applications associated with your account through your API token or the OAuth authorisation process. They can act on your behalf within the limitations that you have set.","-506083843":"As a user, you are responsible for sharing access and for actions that occur in your account (even if they were initiated by a third-party app on your behalf).","-831752682":"Please note that only third-party apps will be displayed on this page. Official Deriv apps will not appear here.","-915844096":"US citizenship or lawful permanent resident (green card) status","-208714573":"An “in care of” address or a “hold mail” address that is the sole address with respect to the client","-1082633433":"A power of attorney or signatory authority granted to a person with a US address.","-231863107":"No","-1858215754":"The document must be up-to-date and signed by the issuance authority.","-718917527":"Invalid or incomplete documents shall be rejected.","-1526404112":"Utility bill: electricity, water, gas, or landline phone bill.","-537552700":"Home rental agreement: valid and current agreement.","-506510414":"Date and time","-1708927037":"IP address","-870902742":"How much knowledge and experience do you have in relation to online trading?","-1929477717":"I have an academic degree, professional certification, and/or work experience related to financial services.","-1540148863":"I have attended seminars, training, and/or workshops related to trading.","-922751756":"Less than a year","-542986255":"None","-1337206552":"In your understanding, CFD trading allows you to","-456863190":"Place a position on the price movement of an asset where the outcome is a fixed return or nothing at all.","-1314683258":"Make a long-term investment for a guaranteed profit.","-1546090184":"How does leverage affect CFD trading?","-1636427115":"Leverage helps to mitigate risk.","-800221491":"Leverage guarantees profits.","-811839563":"Leverage lets you open large positions for a fraction of trade value, which may result in increased profit or loss.","-1185193552":"Close your trade automatically when the loss is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1046354":"Close your trade automatically when the profit is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1842858448":"Make a guaranteed profit on your trade.","-860053164":"When trading multipliers.","-1250327770":"When buying shares of a company.","-1222388581":"All of the above.","-1592318047":"See example","-1694758788":"Enter your document number","-1176889260":"Please select a document type.","-1265050949":"identity document","-2139303636":"You may have followed a broken link, or the page has moved to a new address.","-1448368765":"Error code: {{error_code}} page not found","-254792921":"You can only make deposits at the moment. To enable withdrawals, please complete your financial assessment.","-1437017790":"Financial information","-70342544":"We’re legally obliged to ask for your financial information.","-39038029":"Trading experience","-601903492":"Forex trading experience","-1012699451":"CFD trading experience","-1894668798":"Other trading instruments experience","-1026468600":"Other trading instruments frequency","-1743024217":"Select Language","-136976514":"Country of residence*","-1124948631":"Professional Client","-259515058":"By default, all {{brand_website_name}} clients are retail clients but anyone can request to be treated as a professional client.","-1463348492":"I would like to be treated as a professional client.","-1958764604":"Email preference","-2068064150":"Get updates about Deriv products, services and events.","-1558679249":"Please make sure your information is correct or it may affect your trading experience.","-1822545742":"Ether Classic","-1334641066":"Litecoin","-1214036543":"US Dollar","-1782590355":"No currency has been set for this account","-2116332353":"Please close your positions in the following Deriv account(s):","-2048005267":"{{number_of_positions}} position(s)","-2125635811":"Please withdraw your funds from the following {{platform_name}} account(s):","-577445413":"Please close your positions in the following {{platform_name}} account(s):","-1219849101":"Please select at least one reason","-9323953":"Remaining characters: {{remaining_characters}}","-484540402":"An error occurred","-1911549768":"Inaccessible MT5 account(s)","-1869355019":"Action required","-1030102424":"You can't trade on Deriv.","-448385353":"You can't make transactions.","-1058447223":"Before closing your account:","-912764166":"Withdraw your funds.","-60139953":"We shall delete your personal information as soon as our legal obligations are met, as mentioned in the section on Data Retention in our <0>Security and privacy policy","-2061895474":"Closing your account will automatically log you out. We shall delete your personal information as soon as our legal obligations are met.","-203298452":"Close account","-937707753":"Go Back","-771109503":"Use our powerful, flexible, and free API to build a custom trading platform for yourself or for your business.","-1815044949":"You currently don't have any third-party authorised apps associated with your account.","-1699100421":"What are connected apps?","-536187647":"Confirm revoke access?","-1357606534":"Permission","-570222048":"Revoke access","-1468863262":"{{action}}","-727433417":"{{status}}","-1814836151":"What are passkeys?","-1275937234":"Unlock your account like your phone - with biometrics, face scan or PIN.","-587750445":"Extra security layer.","-642452561":"Shields against unauthorised access and phishing.","-1654043401":"You can create one passkey per device.","-1411242065":"Where are passkeys saved?","-258752017":"What happens if my Deriv account email is changed?","-634268263":"Sign in to Deriv with your existing passkey.","-1405679241":"Stored on: ","-1700177761":"Create passkey","-1729774899":"Sign in to your Google or iCloud account.","-1708254107":"Enable Bluetooth.","-613368504":"Tips:","-1897886029":"Before using passkey:","-592543249":"Add more passkeys","-585339315":"Your passkey is successfully removed. To avoid sign-in prompts, also remove the passkey from your Google password manager. ","-1728732301":"Effortless login with passkeys","-684009726":"Edit passkey","-1140319320":"Your account is now secured with a passkey.<0/>Manage your passkey through your<0/>Deriv account settings.","-1036903080":"We’re experiencing a temporary issue in processing your request. Please try again later.","-331060101":"Passkey setup failed","-713875531":"Enable bluetooth.","-80717068":"Apps you have linked to your <0>Deriv password:","-340060402":"Your Deriv X password is for logging in to your Deriv X accounts on the web and mobile apps.","-619126443":"Use the <0>Deriv password to log in to {{brand_website_name}} and {{platform_name_trader}}.","-623760979":"Use the <0>Deriv password to log in to {{brand_website_name}}, {{platform_name_trader}} and {{platform_name_go}}.","-459147994":"Use the <0>Deriv password to log in to {{brand_website_name}}, {{platform_name_go}}, {{platform_name_trader}}, {{platform_name_smarttrader}}, {{platform_name_dbot}} and {{platform_name_ctrader}}.","-1884902844":"Max. deposit limit per day","-545085253":"Max. deposit limit over 7 days","-1031006762":"Max. deposit limit over 30 days","-1116871438":"Max. total loss over 30 days","-2134714205":"Time limit per session","-1884271702":"Time out until","-1265825026":"Timeout time must be greater than current time.","-1332882202":"Timeout time cannot be more than 6 weeks.","-1635977118":"Exclude time cannot be less than 6 months.","-2131200819":"Disable","-200487676":"Enable","-1840392236":"That's not the right code. Please try again.","-2067796458":"Authentication code","-790444493":"Protect your account with 2FA. Each time you log in to your account, you will need to enter your password and an authentication code generated by a 2FA app on your smartphone.","-752939584":"How to set up 2FA for your Deriv account","-90649785":"Click here to copy key","-206376148":"Key copied!","-368010540":"You have enabled 2FA for your Deriv account.","-403552929":"To disable 2FA, please enter the six-digit authentication code generated by your 2FA app below:","-890084320":"Save and submit","-30772747":"Your personal details have been saved successfully.","-2021135479":"This field is required.","-1002044401":"Select your document*","-1272489896":"Please complete this field.","-721346138":"The options and multipliers trading platform.","-1874136267":"The ultimate bot trading platform.","-415943890":"The legacy options trading platform.","-673722343":"The legacy bot trading platform.","-897826065":"The multipliers trading platform.","-2115275974":"CFDs","-1585707873":"Financial Commission","-199154602":"Vanuatu Financial Services Commission","-191165775":"Malta Financial Services Authority","-194969520":"Counterparty company","-1089385344":"Deriv (SVG) LLC","-2019617323":"Deriv (BVI) Ltd","-112814932":"Deriv (FX) Ltd","-1131400885":"Deriv Investments (Europe) Limited","-1471207907":"All assets","-781132577":"Leverage","-1591882610":"Synthetics","-543177967":"Stock indices","-362324454":"Commodities","-1071336803":"Platform","-1879666853":"Deriv MT5","-820028470":"Options & Multipliers","-1210359945":"Transfer funds to your accounts","-1926387364":"We’ve sent your e-book to your email. You can also download it here.","-1057002564":"<0>We’re unable to upgrade you to Wallets at this time and are working to get this fixed as soon as we can. Please <1>try again<0>.","-1424352390":"<0>Wallets<1> — A smarter way to manage your funds","-280236366":"Enable now","-145462920":"Deriv cTrader","-982095728":"Get","-1790089996":"NEW!","-2134770229":"Total assets in your Deriv Apps and Deriv MT5 CFDs demo account.","-1277942366":"Total assets","-1255879419":"Trader's Hub","-493788773":"Non-EU","-673837884":"EU","-230566990":"The following documents you submitted did not pass our checks:","-846812148":"Proof of address.","-1146027991":"If you’d like to get the {{from_account}} account, resubmit these documents.","-710685402":"No new positions","-1445744852":"You can no longer open new positions with your {{from_account}} account. Please use your {{to_account}} account to open new positions.","-1699909965":"or ","-2127865736":"Your {{from_account}} account will be archived after 30 days of inactivity. You can still access your trade history until the account is archived.","-417529381":"Your current trading account(s)","-1543281897":"Instant transfers between Wallets and trading accounts","-1415400918":"Multiple currency support","-1712363879":"Why Wallets","-348452343":"Your open trading positions will not be affected while we are setting up your wallets.","-2055865877":"Non-EU regulation","-643108528":"Non-EU and EU regulation","-1002556560":"We’re unable to complete with the Wallet upgrade. Please try again later or contact us via live chat.","-1186807402":"Transfer","-655191265":"Buy or sell at a specific time for a specific price. <0>Learn more","-744999940":"Deriv account","-2146691203":"Choice of regulation","-249184528":"You can create real accounts under EU or non-EU regulation. Click the <0><0/> icon to learn more about these accounts.","-1505234170":"Trader's Hub tour","-1901718278":"The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 70.1% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.","-1870909526":"Our server cannot retrieve an address.","-582721696":"The current allowed withdraw amount is {{format_min_withdraw_amount}} to {{format_max_withdraw_amount}} {{currency}}","-1975494965":"Cashier","-42592103":"Deposit cryptocurrencies","-60779216":"Withdrawals are temporarily unavailable due to system maintenance. You can make your withdrawals when the maintenance is complete.","-520142572":"Cashier is currently down for maintenance","-1552080215":"Please check back in a few minutes.<0>Thank you for your patience.","-215186732":"You’ve not set your country of residence. To access Cashier, please update your country of residence in the Personal details section in your account settings.","-1392897508":"The identification documents you submitted have expired. Please submit valid identity documents to unlock Cashier. ","-954082208":"Your cashier is currently locked. Please contact us via <0>live chat to find out how to unlock it.","-929148387":"Please set your account currency to enable deposits and withdrawals.","-2027907316":"You can make a withdrawal once the verification of your account is complete.","-541392118":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and access your cashier.","-599998434":"You cannot make a fund transfer as your documents are still under review. We will notify you by email within 3 days once your verification is approved.","-247122507":"Your cashier is locked. Please complete the <0>financial assessment to unlock it.","-1443721737":"Your cashier is locked. See <0>how we protect your funds before you proceed.","-901712457":"Your access to Cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to <0>Self-exclusion and set your 30-day turnover limit.","-166472881":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits and withdrawals.","-666905139":"Deposits are locked","-378858101":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits.","-1318742415":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and request for withdrawals.","-1923809087":"Unfortunately, you can only make deposits. Please contact us via <0>live chat to enable withdrawals.","-172277021":"Cashier is locked for withdrawals","-1624999813":"It seems that you've no commissions to withdraw at the moment. You can make withdrawals once you receive your commissions.","-1077304626":"Amount ({{currency}})","-1559994981":"Approximate value","-1272778997":"We've sent you an email.","-89973258":"Resend email in {{seconds}}s","-1332236294":"Please verify your identity","-1675848843":"Error","-283017497":"Retry","-1294455996":"Deriv P2P unavailable","-1838982691":"UNKNOWN","-532693866":"Something went wrong. Please refresh the page and try again.","-1196049878":"First line of home address","-1326406485":"Postal Code/ZIP","-939625805":"Telephone","-442575534":"Email verification failed","-1459042184":"Update your personal details","-1603543465":"We can't validate your personal details because there is some information missing.","-614516651":"Need help? <0>Contact us.","-203002433":"Deposit now","-720315013":"You have no funds in your {{currency}} account","-2052373215":"Please make a deposit to use this feature.","-379487596":"{{selected_percentage}}% of available balance ({{format_amount}} {{currency__display_code}})","-1957498244":"more","-1059419768":"Notes","-285921910":"Learn more about <0>payment methods.","-190084602":"Transaction","-1995606668":"Amount","-2024290965":"Confirmations","-811190405":"Time","-728508487":"{{currency}} recent transactions","-1984478597":"The details of this transaction is available on CoinsPaid.","-316545835":"Please ensure <0>all details are <0>correct before making your transfer.","-949073402":"I confirm that I have verified the client’s transfer information.","-1752211105":"Transfer now","-1787304306":"Deriv P2P","-174976899":"P2P verification","-1705887186":"Your deposit is successful.","-142361708":"In process","-1582681840":"We’ve received your request and are waiting for more blockchain confirmations.","-1626218538":"You’ve cancelled your withdrawal request.","-1062841150":"Your withdrawal is unsuccessful due to an error on the blockchain. Please <0>contact us via live chat for more info.","-630780094":"We’re awaiting confirmation from the blockchain.","-1525882769":"Your withdrawal is unsuccessful. We've sent you an email with more information.","-298601922":"Your withdrawal is successful.","-922143389":"Deriv P2P is currently unavailable in this currency.","-1310327711":"Deriv P2P is currently unavailable in your country.","-1463156905":"Learn more about payment methods","-972283623":"Deriv P2P-V2","-685073712":"This is your <0>{{currency}} account {{loginid}}.","-1547606079":"We accept the following cryptocurrencies:","-1517325716":"Deposit via the following payment methods:","-639677539":"Buy cryptocurrencies","-1560098002":"Buy cryptocurrencies via fiat onramp","-541870313":"Deposit via payment agents","-197251450":"Don't want to trade in {{currency_code}}? You can open another cryptocurrency account.","-515809216":"Send only {{currency_name}} ({{currency_code}}) to this address.","-748636591":"A minimum deposit value of <0>{{minimum_deposit}} {{currency}} is required. Otherwise, a fee is applied.","-1589407981":"To avoid loss of funds:","-1042704302":"Make sure to copy your Deriv account address correctly into your crypto wallet.","-2108344100":"Looking for a way to buy cryptocurrencies? <0>Try Fiat onramp.","-598073640":"About Tether (Ethereum)","-275902914":"Tether on Ethereum (eUSDT)","-1188009792":"Tether on Omni Layer (USDT)","-1239329687":"Tether was originally created to use the bitcoin network as its transport protocol ‒ specifically, the Omni Layer ‒ to allow transactions of tokenised traditional currency.","-314177745":"Unfortunately, we couldn't get the address since our server was down. Please click Refresh to reload the address or try again later.","-91824739":"Deposit {{currency}}","-523804269":"{{amount}} {{currency}} on {{date}}","-494847428":"Address: <0>{{value}}","-1117977576":"Confirmations: <0>{{value}}","-1935946851":"View more","-1744490898":"Unfortunately, we cannot retrieve the information at this time. ","-338505133":"We do not charge a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts, between your Deriv fiat and {{platform_name_ctrader}} accounts, and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-2056016338":"You’ll not be charged a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts.","-599632330":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-1196994774":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency accounts.","-993556039":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts and between your Deriv cryptocurrency and {{platform_name_dxtrade}} accounts.","-1382702462":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts.","-1339063554":"You may transfer between your Deriv fiat, cryptocurrency, {{platform_name_mt5}}, {{platform_name_ctrader}}, and {{platform_name_dxtrade}} accounts.","-1151983985":"Transfer limits may vary depending on the exchange rates.","-1747571263":"Please bear in mind that some transfers may not be possible.","-757062699":"Transfers may be unavailable due to high volatility or technical issues and when the exchange markets are closed.","-855721928":"Needs verification","-908402700":"Verification failed","-1866405488":"Deriv cTrader accounts","-1344870129":"Deriv accounts","-1109729546":"You will be able to transfer funds between MT5 accounts and other accounts once your address is verified.","-1593609508":"Transfer between your accounts in Deriv","-1155970854":"You have reached the maximum daily transfers. Please try again tomorrow.","-464965808":"Transfer limits: <0 /> - <1 />","-553249337":"Transfers are locked","-1638172550":"To enable this feature you must complete the following:","-1949883551":"You only have one account","-1149845849":"Back to Trader's Hub","-1232852916":"We’re switching over to your {{currency}} account to view the transaction.","-1632668764":"I accept","-544232635":"Please go to the Deposit page to generate an address. Then come back here to continue with your transaction.","-1161069724":"Please copy the crypto address you see below. You'll need it to deposit your cryptocurrency.","-1388977563":"Copied!","-1962894999":"This address can only be used ONCE. Please copy a new one for your next transaction.","-451858550":"By clicking 'Continue' you will be redirected to {{ service }}, a third-party payment service provider. Please note that {{ website_name }} is not responsible for the content or services provided by {{ service }}. If you encounter any issues related to {{ service }} services, you must contact {{ service }} directly.","-2005265642":"Fiat onramp is a cashier service that allows you to convert fiat currencies to crypto to top up your Deriv crypto accounts. Listed here are third-party crypto exchanges. You’ll need to create an account with them to use their services.","-1593063457":"Select payment channel","-1309258714":"From account number","-1247676678":"To account number","-816476007":"Account holder name","-344403983":"Description","-922432739":"Please enter a valid client login ID.","-1024241603":"Insufficient balance.","-1979554765":"Please enter a valid description.","-1254233806":"You've transferred","-953082600":"Some payment methods may not be listed here but payment agents may still offer them. If you can’t find your favourite method, contact the payment agents directly to check further.","-1491457729":"All payment methods","-142563298":"Contact your preferred payment agent for payment instructions and make your deposit.","-352134412":"Transfer limit","-1023961762":"Commission on deposits","-552873274":"Commission on withdrawal","-880645086":"Withdrawal amount","-118683067":"Withdrawal limits: <0 />-<1 />","-1125090734":"Important notice to receive your funds","-1924707324":"View transaction","-1474202916":"Make a new withdrawal","-511423158":"Enter the payment agent account number","-2059278156":"Note: {{website_name}} does not charge any transfer fees.","-1201279468":"To withdraw your funds, please choose the same payment method you used to make your deposits.","-2004264970":"Your wallet address should have 25 to 64 characters.","-1707299138":"Your {{currency_symbol}} wallet address","-38063175":"{{account_text}} wallet","-705272444":"Upload a proof of identity to verify your identity","-130833284":"Please note that your maximum and minimum withdrawal limits aren’t fixed. They change due to the high volatility of cryptocurrency.","-1531269493":"We'll send you an email once your transaction has been processed.","-1373954791":"Should be a valid number","-1278608332":"Please enter a number between 0 and {{api_max_losses}}.","-287597204":"Enter limits to stop your bot from trading when any of these conditions are met.","-1445989611":"Limits your potential losses for the day across all Deriv platforms.","-152878438":"Maximum number of trades your bot will execute for this run.","-1490942825":"Apply and run","-2067572496":"You’ve just stopped the bot. Any open contracts can be viewed on the Reports page.","-992003496":"Changes you make will not affect your running bot.","-1778025545":"You’ve successfully imported a bot.","-1572746946":"Asian Up","-686840306":"Asian Down","-2141198770":"Higher","-816098265":"Lower","-1646655742":"Spread Up","-668987427":"Spread Down","-912577498":"Matches","-1862940531":"Differs","-808904691":"Odd","-556230215":"Ends Outside","-1268220904":"Ends Between","-703542574":"Up","-1127399675":"Down","-768425113":"No Touch","-1163058241":"Stays Between","-1354485738":"Reset Call","-376148198":"Only Ups","-1337379177":"High Tick","-328036042":"Please enter a stop loss amount that's higher than the current potential loss.","-2127699317":"Invalid stop loss. Stop loss cannot be more than stake.","-179005984":"Save","-610059687":"Exploring the D’Alembert strategy in Deriv Bot","-1226666341":"The D'Alembert strategy involves increasing your stake after a losing trade and reducing it after a successful trade by a predetermined number of units.","-312844882":"Initial stake: The amount that you are willing to place as a stake to enter a trade. This is the starting point for any changes in stake depending on the dynamic of the strategy being used.","-1173302981":"1. Start with the initial stake. In this example, we’ll use 1 USD.","-1540106116":"Profit and loss thresholds","-894905768":"With Deriv Bot, traders can set the profit and loss thresholds to secure potential profits and limit potential losses. This means that the trading bot will automatically stop when either the profit or loss thresholds are reached. It's a form of risk management that can potentially enhance returns. For example, if a trader sets the profit threshold at 100 USD and the strategy exceeds 100 USD of profit from all trades, then the bot will stop running.","-1946134465":"Where:","-248283982":"B is the loss threshold.","-1148521416":"f is the unit increment.","-211800490":"D’Alembert formula 2","-1772692202":"This formula helps you plan your trades by considering the amount of money you have and your comfort level with risk. It involves determining your loss threshold and the initial stake you want to trade with. Then, you use this formula to calculate the number of rounds you can trade. This process provides insight into stake sizing and expectations.","-2107238266":"The D'Alembert system offers more balanced trading through controlled stake progression. With prudent risk management like stake limits, it can be effectively automated in Deriv Bot. However, traders should thoroughly assess their risk appetite, test strategies on a demo account to align with their trading style before trading with real money. This allows optimising the approach and striking a balance between potential gains and losses whilst managing risk.","-500873566":"Disclaimer:","-344769349":"Please be aware that while we may use rounded figures for illustration, a stake of a specific amount does not guarantee an exact amount in successful trades. For example, a 1 USD stake does not necessarily equate to a 1 USD profit in successful trades.","-818800551":"Exploring the Martingale strategy in Deriv Bot","-533490374":"These are the trade parameters used in Deriv Bot with Martingale strategy.","-1507161059":"Multiplier: The multiplier used to increase your stake if you're losing a trade. The value must be greater than 1.","-1333404686":"An example of Martingale strategy","-1755877136":"3. If the first trade ends in a loss, Deriv Bot will automatically double your stake for the next trade to 2 USD. Deriv Bot will continue to double the stake after every losing trade.","-1297651002":"If you're about to start trading and haven't established a Maximum Stake as part of your risk management strategy, you can determine how long your funds will last by employing the Martingale strategy. Simply use this formula.","-46865201":"Martingale formula 1","-116397598":"m is the Martingale multiplier.","-658161609":"Number of rounds, R ≈ 9.965","-288082521":"This means that after 10 rounds of consecutive losses, this trader will lose 1023 USD which exceeds the loss threshold of 1000 USD, stopping the bot.","-770387160":"The Martingale strategy in trading may offer substantial gains but also comes with significant risks. With your selected strategy, Deriv Bot provides automated trading with risk management measures like setting initial stake, stake size, maximum stake, profit threshold and loss threshold. It's crucial for traders to assess their risk tolerance, practice in a demo account, and understand the strategy before trading with real money.","-1901073152":"These are the trade parameters used for Oscar’s Grind strategy in Deriv Bot.","-1575153036":"An example of Oscar’s Grind strategy","-732418614":"The table above demonstrates this principle by showing that when a successful trade occurs and meets the target of one unit of potential profit which is 1 USD in this example, the session ends. If trading continues, a new session will begin.","-106266344":"Principle 3: The stake adjusts to the gap size between current loss and the target profit for the session","-492908094":"In round 7, the stake is adjusted downwards from 2 USD to 1 USD, to meet the target profit of 1 USD.","-90079299":"With Deriv Bot, traders can set the profit and loss thresholds to secure potential profits and limit potential losses. This means that the trading bot will automatically stop when either the profit or loss threshold is reached. This is a form of risk management that can potentially boost successful trades whilst limiting the impact of loss. For example, if a trader sets the profit threshold at 100 USD and the strategy exceeds 100 USD of profit from all trades, then the bot will stop running.","-1549673884":"The Oscar's Grind strategy provides a disciplined approach for incremental gains through systematic stake progression. When integrated into Deriv Bot with proper risk management like profit or loss thresholds, it offers traders a potentially powerful automated trading technique. However, traders should first thoroughly assess their risk tolerance and first try trading on a demo account in order to familiarise with the strategy before trading with real funds.","-655650222":"Exploring the Reverse D’Alembert strategy in Deriv Bot","-1864807973":"The Reverse D'Alembert strategy involves increasing your stake after a successful trade and reducing it after a losing trade by a predetermined number of units.","-809681645":"These are the trade parameters used in Deriv Bot with Reverse D’Alembert strategy.","-1239374257":"An example of Reverse D’Alembert strategy","-309821442":"Please be aware that while we may use rounded figures for illustration, a stake of a specific amount does not guarantee an exact amount in successful trades. For example, a 1 USD stake does not necessarily equate to a 1 USD profit in successful trades.","-1576691912":"This article explores the Reverse Martingale strategy integrated into Deriv Bot, a versatile trading bot designed to trade assets such as forex, commodities, and derived indices. We will delve into the strategy's core parameters, its application, and provide essential takeaways for traders looking to use the bot effectively.","-1934849823":"These are the trade parameters used in Deriv Bot with Reverse Martingale strategy.","-1021919630":"Multiplier: The multiplier used to increase your stake if your trade is successful. The value must be greater than 1.","-760516362":"3. If the first trade is a successful trade, Deriv Bot will automatically double your stake for the next trade to 2 USD. Deriv Bot will continue to double the stake after every successful trade.","-1410950365":"Exploring the 1-3-2-6 strategy in Deriv Bot","-1175255072":"These are the trade parameters used in Deriv Bot with 1-3-2-6 strategy.","-183884527":"An example of 1-3-2-6 strategy","-275617819":"4. However, if any trade results in a loss, your stake will reset back to the initial stake of 1 USD for the next trade. The third trade results in a loss hence the stake resets to the initial stake of 1 USD for the next trade.","-719846465":"5. Upon reaching the initial stake, if the next trade still results in a loss, your stake will remain at the initial stake of 1 USD. This strategy will minimally trade at the initial stake. Refer to the fourth and fifth trade.","-1452746011":"The 1-3-2-6 strategy in trading may offer substantial gains but also comes with significant risks. Each stake is independent, and the strategy does not increase your chances of successful trades in the long run. If you encounter a series of losses, the strategy can lead to significant losses. Therefore, it is crucial for traders to assess their risk tolerance, practice in a demo account, utilise profit and loss thresholds, and fully comprehend the strategy before engaging in real-money trading.","-1016171176":"Asset","-138833194":"The underlying market your bot will trade with this strategy.","-621128676":"Trade type","-399349239":"Your bot will use this trade type for every run","-410856998":"The bot will stop trading if your total profit exceeds this amount.","-447853970":"Loss threshold","-33106112":"The size used to multiply the stake after a successful trade for the next trade.","-1503301801":"The value must be equal or greater than {{ min }}","-1596504046":"Number of unit(s) to be added to the next trade after a successful trade. One unit is equivalent to the amount of initial stake.","-1521098535":"Max stake","-1448426542":"The stake for your next trade will reset to the initial stake if it exceeds this value.","-993953307":"Your prediction of the last digit of the asset price.","-1305281529":"D’Alembert","-1842451303":"Welcome to Deriv Bot!","-1391310674":"Check out these guides and FAQs to learn more about building your bot:","-2066779239":"FAQs","-280324365":"What is Deriv Bot?","-155173714":"Let’s build a bot!","-1919212468":"3. You can also search for the blocks you want using the search bar above the categories.","-1520558271":"For more info, check out this blog post on the basics of building a trading bot.","-980360663":"3. Choose the block you want and drag it to the workspace.","-1493168314":"What is a quick strategy?","-1680391945":"Using a quick strategy","-1177914473":"How do I save my strategy?","-271986909":"In Bot Builder, hit Save on the toolbar at the top to download your bot. Give your bot a name, and choose to download your bot to your device or Google Drive. Your bot will be downloaded as an XML file.","-1149045595":"1. After hitting Import, select Local and click Continue.","-288041546":"2. Select your XML file and hit Open.","-2127548288":"3. Your bot will be loaded accordingly.","-1311297611":"1. After hitting Import, select Google Drive and click Continue.","-1549564044":"How do I reset the workspace?","-1127331928":"In Bot Builder, hit Reset on the toolbar at the top. This will clear the workspace. Please note that any unsaved changes will be lost.","-1720444288":"How do I control my losses with Deriv Bot?","-1142295124":"There are several ways to control your losses with Deriv Bot. Here’s a simple example of how you can implement loss control in your strategy:","-2129119462":"1. Create the following variables and place them under Run once at start:","-1918487001":"Example:","-468926787":"This is how your trade parameters, variables, and trade options should look like:","-1565344891":"Can I run Deriv Bot on multiple tabs in my web browser?","-90192474":"Yes, you can. However, there are limits on your account, such as maximum number of open positions and maximum aggregate payouts on open positions. So, just keep these limits in mind when opening multiple positions. You can find more info about these limits at Settings > Account limits.","-213872712":"No, we don't offer cryptocurrencies on Deriv Bot.","-2147346223":"In which countries is Deriv Bot available?","-352345777":"What are the most popular strategies for automated trading?","-552392096":"Three of the most commonly used strategies in automated trading are Martingale, D'Alembert, and Oscar's Grind — you can find them all ready-made and waiting for you in Deriv Bot.","-1630262763":"About Martingale","-413928457":"About Oscar's Grind","-1497015866":"About Reverse D’Alembert","-437005403":"About 1-3-2-6","-590765322":"Unfortunately, this trading platform is not available for EU Deriv account. Please switch to a non-EU account to continue trading.","-2110207996":"Deriv Bot is unavailable for this account","-971295844":"Switch to another account","-1194079833":"Deriv Bot is not available for EU clients","-746652890":"Notifications","-824109891":"System","-507620484":"Unsaved","-764102808":"Google Drive","-749186458":"Account switching is disabled while your bot is running. Please stop your bot before switching accounts.","-597939268":"Keep my contract","-1322453991":"You need to log in to run the bot.","-236548954":"Contract Update Error","-1428017300":"THE","-1450728048":"OF","-255051108":"YOU","-1845434627":"IS","-931434605":"THIS","-740712821":"A","-1223145005":"Loss amount: {{profit}}","-1206212388":"Welcome back! Your messages have been restored. You are using your {{current_currency}} account.","-1724342053":"You are using your {{current_currency}} account.","-187634388":"This block is mandatory. Here is where you can decide if your bot should continue trading. Only one copy of this block is allowed.","-2105473795":"The only input parameter determines how block output is going to be formatted. In case if the input parameter is \"string\" then the account currency will be added.","-1800436138":"2. for \"number\": 1325.68","-530632460":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of \"True\" or \"False\".","-1875717842":"Examples:","-890079872":"1. If the selected direction is \"Rise\", and the previous tick value is less than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-489739641":"2. If the selected direction is \"Fall\", and the previous tick value is more than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-2116076360":"There are 4 message types:","-1421941045":"2. 'Warn' displays a message in yellow to highlight something that needs attention.","-277850921":"If \"Win\" is selected, it will return \"True\" if your last trade was successful. Otherwise, it will return an empty string.","-2139916657":"1. In the below example the loop is terminated in case \"x\" is \"False\" even though only one iteration is complete","-1238900333":"2. In the below example the loop jumps to the next iteration without executing below block in case if \"x\" is \"False\"","-1729479576":"You can use \"i\" inside the loop, for example to access list items","-1474636594":"In this example, the loop will repeat three times, as that is the number of items in the given list. During each iteration, the variable \"i\" will be assigned a value from the list. ","-908772734":"This block evaluates a statement and will perform an action only when the statement is true.","-334040831":"2. In this example, the instructions are repeated as long as the value of x is greater than or equal to 10. Once the value of x drops below 10, the loop is terminated.","-444267958":"\"Seconds Since Epoch\" block returns the number of seconds since January 1st, 1970.","-447522129":"You might need it when you want to repeat an actions after certain amount of time.","-1488259879":"The term \"candle\" refers to each bar on the candlestick chart. Each candle represents four market prices for the selected time interval:","-2020693608":"Each candlestick on the chart represents 4 market prices for the selected time interval:","-62728852":"- Open price: the opening price","-1247744334":"- Low price: the lowest price","-1386365697":"- Close price: the closing price","-1498732382":"A black (or red) candle indicates that the open price is higher than the close price. This represents a downward movement of the market price.","-1871864755":"This block gives you the last digit of the latest tick value of the selected market. If the latest tick value is 1410.90, this block will return 0. It’s useful for digit-based contracts such as Even/Odd, Matches/Differs, or Higher/Lower.","-1029671512":"In case if the \"OR\" operation is selected, the block returns \"True\" in case if one or both given values are \"True\"","-210295176":"Available operations:","-1385862125":"- Addition","-983721613":"- Subtraction","-854750243":"- Multiplication","-1394815185":"In case if the given number is less than the lower boundary of the range, the block returns the lower boundary value. Similarly, if the given number is greater than the higher boundary, the block will return the higher boundary value. In case if the given value is between boundaries, the block will return the given value unchanged.","-1034564248":"In the below example the block returns the value of 10 as the given value (5) is less than the lower boundary (10)","-2009817572":"This block performs the following operations to a given number","-671300479":"Available operations are:","-514610724":"- Absolute","-1923861818":"- Euler’s number (2.71) to the power of a given number","-1556344549":"Here’s how:","-1061127827":"- Visit the following URL, make sure to replace with the Telegram API token you created in Step 1: https://api.telegram.org/bot/getUpdates","-311389920":"In this example, the open prices from a list of candles are assigned to a variable called \"cl\".","-1460794449":"This block gives you a list of candles within a selected time interval.","-1634242212":"Used within a function block, this block returns a value when a specific condition is true.","-2012970860":"This block gives you information about your last contract.","-1504783522":"You can choose to see one of the following:","-10612039":"- Profit: the profit you’ve earned","-555996976":"- Entry time: the starting time of the contract","-1391071125":"- Exit time: the contract expiration time","-1961642424":"- Exit value: the value of the last tick of the contract","-111312913":"- Barrier: the barrier value of the contract (applicable to barrier-based trade types such as stays in/out, touch/no touch, etc.)","-674283099":"- Result: the result of the last contract: \"win\" or \"loss\"","-704543890":"This block gives you the selected candle value such as open price, close price, high price, low price, and open time. It requires a candle as an input parameter.","-482281200":"In the example below, the open price is assigned to the variable \"op\".","-364621012":"This block gives you the specified candle value for a selected time interval. You can choose which value you want:","-232477769":"- Open: the opening price","-610736310":"Use this block to sell your contract at the market price. Selling your contract is optional. You may choose to sell if the market trend is unfavourable.","-1307657508":"This block gives you the potential profit or loss if you decide to sell your contract. It can only be used within the \"Sell conditions\" root block.","-1921072225":"In the example below, the contract will only be sold if the potential profit or loss is more than the stake.","-955397705":"SMA adds the market price in a list of ticks or candles for a number of time periods, and divides the sum by that number of time periods.","-1424923010":"where n is the number of periods.","-1835384051":"What SMA tells you","-749487251":"SMA serves as an indicator of the trend. If the SMA points up then the market price is increasing and vice versa. The larger the period number, the smoother SMA line is.","-1996062088":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 10 days.","-1866751721":"Input list accepts a list of ticks or candles, while period is the specified time period.","-1097076512":"You may compare SMA values calculated on every bot run to identify the market trend direction. Alternatively, you may also use a variation of the SMA block, the Simple Moving Average Array block. ","-1254849504":"If a period of 10 is entered, the Simple Moving Average Array block will return a list of SMA values calculated based on period of 10.","-1190046167":"This block displays a dialog box with a customised message. When the dialog box is displayed, your strategy is paused and will only resume after you click \"OK\".","-859028989":"In this example, the date and time will be displayed in a green notification box.","-1452086215":"In this example, a Rise contract will be purchased at midnight on 1 August 2019.","-2078588404":"Select your desired market and asset type. For example, Forex > Major pairs > AUD/JPY","-2037446013":"2. Trade Type","-533927844":"Select your desired trade type. For example, Up/Down > Rise/Fall","-1192411640":"4. Default Candle Interval","-485434772":"8. Trade Options","-1827646586":"This block assigns a given value to a variable, creating the variable if it doesn't already exist.","-254421190":"List: ({{message_length}})","-555886064":"Won","-529060972":"Lost","-1062922595":"Reference ID (buy)","-2068574600":"Reference ID (sell)","-994038153":"Start Time","-1979852400":"Entry Spot","-427802309":"Profit/Loss","-224804428":"Transactions","-287223248":"No transaction or activity yet.","-418247251":"Download your journal.","-2123571162":"Download","-1616649196":"results","-90107030":"No results found","-984140537":"Add","-870004399":"<0>Bought: {{longcode}} (ID: {{transaction_id}})","-1211474415":"Filters","-186972150":"There are no messages to display","-558594655":"The bot is not running","-478946875":"The stats are cleared","-999254545":"All messages are filtered out","-934909826":"Load strategy","-1121028020":"or, if you prefer...","-254025477":"Select an XML file from your device","-1131095838":"Please upload an XML file","-523928088":"Create one or upload one from your local drive or Google Drive.","-1684205190":"Why can't I see my recent bots?","-2050879370":"1. Logged in from a different device","-811857220":"3. Cleared your browser cache","-625024929":"Leaving already?","-584289785":"No, I'll stay","-1435060006":"If you leave, your current contract will be completed, but your bot will stop running immediately.","-783058284":"Total stake","-2077494994":"Total payout","-1073955629":"No. of runs","-1729519074":"Contracts lost","-42436171":"Total profit/loss","-1856204727":"Reset","-1137823888":"Total payout since you last cleared your stats.","-992662695":"The number of times your bot has run since you last cleared your stats. Each run includes the execution of all the root blocks.","-1382491190":"Your total profit/loss since you last cleared your stats. It is the difference between your total payout and your total stake.","-24780060":"When you’re ready to trade, hit ","-2147110353":". You’ll be able to track your bot’s performance here.","-1442034178":"Contract bought","-2020280751":"Bot is stopping","-1436403979":"Contract closed","-411060180":"TradingView Chart","-627895223":"Exit spot","-2140412463":"Buy price","-1299484872":"Account","-2004386410":"Win","-266502731":"Transactions detailed summary","-1711732508":"Reference IDs","-386141434":"(Buy)","-482272687":"(Sell)","-1983189496":"ticks","-694277729":"(High)","-2028564707":"(Low)","-596238067":"Entry/Exit spot","-1823621139":"Quick Strategy","-1782602933":"Choose a template below and set your trade parameters.","-315611205":"Strategy","-1524489375":"(optional)","-150224710":"Yes, continue","-475765963":"Edit the amount","-1349897832":"Do not show this message again.","-984512425":"Minimum duration: {{ value }}","-2084091453":"The value must be equal or greater than {{ value }}","-657364297":"The value must be equal or less than {{ value }}","-1696412885":"Import","-320197558":"Sort blocks","-939764287":"Charts","-1566369363":"Zoom out","-1285759343":"Search","-1291088318":"Purchase conditions","-112876186":"Analysis","-1769584466":"Stats","-1133736197":"Utility","-1682372359":"Text","-907562847":"Lists","-1646497683":"Loops","-251326965":"Miscellaneous","-1692205739":"Import a bot from your computer or Google Drive, build it from scratch, or start with a quick strategy.","-1545070554":"Delete bot","-1972599670":"Your bot will be permanently deleted when you hit ","-1692956623":"Yes, delete.","-573479616":"Are you sure you want to delete it?","-786915692":"You are connected to Google Drive","-1256971627":"To import your bot from your Google Drive, you'll need to sign in to your Google account.","-1233084347":"To know how Google Drive handles your data, please review Deriv’s <0>Privacy policy.","-1150107517":"Connect","-1150390589":"Last modified","-1393876942":"Your bots:","-767342552":"Enter your bot name, choose to save on your computer or Google Drive, and hit ","-1372891985":"Save.","-1003476709":"Save as collection","-636521735":"Save strategy","-1953880747":"Stop my bot","-1899230001":"Stopping the current bot will load the Quick Strategy you just created to the workspace.","-2131847097":"Any open contracts can be viewed on the ","-563774117":"Dashboard","-683790172":"Now, <0>run the bot to test out the strategy.","-1127164953":"Hi! Hit <0>Start for a quick tour.","-358288026":"Note: You can also find this tutorial in the <0>Tutorials tab.","-129587613":"Got it, thanks!","-1793577405":"Build from scratch","-358753028":"Create your bot using our drag-and-drop blocks or click Quick Strategy to choose from the ready-to-use bot templates.","-1212601535":"Monitor the market","-21136101":"See how your bot is doing in real-time.","-631097919":"Click <0>Run when you want to start trading, and click <0>Stop when you want to stop.","-1999747212":"Want to retake the tour?","-782992165":"Step 1 :","-1207872534":"First, set the <0>Trade parameters block.","-1656388044":"First, set <0>Market to Derived > Continuous Indices > Volatility 100 (1s) Index.","-1706298865":"Then, set <0>Trade type to Up/Down > Rise/Fall.","-1834358537":"For <0>Default candle interval, set it to 1 minute","-1940971254":"For <0>Trade options, set it as below:","-512839354":"<0>Stake: USD 10 (min: 0.35 - max: 50000)","-753745278":"Step 2 :","-1056713679":"Then, set the <0>Purchase conditions block.","-245497823":"<0>2. Purchase conditions:","-916770284":"<0>Purchase: Rise","-758077259":"Step 3 :","-677396944":"Step 4 :","-295975118":"Next, go to <0>Utility tab under the Blocks menu. Tap the drop-down arrow and hit <0>Loops.","-698493945":"Step 5 :","-1992994687":"Now, tap the <0>Analysis drop-down arrow and hit <0>Contract.","-1844492873":"Go to the <0>Last trade result block and click + icon to add the <0>Result is Win block to the workspace.","-1547091772":"Then, drag the <0>Result is win into the empty slot next to <0>repeat until block.","-736400802":"Step 6 :","-732067680":"Finally, drag and add the whole <0>Repeat block to the <0>Restart trading conditions block.","-1411787252":"Step 1","-1109392787":"Learn how to build your bot from scratch using a simple strategy.","-1263822623":"You can import a bot from your mobile device or from Google drive, see a preview in the bot builder, and start trading by running the bot.","-563921656":"Bot Builder guide","-1596172043":"Quick strategy guides","-1765276625":"Click the multiplier drop-down menu and choose the multiplier value you want to trade with.","-1872233077":"Your potential profit will be multiplied by the multiplier value you’ve chosen.","-614454953":"To learn more about multipliers, please go to the <0>Multipliers page.","-662836330":"Would you like to keep your current contract or close it? If you decide to keep it running, you can check and close it later on the <0>Reports page.","-1717650468":"Online","-1309011360":"Open positions","-1597214874":"Trade table","-1929724703":"Compare CFD accounts","-883103549":"Account deactivated","-45873457":"NEW","-1190972431":"P2P-V2","-1837059346":"Buy / Sell","-1845037007":"Advertiser's page","-494667560":"Orders","-679691613":"My ads","-821418875":"Trader","-679102561":"Contract Details","-430118939":"Complaints policy","-1308346982":"Derived","-579984289":"Derived Demo","-1596515467":"Derived BVI","-222394569":"Derived Vanuatu","-328128497":"Financial","-533935232":"Financial BVI","-565431857":"Financial Labuan","-659955365":"Swap-Free","-291535132":"Swap-Free Demo","-1472945832":"Swap-Free SVG","-144803045":"Only numbers and these special characters are allowed: {{permitted_characters}}","-1450516268":"Only letters, numbers, space, hyphen, period, and apostrophe are allowed.","-1966032552":"The length of token should be 8.","-2128137611":"Should start with letter or number, and may contain hyphen and underscore.","-1590869353":"Up to {{decimal_count}} decimal places are allowed.","-2061307421":"Should be more than {{min_value}}","-1099941162":"Should be less than {{max_value}}","-1528188268":"Straight rows of keys are easy to guess","-1339903234":"Short keyboard patterns are easy to guess","-23980798":"Repeats like \"aaa\" are easy to guess","-235760680":"Avoid repeated words and characters","-1568933154":"Sequences like abc or 6543 are easy to guess","-725663701":"Avoid sequences","-1450768475":"Recent years are easy to guess","-1804838610":"Avoid years that are associated with you","-64849469":"Dates are often easy to guess","-2006915194":"Avoid dates and years that are associated with you","-2124205211":"A word by itself is easy to guess","-1095202689":"All-uppercase is almost as easy to guess as all-lowercase","-2137856661":"Reversed words aren't much harder to guess","-1885413063":"Predictable substitutions like '@' instead of 'a' don't help very much","-369258265":"This password is on the blacklist","-577777971":"You have reached the rate limit of requests per second. Please try later.","-206321775":"Fiat","-522767852":"DEMO","-433761292":"Switching to default account.","-405439829":"Sorry, you can't view this contract because it doesn't belong to this account.","-1590712279":"Gaming","-16448469":"Virtual","-2093768906":"{{name}} has released your funds.
Would you like to give your feedback?","-705744796":"Your demo account balance has reached the maximum limit, and you will not be able to place new trades. Reset your balance to continue trading from your demo account.","-2063700253":"disabled","-1585069798":"Please click the following link to complete your Appropriateness Test.","-1287141934":"Find out more","-367759751":"Your account has not been verified","-596690079":"Enjoy using Deriv?","-265932467":"We’d love to hear your thoughts","-1815573792":"Drop your review on Trustpilot.","-823349637":"Go to Trustpilot","-1204063440":"Set my account currency","-1601813176":"Would you like to increase your daily limits to {{max_daily_buy}} {{currency}} (buy) and {{max_daily_sell}} {{currency}} (sell)?","-1751632759":"Get a faster mobile trading experience with the <0>{{platform_name_go}} app!","-1164554246":"You submitted expired identification documents","-219846634":"Let’s verify your ID","-529038107":"Install","-1738575826":"Please switch to your real account or create one to access the cashier.","-1329329028":"You’ve not set your 30-day turnover limit","-132893998":"Your access to the cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to Self-exclusion and set the limit.","-1852207910":"MT5 withdrawal disabled","-764323310":"MT5 withdrawals have been disabled on your account. Please check your email for more details.","-1744163489":"Please verify your proof of income","-382676325":"To continue trading with us, please submit your proof of income.","-1902997828":"Refresh now","-753791937":"A new version of Deriv is available","-1775108444":"This page will automatically refresh in 5 minutes to load the latest version.","-1175685940":"Please contact us via live chat to enable withdrawals.","-493564794":"Please complete your financial assessment.","-1125797291":"Password updated.","-157145612":"Please log in with your updated password.","-1728185398":"Resubmit proof of address","-612396514":"Please resubmit your proof of address.","-1519764694":"Your proof of address is verified.","-1629185222":"Submit now","-1961967032":"Resubmit proof of identity","-117048458":"Please submit your proof of identity.","-1196422502":"Your proof of identity is verified.","-1392958585":"Please check your email.","-136292383":"Your proof of address verification is pending","-386909054":"Your proof of address verification has failed","-430041639":"Your proof of address did not pass our verification checks, and we’ve placed some restrictions on your account. Please resubmit your proof of address.","-87177461":"Please go to your account settings and complete your personal details to enable deposits.","-904632610":"Reset your balance","-470018967":"Reset balance","-156611181":"Please complete the financial assessment in your account settings to unlock it.","-1925176811":"Unable to process withdrawals in the moment","-980696193":"Withdrawals are temporarily unavailable due to system maintenance. You can make withdrawals when the maintenance is complete.","-1647226944":"Unable to process deposit in the moment","-488032975":"Deposits are temporarily unavailable due to system maintenance. You can make deposits when the maintenance is complete.","-2136953532":"Scheduled cashier maintenance","-849587074":"You have not provided your tax identification number","-47462430":"This information is necessary for legal and regulatory requirements. Please go to your account settings, and fill in your latest tax identification number.","-2067423661":"Stronger security for your Deriv account","-1719731099":"With two-factor authentication, you’ll protect your account with both your password and your phone - so only you can access your account, even if someone knows your password.","-949074612":"Please contact us via live chat.","-2087822170":"You are offline","-1669693571":"Check your connection.","-1706642239":"<0>Proof of ownership <1>required","-553262593":"<0><1>Your account is currently locked <2><3>Please upload your proof of <4>ownership to unlock your account. <5>","-1834929362":"Upload my document","-1043638404":"<0>Proof of ownership <1>verification failed","-1766760306":"<0><1>Please upload your document <2>with the correct details. <3>","-8892474":"Start assessment","-1330929685":"Please submit your proof of identity and proof of address to verify your account and continue trading.","-99461057":"Please submit your proof of address to verify your account and continue trading.","-577279362":"Please submit your proof of identity to verify your account and continue trading.","-197134911":"Your proof of identity is expired","-152823394":"Your proof of identity has expired. Please submit a new proof of identity to verify your account and continue trading.","-822813736":"We're unable to complete with the Wallet upgrade. Please try again later or contact us via live chat.","-285366843":"We are going to update the login process for your Deriv MT5 account.","-978414767":"We require additional information for your Deriv MT5 account(s). Please take a moment to update your information now.","-2142540205":"It appears that the address in your document doesn’t match the address in your Deriv profile. Please update your personal details now with the correct address.","-482715448":"Go to Personal details","-2072411961":"Your proof of address has been verified","-384887227":"Update the address in your profile.","-1470677931":"CFDs on financial instruments.","-1998049070":"If you agree to our use of cookies, click on Accept. For more information, <0>see our policy.","-402093392":"Add Deriv Account","-1721181859":"You’ll need a {{deriv_account}} account","-1989074395":"Please add a {{deriv_account}} account first before adding a {{dmt5_account}} account. Deposits and withdrawals for your {{dmt5_label}} account are done by transferring funds to and from your {{deriv_label}} account.","-689237734":"Proceed","-1642457320":"Help centre","-1966944392":"Network status: {{status}}","-181484419":"Responsible trading","-650505513":"Full screen","-1823504435":"View notifications","-1954045170":"No currency assigned","-1591792668":"Account Limits","-34495732":"Regulatory information","-1496158755":"Go to Deriv.com","-1323441180":"I hereby confirm that my request for opening an account with Deriv to trade OTC products issued and offered exclusively outside Brazil was initiated by me. I fully understand that Deriv is not regulated by CVM and by approaching Deriv I intend to set up a relation with a foreign company.","-1396326507":"Unfortunately, {{website_name}} is not available in your country.","-288996254":"Unavailable","-1019903756":"Synthetic","-735306327":"Manage accounts","-1813972756":"Account creation paused for 24 hours","-366030582":"Sorry, you're unable to create an account at this time. As you declined our previous risk warnings, we need you to wait for 24 hours after your first account creation attempt before you can proceed.<0/><0/>","-534047566":"Thank you for your understanding. You can create your account on {{real_account_unblock_date}} or later.","-399816343":"Trading Experience Assessment<0/>","-1822498621":"As per our regulatory obligations, we are required to assess your trading knowledge and experience.<0/><0/>Please click ‘OK’ to continue","-71049153":"Keep your account secure with a password","-1861974537":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters, numbers, and symbols.","-1965920446":"Start trading","-1485242688":"Step {{step}}: {{step_title}} ({{step}} of {{steps}})","-1829842622":"You can open an account for each cryptocurrency.","-987221110":"Choose a currency you would like to trade with.","-1066574182":"Choose a currency","-1914534236":"Choose your currency","-200560194":"Please switch to your {{fiat_currency}} account to change currencies.","-1829493739":"Choose the currency you would like to trade with.","-1814647553":"Add a new","-1269362917":"Add new","-650480777":"crypto account","-175638343":"Choose an account or add a new one","-1768223277":"Your account is ready","-1215717784":"<0>You have successfully changed your currency to {{currency}}.<0>Make a deposit now to start trading.","-1775006840":"Make a deposit now to start trading.","-983734304":"We need proof of your identity and address before you can start trading.","-917733293":"To get trading, please confirm where you live.","-1282628163":"You'll be able to get trading as soon as verification is complete.","-952649119":"Log In","-3815578":"Sign Up","-1456176427":"Set a currency for your real account","-1329687645":"Create a cryptocurrency account","-1429178373":"Create a new account","-1740162250":"Manage account","-1016775979":"Choose an account","-1362081438":"Adding more real accounts has been restricted for your country.","-1602122812":"24-hour Cool Down Warning","-1519791480":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the risk of losing your money. <0/><0/>\n As you have declined our previous warning, you would need to wait 24 hours before you can proceed further.","-1010875436":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, kindly note that you would need to wait 24 hours before you can proceed further.","-1725418054":"By clicking ‘Accept’ and proceeding with the account opening, you should note that you may be exposing yourself to risks. These risks, which may be significant, include the risk of losing the entire sum invested, and you may not have the knowledge and experience to properly assess or mitigate them.","-1369294608":"Already signed up?","-730377053":"You can’t add another real account","-2100785339":"Invalid inputs","-2061807537":"Something’s not right","-617844567":"An account with your details already exists.","-1534648620":"Your password has been changed","-596199727":"We will now redirect you to the login page.","-310434518":"The email input should not be empty.","-437918412":"No currency assigned to your account","-1193651304":"Country of residence","-707550055":"We need this to make sure our service complies with laws and regulations in your country.","-280139767":"Set residence","-601615681":"Select theme","-1152511291":"Dark","-1428458509":"Light","-1976089791":"Your Deriv account has been unlinked from your {{social_identity_provider}} account. You can now log in to Deriv using your new email address and password.","-505449293":"Enter a new password for your Deriv account.","-1728963310":"Stop creating an account?","-703818088":"Only log in to your account at this secure link, never elsewhere.","-1235799308":"Fake links often contain the word that looks like \"Deriv\" but look out for these differences.","-2102997229":"Examples","-82488190":"I've read the above carefully.","-97775019":"Do not trust and give away your credentials on fake websites, ads or emails.","-2142491494":"OK, got it","-611136817":"Beware of fake links.","-1342699195":"Total profit/loss:","-1941013000":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}, {{legal_entity_name_fx}}, and {{legal_entity_name_v}}.","-594812204":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}.","-813256361":"We are committed to treating our clients fairly and providing them with excellent service.<0/><1/>We would love to hear from you on how we can improve our services to you. Any information you provide will be treated in the strictest confidence. Rest assured that you will be heard, valued, and always treated fairly.","-1622847732":"If you have an inquiry regarding your trading account with {{legal_entity_name}}, you can contact us through our <0>Help centre or by chatting with a representative via <1>Live Chat.<2/><3/>We are committed to resolving your query in the quickest time possible and appreciate your patience in allowing us time to resolve the matter.<4/><5/>We strive to provide the best possible service and support to our customers. However, in the event that we are unable to resolve your query or if you feel that our response is unsatisfactory, we want to hear from you. We welcome and encourage you to submit an official complaint to us so that we can review your concerns and work towards a resolution.","-1406192787":"If you are not satisfied with the outcome, you can escalate your complaint to the <0>Financial Commission.","-2115348800":"1. Introduction","-744009523":"2. Fair treatment","-866831420":"3.1. Submission of a complaint","-1102904026":"3.2. Handling your complaint","-603378979":"3.3. Resolving your complaint","-697569974":"3.4. Your decision","-1280998762":"4. Complaints","-1886635232":"A complaint is any expression of dissatisfaction by a client regarding our products or services that requires a formal response.<0/><1/>If what you submit does not fall within the scope of a complaint, we may reclassify it as a query and forward it to the relevant department for handling. However, if you believe that your query should be classified as a complaint due to its relevance to the investment services provided by {{legal_entity_name}}, you may request that we reclassify it accordingly.","-1771496016":"To submit a complaint, please send an email to <0>complaints@deriv.com, providing as much detail as possible. To help us investigate and resolve your complaint more efficiently, please include the following information:","-1197243525":"<0>•A clear and detailed description of your complaint, including any relevant dates, times, and transactions","-1795134892":"<0>•Any relevant screenshots or supporting documentation that will assist us in understanding the issue","-2053887036":"4.4. Handling your complaint","-717170429":"Once we have received the details of your complaint, we shall review it carefully and keep you updated on the handling process. We might request further information or clarifications to facilitate the resolution of the complaint.","-1841922393":"4.5. Resolving your complaint","-1327119795":"4.6. Your decision","-2019654103":"If we are unable to resolve your complaint or you are not satisfied with the outcome, you can escalate your complaint to the Office of the Arbiter for Financial Services.<0/><1/><2>Filing complaints with the Office of the Arbiter for Financial Services","-687172857":"<0>•You may file a complaint with the Arbiter for Financial Services only if you are not satisfied with our decision or the decision wasn’t made within 15 business days.","-262934706":"<0>•If the complaint is accepted by the Arbiter, you will receive another email with further details relating to the payment of the €25 complaint fee and the processes that follow.","-993572476":"<0>b.The Financial Commission has 5 days to acknowledge that your complaint was received and 14 days to answer the complaint through our Internal Dispute Resolution (IDR) procedure.","-1769159081":"<0>c.You will be able to file a complaint with the Financial Commission only if you are not satisfied with our decision or the decision wasn’t made within 14 days.","-58307244":"3. Determination phase","-356618087":"<0>b.The DRC may request additional information from you or us, who must then provide the requested information within 7 days.","-945718602":"<0>b.If you agree with a DRC decision, you will need to accept it within 14 days. If you do not respond to the DRC decision within 14 days, the complaint is considered closed.","-1500907666":"<0>d.If the decision is made in our favour, you must provide a release for us within 7 days of when the decision is made, and the complaint will be considered closed.","-429248139":"5. Disclaimer","-818926350":"The Financial Commission accepts appeals for 45 days following the date of the incident and only after the trader has tried to resolve the issue with the company directly.","-1825471709":"A whole new trading experience on a powerful yet easy to use platform.","-981017278":"Automated trading at your fingertips. No coding needed.","-583559763":"Menu","-1685795001":"Demo Wallet","-319395348":"Looking for CFDs? Go to Trader’s Hub","-554054753":"Get started","-1364763296":"No need to remember a password","-1274467503":"Sync across devices","-2036288743":"Enhanced security with biometrics or screen lock ","-143216768":"Learn more about passkeys <0> here.","-778309978":"The link you clicked has expired. Ensure to click the link in the latest email in your inbox. Alternatively, enter your email below and click <0>Resend email for a new link.","-2007055538":"Information updated","-521477049":"We are going to update the login process for your Deriv MT5 account. Here is what you need to do when you want to log in via your MT5 mobile app starting from 7 February:","-749864644":"If you have trouble logging into your Deriv MT5 account, please follow this <0>guide.","-238296389":"Need help? Contact us via <0>live chat to assist you with any login questions.","-941870889":"The cashier is for real accounts only","-352838513":"It looks like you don’t have a real {{regulation}} account. To use the cashier, switch to your {{active_real_regulation}} real account, or get an {{regulation}} real account.","-1858915164":"Ready to deposit and trade for real?","-162753510":"Add real account","-1208519001":"You need a real Deriv account to access the cashier.","-715867914":"Successfully deposited","-1271218821":"Account added","-197631101":"Your funds will be available for trading once the verification of your account is complete.","-835056719":"We’ve received your documents","-55435892":"We’ll need 1 - 3 days to review your documents and notify you by email. You can practice with demo accounts in the meantime.","-1916578937":"<0>Explore the exciting new features that your Wallet offers.","-1724438599":"<0>You're almost there!","-1089300025":"We don’t charge deposit fees! Once your account is verified, you will be able to trade, make additional deposits, or withdraw funds.","-476018343":"Live Chat","-1471705969":"<0>{{title}}: {{trade_type_name}} on {{symbol}}","-1771117965":"Trade opened","-1856112961":"The URL you requested isn’t available","-304807228":"<0>You’re not logged in, or<0>Our services are unavailable in your country.","-1567989247":"Submit your proof of identity and address","-523602297":"Forex majors","-1303090739":"Up to 1:1500","-19213603":"Metals","-1264604378":"Up to 1:1000","-1728334460":"Up to 1:300","-646902589":"(US_30, US_100, US_500)","-705682181":"Malta","-1835174654":"1:30","-1647612934":"Spreads from","-1587894214":"about verifications needed.","-466784048":"Regulator/EDR","-2098459063":"British Virgin Islands","-1005069157":"Synthetic indices, basket indices, and derived FX","-1344709651":"40+","-1326848138":"British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114)","-1711743223":"Forex (standard/micro), stocks, stock indices, commodities, cryptocurrencies and ETFs","-1372141447":"Straight-through processing","-1969608084":"Forex and Cryptocurrencies","-800771713":"Labuan Financial Services Authority (licence no. MB/18/0024)","-1497128311":"80+","-1689815930":"You will need to submit proof of identity and address once you reach certain thresholds.","-1175785439":"Deriv (SVG) LLC (company no. 273 LLC 2020)","-139026353":"A selfie of yourself.","-1228847561":"Verification in review.","-618322245":"Verification successful.","-149461870":"Forex: standard/exotic","-1995163270":"ETFs","-651501076":"Derived - SVG","-865172869":"Financial - BVI","-1851765767":"Financial - Vanuatu","-558597854":"Financial - Labuan","-2052425142":"Swap-Free - SVG","-1192904361":"Deriv X Demo","-283929334":"Deriv cTrader Demo","-1269597956":"MT5 Platform","-1302404116":"Maximum leverage","-239789243":"(License no. SIBA/L/18/1114)","-941636117":"MetaTrader 5 Linux app","-1434036215":"Demo Financial","-1416247163":"Financial STP","-1637969571":"Demo Swap-Free","-1882063886":"Demo CFDs","-1347908717":"Demo Financial SVG","-1780324582":"SVG","-860609405":"Password","-742647506":"Fund transfer","-712681566":"Peer-to-peer exchange","-1267880283":"{{field_name}} is required","-2084509650":"{{field_name}} is not properly formatted.","-790488576":"Forgot password?","-476558960":"If you don’t have open positions","-1385484963":"Confirm to change your {{platform}} password","-1990902270":"This will change the password to all of your {{platform}} accounts.","-12535938":"*Volatility 250 Index, Volatility 150 Index, Boom 300 and Crash 300 Index","-201485855":"Up to","-700260448":"demo","-1769158315":"real","-1922462747":"Trader's hub","-16858060":"You have a new Deriv MT5 password to log in to your Deriv MT5 accounts on the web and mobile apps.","-1868608634":"Current password","-2092058806":"8 to 16 characters","-2051033705":"A special character such as ( _ @ ? ! / # )","-1762249687":"A lowercase letter","-535365199":"Enter your {{platform}} password to add a {{platform_name}} {{account}} account.","-184453418":"Enter your {{platform}} password","-393388362":"We’re reviewing your documents. This should take about 1 to 3 days.","-2057918502":"Hint: You may have entered your Deriv password, which is different from your {{platform}} password.","-267598687":"Congratulations, you have successfully created your <0/>{{category}} {{platform}} {{type}} account. To start trading, <1 />transfer funds <2 />from your Deriv account into this account.","-1475660820":"Your Deriv MT5 {{type}} account is ready. ","-1710177700":"Your demo {{type}} account is ready.","-1184248732":"Congratulations, you have successfully created your <0/>{{category}} {{platform}} {{type}} account. ","-1928229820":"Reset Deriv X investor password","-1969916895":"Your password must contain between 8-16 characters that include uppercase and lowercase letters, and at least one number and special character ( _ @ ? ! / # ).","-1087845020":"main","-1950683866":"investor","-1874242353":"Fund top up","-89838213":"You can top up your demo account with an additional <0> if your balance is <1> or less.","-1211122723":"{{ platform }} {{ account_title }} account","-78895143":"Current balance","-149993085":"New current balance","-1615126227":"Manage up to {{max_count}} Deriv cTrader accounts. While you can convert any of your Deriv cTrader accounts into a strategy account, please take note of the following:","-1547739386":"To ensure you can always create and manage strategies with fees, <0>keep at least one account free from being a strategy provider. This way, you’ll always have an account ready for collecting fees, allowing you to have up to four strategies where you may impose fees.","-2145356061":"Download Deriv X on your phone to trade with the Deriv X account","-1547458328":"Run cTrader on your browser","-747382643":"Get another cTrader account","-1986258847":"Server maintenance starts at 01:00 GMT every Sunday, and this process may take up to 2 hours to complete. Service may be disrupted during this time.","-499504077":"Choose a cTrader account to transfer","-251202291":"Broker","-678964540":"to","-206829624":"(1:x)","-616293830":"Enjoy dynamic leverage of <0>up to 1:1500 when trading selected instruments in the forex, commodities, cryptocurrencies, and stock indices markets. Our dynamic leverage adjusts automatically to your trading position, based on asset type and trading volume.","-2042845290":"Your investor password has been changed.","-1882295407":"Your password has been changed.","-254497873":"Use this password to grant viewing access to another user. While they may view your trading account, they will not be able to trade or take any other actions.","-161656683":"Current investor password","-374736923":"New investor password","-1793894323":"Create or reset investor password","-21438174":"Add your Deriv cTrader account under Deriv (SVG) LLC (company no. 273 LLC 2020).","-2026018074":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (SVG) LLC (company no. 273 LLC 2020).","-162320753":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (BVI) Ltd, regulated by the British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114).","-271828350":"Get more out of Deriv MT5 Financial","-2125860351":"Choose a jurisdiction for your Deriv MT5 CFDs account","-1460321521":"Choose a jurisdiction for your {{account_type}} account","-637537305":"Download {{ platform }} on your phone to trade with the {{ platform }} {{ account }} account","-964130856":"{{existing_account_title}}","-879259635":"Enter your Deriv MT5 password to upgrade your account(s).","-1504907646":"Deriv MT5 password","-361998267":"We've introduced additional password requirements to increase your account security. Your password should:","-996995493":"Be between 8 to 16 characters.","-219163415":"Contain at least one special character.","-1446636186":"By clicking on <0>Next you agree to move your {{platform}} {{type_1}} and {{type_2}} {{from_account}} account(s) under Deriv {{account_to_migrate}} Ltd’s <1>terms and conditions.","-1766387013":"Upgrade your MT5 account(s)","-990927225":"Enter your Deriv MT5 password","-1486399361":"Trade with MT5 mobile app","-301350824":"Note: Don't have the MT5 app? Tap the <0>Trade with MT5 mobile app button to download. Once you have\n installed the app, return to this screen and hit the same button to log in.","-648956272":"Use this password to log in to your Deriv X accounts on the web and mobile apps.","-1814308691":"Please click on the link in the email to change your {{platform}} password.","-2015785957":"Compare CFDs {{demo_title}} accounts","-81650212":"MetaTrader 5 web","-508045656":"Coming soon on IOS","-601303096":"Scan the QR code to download Deriv {{ platform }}.","-1357917360":"Web terminal","-1282933308":"Not {{barrier}}","-968190634":"Equals {{barrier}}","-1747377543":"Under {{barrier}}","-1386326276":"Barrier is a required field.","-1418742026":"Higher barrier must be higher than lower barrier.","-92007689":"Lower barrier must be lower than higher barrier.","-1095538960":"Please enter the start time in the format \"HH:MM\".","-1975910372":"Minute must be between 0 and 59.","-866277689":"Expiry time cannot be in the past.","-1455298001":"Now","-256210543":"Trading is unavailable at this time.","-1150099396":"We’re working to have this available for you soon. If you have another account, switch to that account to continue trading. You may add a Deriv MT5 Financial.","-28115241":"{{platform_name_trader}} is not available for this account","-453920758":"Go to {{platform_name_mt5}} dashboard","-402175529":"History","-1013917510":"The reset time is {{ reset_time }}","-925402280":"Indicative low spot","-1075414250":"High spot","-902712434":"Deal cancellation","-988484646":"Deal cancellation (executed)","-444882676":"Deal cancellation (active)","-13423018":"Reference ID","-1371082433":"Reset barrier","-1402197933":"Reset time","-2035315547":"Low barrier","-1745835713":"Selected tick","-1551639437":"No history","-1214703885":"You have yet to update either take profit or stop loss","-504849554":"It will reopen at","-59803288":"In the meantime, try our synthetic indices. They simulate real-market volatility and are open 24/7.","-1278109940":"See open markets","-694105443":"This market is closed","-104603605":"You cannot trade as your documents are still under review. We will notify you by email once your verification is approved.","-439389714":"We’re working on it","-770929448":"Go to {{platform_name_smarttrader}}","-347156282":"Submit Proof","-138538812":"Log in or create a free account to place a trade.","-2036388794":"Create free account","-1813736037":"No further trading is allowed on this contract type for the current trading session. For more info, refer to our <0>terms and conditions.","-1043795232":"Recent positions","-153220091":"{{display_value}} Tick","-802374032":"Hour","-1052279158":"Your <0>payout is the sum of your initial stake and profit.","-1819891401":"You can close your trade anytime. However, be aware of <0>slippage risk.","-231957809":"Win maximum payout if the exit spot is higher than or equal to the upper barrier.","-464144986":"Win maximum payout if the exit spot is lower than or equal to the lower barrier.","-1031456093":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between upper barrier and exit spot.","-968162707":"No payout if exit spot is above or equal to the upper barrier.","-2089488446":"If you select \"Ends Between\", you win the payout if the exit spot is strictly higher than the Low barrier AND strictly lower than the High barrier.","-1876950330":"If you select \"Ends Outside\", you win the payout if the exit spot is EITHER strictly higher than the High barrier, OR strictly lower than the Low barrier.","-546460677":"If the exit spot is equal to either the Low barrier or the High barrier, you don't win the payout.","-1929209278":"If you select \"Even\", you will win the payout if the last digit of the last tick is an even number (i.e., 2, 4, 6, 8, or 0).","-2038865615":"If you select \"Odd\", you will win the payout if the last digit of the last tick is an odd number (i.e., 1, 3, 5, 7, or 9).","-1959473569":"If you select \"Lower\", you win the payout if the exit spot is strictly lower than the barrier.","-1350745673":"If the exit spot is equal to the barrier, you don't win the payout.","-93996528":"By purchasing the \"Close-to-Low\" contract, you'll win the multiplier times the difference between the close and low over the duration of the contract.","-420387848":"The high is the highest point ever reached by the market during the contract period.","-1722190480":"By purchasing the \"High-to-Low\" contract, you'll win the multiplier times the difference between the high and low over the duration of the contract.","-1281286610":"If you select \"Matches\", you will win the payout if the last digit of the last tick is the same as your prediction.","-618782785":"Use multipliers to leverage your potential returns. Predict if the asset price will move upward (bullish) or downward (bearish). We’ll charge a commission when you open a multipliers trade.","-565391674":"If you select \"<0>Up\", your total profit/loss will be the percentage increase in the underlying asset price, times the multiplier and stake, minus commissions.","-1113825265":"Additional features are available to manage your positions: “<0>Take profit” and “<0>Stop loss” allow you to adjust your level of risk aversion.","-1104397398":"Additional features are available to manage your positions: “<0>Take profit”, “<0>Stop loss” and “<0>Deal cancellation” allow you to adjust your level of risk aversion.","-1272255095":"If the exit spot is equal to the barrier or the new barrier (if a reset occurs), you don't win the payout.","-1392065699":"If you select \"Rise\", you win the payout if the exit spot is strictly higher than the entry spot.","-1762566006":"If you select \"Fall\", you win the payout if the exit spot is strictly lower than the entry spot.","-1435306976":"If you select \"Allow equals\", you win the payout if exit spot is higher than or equal to entry spot for \"Rise\". Similarly, you win the payout if exit spot is lower than or equal to entry spot for \"Fall\".","-1812957362":"If you select \"Stays Between\", you win the payout if the market stays between (does not touch) either the High barrier or the Low barrier at any time during the contract period","-220379757":"If you select \"Goes Outside\", you win the payout if the market touches either the High barrier or the Low barrier at any time during the contract period.","-299450697":"If you select \"High Tick\", you win the payout if the selected tick is the highest among the next five ticks.","-1416078023":"If you select \"Touch\", you win the payout if the market touches the barrier at any time during the contract period.","-1565216130":"If you select <0>\"Up\", you’ll earn a payout if the spot price never drops below the barrier.","-1336860323":"If you select <0>\"Down\", you’ll earn a payout if the spot price never rises above the barrier.","-1547935605":"Your payout is equal to the <0>payout per point multiplied by the difference between the <0>final price and the barrier. You will only earn a profit if your payout is higher than your initial stake.","-1307465836":"You may sell the contract up to 15 seconds before expiry. If you do, we’ll pay you the <0>contract value.","-351875097":"Number of ticks","-729830082":"View less","-1649593758":"Trade info","-1382749084":"Go back to trading","-1239477911":"second","-1585766960":"min","-1652791614":"mins","-1977959027":"hours","-442488432":"day","-337314714":"days","-1435392215":"About deal cancellation","-2017825013":"Got it","-1192773792":"Don't show this again","-1341681145":"When this is active, you can cancel your trade within the chosen time frame. Your stake will be returned without loss.","-471757681":"Risk management","-843831637":"Stop loss","-771725194":"Deal Cancellation","-1669741470":"The payout at expiry is equal to the payout per point multiplied by the difference between the final price and the strike price.","-993480898":"Accumulators","-2131851017":"Growth rate","-1422269966":"You can choose a growth rate with values of 1%, 2%, 3%, 4%, and 5%.","-1186791513":"Payout is the sum of your initial stake and profit.","-1682624802":"It is a percentage of the previous spot price. The percentage rate is based on your choice of the index and the growth rate.","-1186082278":"Your payout is equal to the payout per point multiplied by the difference between the final price and barrier.","-584445859":"This is when your contract will expire based on the duration or end time you’ve selected. If the duration is more than 24 hours, the cut-off time and expiry date will apply instead.","-1221049974":"Final price","-1247327943":"This is the spot price of the last tick at expiry.","-1890561510":"Cut-off time","-878534036":"If you select \"Call\", you’ll earn a payout if the final price is above the strike price at expiry. Otherwise, you won’t receive a payout.","-1587076792":"If you select \"Put\", you’ll earn a payout if the final price is below the strike price at expiry. Otherwise, you won’t receive a payout.","-1482134885":"We calculate this based on the strike price and duration you’ve selected.","-565990678":"Your contract will expire on this date (in GMT), based on the End time you’ve selected.","-1545819495":"Your trade will be closed automatically at the nearest available asset price when your loss reaches a certain percentage of your stake, but your loss never exceeds your stake. This percentage depends on the chosen underlying asset and the Multiplier.","-468501352":"If you select this feature, your trade will be closed automatically at the nearest available asset price when your profit reaches or exceeds the take profit amount. Your profit may be more than the amount you entered depending on the market price at closing.","-477936848":"We use next-tick-execution mechanism, which is the next asset price when the trade opening is processed by our servers.","-1476381873":"The latest asset price when the trade closure is processed by our servers.","-148680560":"Spot price of the last tick upon reaching expiry.","-1123926839":"Contracts will expire at exactly 14:00:00 GMT on your selected expiry date.","-1904828224":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price, duration, etc. However, we won’t offer a contract value if the remaining duration is below 24 hours.","-127118348":"Choose {{contract_type}}","-543478618":"Try checking your spelling or use a different term","-338707425":"Minimum duration is 1 day","-1003473648":"Duration: {{duration}} day","-700280380":"Deal cancel. fee","-8998663":"Digit: {{last_digit}} ","-718750246":"Your stake will grow at {{growth_rate}}% per tick as long as the current spot price remains within ±{{tick_size_barrier_percentage}} from the previous spot price.","-1358367903":"Stake","-542594338":"Max. payout","-690963898":"Your contract will be automatically closed when your payout reaches this amount.","-511541916":"Your contract will be automatically closed upon reaching this number of ticks.","-438655760":"<0>Note: You can close your trade anytime. Be aware of slippage risk.","-774638412":"Stake must be between {{min_stake}} {{currency}} and {{max_stake}} {{currency}}","-434270664":"Current Price","-1956787775":"Barrier Price:","-1513281069":"Barrier 2","-390994177":"Should be between {{min}} and {{max}}","-1231210510":"Tick","-2055106024":"Toggle between advanced and simple duration settings","-1012793015":"End time","-1804019534":"Expiry: {{date}}","-2037881712":"Your contract will be closed automatically at the next available asset price on <0>.","-629549519":"Commission <0/>","-2131859340":"Stop out <0/>","-1686280757":"<0>{{commission_percentage}}% of (<1/> * {{multiplier}})","-732683018":"When your profit reaches or exceeds this amount, your trade will be closed automatically.","-339236213":"Multiplier","-1763848396":"Put","-194424366":"above","-857660728":"Strike Prices","-1346404690":"You receive a payout at expiry if the spot price never touches or breaches the barrier throughout the contract duration. Otherwise, your contract will be terminated early.","-1572548510":"Ups & Downs","-71301554":"Ins & Outs","-952298801":"Look Backs","-763273340":"Digits","-2002533437":"Custom function","-215053350":"with:","-1257232389":"Specify a parameter name:","-1885742588":"with: ","-188442606":"function {{ function_name }} {{ function_params }} {{ dummy }}","-313112159":"This block is similar to the one above, except that this returns a value. The returned value can be assigned to a variable of your choice.","-1783320173":"Prematurely returns a value within a function","-1485521724":"Conditional return","-1482801393":"return","-46453136":"get","-1838027177":"first","-1182568049":"Get list item","-1675454867":"This block gives you the value of a specific item in a list, given the position of the item. It can also remove the item from the list.","-381501912":"This block creates a list of items from an existing list, using specific item positions.","-426766796":"Get sub-list","-1679267387":"in list {{ input_list }} find {{ first_or_last }} occurence of item {{ input_value }}","-2087996855":"This block gives you the position of an item in a given list.","-422008824":"Checks if a given list is empty","-1343887675":"This block checks if a given list is empty. It returns “True” if the list is empty, “False” if otherwise.","-1548407578":"length of {{ input_list }}","-1786976254":"This block gives you the total number of items in a given list.","-2113424060":"create list with item {{ input_item }} repeated {{ number }} times","-1955149944":"Repeat an item","-434887204":"set","-197957473":"as","-851591741":"Set list item","-1874774866":"ascending","-1457178757":"Sorts the items in a given list","-350986785":"Sort list","-324118987":"make text from list","-155065324":"This block creates a list from a given string of text, splitting it with the given delimiter. It can also join items in a list into a string of text.","-459051222":"Create list from text","-977241741":"List Statement","-451425933":"{{ break_or_continue }} of loop","-323735484":"continue with next iteration","-1592513697":"Break out/continue","-713658317":"for each item {{ variable }} in list {{ input_list }}","-1825658540":"Iterates through a given list","-952264826":"repeat {{ number }} times","-887757135":"Repeat (2)","-1608672233":"This block is similar to the block above, except that the number of times it repeats is determined by a given variable.","-533154446":"Repeat (1)","-1059826179":"while","-1893063293":"until","-279445533":"Repeat While/Until","-1003706492":"User-defined variable","-359097473":"set {{ variable }} to {{ value }}","-1588521055":"Sets variable value","-980448436":"Set variable","-1538570345":"Get the last trade information and result, then trade again.","-222725327":"Here is where you can decide if your bot should continue trading.","-1638446329":"Result is {{ win_or_loss }}","-1968029988":"Last trade result","-1588406981":"You can check the result of the last trade with this block.","-1459154781":"Contract Details: {{ contract_detail }}","-1652241017":"Reads a selected property from contract details list","-985351204":"Trade again","-2082345383":"These blocks transfer control to the Purchase conditions block.","-172574065":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract.","-403103225":"restart","-837044282":"Ask Price {{ contract_type }}","-1033917049":"This block returns the purchase price for the selected trade type.","-1863737684":"2. Purchase conditions","-228133740":"Specify contract type and purchase conditions.","-1098726473":"This block is mandatory. Only one copy of this block is allowed. You can place the Purchase block (see below) here as well as conditional blocks to define your purchase conditions.","-1777988407":"Payout {{ contract_type }}","-511116341":"This block returns the potential payout for the selected trade type","-1943211857":"Potential payout","-1738427539":"Purchase","-813464969":"buy","-53668380":"True if active contract can be sold before expiration at current market price","-43337012":"Sell profit/loss","-2112866691":"Returns the profit/loss from selling at market price","-2132417588":"This block gives you the potential profit or loss if you decide to sell your contract.","-1360483055":"set {{ variable }} to Bollinger Bands {{ band_type }} {{ dummy }}","-20542296":"Calculates Bollinger Bands (BB) from a list with a period","-1951109427":"Bollinger Bands (BB)","-857226052":"BB is a technical analysis indicator that’s commonly used by traders. The idea behind BB is that the market price stays within the upper and lower bands for 95% of the time. The bands are the standard deviations of the market price, while the line in the middle is a simple moving average line. If the price reaches either the upper or lower band, there’s a possibility of a trend reversal.","-325196350":"set {{ variable }} to Bollinger Bands Array {{ band_type }} {{ dummy }}","-199689794":"Similar to BB. This block gives you a choice of returning the values of either the lower band, higher band, or the SMA line in the middle.","-920690791":"Calculates Exponential Moving Average (EMA) from a list with a period","-960641587":"EMA is a type of moving average that places more significance on the most recent data points. It’s also known as the exponentially weighted moving average. EMA is different from SMA in that it reacts more significantly to recent price changes.","-1557584784":"set {{ variable }} to Exponential Moving Average Array {{ dummy }}","-32333344":"Calculates Moving Average Convergence Divergence (MACD) from a list","-628573413":"MACD is calculated by subtracting the long-term EMA (26 periods) from the short-term EMA (12 periods). If the short-term EMA is greater or lower than the long-term EMA than there’s a possibility of a trend reversal.","-1133676960":"Fast EMA Period {{ input_number }}","-883166598":"Period {{ input_period }}","-450311772":"set {{ variable }} to Relative Strength Index {{ dummy }}","-1861493523":"Calculates Relative Strength Index (RSI) list from a list of values with a period","-880048629":"Calculates Simple Moving Average (SMA) from a list with a period","-1150972084":"Market direction","-276935417":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of “True” or “False”.","-764931948":"in candle list get # from end {{ input_number }}","-924607337":"Returns the last digit of the latest tick","-560033550":"Returns the list of last digits of 1000 recent tick values","-74062476":"Make a List of {{ candle_property }} values in candles list with interval: {{ candle_interval_type }}","-1556495906":"Returns a list of specific values from a candle list according to selected time interval","-166816850":"Create a list of candle values (1)","-1261436901":"Candles List","-1174859923":"Read the selected candle value","-1972165119":"Read candle value (1)","-1956100732":"You can use this block to analyze the ticks, regardless of your trades","-443243232":"The content of this block is called on every tick. Place this block outside of any root block.","-641399277":"Last Tick","-1628954567":"Returns the value of the last tick","-1332756793":"This block gives you the value of the last tick.","-2134440920":"Last Tick String","-1466340125":"Tick value","-467913286":"Tick value Description","-785831237":"This block gives you a list of the last 1000 tick values.","-1546430304":"Tick List String Description","-1788626968":"Returns \"True\" if the given candle is black","-436010611":"Make a list of {{ candle_property }} values from candles list {{ candle_list }}","-1384340453":"Returns a list of specific values from a given candle list","-584859539":"Create a list of candle values (2)","-2010558323":"Read {{ candle_property }} value in candle {{ input_candle }}","-2846417":"This block gives you the selected candle value.","-1587644990":"Read candle value (2)","-1202212732":"This block returns account balance","-1737837036":"Account balance","-1963883840":"Put your blocks in here to prevent them from being removed","-1284013334":"Use this block if you want some instructions to be ignored when your bot runs. Instructions within this block won’t be executed.","-1217253851":"Log","-1987568069":"Warn","-104925654":"Console","-1956819233":"This block displays messages in the developer's console with an input that can be either a string of text, a number, boolean, or an array of data.","-1450461842":"Load block from URL: {{ input_url }}","-1088614441":"Loads blocks from URL","-1747943728":"Loads from URL","-2105753391":"Notify Telegram {{ dummy }} Access Token: {{ input_access_token }} Chat ID: {{ input_chat_id }} Message: {{ input_message }}","-1008209188":"Sends a message to Telegram","-1218671372":"Displays a notification and optionally play selected sound","-2099284639":"This block gives you the total profit/loss of your trading strategy since your bot started running. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-683825404":"Total Profit String","-718220730":"Total Profit String Description","-1861858493":"Number of runs","-264195345":"Returns the number of runs","-303451917":"This block gives you the total number of times your bot has run. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-2132861129":"Conversion Helper Block","-74095551":"Seconds Since Epoch","-15528039":"Returns the number of seconds since January 1st, 1970","-729807788":"This block returns the number of seconds since January 1st, 1970.","-1370107306":"{{ dummy }} {{ stack_input }} Run after {{ number }} second(s)","-558838192":"Delayed run","-1975250999":"This block converts the number of seconds since the Unix Epoch (1 January 1970) into a string of text representing the date and time.","-702370957":"Convert to date/time","-982729677":"Convert to timestamp","-311268215":"This block converts a string of text that represents the date and time into seconds since the Unix Epoch (1 January 1970). The time and time zone offset are optional. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825.","-1797602591":"Stop Loss: {{ currency }} {{ stop_loss }}","-1374685318":"Your contract is closed automatically when your loss is more than or equals to this amount. This block can only be used with the multipliers trade type.","-1214929127":"Stop loss must be a positive number.","-780745489":"If the contract type is “Both”, then the Purchase Conditions should include both Rise and Fall using the “Conditional Block\"","-2142851225":"Multiplier trade options","-625636913":"Amount must be a positive number.","-1466383897":"Duration: {{ duration_unit }} {{ duration_value }}","-440702280":"Trade options","-1193894978":"Define your trade options such as duration and stake. Some options are only applicable for certain trade types.","-46523443":"Duration value is not allowed. To run the bot, please enter a value between {{min}} to {{max}}.","-1483427522":"Trade Type: {{ trade_type_category }} > {{ trade_type }}","-323348124":"1. Trade parameters","-1671903503":"Run once at start:","-783173909":"Trade options:","-376956832":"Here is where you define the parameters of your contract.","-1244007240":"if {{ condition }} then","-1577206704":"else if","-33796979":"true","-1434883449":"This is a single block that returns a boolean value, either true or false.","-1946404450":"Compares two values","-979918560":"This block converts the boolean value (true or false) to its opposite.","-2047257743":"Null","-1274387519":"Performs selected logic operation","-766386234":"This block performs the \"AND\" or the \"OR\" logic operation.","-790995537":"test {{ condition }}","-1860211657":"if false {{ return_value }}","-1643760249":"This block tests if a given value is true or false and returns “True” or “False” accordingly.","-1551875333":"Test value","-52486882":"Arithmetical operations","-1010436425":"This block adds the given number to the selected variable","-999773703":"Change variable","-1272091683":"Mathematical constants","-1396629894":"constrain {{ number }} low {{ low_number }} high {{ high_number }}","-425224412":"This block constrains a given number so that it is within a set range.","-2072551067":"Constrain within a range","-43523220":"remainder of {{ number1 }} ÷ {{ number2 }}","-1291857083":"Returns the remainder after a division","-592154850":"Remainder after division","-736665095":"Returns the remainder after the division of the given numbers.","-1266992960":"Math Number Description","-77191651":"{{ number }} is {{ type }}","-817881230":"even","-142319891":"odd","-1000789681":"whole","-1735674752":"Test a number","-1017805068":"This block tests a given number according to the selection and it returns a value of “True” or “False”. Available options: Even, Odd, Prime, Whole, Positive, Negative, Divisible","-1858332062":"Number","-1053492479":"Enter an integer or fractional number into this block. Please use `.` as a decimal separator for fractional numbers.","-927097011":"sum","-1653202295":"max","-1555878023":"average","-1748351061":"mode","-992067330":"Aggregate operations","-1691561447":"This block gives you a random fraction between 0.0 to 1.0","-523625686":"Random fraction number","-933024508":"Rounds a given number to an integer","-1656927862":"This block rounds a given number according to the selection: round, round up, round down.","-1495304618":"absolute","-61210477":"Operations on a given number","-181644914":"This block performs the selected operations to a given number.","-840732999":"to {{ variable }} append text {{ input_text }}","-1469497908":"Appends a given text to a variable","-1851366276":"Text Append","-1666316828":"Appends a given text to a variable.","-1902332770":"Transform {{ input_text }} to {{ transform_type }}","-1489004405":"Title Case","-904432685":"Changes text case accordingly","-882381096":"letter #","-1027605069":"letter # from end","-2066990284":"random letter","-337089610":"in text {{ input_text1 }} find {{ first_or_last }} occurence of text {{ input_text2 }}","-1966694141":"Searches through a string of text for a specific occurrence of a given character or word, and returns the position.","-697543841":"Text join","-141160667":"length of {{ input_text }}","-1133072029":"Text String Length","-1109723338":"print {{ input_text }}","-736668830":"Print","-1631669591":"string","-1768939692":"number","-1821552998":"trim spaces from {{ side }} of {{ input_text }}","-801766026":"right side","-474779821":"Trims spaces","-1687036846":"Download block","-1266781295":"Expand","-894560707":"function","-1867119688":"Duplicate","-610728049":"Rearrange Vertically","-2033146714":"Collapse All Blocks","-958601558":"Delete Block","-1193267384":"Detach Block","-1750478127":"New variable name","-1061878051":"Y","-2047029150":"Unable to load the block file.","-1410769167":"Target must be an XML file","-609157479":"This URL is already loaded","-241945454":"Proposals are not ready","-1087890592":"Maximum loss amount reached","-1030545878":"You are rate limited for: {{ message_type }}, retrying in {{ delay }}s (ID: {{ request }})","-490766438":"You are disconnected, retrying in {{ delay }}s","-1389975609":"unknown","-1900515692":"Duration must be a positive integer","-245297595":"Please login","-1445046468":"Given candle is not valid","-1891622945":"{{hourPast}}h ago","-1919680487":"workspace","-1703118772":"The {{block_type}} block is misplaced from {{missing_space}}.","-1785726890":"purchase conditions","-461955353":"purchase price","-172348735":"profit","-1624674721":"contract type","-1644154369":"entry spot time","-510792478":"entry spot price","-1974651308":"exit spot time","-1600267387":"exit spot price","-514917720":"barrier","-1072292603":"No Change","-795152863":"green","-1640576332":"blue","-804983649":"yellow","-94281841":"red","-1242470654":"Earned money","-841561409":"Put Spread","-1429914047":"Low","-1893628957":"Open Time","-1896106455":"10 minutes","-999492762":"15 minutes","-1978767852":"30 minutes","-293628675":"1 hour","-385604445":"2 hours","-1965813351":"4 hours","-525321833":"1 day","-1691868913":"Touch/No Touch","-151151292":"Asians","-1048378719":"Reset Call/Reset Put","-1282312809":"High/Low Ticks","-1237186896":"Only Ups/Only Downs","-529846150":"Seconds","-1635771697":"middle","-1529389221":"Histogram","-1819860668":"MACD","-1750896349":"D'Alembert","-102980621":"The Oscar's Grind Strategy is a low-risk positive progression strategy that first appeared in 1965. By using this strategy, the size of your contract will increase after successful trades, but remains unchanged after unsuccessful trades.","-462715374":"Untitled Bot","-280147477":"All transactions","-137444201":"Buy","-130601012":"Please select duration","-232254547":"Custom","-1577570698":"Start date","-1251526905":"Last 7 days","-1904030160":"Transaction performed by (App ID: {{app_id}})","-1876891031":"Currency","-513103225":"Transaction time","-2066666313":"Credit/Debit","-1981004241":"Sell time","-1196431745":"Contract cost","-3423966":"Take profit<0 />Stop loss","-1131753095":"The {{trade_type_name}} contract details aren't currently available. We're working on making them available soon.","-360975483":"You've made no transactions of this type during this period.","-1226595254":"Turbos","-922253974":"Rise/Fall","-1361254291":"Higher/Lower","-335816381":"Ends In/Ends Out","-1789807039":"Asian Up/Asian Down","-330437517":"Matches/Differs","-657360193":"Over/Under","-558031309":"High Tick/Low Tick","-123659792":"Vanillas","-447037544":"Buy price:","-737348236":"Contract cost:","-1694314813":"Contract value:","-113940416":"Current stake:","-1999539705":"Deal cancel. fee:","-155989831":"Decrement value","-338379841":"Indicative price:","-2027409966":"Initial stake:","-1769852749":"N/A","-726626679":"Potential profit/loss:","-1511825574":"Profit/Loss:","-1167474366":"Tick ","-1669418686":"AUD/CAD","-1548588249":"AUD/CHF","-1552890620":"AUD/JPY","-681231560":"AUD/PLN","-64938413":"AUD/USD","-1430522808":"EUR/AUD","-2020477069":"EUR/CAD","-1201853162":"EUR/CHF","-1318070255":"EUR/GBP","-1197505739":"EUR/JPY","-405907358":"EUR/USD","-1536293064":"NZD/JPY","-79700881":"NZD/USD","-642323838":"USD/CAD","-428199705":"USD/CHF","-424108348":"USD/JPY","-548255282":"USD/NOK","-1834131208":"USD/PLN","-524302516":"Silver/USD","-764731776":"Platinum/USD","-853582174":"France 40","-1096386695":"UK 100","-617646862":"Germany 40","-2077690248":"Japan 225","-512194910":"US Tech 100","-381746202":"US 500","-1935463381":"Swiss 20","-1941767726":"Euro 50","-1925264914":"Volatility 25 Index","-708579504":"Volatility 50 Index","-975255670":"Volatility 75 Index","-1736314513":"Crash 300 Index","-342128411":"Crash 500 Index","-9704319":"Crash 1000 Index","-465860988":"Bull Market Index","-390528194":"Step Index","-280323742":"EUR Basket","-563812039":"Volatility 10 (1s) Index","-82971929":"Volatility 25 (1s) Index","-433962508":"Volatility 75 (1s) Index","-764111252":"Volatility 100 (1s) Index","-816110209":"Volatility 150 (1s) Index","-1374309449":"Volatility 200 (1s) Index","-1288044380":"Volatility 250 (1s) Index","-1164978320":"Jump 10 Index","-575272887":"BCH/USD","-295406873":"BTC/ETH","-1713556301":"ZMR/USD","-2046638412":"XRP/USD","-1263203461":"BTC/USD","-1112522776":"DSH/USD","-460689370":"LTC/USD","-132112961":"Sharkfin","-1715390759":"I want to do this later","-56163366":"I don't have any of these","-175164838":"{{seconds_passed}}s ago","-514136557":"{{minutes_passed}}m ago","-1420737287":"{{hours_passed}}h ago","-2092611555":"Sorry, this app is unavailable in your current location.","-1488537825":"If you have an account, log in to continue.","-1603581277":"minutes","-886317740":"The <0>date of birth on your identity document doesn't match your profile.","-1606307809":"We were unable to verify the identity document with the details provided.","-475787720":"The verification status was empty, rejected for lack of information.","-1627868670":"Your identity document has expired.","-1302288704":"The document’s owner is deceased.","-895884696":"The <0>name and <0>date of birth on your identity document don't match your profile.","-1231856133":"The verification status is not available, provider says: Needs Technical Investigation.","-433687715":"For enhanced security, we need to reverify your identity. Kindly resubmit your proof of identity to unlock your account.","-1637538521":"Your document appears to be invalid.","-876579004":"The name on your document doesn’t match your profile.","-746520172":"Some details on your document appear to be invalid, missing, or unclear.","-2146200521":"The serial number of your document couldn’t be verified.","-1945323197":"Your document appears to be in black and white. Please upload a colour photo of your document.","-631393256":"Your document contains markings or text that should not be on your document.","-609103016":"The image quality of your document is too low. Please provide a hi-res photo of your identity document.","-530935718":"We’re unable to verify the document you provided because some details appear to be missing. Please try again or provide another document.","-1027031626":"We’re unable to verify the document you provided because it appears to be damaged. Please try again or upload another document.","-1671621833":"The front of your document appears to be missing. Please provide both sides of your identity document.","-727588232":"Your document appears to be a scanned copy that contains markings or text that shouldn’t be on your document.","-1435064387":"Your document appears to be a printed copy.","-624316211":"Your document appears to be a photo of a device screen.","-1714959941":"This chart display is not ideal for tick contracts","-1254554534":"Please change the chart duration to tick for a better trading experience.","-1658230823":"Contract was sold for <0 />.","-1905867404":"Contract cancelled"} \ No newline at end of file diff --git a/packages/translations/src/translations/ach.json b/packages/translations/src/translations/ach.json index f3380ee64933..807e0073c597 100644 --- a/packages/translations/src/translations/ach.json +++ b/packages/translations/src/translations/ach.json @@ -68,13 +68,13 @@ "76635112": "crwdns3708336:0crwdne3708336:0", "76916358": "crwdns1259053:0crwdne1259053:0", "76925355": "crwdns2925303:0crwdne2925303:0", - "77945356": "crwdns1719349:0crwdne1719349:0", "77982950": "crwdns2301169:0crwdne2301169:0", "81091424": "crwdns3172712:0crwdne3172712:0", "81450871": "crwdns1259055:0crwdne1259055:0", "82839270": "crwdns1259057:0crwdne1259057:0", "83202647": "crwdns1259059:0crwdne1259059:0", "84402478": "crwdns2101721:0crwdne2101721:0", + "84924586": "crwdns5285606:0crwdne5285606:0", "85343079": "crwdns1259061:0crwdne1259061:0", "85359122": "crwdns1335093:0crwdne1335093:0", "85389154": "crwdns1259063:0crwdne1259063:0", @@ -162,7 +162,6 @@ "177099483": "crwdns1259187:0crwdne1259187:0", "178413314": "crwdns1259189:0crwdne1259189:0", "179083332": "crwdns1259191:0crwdne1259191:0", - "179737767": "crwdns1719353:0crwdne1719353:0", "181107754": "crwdns3825072:0{{platform}}crwdnd3825072:0{{eligible_account_to_migrate}}crwdne3825072:0", "181346014": "crwdns1600199:0crwdne1600199:0", "181881956": "crwdns1259193:0{{ contract_type }}crwdne1259193:0", @@ -196,7 +195,6 @@ "211461880": "crwdns1259233:0crwdne1259233:0", "211487193": "crwdns3735832:0crwdne3735832:0", "211847965": "crwdns1259235:0crwdne1259235:0", - "215975531": "crwdns3586112:0crwdne3586112:0", "216650710": "crwdns1259237:0crwdne1259237:0", "217377529": "crwdns4122034:0crwdne4122034:0", "217403651": "crwdns1259239:0crwdne1259239:0", @@ -318,6 +316,7 @@ "344418897": "crwdns1259441:0{{brand_website_name}}crwdne1259441:0", "345320063": "crwdns1259443:0crwdne1259443:0", "345818851": "crwdns2154555:0crwdne2154555:0", + "346843343": "crwdns5285608:0crwdne5285608:0", "347029309": "crwdns1259447:0crwdne1259447:0", "347039138": "crwdns1259449:0crwdne1259449:0", "348951052": "crwdns1259451:0crwdne1259451:0", @@ -335,7 +334,6 @@ "359809970": "crwdns1259471:0crwdne1259471:0", "360224937": "crwdns1259473:0crwdne1259473:0", "360773403": "crwdns2101747:0crwdne2101747:0", - "362946954": "crwdns1719361:0crwdne1719361:0", "363576009": "crwdns1259477:0crwdne1259477:0", "363738790": "crwdns1259479:0crwdne1259479:0", "363990763": "crwdns1259481:0crwdne1259481:0", @@ -364,6 +362,7 @@ "386502387": "crwdns1259517:0crwdne1259517:0", "389923099": "crwdns1259519:0crwdne1259519:0", "390890891": "crwdns1259523:0crwdne1259523:0", + "391038015": "crwdns5285610:0crwdne5285610:0", "391915203": "crwdns1259525:0crwdne1259525:0", "392582370": "crwdns1259527:0crwdne1259527:0", "393789743": "crwdns1807481:0crwdne1807481:0", @@ -914,6 +913,7 @@ "969987233": "crwdns1260391:0crwdne1260391:0", "970915884": "crwdns1260393:0crwdne1260393:0", "974888153": "crwdns4308524:0crwdne4308524:0", + "975608902": "crwdns5285612:0crwdne5285612:0", "975668699": "crwdns1260397:0{{company}}crwdne1260397:0", "975950139": "crwdns1260399:0crwdne1260399:0", "977929335": "crwdns1260401:0crwdne1260401:0", @@ -941,6 +941,7 @@ "997311089": "crwdns4642890:0crwdne4642890:0", "999008199": "crwdns1260423:0crwdne1260423:0", "1001160515": "crwdns1260425:0crwdne1260425:0", + "1002392396": "crwdns5285614:0crwdne5285614:0", "1002989598": "crwdns5141356:0crwdne5141356:0", "1003876411": "crwdns1260429:0crwdne1260429:0", "1004127734": "crwdns1260431:0crwdne1260431:0", @@ -1368,6 +1369,7 @@ "1405584799": "crwdns1261093:0{{ candle_interval_type }}crwdne1261093:0", "1407191858": "crwdns1719401:0crwdne1719401:0", "1408844944": "crwdns1261095:0crwdne1261095:0", + "1408852678": "crwdns5285616:0crwdne5285616:0", "1411373212": "crwdns2738161:0crwdne2738161:0", "1412405902": "crwdns5070110:0crwdne5070110:0", "1412535872": "crwdns1261097:0crwdne1261097:0", @@ -1469,6 +1471,7 @@ "1501691227": "crwdns1261245:0{{account_type_name}}crwdne1261245:0", "1502039206": "crwdns1261247:0{{barrier}}crwdne1261247:0", "1502325741": "crwdns1261249:0crwdne1261249:0", + "1503419760": "crwdns5285618:0crwdne5285618:0", "1503618738": "crwdns1261251:0crwdne1261251:0", "1505420815": "crwdns1261253:0crwdne1261253:0", "1505898522": "crwdns1261255:0crwdne1261255:0", @@ -1515,7 +1518,6 @@ "1557426040": "crwdns1261317:0crwdne1261317:0", "1557682012": "crwdns1261319:0crwdne1261319:0", "1558972889": "crwdns1261321:0{{ variable }}crwdnd1261321:0{{ dummy }}crwdne1261321:0", - "1559220089": "crwdns1719413:0crwdne1719413:0", "1560302445": "crwdns1261323:0crwdne1261323:0", "1562374116": "crwdns1261325:0crwdne1261325:0", "1566037033": "crwdns1261329:0{{longcode}}crwdnd1261329:0{{transaction_id}}crwdne1261329:0", @@ -1661,6 +1663,7 @@ "1715630945": "crwdns1261545:0crwdne1261545:0", "1715680813": "crwdns3264386:0crwdne3264386:0", "1717023554": "crwdns1719429:0crwdne1719429:0", + "1717474982": "crwdns5285620:0crwdne5285620:0", "1720451994": "crwdns1261549:0{{minimum_fee}}crwdnd1261549:0{{currency}}crwdne1261549:0", "1720968545": "crwdns1261551:0crwdne1261551:0", "1722056905": "crwdns3645026:0crwdne3645026:0", @@ -1830,6 +1833,7 @@ "1871664426": "crwdns1261825:0crwdne1261825:0", "1873376454": "crwdns3264390:0crwdne3264390:0", "1874481756": "crwdns1261831:0crwdne1261831:0", + "1874737957": "crwdns5285622:0crwdne5285622:0", "1874756442": "crwdns1261833:0crwdne1261833:0", "1875702561": "crwdns2101851:0crwdne2101851:0", "1876015808": "crwdns1935217:0crwdne1935217:0", @@ -1931,7 +1935,6 @@ "1973910243": "crwdns2118547:0crwdne2118547:0", "1974273865": "crwdns1262001:0crwdne1262001:0", "1974903951": "crwdns1935477:0crwdne1935477:0", - "1977724653": "crwdns3586122:0crwdne3586122:0", "1978218112": "crwdns3708412:0crwdne3708412:0", "1981940238": "crwdns1262003:0{{legal_entity_name_svg}}crwdnd1262003:0{{legal_entity_name_v}}crwdne1262003:0", "1982790875": "crwdns4104962:0{{account_title}}crwdnd4104962:0{{platform}}crwdne4104962:0", @@ -1979,6 +1982,7 @@ "2014536501": "crwdns1445519:0crwdne1445519:0", "2014590669": "crwdns117834:0{{variable_name}}crwdnd117834:0{{variable_name}}crwdne117834:0", "2017672013": "crwdns167277:0crwdne167277:0", + "2018044371": "crwdns5285624:0crwdne5285624:0", "2019596693": "crwdns3645032:0crwdne3645032:0", "2020545256": "crwdns731510:0crwdne731510:0", "2021037737": "crwdns160410:0crwdne160410:0", @@ -2658,8 +2662,11 @@ "-2021135479": "crwdns81511:0crwdne81511:0", "-1002044401": "crwdns3698920:0crwdne3698920:0", "-1272489896": "crwdns1445565:0crwdne1445565:0", - "-1107320163": "crwdns163520:0crwdne163520:0", - "-829643221": "crwdns1719457:0crwdne1719457:0", + "-721346138": "crwdns5285626:0crwdne5285626:0", + "-1874136267": "crwdns5285628:0crwdne5285628:0", + "-415943890": "crwdns5285630:0crwdne5285630:0", + "-673722343": "crwdns5285632:0crwdne5285632:0", + "-897826065": "crwdns5285634:0crwdne5285634:0", "-2115275974": "crwdns161090:0crwdne161090:0", "-1585707873": "crwdns1600255:0crwdne1600255:0", "-199154602": "crwdns838736:0crwdne838736:0", @@ -2678,12 +2685,10 @@ "-1879666853": "crwdns1308109:0crwdne1308109:0", "-820028470": "crwdns163524:0crwdne163524:0", "-1210359945": "crwdns1719469:0crwdne1719469:0", - "-81256466": "crwdns1719471:0crwdne1719471:0", "-1926387364": "crwdns5274398:0crwdne5274398:0", "-1057002564": "crwdns5018748:0crwdne5018748:0", "-1424352390": "crwdns4308490:0crwdne4308490:0", "-280236366": "crwdns5018746:0crwdne5018746:0", - "-699372497": "crwdns1719473:0crwdne1719473:0", "-145462920": "crwdns2981031:0crwdne2981031:0", "-982095728": "crwdns1719467:0crwdne1719467:0", "-1790089996": "crwdns89532:0crwdne89532:0", @@ -2708,14 +2713,12 @@ "-643108528": "crwdns1719497:0crwdne1719497:0", "-1002556560": "crwdns3172838:0crwdne3172838:0", "-1186807402": "crwdns81525:0crwdne81525:0", - "-2051096382": "crwdns2925233:0crwdne2925233:0", - "-1638358352": "crwdns1719501:0crwdne1719501:0", + "-655191265": "crwdns5285636:0crwdne5285636:0", "-744999940": "crwdns118062:0crwdne118062:0", - "-749129977": "crwdns1719509:0crwdne1719509:0", "-2146691203": "crwdns1719525:0crwdne1719525:0", "-249184528": "crwdns1719527:0crwdne1719527:0", "-1505234170": "crwdns1925319:0crwdne1925319:0", - "-1901718278": "crwdns5002144:0crwdne5002144:0", + "-1901718278": "crwdns5285642:0crwdne5285642:0", "-1870909526": "crwdns160420:0crwdne160420:0", "-582721696": "crwdns169119:0{{format_min_withdraw_amount}}crwdnd169119:0{{format_max_withdraw_amount}}crwdnd169119:0{{currency}}crwdne169119:0", "-1975494965": "crwdns81493:0crwdne81493:0", @@ -2768,6 +2771,7 @@ "-1995606668": "crwdns81519:0crwdne81519:0", "-2024290965": "crwdns2439025:0crwdne2439025:0", "-811190405": "crwdns125116:0crwdne125116:0", + "-728508487": "crwdns5285848:0{{currency}}crwdne5285848:0", "-1984478597": "crwdns1990061:0crwdne1990061:0", "-316545835": "crwdns781952:0crwdne781952:0", "-949073402": "crwdns781950:0crwdne781950:0", @@ -3353,7 +3357,7 @@ "-482715448": "crwdns1490911:0crwdne1490911:0", "-2072411961": "crwdns1490913:0crwdne1490913:0", "-384887227": "crwdns1490915:0crwdne1490915:0", - "-1779268418": "crwdns3586126:0crwdne3586126:0", + "-1470677931": "crwdns5285638:0crwdne5285638:0", "-1998049070": "crwdns123964:0crwdne123964:0", "-402093392": "crwdns838642:0crwdne838642:0", "-1721181859": "crwdns123966:0{{deriv_account}}crwdne123966:0", @@ -4078,8 +4082,6 @@ "-3423966": "crwdns121904:0crwdne121904:0", "-1131753095": "crwdns1829309:0{{trade_type_name}}crwdne1829309:0", "-360975483": "crwdns159414:0crwdne159414:0", - "-561436679": "crwdns3586128:0crwdne3586128:0", - "-1173266642": "crwdns2981033:0crwdne2981033:0", "-1226595254": "crwdns2738431:0crwdne2738431:0", "-922253974": "crwdns81047:0crwdne81047:0", "-1361254291": "crwdns81049:0crwdne81049:0", diff --git a/packages/translations/src/translations/ar.json b/packages/translations/src/translations/ar.json index b20f81e94c7e..3c1ebf651d02 100644 --- a/packages/translations/src/translations/ar.json +++ b/packages/translations/src/translations/ar.json @@ -68,13 +68,13 @@ "76635112": "للمتابعة، أعد إرسال هذه المستندات", "76916358": "لقد وصلت إلى حد السحب.<0/> يرجى تحميل إثبات الهوية والعنوان لرفع الحد لمواصلة السحب.", "76925355": "تحقق من أداء الروبوت الخاص بك", - "77945356": "تداول أثناء التنقل باستخدام تطبيق الهاتف المحمول الخاص بنا.", "77982950": "تتيح لك خيارات Vanilla التنبؤ بالاتجاه التصاعدي (الصعودي) أو الهبوطي (الهبوطي) للأصل الأساسي عن طريق شراء «Call» أو «Put».", "81091424": "لإكمال الترقية، يرجى تسجيل الخروج وتسجيل الدخول مرة أخرى لإضافة المزيد من الحسابات وإجراء المعاملات باستخدام Wallets.", "81450871": "لم نتمكن من العثور على هذه الصفحة", "82839270": "قم بتحميل صفحة جواز السفر الخاص بك التي تحتوي على صورتك الشخصية.", "83202647": "كتلة الانهيار", "84402478": "أين أجد الكتل التي أحتاجها؟", + "84924586": "تداول الخيارات والمضاعفات، احصل على حساب Deriv Apps أولاً.", "85343079": "التقييم المالي", "85359122": "40 أو أكثر", "85389154": "الخطوات اللازمة لمتابعة التحقق على هاتفك المحمول", @@ -162,7 +162,6 @@ "177099483": "لا يزال التحقق من عنوانك معلقًا، وقد وضعنا بعض القيود على حسابك. سيتم رفع القيود بمجرد التحقق من عنوانك.", "178413314": "يجب أن يكون الاسم الأول بين 2 و50 حرفًا.", "179083332": "التاريخ", - "179737767": "منصة تداول \"الخيارات/Options\" الخاصة بنا.", "181107754": "حساب (حسابات) <0>{{platform}} {{eligible_account_to_migrate}} الجديد جاهز للتداول.", "181346014": "الملاحظات ", "181881956": "نوع العقد: {{ contract_type }}", @@ -196,7 +195,6 @@ "211461880": "من السهل تخمين الأسماء والألقاب الشائعة", "211487193": "رقم المستند (مثل بطاقة الهوية وجواز السفر ورخصة القيادة)", "211847965": "<0>تفاصيلك الشخصية غير مكتملة. يرجى الانتقال إلى إعدادات حسابك وإكمال تفاصيلك الشخصية لتمكين عمليات السحب.", - "215975531": "يقدم هذا الحساب العقود مقابل الفروقات على منصة تداول CFD قابلة للتخصيص بدرجة عالية.", "216650710": "أنت تستخدم حساب تجريبي", "217377529": "5. إذا كانت الصفقات التالية مربحة، سيتم تخفيض حصة التجارة التالية بمقدار 2 دولار أمريكي. يمكن توضيح ذلك أعلاه حيث يتم تخفيض حصة 3 دولارات أمريكية إلى 1 دولار أمريكي. انظر A3.", "217403651": "سانت فينسنت والغرينادين", @@ -318,6 +316,7 @@ "344418897": "تساعدك حدود التداول والاستبعاد الذاتي هذه على التحكم في مقدار المال والوقت الذي تقضيه على {{brand_website_name}} وممارسة <0>التداول المسؤول.", "345320063": "طابع زمني غير صالح", "345818851": "عذرًا، حدث خطأ داخلي. اضغط على مربع الاختيار أعلاه للمحاولة مرة أخرى.", + "346843343": "عقود الفروقات على الأدوات المالية والمشتقة مع نسخ التداول.", "347029309": "الفوركس: قياسي/مايكرو", "347039138": "التكرار (2)", "348951052": "أمين الصندوق الخاص بك مقفل حاليًا", @@ -335,7 +334,6 @@ "359809970": "تمنحك هذه المجموعة قيمة الشمعة المحددة من قائمة الشموع ضمن الفاصل الزمني المحدد. يمكنك الاختيار من بين سعر الفتح وسعر الإغلاق والسعر المرتفع والسعر المنخفض ووقت الفتح.", "360224937": "منطق", "360773403": "بوت بيلدر", - "362946954": "منصة التداول الآلي العريقة الخاصة بنا.", "363576009": "- سعر مرتفع: أعلى سعر", "363738790": "المتصفح", "363990763": "سعر البيع:", @@ -364,6 +362,7 @@ "386502387": "البوت لا يعمل", "389923099": "قم بالتكبير", "390890891": "الربع الأخير", + "391038015": "تطبيق التداول عبر الهاتف المحمول لـ multipliers.", "391915203": "التحوّط", "392582370": "السقوط يساوي", "393789743": "الحروف والمسافات والنقاط والواصلات والفواصل العليا فقط.", @@ -914,6 +913,7 @@ "969987233": "اربح حتى أقصى عائد إذا كانت نقطة الخروج بين الحاجز السفلي والعلوي، بما يتناسب مع الفرق بين نقطة الخروج والحاجز السفلي.", "970915884": "رجل", "974888153": "High-Low", + "975608902": "تداول عقود الفروقات، احصل على حساب Deriv Apps أولاً.", "975668699": "أؤكد وأوافق على <0>شروط وأحكام {{company}}", "975950139": "بلد الإقامة", "977929335": "اذهب إلى إعدادات حسابي", @@ -941,6 +941,7 @@ "997311089": "تغيير كلمة المرور الخاصة بي", "999008199": "نص", "1001160515": "قم بالبيع", + "1002392396": "عقود الفروقات على الأدوات المشتقة.", "1002989598": "iOS: سلسلة مفاتيح iCloud.", "1003876411": "يجب أن يبدأ بحرف أو رقم وقد يحتوي على واصلة ونقطة وخط مائل.", "1004127734": "إرسال بريد إلكتروني", @@ -1368,6 +1369,7 @@ "1405584799": "مع الفاصل الزمني: {{ candle_interval_type }}", "1407191858": "دي تريدر/ DTrader", "1408844944": "انقر فوق رمز علامة الجمع لتوسيع وظائف هذه المجموعة.", + "1408852678": "تداول بمراكز أكبر برأس مال أقل عبر أدوات مالية ومشتقة متنوعة. <0>معرفة المزيد", "1411373212": "تحتوي كلمات المرور القوية على 8 أحرف على الأقل. اجمع بين الأحرف الكبيرة والصغيرة والأرقام والرموز.", "1412405902": "اطلع على الملاحظات المهمة", "1412535872": "يمكنك التحقق من نتيجة آخر صفقة باستخدام هذه المجموعة. يمكن وضعها فقط ضمن الكتلة الجذرية «إعادة تشغيل شروط التداول».", @@ -1469,6 +1471,7 @@ "1501691227": "أضف حساب Deriv MT5 <0>{{account_type_name}} الخاص بك تحت Deriv (V) Ltd، التي تنظمها لجنة الخدمات المالية في فانواتو.", "1502039206": "أكثر من {{barrier}}", "1502325741": "لا يمكن أن تكون كلمة المرور الخاصة بك هي نفس عنوان بريدك الإلكتروني.", + "1503419760": "عقود فروقات خالية من المبادلة على أدوات مالية ومشتقة مختارة.", "1503618738": "- الرقم المرجعي للصفقة: المعرف المرجعي للعقد", "1505420815": "لم يتم العثور على وكلاء دفع لبحثك", "1505898522": "تحميل المكدس", @@ -1515,7 +1518,6 @@ "1557426040": "SVG مشتق من العرض التوضيحي", "1557682012": "إعدادات الحساب", "1558972889": "قم بتعيين {{ variable }} إلى المتوسط المتحرك البسيط {{ dummy }}", - "1559220089": "منصة تداول الخيارات والمضاعفات.", "1560302445": "تم نسخها", "1562374116": "الطلاب", "1566037033": "تم شراؤها: {{longcode}} (المعرف: {{transaction_id}})", @@ -1661,6 +1663,7 @@ "1715630945": "يقوم بإرجاع إجمالي الربح في شكل سلسلة", "1715680813": "ستنتهي صلاحية العقد في تمام الساعة 23:59:59 بتوقيت جرينتش +0 في تاريخ انتهاء الصلاحية المحدد.", "1717023554": "إعادة إرسال المستندات", + "1717474982": "عقود الفروقات على الأدوات المالية والمشتقة عبر منصة قابلة للتخصيص.", "1720451994": "سنقوم بفرض رسوم تحويل بنسبة 2٪ أو {{minimum_fee}} {{currency}}، أيهما أعلى، للتحويلات بين حسابات Deriv fiat وحسابات Deriv المشفرة.", "1720968545": "قم بتحميل صفحة صورة جواز السفر من جهاز الكمبيوتر الخاص بك", "1722056905": "المستند الذي قدمته غير مدعوم لبلدك. يرجى تقديم مستند مدعوم لبلدك.", @@ -1830,6 +1833,7 @@ "1871664426": "ملاحظة", "1873376454": "هذا هو مستوى السعر الذي تختاره. إذا تم تجاوز هذا الحاجز في أي وقت، فسيتم إنهاء العقد الخاص بك.", "1874481756": "استخدم هذه المجموعة لشراء العقد المحدد الذي تريده. يمكنك إضافة كتل شراء متعددة مع كتل شرطية لتحديد شروط الشراء الخاصة بك. لا يمكن استخدام هذه الكتلة إلا ضمن مجموعة شروط الشراء.", + "1874737957": "لتداول multipliers، احصل على حساب Deriv Apps أولاً.", "1874756442": "جزر فيرجن البريطانية", "1875702561": "قم بتحميل أو بناء الروبوت الخاص بك", "1876015808": "صندوق الضمان الاجتماعي والتأمين الوطني", @@ -1931,7 +1935,6 @@ "1973910243": "إدارة حساباتك", "1974273865": "سيتيح هذا النطاق لتطبيقات الطرف الثالث عرض نشاط حسابك والإعدادات والحدود والميزانيات العمومية وسجل الشراء التجاري والمزيد.", "1974903951": "إذا قمت بالضغط على «نعم»، فستفقد المعلومات التي أدخلتها.", - "1977724653": "يقدم هذا الحساب العقود مقابل الفروقات على الأدوات المالية.", "1978218112": "Google Authenticator", "1981940238": "تنطبق سياسة الشكاوى هذه، التي قد تتغير من وقت لآخر، على حسابك (حساباتك) المسجل بـ {{legal_entity_name_svg}} و {{legal_entity_name_v}}.", "1982790875": "قم بترقية حساب (حسابات) <0/><1>{{account_title}} {{platform}} ", @@ -1979,6 +1982,7 @@ "2014536501": "رقم البطاقة", "2014590669": "المتغير '{{variable_name}}' ليس له قيمة. يرجى تعيين قيمة للمتغير '{{variable_name}}' للإخطار.", "2017672013": "يرجى تحديد بلد إصدار المستند.", + "2018044371": "تتيح لك Multipliers التداول باستخدام الرافعة المالية والحد من المخاطر التي تتعرض لها حصتك. <0>معرفة المزيد", "2019596693": "تم رفض المستند من قبل المزود.", "2020545256": "هل تريد إغلاق حسابك؟", "2021037737": "يرجى تحديث البيانات الخاصة بك للمتابعة.", @@ -2658,8 +2662,11 @@ "-2021135479": "هذا الحقل مطلوب.", "-1002044401": "حدد المستند الخاص بك*", "-1272489896": "يرجى إكمال هذا الحقل.", - "-1107320163": "قم بأتمتة التداول الخاص بك، دون الحاجة إلى البرمجة.", - "-829643221": "منصة تداول المضاعفات.", + "-721346138": "منصة تداول الخيارات وMultiplierات.", + "-1874136267": "منصة التداول الروبوتية النهائية.", + "-415943890": "منصة تداول الخيارات القديمة.", + "-673722343": "منصة التداول الروبوتية القديمة.", + "-897826065": "نصة التداول multipliers.", "-2115275974": "عقود الفروقات", "-1585707873": "اللجنة المالية", "-199154602": "لجنة الخدمات المالية بفانواتو", @@ -2678,12 +2685,10 @@ "-1879666853": "ديريف MT5", "-820028470": "عقود الخيارات وعقود Multipliers", "-1210359945": "تحويل الأموال إلى حساباتك", - "-81256466": "تحتاج إلى حساب Deriv لإنشاء حساب CFD.", "-1926387364": "لقد أرسلنا الكتاب الاليكتروني الخاص بك إلى البريد الإلكتروني الخاص بك. يمكنك أيضًا تنزيله هنا.", "-1057002564": "<0>نحن غير قادرين على ترقيتك إلى Wallets في الوقت الحالي ونعمل على إصلاح هذا الأمر في أقرب وقت ممكن. يرجى <1>المحاولة مرة أخرى<0>.", "-1424352390": "<0>Wallets <1>- طريقة أكثر ذكاءً لإدارة أموالك", "-280236366": "التمكين الآن", - "-699372497": "تداول برافعة مالية وفروق أسعار ضيقة للحصول على عوائد أفضل على الصفقات الناجحة. <0>تعرف على المزيد", "-145462920": "Deriv cTrader", "-982095728": "احصل على", "-1790089996": "جديد!", @@ -2708,10 +2713,8 @@ "-643108528": "تنظيم خارج الاتحاد الأوروبي والاتحاد الأوروبي", "-1002556560": "لا يمكننا إكمال ترقية Wallet. يرجى المحاولة مرة أخرى لاحقًا أو الاتصال بنا عبر الدردشة الحية.", "-1186807402": "تحويل", - "-2051096382": "اربح مجموعة من العوائد من خلال التنبؤ بشكل صحيح بحركات السوق باستخدام <0>الخيارات، أو احصل على الجانب\n الإيجابي من العقود مقابل الفروقات دون المخاطرة بأكثر من حصتك الأولية مع <1>المضاعفات.", - "-1638358352": "احصل على الجانب الإيجابي من العقود مقابل الفروقات دون المخاطرة بأكثر من حصتك الأولية مع <0>Multipliers.", + "-655191265": "شراء أو بيع في وقت محدد بسعر محدد. <0>معرفة المزيد", "-744999940": "حساب مشتق", - "-749129977": "احصل على حساب Deriv حقيقي وابدأ التداول وقم بإدارة أموالك.", "-2146691203": "اختيار التنظيم", "-249184528": "يمكنك إنشاء حسابات حقيقية بموجب لوائح الاتحاد الأوروبي أو خارج الاتحاد الأوروبي. انقر فوق <0><0/>الرمز لمعرفة المزيد حول هذه الحسابات.", "-1505234170": "جولة Trader's Hub", @@ -2768,6 +2771,7 @@ "-1995606668": "المبلغ", "-2024290965": "التأكيدات", "-811190405": "الوقت", + "-728508487": "{{currency}} المعاملات الأخيرة", "-1984478597": "تفاصيل هذه المعاملة متاحة على CoinSpaid.", "-316545835": "يرجى التأكد من <0>صحة <0>جميع التفاصيل قبل إجراء التحويل.", "-949073402": "أؤكد أنني تحققت من معلومات نقل العميل.", @@ -3353,7 +3357,7 @@ "-482715448": "انتقل إلى التفاصيل الشخصية", "-2072411961": "تم التحقق من إثبات العنوان الخاص بك", "-384887227": "قم بتحديث العنوان في ملف التعريف الخاص بك.", - "-1779268418": "تداول العقود مقابل الفروقات الخالية من المبادلة على MT5 مع Forex والأسهم ومؤشرات الأسهم والسلع والعملات المشفرة وصناديق الاستثمار المتداولة والمؤشرات الاصطناعية.", + "-1470677931": "عقود الفروقات على الأدوات المالية.", "-1998049070": "إذا كنت توافق على استخدامنا لملفات تعريف الارتباط، فانقر فوق قبول. لمزيد من المعلومات، <0>راجع سياستنا.", "-402093392": "إضافة حساب Deriv", "-1721181859": "ستحتاج إلى حساب {{deriv_account}}", @@ -4078,8 +4082,6 @@ "-3423966": "جني الأرباح<0 /> ووقف الخسارة", "-1131753095": "تفاصيل العقد {{trade_type_name}} غير متوفرة حاليًا. نحن نعمل على إتاحتها قريبًا.", "-360975483": "لم تقم بإجراء أي معاملات من هذا النوع خلال هذه الفترة.", - "-561436679": "يقدم هذا الحساب العقود مقابل الفروقات على الأدوات Derived.", - "-1173266642": "يقدم هذا الحساب العقود مقابل الفروقات على منصة تداول غنية بالميزات.", "-1226595254": "Turbos", "-922253974": "Rise/Fall", "-1361254291": "Higher/Lower", diff --git a/packages/translations/src/translations/bn.json b/packages/translations/src/translations/bn.json index 97676b5e0d6b..2595c2e9c127 100644 --- a/packages/translations/src/translations/bn.json +++ b/packages/translations/src/translations/bn.json @@ -68,13 +68,13 @@ "76635112": "এগিয়ে যেতে, এই নথিগুলি পুনরায় জমা দিন", "76916358": "আপনি উইথড্রয়াল লিমিটে<0/> পৌঁছেছেন৷ আপনার উইথড্রয়াল চালিয়ে যাওয়ার জন্য দয়া করে আপনার পরিচয়ের প্রমাণ এবং ঠিকানা আপলোড করুন।", "76925355": "আপনার বটের পারফরম্যান্স পরীক্ষা করুন", - "77945356": "আমাদের মোবাইল অ্যাপের সাথে ট্রেড করুন।", "77982950": "Vanilla বিকল্পগুলি আপনাকে “Call” বা “Put” ক্রয় করে অন্তর্নিহিত সম্পত্তির ঊর্ধ্বমুখী (বুলিশ) বা নিম্নগামী (বিয়ারিশ) দিকনির্দেশনা দেয়।", "81091424": "আপগ্রেড সম্পূর্ণ করতে, দয়া করে লগ আউট করুন এবং আরও অ্যাকাউন্ট যুক্ত করতে এবং আপনার Wallets গুলির সাথে লেনদেন করতে আবার লগ ইন করুন।", "81450871": "আমরা সেই পৃষ্ঠাটি খুঁজে পাইনি", "82839270": "আপনার পাসপোর্টের পৃষ্ঠাটি আপলোড করুন যাতে আপনার ছবি ধারণ করে।", "83202647": "ব্লক সঙ্কুচিত", "84402478": "কিভাবে প্রয়োজনীয় ব্লক খুঁজে পেতে পারি?", + "84924586": "বিকল্প এবং মাল্টিপ্লাইয়ারগুলি ট্রেড করতে, প্রথমে একটি ডেরিভ অ্যাপস অ্যাকাউন্ট পান।", "85343079": "আর্থিক মূল্যায়ন", "85359122": "40 বা তার বেশি", "85389154": "আপনার মোবাইলে যাচাইকরণ চালিয়ে যেতে প্রয়োজনীয় পদক্ষেপ", @@ -162,7 +162,6 @@ "177099483": "আপনার ঠিকানা যাচাইকরণ স্থগিত আছে, এবং আমরা আপনার অ্যাকাউন্টে কিছু সীমাবদ্ধতা রেখেছি। আপনার ঠিকানা যাচাই করা হলে বিধিনিষেধ উঠিয়ে নেওয়া হবে।", "178413314": "প্রথম নাম 2 এবং 50 অক্ষরের মধ্যে হওয়া উচিত।", "179083332": "তারিখ", - "179737767": "আমাদের উত্তরাধিকার বিকল্প ট্রেডিং প্ল্যাটফর্ম।", "181107754": "আপনার নতুন <0>{{platform}} {{eligible_account_to_migrate}} অ্যাকাউন্ট (গুলি) ট্রেডিংয়ের জন্য প্রস্তুত।", "181346014": "নোটস ", "181881956": "চুক্তির ধরণ: {{ contract_type }}", @@ -196,7 +195,6 @@ "211461880": "প্রচলিত নাম এবং উপাধি অনুমান করা সহজ", "211487193": "নথি নাম্বার (যেমন পরিচয় কার্ড, পাসপোর্ট, ড্রাইভারের লাইসেন্স)", "211847965": "আপনার <0>ব্যক্তিগত বিবরণ অসম্পূর্ণ। অনুগ্রহ করে আপনার অ্যাকাউন্ট সেটিংসে যান এবং উত্তোলনের জন্য আপনার ব্যক্তিগত বিবরণ সম্পূর্ণ করুন।", - "215975531": "এই অ্যাকাউন্টটি একটি অত্যন্ত কাস্টমাইজযোগ্য CFD ট্রেডিং প্ল্যাটফর্মে সিএফডি সরবরাহ করে", "216650710": "আপনি একটি ডেমো অ্যাকাউন্ট ব্যবহার করছেন", "217377529": "5। পরবর্তী ট্রেডগুলি যদি লাভজনক হয় তবে নিম্নলিখিত বাণিজ্যের জন্য শেয়ার 2 মার্কিন ডলার হ্রাস পাবে। এটি উপরে দেখানো যেতে পারে যেখানে 3 মার্কিন ডলারের শেয়ার হ্রাস করে 1 মার্কিন ডলারে। A3 দেখুন।", "217403651": "সেন্ট ভিনসেন্ট ও গ্রেনাডাইনস", @@ -318,6 +316,7 @@ "344418897": "এই ট্রেডিং সীমা এবং স্ব-বর্জন আপনাকে {{brand_website_name}} এ ব্যয় করা অর্থের পরিমাণ নিয়ন্ত্রণ করতে এবং <0>দায়িত্বশীল ট্রেডিং অনুশীলন করতে সহায়তা করে।", "345320063": "অবৈধ টাইমস্ট্যাম্প", "345818851": "দুঃখিত, একটি অভ্যন্তরীণ ত্রুটি ঘটেছে। আবার চেষ্টা করতে উপরের চেকবক্স হিট করুন।", + "346843343": "কপি ট্রেডিং সহ আর্থিক এবং উদ্ভূত যন্ত্রগুলিতে সিএফডি।", "347029309": "ফরেক্স: স্ট্যান্ডার্ড/মাইক্রো", "347039138": "পুনরাবৃত্তি (2)", "348951052": "আপনার ক্যাশিয়ার বর্তমানে লক করা আছে", @@ -335,7 +334,6 @@ "359809970": "এই ব্লক আপনাকে নির্বাচিত সময় ব্যবধানের মধ্যে মোমবাতি তালিকা থেকে নির্বাচিত মোমবাতি মান দেয়। আপনি ওপেন প্রাইস, ক্লোজ প্রাইস, হাই প্রাইস, কম দাম এবং ওপেন টাইম থেকে বেছে নিতে পারেন।", "360224937": "যুক্তি", "360773403": "বট বিল্ডার", - "362946954": "আমাদের উত্তরাধিকার স্বয়ংক্রিয় ট্রেডিং প্ল্যাটফর্ম।", "363576009": "- উচ্চ মূল্য: সর্বোচ্চ মূল্য", "363738790": "ব্রাউজার", "363990763": "বিক্রয় মূল্য:", @@ -364,6 +362,7 @@ "386502387": "বট চলছে না", "389923099": "জুম ইন", "390890891": "শেষ চতুর্থাংশ", + "391038015": "মাল্টিপ্লাইয়ারদের জন্য মোবাইল ট্রেডিং অ্যাপ।", "391915203": "হেজিং", "392582370": "পতন সমান", "393789743": "শুধুমাত্র অক্ষর, স্পেস, পিরিয়ড, হাইফেন, অ্যাপোস্ট্রফিস।", @@ -914,6 +913,7 @@ "969987233": "প্রস্থান স্পট এবং নিম্ন বাধা মধ্যে পার্থক্য অনুপাত, প্রস্থান স্পট নিম্ন এবং উপরের বাধা মধ্যে যদি সর্বোচ্চ পরিশোধ পর্যন্ত জিততে।", "970915884": "একটি", "974888153": "High-Low", + "975608902": "সিএফডি ট্রেড করতে, প্রথমে একটি ডেরিভ অ্যাপস অ্যাকাউন্ট পান।", "975668699": "আমি নিশ্চিতকরণ এবং {{company}} এর <0>শর্তাবলী স্বীকার", "975950139": "বসবাসের দেশ", "977929335": "আমার অ্যাকাউন্ট সেটিংসে যান", @@ -941,6 +941,7 @@ "997311089": "আমার পাসওয়ার্ড পরিবর্তন", "999008199": "টেক্সট", "1001160515": "বিক্রয়", + "1002392396": "উদ্ভূত যন্ত্রগুলিতে সিএফডি।", "1002989598": "আইওএস: আইক্লাউড কীচেন।", "1003876411": "অক্ষর বা সংখ্যা দিয়ে শুরু করা উচিত এবং একটি হাইফেন, পিরিয়ড এবং স্ল্যাশ থাকতে পারে।", "1004127734": "ই-মেইল পাঠান", @@ -1368,6 +1369,7 @@ "1405584799": "ব্যবধান সহ: {{ candle_interval_type }}", "1407191858": "ডি ট্রেডার", "1408844944": "এই ব্লকের কার্যকারিতা প্রসারিত করতে প্লাস আইকনে ক্লিক করুন।", + "1408852678": "বিভিন্ন আর্থিক এবং উদ্ভূত যন্ত্রগুলিতে কম মূলধন সহ বড় অবস্থান ট্রেড করুন। <0>আরও জানুন", "1411373212": "স্ট্রং পাসওয়ার্ডগুলিতে কমপক্ষে 8 টি অক্ষর থাকে, বড় হাতের এবং ছোট হাতের অক্ষর, সংখ্যা এবং চিহ্নগুলি একত্রিত করে।", "1412405902": "গুরুত্বপূর্ণ নোট দেখুন", "1412535872": "আপনি এই ব্লকের সাথে শেষ ট্রেডের ফলাফল পরীক্ষা করতে পারেন। এটি শুধুমাত্র “রিস্টার্ট ট্রেডিং শর্তাবলী” রুট ব্লকের মধ্যে স্থাপন করা যেতে পারে।", @@ -1469,6 +1471,7 @@ "1501691227": "Deriv (V) Ltd-এর অধীনে আপনার Deriv MT5 <0>{{account_type_name}} অ্যাকাউন্ট যোগ করুন, ভানুয়াতু ফাইন্যান্সিয়াল সার্ভিস কমিশন দ্বারা নিয়ন্ত্রিত।", "1502039206": "{{barrier}}এর বেশি", "1502325741": "আপনার পাসওয়ার্ড আপনার ইমেইল ঠিকানা হিসাবে একই হতে পারে না।", + "1503419760": "নির্বাচিত আর্থিক এবং উদ্ভূত যন্ত্রগুলিতে সোয়াপ-মুক্ত সিএফডি।", "1503618738": "- ডিল রেফারেন্স আইডি: চুক্তির রেফারেন্স আইডি", "1505420815": "আপনার অনুসন্ধানের জন্য কোন পেমেন্ট এজেন্ট পাওয়া যায়নি", "1505898522": "স্ট্যাক ডাউনলোড", @@ -1515,7 +1518,6 @@ "1557426040": "Demo Derived SVG", "1557682012": "অ্যাকাউন্ট সেটিংস", "1558972889": "সিম্পল মুভিং এভারেজ {{ dummy }}এ {{ variable }} সেট করুন", - "1559220089": "অপশন এবং Multipliers ট্রেডিং প্ল্যাটফর্ম।", "1560302445": "অনুলিপি করা হয়েছে", "1562374116": "শিক্ষার্থী", "1566037033": "কেনা: {{longcode}} (আইডি: {{transaction_id}})", @@ -1661,6 +1663,7 @@ "1715630945": "স্ট্রিং ফরম্যাটে মোট মুনাফা ফেরত দেয়", "1715680813": "আপনার নির্বাচিত মেয়াদ শেষ হওয়ার তারিখে ঠিক 23:59:59 GMT +0 এ আপনার চুক্তির মেয়াদ শেষ হবে।", "1717023554": "নথি পুনরায় জমা দিন", + "1717474982": "কাস্টমাইজযোগ্য প্ল্যাটফর্মের মাধ্যমে আর্থিক এবং উদ্ভূত যন্ত্রগুলিতে সিএফডি।", "1720451994": "আপনার Deriv fiat এবং Deriv cryptocurrency অ্যাকাউন্টের মধ্যে স্থানান্তরের জন্য আমরা 2% ট্রান্সফার ফি বা {{minimum_fee}} {{currency}} চার্জ করব, যেটি বেশি হয়।", "1720968545": "আপনার কম্পিউটার থেকে পাসপোর্ট ফটো পৃষ্ঠা আপলোড করুন", "1722056905": "আপনার দেওয়া নথিটি আপনার দেশের জন্য সমর্থিত নয়। আপনার দেশের জন্য একটি সমর্থিত নথি প্রদান করুন।", @@ -1830,6 +1833,7 @@ "1871664426": "নোট", "1873376454": "এটি একটি মূল্য স্তর যা আপনি বেছে নিন। যদি কখনও এই বাধা অতিক্রম করা হয় তবে আপনার চুক্তি শেষ হবে।", "1874481756": "আপনি চান নির্দিষ্ট চুক্তি ক্রয় করতে এই ব্লক ব্যবহার করুন। আপনি আপনার ক্রয় শর্তাবলী সংজ্ঞায়িত করার জন্য শর্তাধীন ব্লক সহ একাধিক ক্রয় ব্লক যোগ করতে পারেন। এই ব্লকটি শুধুমাত্র ক্রয় শর্তাবলী ব্লকের মধ্যেই ব্যবহার করা যেতে পারে।", + "1874737957": "মাল্টিপ্লাইয়ারগুলি ট্রেড করতে, প্রথমে একটি ডেরিভ অ্যাপস অ্যাকাউন্ট পান।", "1874756442": "বিভিআই", "1875702561": "আপনার বট লোড বা তৈরি করুন", "1876015808": "সামাজিক নিরাপত্তা এবং জাতীয় বীমা ট্রাস্ট", @@ -1931,7 +1935,6 @@ "1973910243": "আপনার অ্যাকাউন্ট পরিচালনা করুন", "1974273865": "এই সুযোগ তৃতীয় পক্ষের অ্যাপ্লিকেশানগুলিকে আপনার অ্যাকাউন্টের কার্যকলাপ, সেটিংস, সীমা, ব্যালেন্স শীট, ট্রেড ক্রয়ের ইতিহাস এবং আরও অনেক কিছু দেখতে দেবে।", "1974903951": "যদি আপনি হ্যাঁ এ আঘাত করেন, আপনার প্রবেশ করা তথ্যটি হারিয়ে যাবে।", - "1977724653": "এই অ্যাকাউন্টটি আর্থিক যন্ত্রগুলিতে CFD সরবরাহ করে।", "1978218112": "Google Authenticator", "1981940238": "এই অভিযোগ নীতি, যা সময়ে সময়ে পরিবর্তিত হতে পারে, {{legal_entity_name_svg}} এবং {{legal_entity_name_v}}নিবন্ধিত আপনার অ্যাকাউন্টে প্রযোজ্য।", "1982790875": "আপনার <0/><1>{{account_title}} {{platform}} অ্যাকাউন্ট (গুলি) আপগ্রেড করুন", @@ -1979,6 +1982,7 @@ "2014536501": "কার্ড নাম্বার", "2014590669": "পরিবর্তনশীল '{{variable_name}}' এর কোন মান নেই। অবহিত করার জন্য অনুগ্রহ করে পরিবর্তনশীল '{{variable_name}}' এর মান নির্ধারণ করুন।", "2017672013": "দয়া করে ডকুমেন্ট ইস্যু করার দেশ নির্বাচন করুন।", + "2018044371": "মাল্টিপ্লাইয়ারগুলি আপনাকে লিভারেজের সাথে ট্রেড করতে দেয় এবং আপনার ঝুঁকি আপনার শেকের মধ্যে সীমাবদ্ <0>ধ করে", "2019596693": "প্রদানকারীর ডকুমেন্ট প্রত্যাখ্যান করা হয়েছে।", "2020545256": "আপনার অ্যাকাউন্ট বন্ধ করবেন?", "2021037737": "অবিরত করার জন্য অনুগ্রহ করে আপনার বিস্তারিত আপডেট করুন।", @@ -2658,8 +2662,11 @@ "-2021135479": "এই ক্ষেত্রটি প্রয়োজন।", "-1002044401": "আপনার নথি নির্বাচন করুন*", "-1272489896": "দয়া করে এই ক্ষেত্রটি সম্পূর্ণ করুন।", - "-1107320163": "আপনার ট্রেডিং অটোমেট করুন, কোন কোডিং প্রয়োজন নেই।", - "-829643221": "Multipliers ট্রেডিং প্ল্যাটফর্ম।", + "-721346138": "বিকল্প এবং মাল্টিপ্লাইয়ার ট্রেডিং প্ল্যাটফর্", + "-1874136267": "চূড়ান্ত বট ট্রেডিং প্লাটফর্ম", + "-415943890": "উত্তরাধিকার বিকল্প ট্রেডিং প্ল্যাটফ", + "-673722343": "লিগেসি বট ট্রেডিং প্ল্যাটফর্ম", + "-897826065": "গুণক ট্রেডিং প্ল্যাটফর্ম।", "-2115275974": "সিএফডি", "-1585707873": "আর্থিক কমিশন", "-199154602": "ভানুয়াটু আর্থিক সেবা কমিশন", @@ -2678,12 +2685,10 @@ "-1879666853": "Deriv MT5", "-820028470": "অপশন এবং Multipliers", "-1210359945": "আপনার অ্যাকাউন্টে ফান্ড ট্রান্সফার করুন", - "-81256466": "একটি CFD অ্যাকাউন্ট তৈরি করতে আপনার একটি Deriv অ্যাকাউন্ট প্রয়োজন।", "-1926387364": "আমরা আপনার ই-বুক আপনার ইমেলে পাঠিয়েছি। এছাড়াও আপনি এখানে ডাউনলোড করতে পারেন।", "-1057002564": "<0>আমরা এই সময়ে আপনাকে Wallets আপগ্রেড করতে অক্ষম এবং যত তাড়াতাড়ি সম্ভব এটি সংশোধন করার জন্য কাজ করছি। দয়া করে। <1>আবার চেষ্টা করুন<0>।", "-1424352390": "<0>Wallets<1> — আপনার তহবিল পরিচালনা করার একটি স্মার্ট উপায়", "-280236366": "এখন সক্ষম করুন", - "-699372497": "সফল ট্রেডগুলিতে ভাল রিটার্নের জন্য লিভারেজ এবং টাইট স্প্রেডের সাথে ট্রেড <0>করুন।", "-145462920": "Deriv cTrader", "-982095728": "পান", "-1790089996": "নতুন!", @@ -2708,10 +2713,8 @@ "-643108528": "অ-ইইউ এবং ইইউ নিয়ন্ত্রণ", "-1002556560": "আমরা Wallet আপগ্রেড দিয়ে সম্পূর্ণ করতে অক্ষম। দয়া করে পরে আবার চেষ্টা করুন বা লাইভ চ্যাটের মাধ্যমে আমাদের সাথে যোগাযোগ করুন।", "-1186807402": "ট্রান্সফার", - "-2051096382": "<0>বিকল্পগুলি দিয়ে সঠিকভাবে বাজারের গতিবিধি ভবিষ্যদ্বাণী করে বিভিন্ন পেআউট উপার্জন করুন, অথবা <1>Multipliers সাথে আপনার প্রাথমিক অংশীদারিত্বের চেয়ে বেশি ঝুঁকি না নিয়েই CFD-এর উর্ধ্বগতি পান।.", - "-1638358352": "<0>Multipliers সাথে আপনার প্রাথমিক অংশীদারিত্বের চেয়ে বেশি ঝুঁকি ছাড়াই CFD এর ঊর্ধ্বে উঠুন।", + "-655191265": "একটি নির্দিষ্ট দামের জন্য একটি নির্দিষ্ট সময়ে কিনুন বা বিক্রি করুন। <0>আরও জানুন", "-744999940": "Deriv একাউন্ট ", - "-749129977": "একটি বাস্তব Deriv অ্যাকাউন্ট পান, ট্রেডিং শুরু করুন এবং আপনার তহবিল পরিচালনা করুন।", "-2146691203": "প্রবিধান পছন্দ", "-249184528": "আপনি ইইউ বা অ-ইইউ নিয়ন্ত্রণের অধীনে প্রকৃত অ্যাকাউন্ট তৈরি করতে পারেন। <0>এই অ্যাকাউন্টগুলি সম্পর্কে আরও জানতে<0/> আইকনে ক্লিক করুন।", "-1505234170": "ট্রেডার'স হাব ট্যুর", @@ -2768,6 +2771,7 @@ "-1995606668": "পরিমাণ", "-2024290965": "নিশ্চিতকরণ", "-811190405": "সময়", + "-728508487": "{{currency}} সাম্প্রতিক লেনদেন", "-1984478597": "এই লেনদেনের বিবরণ CoinSpoid এ উপলব্ধ।", "-316545835": "আপনার স্থানান্তর করার আগে অনুগ্রহ করে নিশ্চিত করুন যে <0>সমস্ত বিবরণ <0>সঠিক।", "-949073402": "আমি নিশ্চিত যে আমি ক্লায়েন্টের স্থানান্তর তথ্য যাচাই করেছি।", @@ -3353,7 +3357,7 @@ "-482715448": "ব্যক্তিগত বিবরণে যান", "-2072411961": "আপনার ঠিকানা প্রমাণ যাচাই করা হয়েছে", "-384887227": "আপনার প্রোফাইলে ঠিকানা আপডেট করুন।", - "-1779268418": "Forex, স্টক, স্টক সূচক, পণ্য ক্রিপ্টোকারেন্সি, ETFs এবং সিন্থেটিক সূচকগুলির সাথে MT5 এ swap-free সিএফডি ট্রেড করুন।", + "-1470677931": "আর্থিক যন্ত্রের উপর সিএফডি।", "-1998049070": "আপনি যদি আমাদের কুকিজ ব্যবহারে সম্মত হন, তাহলে Accept-এ ক্লিক করুন। আরও তথ্যের জন্য, <0>আমাদের নীতি দেখুন।", "-402093392": "Deriv অ্যাকাউন্ট যোগ করুন", "-1721181859": "আপনি একটি {{deriv_account}} অ্যাকাউন্ট প্রয়োজন হবে", @@ -4078,8 +4082,6 @@ "-3423966": "লাভ<0 /> স্টপ লস নিন", "-1131753095": "{{trade_type_name}} চুক্তির বিবরণ বর্তমানে উপলব্ধ নয়। আমরা শীঘ্রই তাদের উপলব্ধ করার জন্য কাজ করছি।", "-360975483": "আপনি এই সময়ের মধ্যে এই ধরনের কোন লেনদেন করেছেন।", - "-561436679": "এই অ্যাকাউন্টটি Derived যন্ত্রগুলিতে CFDs সরবরাহ করে।", - "-1173266642": "এই অ্যাকাউন্টটি একটি বৈশিষ্ট্যসমৃদ্ধ ট্রেডিং প্ল্যাটফর্মে CFD অফার করে।", "-1226595254": "Turbos", "-922253974": "Rise/Fall", "-1361254291": "Higher/Lower", diff --git a/packages/translations/src/translations/de.json b/packages/translations/src/translations/de.json index d9979c839a61..c10502c33089 100644 --- a/packages/translations/src/translations/de.json +++ b/packages/translations/src/translations/de.json @@ -68,13 +68,13 @@ "76635112": "Um fortzufahren, reichen Sie diese Dokumente erneut ein", "76916358": "Sie haben das Auszahlungslimit erreicht.<0/> Bitte laden Sie Ihren Identitäts- und Adressnachweis hoch, um das Limit aufzuheben und Ihre Auszahlung fortzusetzen.", "76925355": "Überprüfen Sie die Leistung Ihres Bots", - "77945356": "Handeln Sie unterwegs mit unserer mobilen App.", "77982950": "Mit Vanilla-Optionen können Sie eine Aufwärts- (bullish) oder Abwärtsbewegung (bearish) des Basiswerts vorhersagen, indem Sie einen \"Call\" oder einen \"Put\" kaufen.", "81091424": "Um das Upgrade abzuschließen, loggen Sie sich bitte aus und melden Sie sich erneut an, um weitere Konten hinzuzufügen und Transaktionen mit Ihren Wallets durchzuführen.", "81450871": "Wir konnten diese Seite nicht finden", "82839270": "Laden Sie die Seite Ihres Reisepasses hoch, die Ihr Foto enthält.", "83202647": "Block zusammenklappen", "84402478": "Wo finde ich die erforderlichen Blöcke?", + "84924586": "Um mit Optionen und Multipliers zu handeln, müssen Sie zunächst ein Derivat Apps-Konto einrichten.", "85343079": "Finanzielle Bewertung", "85359122": "40 oder mehr", "85389154": "Schritte erforderlich, um die Überprüfung auf Ihrem Handy fortzusetzen", @@ -162,7 +162,6 @@ "177099483": "Ihre Adressverifizierung steht noch aus, und wir haben einige Einschränkungen für Ihr Konto vorgenommen. Die Einschränkungen werden aufgehoben, sobald Ihre Adresse verifiziert wurde.", "178413314": "Der Vorname sollte zwischen 2 und 50 Zeichen lang sein.", "179083332": "Datum", - "179737767": "Unsere traditionelle Handelsplattform für Optionen.", "181107754": "Ihr neues <0>{{platform}} {{eligible_account_to_migrate}} Ihr(e) Konto(s) sind bereit für den Handel.", "181346014": "Hinweise ", "181881956": "Vertragsart: {{ contract_type }}", @@ -196,7 +195,6 @@ "211461880": "Gebräuchliche Vor- und Nachnamen sind leicht zu erraten", "211487193": "Dokumentennummer (z.B. Personalausweis, Reisepass, Führerschein)", "211847965": "Ihre <0>persönlichen Daten sind unvollständig. Bitte gehen Sie zu Ihren Kontoeinstellungen und geben Sie Ihre persönlichen Daten ein, um Auszahlungen zu ermöglichen.", - "215975531": "Dieses Konto bietet CFDs auf einer hochgradig anpassungsfähigen CFD-Handelsplattform.", "216650710": "Sie verwenden ein Demo-Konto", "217377529": "5. Wenn die nächsten Trades profitabel sind, wird der Einsatz für den nächsten Trade um 2 USD reduziert. Dies lässt sich oben veranschaulichen, wo der Einsatz von 3 USD auf 1 USD reduziert wird. Siehe A3.", "217403651": "St. Vincent und die Grenadinen", @@ -318,6 +316,7 @@ "344418897": "Diese Handelslimits und der Selbstausschluss helfen Ihnen dabei, den Geldbetrag und die Zeit, die Sie für {{brand_website_name}} ausgeben, zu kontrollieren und <0>verantwortungsbewusst zu handeln.", "345320063": "Ungültiger Zeitstempel", "345818851": "Entschuldigung, ein interner Fehler ist aufgetreten. Klicken Sie auf das obige Kontrollkästchen, um es erneut zu versuchen.", + "346843343": "CFDs auf Finanzinstrumente und abgeleitete Instrumente mit Copy-Trading.", "347029309": "Forex: Standard/Mikro", "347039138": "Iterieren (2)", "348951052": "Ihr Kassierer ist derzeit gesperrt", @@ -335,7 +334,6 @@ "359809970": "Dieser Block gibt Ihnen den ausgewählten Kerzenwert aus einer Liste von Kerzen innerhalb des ausgewählten Zeitintervalls. Sie können zwischen Eröffnungskurs, Schlusskurs, Hochpreis, Niedrigpreis und Öffnungszeit wählen.", "360224937": "Logik", "360773403": "Bot-Builder", - "362946954": "Unsere alte automatisierte Handelsplattform.", "363576009": "- Hoher Preis: der höchste Preis", "363738790": "Browser", "363990763": "Verkaufspreis:", @@ -364,6 +362,7 @@ "386502387": "Bot läuft nicht", "389923099": "Hereinzoomen", "390890891": "Letztes Quartal", + "391038015": "Die mobile Trading-App für Multipliers.", "391915203": "Absicherung", "392582370": "Fall Equals", "393789743": "Nur Buchstaben, Leerzeichen, Punkte, Bindestriche und Apostrophe.", @@ -914,6 +913,7 @@ "969987233": "Gewinnen Sie bis zur maximalen Auszahlung, wenn der Ausstiegsplatz zwischen der unteren und der oberen Barriere liegt, und zwar proportional zur Differenz zwischen Ausgangsplatz und unterer Barriere.", "970915884": "EIN", "974888153": "High-Low", + "975608902": "Um CFDs zu handeln, müssen Sie zunächst ein Derivat Apps-Konto einrichten.", "975668699": "Ich bestätige und akzeptiere die <0>Allgemeinen Geschäftsbedingungen von {{company}}", "975950139": "Land des Wohnsitzes", "977929335": "Gehe zu meinen Kontoeinstellungen", @@ -941,6 +941,7 @@ "997311089": "Mein Passwort ändern", "999008199": "Text", "1001160515": "Verkaufe", + "1002392396": "CFDs auf Derived Instrumente.", "1002989598": "iOS: iCloud-Schlüsselbund.", "1003876411": "Sollte mit einem Buchstaben oder einer Zahl beginnen und kann einen Bindestrich, einen Punkt und einen Schrägstrich enthalten.", "1004127734": "E-Mail senden", @@ -1368,6 +1369,7 @@ "1405584799": "mit Intervall: {{ candle_interval_type }}", "1407191858": "D-Händler", "1408844944": "Klicken Sie auf das Plus-Symbol, um die Funktionalität dieses Blocks zu erweitern.", + "1408852678": "Handeln Sie größere Positionen mit weniger Kapital über verschiedene Finanzinstrumente und Derived Instrumente. <0>Weitere Informationen", "1411373212": "Starke Passwörter enthalten mindestens 8 Zeichen. Kombinieren Sie Groß- und Kleinbuchstaben, Zahlen und Symbole.", "1412405902": "Siehe wichtige Hinweise", "1412535872": "Mit diesem Block können Sie das Ergebnis des letzten Handels überprüfen. Es kann nur im Rootblock „Handelsbedingungen neu starten“ platziert werden.", @@ -1469,6 +1471,7 @@ "1501691227": "Fügen Sie Ihr Deriv MT5 <0>{{account_type_name}} Konto unter Deriv (V) Ltd, reguliert von der Vanuatu Financial Services Commission, hinzu.", "1502039206": "Über {{barrier}}", "1502325741": "Ihr Passwort darf nicht mit Ihrer E-Mail-Adresse übereinstimmen.", + "1503419760": "Swap-freie CFDs auf ausgewählte Finanzinstrumente und Derived Instrumente.", "1503618738": "- Deal-Referenz-ID: Die Referenz-ID des Vertrags", "1505420815": "Für Ihre Suche wurden keine Zahlungsagenten gefunden", "1505898522": "Stapel herunterladen", @@ -1515,7 +1518,6 @@ "1557426040": "Von der Demo abgeleitetes SVG", "1557682012": "Kontoeinstellungen", "1558972889": "setze {{ variable }} auf Simple Moving Average {{ dummy }}", - "1559220089": "Handelsplattform für Optionen und Multipliers.", "1560302445": "Kopiert", "1562374116": "Studierende", "1566037033": "Gekauft: {{longcode}} (ID: {{transaction_id}})", @@ -1661,6 +1663,7 @@ "1715630945": "Gibt den Gesamtgewinn im Zeichenkettenformat zurück", "1715680813": "Ihr Vertrag läuft genau um 23:59:59 GMT +0 an dem von Ihnen gewählten Verfallsdatum aus.", "1717023554": "Dokumente erneut einreichen", + "1717474982": "CFDs auf Finanzinstrumente und Derived Instrumente über eine anpassbare Plattform.", "1720451994": "Für Überweisungen zwischen Ihren Deriv-Fiat- und Deriv-Kryptowährungskonten erheben wir eine Überweisungsgebühr von 2% oder {{minimum_fee}} {{currency}}, je nachdem, welcher Betrag höher ist.", "1720968545": "Laden Sie die Passbildseite von Ihrem Computer hoch", "1722056905": "Das von Ihnen angegebene Dokument wird für Ihr Land nicht unterstützt. Bitte stellen Sie ein unterstütztes Dokument für Ihr Land zur Verfügung.", @@ -1830,6 +1833,7 @@ "1871664426": "Notiz", "1873376454": "Dies ist ein Preisniveau, das Sie wählen. Wenn diese Schwelle jemals überschritten wird, wird Ihr Vertrag gekündigt.", "1874481756": "Verwenden Sie diesen Block, um den gewünschten Vertrag zu erwerben. Sie können mehrere Kaufblöcke zusammen mit bedingten Blöcken hinzufügen, um Ihre Einkaufsbedingungen zu definieren. Dieser Block kann nur innerhalb des Blocks mit den Einkaufsbedingungen verwendet werden.", + "1874737957": "Um mit Multipliers zu handeln, müssen Sie zunächst ein Deriv Apps-Konto einrichten.", "1874756442": "BVI", "1875702561": "Lade oder baue deinen Bot", "1876015808": "Treuhandfonds für soziale Sicherheit und nationale Versicherung", @@ -1931,7 +1935,6 @@ "1973910243": "Verwalten Sie Ihre Konten", "1974273865": "In diesem Umfang können Apps von Drittanbietern Ihre Kontoaktivitäten, Einstellungen, Limits, Bilanzen, den Verlauf Ihrer Handelskäufe und mehr einsehen.", "1974903951": "Wenn Sie auf Ja klicken, gehen die von Ihnen eingegebenen Informationen verloren.", - "1977724653": "Dieses Konto bietet CFDs auf Finanzinstrumente.", "1978218112": "Google-Authentifikator", "1981940238": "Diese Beschwerderichtlinie, die sich von Zeit zu Zeit ändern kann, gilt für Ihre Konten, die mit {{legal_entity_name_svg}} und {{legal_entity_name_v}}registriert sind.", "1982790875": "Aktualisieren Sie Ihr <0/><1>{{account_title}} {{platform}} Konto(s)", @@ -1979,6 +1982,7 @@ "2014536501": "Nummer der Karte", "2014590669": "Die Variable '{{variable_name}}' hat keinen Wert. Bitte geben Sie einen Wert für die Variable '{{variable_name}}' ein, um eine Benachrichtigung zu erhalten.", "2017672013": "Bitte wählen Sie das Land aus, in dem das Dokument ausgestellt wurde.", + "2018044371": "Mit Multipliers können Sie mit Hebelwirkung handeln und Ihr Risiko auf Ihren Einsatz begrenzen. <0>Weitere Informationen", "2019596693": "Das Dokument wurde vom Provider abgelehnt.", "2020545256": "Dein Konto schließen?", "2021037737": "Bitte aktualisieren Sie Ihre Daten, um fortzufahren.", @@ -2658,8 +2662,11 @@ "-2021135479": "Dieses Feld ist erforderlich.", "-1002044401": "Wählen Sie Ihr Dokument*", "-1272489896": "Bitte füllen Sie dieses Feld aus.", - "-1107320163": "Automatisieren Sie Ihren Handel, ohne dass eine Codierung erforderlich ist.", - "-829643221": "Handelsplattform für Multipliers.", + "-721346138": "Die Handelsplattform für Optionen und Multipliers.", + "-1874136267": "Die ultimative Bot-Handelsplattform.", + "-415943890": "Die alte Handelsplattform für Optionen.", + "-673722343": "Die alte Bot-Handelsplattform.", + "-897826065": "Die Multipliers-Handelsplattform.", "-2115275974": "CFDs", "-1585707873": "Finanzkommission", "-199154602": "Finanzdienstleistungskommission von Vanuatu", @@ -2678,12 +2685,10 @@ "-1879666853": "Deriv MT5", "-820028470": "Options & Multipliers", "-1210359945": "Überweisen Sie Geld auf Ihre Konten", - "-81256466": "Sie benötigen ein Deriv-Konto, um ein CFD-Konto zu erstellen.", "-1926387364": "Wir haben Ihnen Ihr E-Book per E-Mail zugeschickt. Sie können es auch hier herunterladen.", "-1057002564": "<0>Wir können Ihnen derzeit kein Upgrade auf Wallets anbieten und arbeiten daran, dieses Problem so schnell wie möglich zu beheben. Bitte <1>versuchen Sie es erneut<0>.", "-1424352390": "<0>Wallets <1>— Eine intelligentere Art, Ihr Geld zu verwalten", "-280236366": "Jetzt einschalten", - "-699372497": "Traden Sie mit Hebelwirkung und engen Spreads, um bei erfolgreichen Trades bessere Renditen zu erzielen. <0>Erfahren Sie mehr", "-145462920": "Deriv cTrader", "-982095728": "Holen", "-1790089996": "NEU!", @@ -2708,10 +2713,8 @@ "-643108528": "Nicht-EU- und EU-Vorschriften", "-1002556560": "Wir können das Wallet-Upgrade nicht abschließen. Bitte versuchen Sie es später noch einmal oder kontaktieren Sie uns über den Live-Chat.", "-1186807402": "Übertragung", - "-2051096382": "Verdienen Sie eine Reihe von Auszahlungen, indem Sie mit <0>Optionen Marktbewegungen richtig vorhersagen, oder nutzen Sie die Vorteile von CFDs, ohne mehr als Ihren ursprünglichen Einsatz zu riskieren, mit <1>Multipliers.", - "-1638358352": "Holen Sie sich mit <0>Multipliers die Vorteile von CFDs, ohne mehr als Ihren ursprünglichen Einsatz zu riskieren.", + "-655191265": "Kaufen oder verkaufen Sie zu einem bestimmten Zeitpunkt zu einem bestimmten Preis. <0>Weitere Informationen", "-744999940": "Konto ableiten", - "-749129977": "Holen Sie sich ein echtes Deriv-Konto, beginnen Sie mit dem Handel und verwalten Sie Ihr Geld.", "-2146691203": "Wahl der Verordnung", "-249184528": "Sie können echte Konten gemäß EU- oder Nicht-EU-Vorschriften erstellen. Klicken Sie auf das <0><0/>Symbol, um mehr über diese Konten zu erfahren.", "-1505234170": "Trader's Hub-Tour", @@ -2768,6 +2771,7 @@ "-1995606668": "Betrag", "-2024290965": "Bestätigungen", "-811190405": "Zeit", + "-728508487": "{{currency}} letzte Transaktionen", "-1984478597": "Die Details dieser Transaktion sind auf CoinsPaid verfügbar.", "-316545835": "Bitte stellen Sie sicher, dass <0>alle Angaben <0>korrekt sind, bevor Sie Ihre Überweisung tätigen.", "-949073402": "Ich bestätige, dass ich die Überweisungsinformationen des Kunden überprüft habe.", @@ -3353,7 +3357,7 @@ "-482715448": "Gehe zu den persönlichen Daten", "-2072411961": "Ihr Adressnachweis wurde verifiziert", "-384887227": "Aktualisiere die Adresse in deinem Profil.", - "-1779268418": "Handeln Sie swapfreie CFDs auf MT5 mit Devisen, Aktien, Aktienindizes, Rohstoffen, Kryptowährungen, ETFs und synthetischen Indizes.", + "-1470677931": "CFDs auf Finanzinstrumente.", "-1998049070": "Wenn Sie der Verwendung von Cookies zustimmen, klicken Sie auf Akzeptieren. Weitere Informationen finden <0>Sie in unseren Richtlinien.", "-402093392": "Deriv-Konto hinzufügen", "-1721181859": "Sie benötigen ein {{deriv_account}} Konto", @@ -4078,8 +4082,6 @@ "-3423966": "Take-Profit<0 />Stop-Loss", "-1131753095": "Die {{trade_type_name}} Vertragsdetails sind derzeit nicht verfügbar. Wir arbeiten daran, sie bald verfügbar zu machen.", "-360975483": "Sie haben in diesem Zeitraum keine Transaktionen dieser Art getätigt.", - "-561436679": "Dieses Konto bietet CFDs auf abgeleitete Instrumente.", - "-1173266642": "Dieses Konto bietet CFDs auf einer funktionsreichen Handelsplattform.", "-1226595254": "Turbos", "-922253974": "Rise/Fall", "-1361254291": "Higher/Lower", diff --git a/packages/translations/src/translations/es.json b/packages/translations/src/translations/es.json index 5a9c72d2e960..72776be2ca69 100644 --- a/packages/translations/src/translations/es.json +++ b/packages/translations/src/translations/es.json @@ -68,13 +68,13 @@ "76635112": "Para continuar, vuelva a enviar estos documentos", "76916358": "Ha alcanzado el límite de retiro. <0/> Suba su prueba de identidad y domicilio para levantar el límite y continuar con su retiro.", "76925355": "Comprueba el rendimiento de su bot", - "77945356": "Opere desde cualquier lugar con nuestra aplicación móvil.", "77982950": "Las opciones vanilla le permiten predecir una dirección ascendente (alcista) o descendente (bajista) del activo subyacente mediante la compra de un \"Call\" o un \"Put\".", "81091424": "Para completar la actualización, cierre la sesión y vuelva a iniciarla para añadir más cuentas y realizar transacciones con sus Wallets.", "81450871": "No pudimos encontrar la página", "82839270": "Suba la página de su pasaporte que contiene la foto.", "83202647": "Bloque de colapso", "84402478": "¿Dónde encuentro los bloques que necesito?", + "84924586": "Para intercambiar opciones y multipliers, primero obtenga una cuenta de Deriv Apps.", "85343079": "Evaluación financiera", "85359122": "40 o más", "85389154": "Pasos necesarios para continuar con la verificación en su móvil", @@ -162,7 +162,6 @@ "177099483": "La verificación de su dirección está pendiente y hemos impuesto algunas restricciones a su cuenta. Las restricciones se levantarán una vez que se verifique su dirección.", "178413314": "El nombre debe tener entre 2 y 50 caracteres.", "179083332": "Fecha", - "179737767": "Nuestra plataforma de trading de opciones tradicional.", "181107754": "Su(s) nueva(s) <0>{{platform}} {{eligible_account_to_migrate}} cuenta(s) está(n) lista(s) para operar.", "181346014": "Notas ", "181881956": "Tipo de contrato: {{ contract_type }}", @@ -196,7 +195,6 @@ "211461880": "Los nombres y apellidos comunes son fáciles de adivinar", "211487193": "Número de documento (por ejemplo, documento de identidad, pasaporte, permiso de conducir)", "211847965": "Sus <0>datos personales están incompletos. Vaya a la configuración de su cuenta y complete sus datos personales para permitir retiros.", - "215975531": "Esta cuenta ofrece CFD en una plataforma de operaciones altamente personalizable.", "216650710": "Está usando una cuenta demo", "217377529": "5. Si las siguientes operaciones son rentables, la apuesta para la siguiente operación se reducirá en 2 USD. Esto puede verse arriba, donde la apuesta de 3 USD se reduce a 1 USD. Véase A3.", "217403651": "San Vicente y las Granadinas", @@ -318,6 +316,7 @@ "344418897": "Estos límites de trading y la autoexclusión le ayudan a controlar la cantidad de dinero y el tiempo que gasta en {{brand_website_name}} y a ejercer un <0>trading responsable.", "345320063": "Marca temporal inválida", "345818851": "Lo sentimos, se ha producido un error interno. Pulse la casilla de verificación anterior para volver a intentarlo.", + "346843343": "CFD sobre instrumentos financieros y derived con copy trading.", "347029309": "Forex: estándar/micro", "347039138": "Iterar (2)", "348951052": "Su cajero está actualmente bloqueado", @@ -335,7 +334,6 @@ "359809970": "Este bloque le proporciona el valor de vela seleccionado de una lista de velas dentro del intervalo de tiempo seleccionado. Puede elegir entre precio de apertura, precio de cierre, precio alto, precio bajo y tiempo de apertura.", "360224937": "Lógica", "360773403": "Constructor de bots", - "362946954": "Nuestra plataforma de trading automatizada tradicional.", "363576009": "- Precio alto: el precio más alto", "363738790": "Navegador", "363990763": "Precio de venta:", @@ -364,6 +362,7 @@ "386502387": "El Bot no está funcionando", "389923099": "Acercar", "390890891": "Último trimestre", + "391038015": "La aplicación de comercio móvil para multipliers.", "391915203": "Cobertura", "392582370": "Fall Equals", "393789743": "Letras, espacios, puntos, guiones, apóstrofes únicamente.", @@ -914,6 +913,7 @@ "969987233": "Gane hasta el pago máximo si el punto de salida está entre la barrera inferior y superior, en proporción a la diferencia entre el punto de salida y la barrera inferior.", "970915884": "UN", "974888153": "High-Low", + "975608902": "Para operar con CFD, primero obtenga una cuenta de Deriv Apps.", "975668699": "Confirmo y acepto <0>los Términos y Condiciones de {{company}}", "975950139": "País de residencia", "977929335": "Ir a la configuración de mi cuenta", @@ -941,6 +941,7 @@ "997311089": "Cambiar mi contraseña", "999008199": "texto", "1001160515": "Vender", + "1002392396": "CFD sobre instrumentos derived.", "1002989598": "iOS: Llavero de iCloud.", "1003876411": "Debe empezar con letra o número y puede contener guión, punto y barra.", "1004127734": "Enviar correo electrónico", @@ -1368,6 +1369,7 @@ "1405584799": "con intervalo: {{ candle_interval_type }}", "1407191858": "DTrader", "1408844944": "Haga clic en el ícono más para ampliar la funcionalidad de este bloque.", + "1408852678": "Negocie posiciones más grandes con menos capital a través de diversos instrumentos financieros y derived. <0>Más información", "1411373212": "Las contraseñas seguras contienen al menos 8 caracteres. Combinan letras mayúsculas y minúsculas, números y símbolos.", "1412405902": "Ver notas importantes", "1412535872": "Puede verificar el resultado de la última operación con este bloque. Solo se puede colocar dentro del bloque raíz \"Reiniciar condiciones comerciales\".", @@ -1469,6 +1471,7 @@ "1501691227": "Añada su cuenta Deriv MT5 <0>{{account_type_name}} en Deriv (V) Ltd, regulada por la Comisión de Servicios Financieros de Vanuatu.", "1502039206": "Sobre {{barrier}}", "1502325741": "Su contraseña no puede ser igual a su dirección de correo electrónico.", + "1503419760": "CFD sin swap sobre instrumentos financieros y derived seleccionados.", "1503618738": "- ID de referencia del acuerdo: el ID de referencia del contrato", "1505420815": "No se ha encontrado ningún agente de pago para su búsqueda", "1505898522": "Descargar montón", @@ -1515,7 +1518,6 @@ "1557426040": "Demo derivada SVG", "1557682012": "Configuración de cuenta", "1558972889": "ajustar {{ variable }} a la Media móvil simple {{ dummy }}", - "1559220089": "Plataforma de trading de opciones y multipliers.", "1560302445": "Copiado", "1562374116": "Estudiantes", "1566037033": "Compra: {{longcode}} (ID:{{transaction_id}})", @@ -1661,6 +1663,7 @@ "1715630945": "Devuelve la ganancia total en formato de cadena", "1715680813": "Su contrato expirará exactamente a las 23:59:59 GMT +0 en la fecha de vencimiento seleccionada.", "1717023554": "Volver a enviar documentos", + "1717474982": "CFD sobre instrumentos financieros y derived a través de una plataforma personalizable.", "1720451994": "Cobraremos una tarifa de transferencia del 2% o {{minimum_fee}} {{currency}}, lo que sea mayor, por las transferencias entre sus cuentas de criptomoneda Deriv y Deriv fiat.", "1720968545": "Suba la página con la foto de pasaporte desde su computadora", "1722056905": "El documento que proporcionó no es compatible con su país. Proporcione un documento compatible para su país.", @@ -1830,6 +1833,7 @@ "1871664426": "Nota", "1873376454": "Se trata de un nivel de precios que usted elige. Si alguna vez se cruza esta barrera, su contrato quedaría rescindido.", "1874481756": "Use este bloque para comprar el contrato específico que desea. Puede agregar varios bloques de compra junto con bloques condicionales para definir sus condiciones de compra. Este bloque solo se puede usar dentro del bloque Condiciones de compra.", + "1874737957": "Para intercambiar multipliers, primero obtenga una cuenta de Deriv Apps.", "1874756442": "BVI", "1875702561": "Cargue o cree su bot", "1876015808": "Fideicomiso de Seguro Social y de Seguro Nacional", @@ -1931,7 +1935,6 @@ "1973910243": "Gestione sus cuentas", "1974273865": "Este campo permitirá a apps de terceros ver la actividad, los ajustes, los límites, las hojas de balance, el historial de compras de operaciones de su cuenta, entre otros.", "1974903951": "Si hace clic en Sí, se perderá la información que introdujo.", - "1977724653": "Esta cuenta ofrece CFD sobre instrumentos financieros.", "1978218112": "Autenticador de Google", "1981940238": "Esta política de quejas, que puede cambiar de vez en cuando, se aplica a su(s) cuenta(s) registrada(s) con {{legal_entity_name_svg}} y {{legal_entity_name_v}}.", "1982790875": "Actualice su (s) cuenta (s) <0/><1>{{account_title}} {{platform}} ", @@ -1979,6 +1982,7 @@ "2014536501": "Número de tarjeta", "2014590669": "La variable '{{variable_name}}' no tiene valor. Establezca un valor para la variable '{{variable_name}}' para notificar.", "2017672013": "Seleccione el país de emisión del documento.", + "2018044371": "Los multipliers le permiten operar con apalancamiento y limitar el riesgo de su apuesta. <0>Más información", "2019596693": "El documento fue rechazado por el Proveedor.", "2020545256": "¿Cerrar su cuenta?", "2021037737": "Actualice sus detalles para continuar.", @@ -2658,8 +2662,11 @@ "-2021135479": "Este campo es obligatorio.", "-1002044401": "Seleccione su documento*.", "-1272489896": "Rellene este campo.", - "-1107320163": "Automatice sus operaciones, sin necesidad de codificación.", - "-829643221": "Plataforma de trading de multipliers.", + "-721346138": "La plataforma de negociación de opciones y multipliers.", + "-1874136267": "La plataforma de comercio de bots definitiva.", + "-415943890": "La plataforma de negociación de opciones heredada.", + "-673722343": "La plataforma de comercio de bots heredada.", + "-897826065": "La plataforma de negociación de multipliers.", "-2115275974": "CFD", "-1585707873": "Comisión Financiera", "-199154602": "Comisión de Servicios Financieros de Vanuatu", @@ -2678,12 +2685,10 @@ "-1879666853": "Deriv MT5", "-820028470": "Opciones y Multipliers", "-1210359945": "Transferir fondos a sus cuentas", - "-81256466": "Necesita una cuenta Deriv para crear una cuenta de CFD.", "-1926387364": "Le hemos enviado el libro electrónico a su correo electrónico. También puede descargarlo aquí.", "-1057002564": "<0>No podemos actualizarle a Billeteras en este momento y estamos trabajando para solucionarlo lo antes posible. Por favor <1>inténtelo de nuevo<0>.", "-1424352390": "<0>Wallets<1>: una forma más inteligente de administrar sus fondos", "-280236366": "Habilitar ahora", - "-699372497": "Opere con apalancamiento y spreads ajustados para obtener mejores rendimientos en operaciones exitosas. <0>Saber más", "-145462920": "Deriv cTrader", "-982095728": "Obtener", "-1790089996": "NUEVO!", @@ -2708,10 +2713,8 @@ "-643108528": "Regulación comunitario y extracomunitario", "-1002556560": "No hemos podido completar la actualización con la Wallet. Por favor, inténtelo de nuevo más tarde o póngase en contacto con nosotros a través de Live Chat.", "-1186807402": "Transferir", - "-2051096382": "Obtenga una variedad de pagos al predecir correctamente los movimientos del mercado con <0>las opciones, o saque provecho de los CFD sin arriesgar más de lo que apostó inicialmente con los <1>multipliers.", - "-1638358352": "Aproveche las ventajas de los CFD sin arriesgar más de su inversión con <0>Multipliers.", + "-655191265": "Compra o vende en un momento determinado por un precio determinado. <0>Más información", "-744999940": "Cuenta Deriv", - "-749129977": "Obtenga una cuenta real Deriv, comience a operar y administre sus fondos.", "-2146691203": "Elección del reglamento", "-249184528": "Puede crear cuentas reales según la normativa comunitaria o extracomunitaria. Haga clic en el <0><0/>icono para obtener más información sobre estas cuentas.", "-1505234170": "Tour por el Trader's Hub", @@ -2768,6 +2771,7 @@ "-1995606668": "Monto", "-2024290965": "Confirmaciones", "-811190405": "Hora", + "-728508487": "{{currency}} transacciones recientes", "-1984478597": "Los detalles de esta transacción están disponibles en CoinsPaid.", "-316545835": "Asegúrese de que <0>todos los datos sean <0>correctos antes de realizar la transferencia.", "-949073402": "Confirmo que he verificado la información de transferencia del cliente.", @@ -3353,7 +3357,7 @@ "-482715448": "Ir a Datos personales", "-2072411961": "Su prueba de domicilio ha sido verificada", "-384887227": "Actualice la dirección en su perfil.", - "-1779268418": "Opere CFD sin swaps en MT5 con forex, acciones, índices bursátiles, materias primas, criptomonedas, ETF e índices sintéticos.", + "-1470677931": "CFD sobre instrumentos financieros.", "-1998049070": "Si acepta nuestro uso de cookies, haga clic en Aceptar. Para obtener más información, <0>consulte nuestra política.", "-402093392": "Añadir cuenta Deriv", "-1721181859": "Necesitará una cuenta de {{deriv_account}}", @@ -4078,8 +4082,6 @@ "-3423966": "Take profit<0 />Stop loss", "-1131753095": "Los datos del contrato de {{trade_type_name}} no están disponibles actualmente. Estamos trabajando para que estén disponibles muy pronto.", "-360975483": "No ha realizado transacciones de este tipo durante este período.", - "-561436679": "Esta cuenta ofrece CFD sobre instrumentos Derived.", - "-1173266642": "Esta cuenta ofrece CFD en una plataforma de operaciones rica en funciones.", "-1226595254": "Turbos", "-922253974": "Rise/Fall", "-1361254291": "Higher/Lower", diff --git a/packages/translations/src/translations/fr.json b/packages/translations/src/translations/fr.json index 45fc5df78c70..bb657d352352 100644 --- a/packages/translations/src/translations/fr.json +++ b/packages/translations/src/translations/fr.json @@ -68,13 +68,13 @@ "76635112": "Pour continuer, soumettez à nouveau ces documents", "76916358": "Vous avez atteint la limite de retrait.<0/>Veuillez télécharger vos justificatifs d'identité et de domicile pour lever la limite et poursuivre votre retrait.", "76925355": "Vérifiez les performances de votre bot", - "77945356": "Tradez où que vous soyez grâce à notre application mobile.", "77982950": "Les options Vanilla vous permettent de prédire l'évolution à la hausse (haussière) ou à la baisse (baissière) de l'actif sous-jacent en achetant un contrat de type \"Call\" or \"Put\".", "81091424": "Pour terminer la mise à niveau, déconnectez-vous et reconnectez-vous pour ajouter d'autres comptes et effectuer des transactions avec vos Wallets.", "81450871": "Nous n'avons pas pu trouver cette page", "82839270": "Téléchargez la page de votre passeport avec votre photo.", "83202647": "Réduire le bloc", "84402478": "Où puis-je trouver les blocs qu'il me faut ?", + "84924586": "Pour échanger des options et des multiplicateurs, obtenez d’abord un compte Deriv Apps.", "85343079": "Évaluation financière", "85359122": "40 ou plus", "85389154": "Étapes requises pour continuer la vérification sur votre mobile", @@ -162,7 +162,6 @@ "177099483": "La vérification de votre adresse est en cours et nous avons imposé certaines restrictions à votre compte. Les restrictions seront levées une fois que votre adresse aura été vérifiée.", "178413314": "Le prénom doit comprendre entre 2 et 50 caractères.", "179083332": "Date", - "179737767": "Notre ancienne plateforme de trading d'options.", "181107754": "Votre ou vos nouveaux comptes <0>{{platform}} {{eligible_account_to_migrate}} sont prêts à l'utilisation.", "181346014": "Remarques  ", "181881956": "Type de contrat: {{ contract_type }}", @@ -196,7 +195,6 @@ "211461880": "Les noms et prénoms communs sont faciles à deviner", "211487193": "Numéro du document (p. ex., carte d'identité, passeport, permis de conduire)", "211847965": "Vos <0>données personnelles sont incomplètes. Veuillez vous rendre dans les paramètres de votre compte et compléter vos données personnelles pour permettre les retraits.", - "215975531": "Ce compte propose des CFD sur une plateforme de trading hautement personnalisable.", "216650710": "Vous utilisez un compte démo", "217377529": "5. Si les transactions suivantes sont rentables, la mise de la transaction suivante sera réduite de 2 USD. Comme cela est illustré ci-dessus, la mise de 3 USD est réduite à 1 USD. Voir A3.", "217403651": "Saint-Vincent-et-les Grenadines", @@ -318,6 +316,7 @@ "344418897": "Ces limites de trading et l'auto-exclusion vous aident à contrôler le montant d'argent et le temps que vous passez sur {{brand_website_name}} et à pratiquer un <0>trading responsable.", "345320063": "Horodatage non valide", "345818851": "Désolé, une erreur interne s'est produite. Cliquez sur la case à cocher ci-dessus pour réessayer.", + "346843343": "CFD sur instruments financiers et dérivés avec trading de copie.", "347029309": "Forex : standard/micro", "347039138": "Itérer (2)", "348951052": "Votre caisse est actuellement verrouillée", @@ -335,7 +334,6 @@ "359809970": "Ce bloc vous donne la valeur de bougie sélectionnée à partir d'une liste de bougies dans l'intervalle de temps sélectionné. Vous pouvez choisir entre le prix d'ouverture, le prix de clôture, le prix élevé, le prix bas et le temps d'ouverture.", "360224937": "Logique", "360773403": "Outil de création de robots", - "362946954": "Notre ancienne plateforme de trading automatisée.", "363576009": "- Prix haut: le prix le plus élevé", "363738790": "Navigateur", "363990763": "Prix de vente:", @@ -364,6 +362,7 @@ "386502387": "Le bot n'est pas en marche", "389923099": "Effectuer un zoom avant", "390890891": "Dernier trimestre", + "391038015": "L'application de trading mobile pour les multipliers.", "391915203": "Opérations de couverture", "392582370": "Fall Equals", "393789743": "Lettres, espaces, points, traits d'union, apostrophes uniquement.", @@ -914,6 +913,7 @@ "969987233": "Gagnez jusqu'au paiement maximum si le point de sortie se situe entre la barrière inférieure et supérieure, proportionnellement à la différence entre le point de sortie et la barrière inférieure.", "970915884": "UN", "974888153": "High-Low", + "975608902": "Pour négocier des CFD, obtenez d’abord un compte Deriv Apps.", "975668699": "Je confirme et j'accepte les <0>conditions générales de {{company}}", "975950139": "Pays de résidence", "977929335": "Allez aux paramètres de mon compte", @@ -941,6 +941,7 @@ "997311089": "Modifier mon mot de passe", "999008199": "texte", "1001160515": "Vente", + "1002392396": "CFD sur instruments derived.", "1002989598": "iOS : trousseau iCloud.", "1003876411": "Doit commencer par une lettre ou un chiffre et peut contenir un trait d'union, un point et une barre oblique.", "1004127734": "Envoyer l'email", @@ -1368,6 +1369,7 @@ "1405584799": "avec intervalle: {{ candle_interval_type }}", "1407191858": "DTrader", "1408844944": "Cliquez sur l'icône plus (+) pour étendre les fonctionnalités de ce bloc.", + "1408852678": "Négociez des positions plus importantes avec moins de capital sur divers instruments financiers et dérivés. <0>En savoir plus", "1411373212": "Les mots de passe forts contiennent au moins 8 caractères. Combinez des lettres majuscules et minuscules, des chiffres et des symboles.", "1412405902": "Voir les remarques importantes", "1412535872": "Vous pouvez vérifier le résultat de la dernière transaction avec ce bloc. Il ne peut être placé que dans le bloc racine \"Redémarrer les conditions de trading\".", @@ -1469,6 +1471,7 @@ "1501691227": "Ajoutez votre compte Deriv MT5 <0>{{account_type_name}} auprès de Deriv (V) Ltd, réglementé par la Commission des services financiers du Vanuatu.", "1502039206": "Au-dessus de {{barrier}}", "1502325741": "Votre mot de passe ne peut pas être identique à votre adresse e-mail.", + "1503419760": "CFD sans swap sur une sélection d'instruments financiers et derived.", "1503618738": "- ID de référence de l'accord: l'ID de référence du contrat", "1505420815": "Aucun agent de paiement n'a été trouvé pour votre recherche", "1505898522": "Télécharger la pile", @@ -1515,7 +1518,6 @@ "1557426040": "Dérivés SVG démo", "1557682012": "Paramètres du compte", "1558972889": "définir {{ variable }} sur la moyenne mobile simple {{ dummy }}", - "1559220089": "Plateforme de trading d'options et de Multipliers.", "1560302445": "Copié", "1562374116": "Étudiants", "1566037033": "Acheté: {{longcode}} (ID: {{transaction_id}})", @@ -1661,6 +1663,7 @@ "1715630945": "Renvoie le profit total au format chaîne", "1715680813": "Votre contrat expirera exactement à 23:59:59 GMT +0 à la date d'expiration que vous avez choisie.", "1717023554": "Soumettre à nouveau les documents", + "1717474982": "CFD sur instruments financiers et derived via une plateforme personnalisable.", "1720451994": "Nous facturons des frais de transfert de 2 % ou de {{minimum_fee}} {{currency}}, le montant le plus élevé étant retenu, pour les transferts entre vos comptes Deriv fiat et Deriv cryptomonnaie.", "1720968545": "Téléchargez la photo de votre passeport depuis votre ordinateur", "1722056905": "Le document que vous avez fourni n'est pas pris en charge pour votre pays. Veuillez fournir un document pris en charge pour votre pays.", @@ -1830,6 +1833,7 @@ "1871664426": "Remarque", "1873376454": "Il s'agit d'un niveau de prix que vous choisissez. Si cette barrière est franchie, votre contrat sera résilié.", "1874481756": "Utilisez ce bloc pour acheter le contrat spécifique que vous souhaitez. Vous pouvez ajouter plusieurs blocs d'achat ainsi que des blocs conditionnels pour définir vos conditions d'achat. Ce bloc ne peut être utilisé que dans le bloc Conditions d'achat.", + "1874737957": "Pour échanger des multipliers, obtenez d’abord un compte Deriv Apps.", "1874756442": "BVI", "1875702561": "Chargez ou créez votre robot", "1876015808": "Fonds de sécurité sociale et d'assurance nationale", @@ -1931,7 +1935,6 @@ "1973910243": "Gérer vos comptes", "1974273865": "Ce cadre permettra aux applications tierces de consulter l'activité de votre compte, les paramètres, les limites, les bilans, l'historique des achats, etc.", "1974903951": "Si vous cliquez sur Oui, les informations que vous avez saisies seront perdues.", - "1977724653": "Ce compte propose des CFD sur des instruments financiers.", "1978218112": "Google Authenticator", "1981940238": "Cette politique de réclamation, qui peut changer de temps en temps, s'applique à votre (vos) compte(s) enregistré(s) auprès de {{legal_entity_name_svg}} et de {{legal_entity_name_v}}.", "1982790875": "Mettez à niveau votre ou vos comptes <0/><1>{{account_title}} {{platform}} ", @@ -1979,6 +1982,7 @@ "2014536501": "Numéro de carte", "2014590669": "La variable '{{variable_name}}' n'a pas de valeur. Veuillez définir une valeur pour la variable '{{variable_name}}' pour notifier.", "2017672013": "Veuillez sélectionner le pays de délivrance du document.", + "2018044371": "Les multipliers vous permettent de négocier avec effet de levier et de limiter votre risque par rapport à votre mise. <0>En savoir plus", "2019596693": "Le document a été rejeté par le Prestataire.", "2020545256": "Fermer votre compte ?", "2021037737": "Veuillez mettre à jour vos coordonnées pour continuer.", @@ -2658,8 +2662,11 @@ "-2021135479": "Ce champ est requis.", "-1002044401": "Sélectionnez votre document*", "-1272489896": "Veuillez remplir ce champ.", - "-1107320163": "Automatisez votre trading, pas besoin de codage.", - "-829643221": "Plateforme de trading de Multipliers.", + "-721346138": "Plateforme de trading de Multipliers.", + "-1874136267": "La plateforme de trading de robots ultime.", + "-415943890": "L'ancienne plateforme de trading d'options.", + "-673722343": "L'ancienne plateforme de trading de robots.", + "-897826065": "La plateforme de trading de multipliers.", "-2115275974": "CFD", "-1585707873": "Commission financière", "-199154602": "Vanuatu Financial Services Commission", @@ -2678,12 +2685,10 @@ "-1879666853": "Deriv MT5", "-820028470": "Options & Multipliers", "-1210359945": "Transférez des fonds sur vos comptes", - "-81256466": "Vous avez besoin d'un compte Deriv pour créer un compte CFD.", "-1926387364": "Nous avons envoyé votre e-book à votre email. Vous pouvez également le télécharger ici.", "-1057002564": "<0>Nous ne sommes pas en mesure de vous faire passer aux Wallets pour le moment. Par ailleurs, nous faisons notre possible pour résoudre ce problème dans les plus brefs délais. Veuillez <1>réessayer<0>.", "-1424352390": "<0>Wallets<1> : une façon plus intelligente de gérer vos fonds", "-280236366": "Activer maintenant", - "-699372497": "Tradez avec un effet de levier et des spreads serrés pour obtenir de meilleurs rendements sur les transactions fructueuses. <0>En savoir plus", "-145462920": "Deriv cTrader", "-982095728": "Obtenir", "-1790089996": "NOUVEAU!", @@ -2708,10 +2713,8 @@ "-643108528": "Réglementation hors UE et UE", "-1002556560": "Nous n'avons pas pu terminer la mise à niveau du Wallet. Réessayez plus tard ou contactez-nous par chat en direct.", "-1186807402": "Transfert", - "-2051096382": "Obtenez une gamme de paiements en prédisant correctement les mouvements du marché grâce aux <0>options ou profitez des avantages des CFD sans risquer plus que votre mise initiale avec les <1>multipliers.", - "-1638358352": "Profitez des avantages des CFD sans risquer plus que votre mise initiale grâce aux <0>Multipliers.", + "-655191265": "Achetez ou vendez à une heure précise pour un prix précis. <0>En savoir plus", "-744999940": "Compte Deriv", - "-749129977": "Créez un compte réel sur Deriv, commencez à trader et gérez vos fonds.", "-2146691203": "Choix de la réglementation", "-249184528": "Vous pouvez créer des comptes réels conformément à la réglementation applicable au sein/hors de l'UE. Cliquez sur l'<0><0/>icône pour en savoir plus sur ces comptes.", "-1505234170": "Visite du Trader's Hub", @@ -2768,6 +2771,7 @@ "-1995606668": "Montant", "-2024290965": "Confirmations", "-811190405": "Heure", + "-728508487": "{{currency}} transactions récentes", "-1984478597": "Les détails de cette transaction sont disponibles sur CoinsPaid.", "-316545835": "Veuillez vous assurer que <0>tous les détails sont <0>corrects avant d'effectuer votre transfert.", "-949073402": "Je confirme que j'ai vérifié les informations de transfert du client.", @@ -3353,7 +3357,7 @@ "-482715448": "Aller aux Détails personnels", "-2072411961": "Votre justificatif de domicile a été vérifié", "-384887227": "Mettez à jour l'adresse sur votre profil.", - "-1779268418": "Tradez des CFD sans swap sur MT5 grâce au Forex, aux actions, aux indices boursiers, aux matières premières, aux cryptomonnaies, aux FNB et aux indices synthétiques.", + "-1470677931": "CFD sur instruments financiers.", "-1998049070": "Si vous acceptez notre utilisation des cookies, cliquez sur Accepter. Pour plus d'informations, <0>consultez notre politique.", "-402093392": "Ajouter un compte Deriv", "-1721181859": "Vous aurez besoin d'un compte {{deriv_account}}", @@ -4078,8 +4082,6 @@ "-3423966": "Take profit<0 />Stop loss", "-1131753095": "Les informations sur le contrat {{trade_type_name}} ne sont pas disponibles actuellement. Nous nous efforçons de résoudre ce problème.", "-360975483": "Vous n'avez effectué aucune transaction de ce type pendant cette période.", - "-561436679": "Ce compte propose des CFD sur des instruments dérivés.", - "-1173266642": "Ce compte propose des CFD sur une plateforme de trading aux multiples fonctionnalités.", "-1226595254": "Turbos", "-922253974": "Rise/Fall", "-1361254291": "Higher/Lower", diff --git a/packages/translations/src/translations/it.json b/packages/translations/src/translations/it.json index 7dce7a47f1a2..56af455b2cfc 100644 --- a/packages/translations/src/translations/it.json +++ b/packages/translations/src/translations/it.json @@ -68,13 +68,13 @@ "76635112": "Per procedere, invia nuovamente questi documenti", "76916358": "Hai raggiunto il limite per il prelievo. <0/>Carica il documento di verifica di identità e indirizzo per abolire il limite e procedere con il prelievo.", "76925355": "Controlla le prestazioni del tuo bot", - "77945356": "Fai trading ovunque ti trovi con la nostra app mobile.", "77982950": "Le opzioni Vanilla permettono di prevedere un movimento al rialzo (rialzista) o al ribasso (ribassista) dell'asset sottostante acquistando rispettivamente un'opzione\"Call\" o \"Put\".", "81091424": "Per completare l'aggiornamento: esci e accedi nuovamente per aggiungere altri conti ed effettuare transazioni con i Wallets.", "81450871": "Pagina non trovata", "82839270": "Carica la pagina del tuo passaporto che contiene la tua foto.", "83202647": "Comprimi il blocco", "84402478": "Dove posso trovare i blocchi di cui ho bisogno?", + "84924586": "Per scambiare opzioni e multipliers, ottieni prima un account Deriv Apps.", "85343079": "Valutazione finanziaria", "85359122": "40 o più", "85389154": "Passaggi necessari per continuare la verifica su smartphone", @@ -162,7 +162,6 @@ "177099483": "È in corso la verifica dell'indirizzo e alcune restrizioni sono state applicate al tuo conto, che verranno revocate una volta completata la verifica.", "178413314": "Il nome deve essere compreso tra i 2 e i 50 caratteri.", "179083332": "Data", - "179737767": "La nostra storica piattaforma per il trading di opzioni.", "181107754": "I tuoi nuovi conti <0>{{platform}} {{eligible_account_to_migrate}} sono pronti per il trading.", "181346014": "Note ", "181881956": "Tipo di contratto: {{ contract_type }}", @@ -196,7 +195,6 @@ "211461880": "Nomi e cognomi abituali sono semplici da indovinare", "211487193": "Numero del documento (ad es. carta d'identità, passaporto, patente di guida)", "211847965": "I<0>dati personali sono incompleti. Vai sulle impostazioni del conto e completa i dati personali per abilitare i prelievi.", - "215975531": "Questo conto offre CFD su una piattaforma di trading CFD altamente personalizzabile.", "216650710": "Stai usando un conto demo", "217377529": "5. Se i prossimi trade sono redditizi, la puntata per il trade successivo sarà ridotta di 2 dollari USA. Questo può essere mostrato sopra, dove la puntata di 3 USD viene ridotta a 1 USD. Vedere A3.", "217403651": "Saint Vincent e Grenadine", @@ -318,6 +316,7 @@ "344418897": "I limiti sul trading e l'autoesclusione aiutano a controllare il tempo trascorso e il denaro speso su {{brand_website_name}} e a fare <0>trading in modo responsabile.", "345320063": "Timestamp non valido", "345818851": "Spiacente, si è verificato un errore interno. Premere la casella di controllo sopra per riprovare.", + "346843343": "CFD su strumenti finanziari e derived con copy trading.", "347029309": "Forex: standard/micro", "347039138": "Esegui iterazione (2)", "348951052": "La cassa è momentaneamente bloccata", @@ -335,7 +334,6 @@ "359809970": "Questo blocco fornisce il valore della candela selezionata da un elenco di candele comprese in un determinato intervallo di tempo. È possibile scegliere tra prezzo di apertura e di chiusura, prezzo massimo e minimo, e orario di apertura.", "360224937": "Logica", "360773403": "Costruttore di bot", - "362946954": "La nostra storica piattaforma di trading automatizzato.", "363576009": "- Prezzo massimo: il prezzo più alto", "363738790": "Browser", "363990763": "Prezzo di vendita:", @@ -364,6 +362,7 @@ "386502387": "Il bot non è in esecuzione", "389923099": "Ingrandisci", "390890891": "Ultimo trimestre", + "391038015": "L'app di trading mobile per multipliers.", "391915203": "Hedging", "392582370": "Calo pari a", "393789743": "Solo lettere, spazi, punti, trattini, apostrofi.", @@ -914,6 +913,7 @@ "969987233": "Vinci fino al payout massimo se il punto di uscita si trova tra la barriera inferiore e quella superiore, in proporzione alla differenza tra il punto di uscita e la barriera inferiore.", "970915884": "UN", "974888153": "High-Low", + "975608902": "Per fare trading con i CFD, crea prima un conto Deriv Apps.", "975668699": "Confermo e accetto i <0>termini e condizioni di {{company}}", "975950139": "Paese di residenza", "977929335": "Vai sulle impostazioni del conto", @@ -941,6 +941,7 @@ "997311089": "Mein Passwort ändern", "999008199": "testo", "1001160515": "Vendi", + "1002392396": "CFD su strumenti derived.", "1002989598": "iOS: Portachiavi iCloud.", "1003876411": "Deve iniziare con una lettera o un numero e può contenere un trattino, un punto e una barra.", "1004127734": "Invia un'e-mail", @@ -1368,6 +1369,7 @@ "1405584799": "con intervallo: {{ candle_interval_type }}", "1407191858": "DTrader", "1408844944": "Fai clic sull'icona con il segno + per estendere la funzionalità di questo blocco.", + "1408852678": "Scambia posizioni più grandi con meno capitale attraverso diversi strumenti finanziari e derived. <0>Ulteriori informazioni", "1411373212": "Le password complesse contengono almeno 8 caratteri. Combina lettere maiuscole e minuscole, numeri e simboli.", "1412405902": "Vedi note importanti", "1412535872": "Puoi controllare i risultati dell'ultimo trade con questo blocco; può essere inserito solamente nel blocco principale delle \"Condizioni per il riavvio dei trade\".", @@ -1469,6 +1471,7 @@ "1501691227": "Aggiungi il tuo conto Deriv MT5 <0>{{account_type_name}} sotto Deriv (V) Ltd, regolamentata dalla Vanuatu Financial Services Commission.", "1502039206": "Oltre {{barrier}}", "1502325741": "La password non può essere la stessa del tuo indirizzo e-mail.", + "1503419760": "CFD senza swap su strumenti finanziari e derived selezionati.", "1503618738": "- ID di riferimento negoziazione: ID di riferimento contratto", "1505420815": "La tua ricerca non ha trovato alcun agente di pagamento", "1505898522": "Scarica il gruppo", @@ -1515,7 +1518,6 @@ "1557426040": "Demo derivato SVG", "1557682012": "Impostazioni conto", "1558972889": "imposta {{ variable }} come media mobile semplice {{ dummy }}", - "1559220089": "Piattaforma di trading di opzioni e Multipliers.", "1560302445": "Copia eseguita", "1562374116": "Studenti", "1566037033": "Acquistato: {{longcode}} (ID: {{transaction_id}})", @@ -1661,6 +1663,7 @@ "1715630945": "Restituisce il profitto totale nel formato stringa", "1715680813": "Il suo contratto scadrà esattamente alle 23:59:59 GMT +0 alla data di scadenza selezionata.", "1717023554": "Invia nuovamente i documenti", + "1717474982": "CFD su strumenti finanziari e derived tramite una piattaforma personalizzabile.", "1720451994": "Verrà addebitata una commissione per i trasferimenti 2% oppure {{minimum_fee}} {{currency}}, se ha un valore superiore, per i trasferimenti tra i conti per fiat e per criptovalute di Deriv.", "1720968545": "Carica la pagina del passaporto con la foto dal tuo computer", "1722056905": "Il documento fornito non è valido nel tuo Paese: inviane uno idoneo.", @@ -1830,6 +1833,7 @@ "1871664426": "Nota", "1873376454": "Si tratta di un livello di prezzo che lei sceglie. Se questa barriera viene superata, il suo contratto viene risolto.", "1874481756": "Utilizza questo blocco per acquistare un contratto specifico. È possibile aggiungere molteplici blocchi d'acquisto assieme a blocchi condizionali per stabilire le condizioni d'acquisto. Questo blocco può solo essere utilizzato nell'ambito del blocco delle condizioni d'acquisto.", + "1874737957": "Per scambiare multipliers, ottieni prima un account Deriv Apps.", "1874756442": "BVI", "1875702561": "Carica o crea il tuo bot", "1876015808": "Social Security and National Insurance Trust", @@ -1931,7 +1935,6 @@ "1973910243": "Gestisci i tuoi conti", "1974273865": "Questo ambito permeterà alle app di terze parti di vedere l'attività del conto, le impostazioni, i limiti, il bilancio, la storia di acquisto di trading, e più altro.", "1974903951": "Se selezioni Sì, le informazioni inserite andranno perse.", - "1977724653": "Questo conto offre CFD su strumenti finanziari.", "1978218112": "Google Authenticator", "1981940238": "La presente politica sui reclami potrebbe cambiare nel tempo, e si applica ai conti registrati con {{legal_entity_name_svg}} e {{legal_entity_name_v}}.", "1982790875": "Aggiorna i tuoi account <0/><1>{{account_title}} {{platform}} ", @@ -1979,6 +1982,7 @@ "2014536501": "Numero della carta", "2014590669": "La variabile \"{{variable_name}}\" non ha valore. Imposta un valore per \"{{variable_name}}\".", "2017672013": "Seleziona il Paese in cui è stato emesso il documento.", + "2018044371": "I Multipliers ti consentono di fare trading con la leva finanziaria e di limitare il rischio della tua puntata. <0>Ulteriori informazioni", "2019596693": "Il documento è stato rifiutato dal fornitore.", "2020545256": "Chiudere il conto?", "2021037737": "Aggiorna i dettagli per continuare.", @@ -2658,8 +2662,11 @@ "-2021135479": "Questo campo è obbligatorio.", "-1002044401": "Selezioni il suo documento*", "-1272489896": "Compila questo campo.", - "-1107320163": "Automatizza il trading, non serve alcun codice.", - "-829643221": "Piattaforma di trading con Multipliers.", + "-721346138": "La piattaforma di trading di opzioni e multipliers.", + "-1874136267": "La piattaforma di trading bot definitiva.", + "-415943890": "La piattaforma di trading di opzioni legacy.", + "-673722343": "La piattaforma di trading di bot legacy.", + "-897826065": "La piattaforma di trading dei multipliers.", "-2115275974": "CFD", "-1585707873": "Commissione finanziaria", "-199154602": "Vanuatu Financial Services Commission", @@ -2678,12 +2685,10 @@ "-1879666853": "Deriv MT5", "-820028470": "Opzioni e Multipliers", "-1210359945": "Trasferisci fondi sui tuoi conti", - "-81256466": "È necessario un conto Deriv per creare un conto CFD.", "-1926387364": "Abbiamo inviato il suo e-book alla sua e-mail. Può anche scaricarlo qui.", "-1057002564": "<0>Al momento non siamo in grado di effettuare l'upgrade ai Wallets e stiamo lavorando per risolvere il problema il prima possibile. Per favore <1>riprova<0>.", "-1424352390": "<0>Wallets<1> — Un modo più intelligente per gestire i tuoi fondi", "-280236366": "Attiva ora", - "-699372497": "Fai trading con leva e spread ridotti per avere un ritorno maggiore sui trade che vanno a buon fine. <0>Scopri di più", "-145462920": "Deriv cTrader", "-982095728": "Vai", "-1790089996": "NUOVO!", @@ -2708,10 +2713,8 @@ "-643108528": "Regolamento extra UE e UE", "-1002556560": "Non siamo in grado di completare l'aggiornamento del Wallet. Riprovi più tardi o ci contatti tramite la live chat.", "-1186807402": "Trasferisci", - "-2051096382": "Guadagna una vasta gamma di pagamenti prevedendo correttamente i movimenti di mercato con <0>le opzioni, oppure ottieni i vantaggi dei CFD senza rischiare più della tua puntata iniziale con i <1>Multipliers.", - "-1638358352": "Ottieni il vantaggio dei CFD senza rischiare più della tua puntata iniziale con i <0>Multipliers.", + "-655191265": "Acquista o vendi in un momento specifico per un prezzo specifico. <0>Ulteriori informazioni", "-744999940": "Conto Deriv", - "-749129977": "Crea un vero conto Deriv, inizia a fare trading e gestisci i tuoi fondi.", "-2146691203": "Scelta del regolamento", "-249184528": "Puoi creare conti reali in base a normative UE o extra UE. Fai clic sull'<0><0/>icona per saperne di più su questi conti.", "-1505234170": "Visita del Trader's Hub", @@ -2768,6 +2771,7 @@ "-1995606668": "Importo", "-2024290965": "Conferme", "-811190405": "Orario", + "-728508487": "{{currency}} transazioni recenti", "-1984478597": "I dettagli di questa transazione sono disponibili su CoinsPaid.", "-316545835": "Assicurati che <0>tutti i dettagli siano <0>corretti prima di effettuare il trasferimento.", "-949073402": "Confermo che ho controllato e verificato le informazioni di trasferimento del cliente.", @@ -3353,7 +3357,7 @@ "-482715448": "Vai ai dati personali", "-2072411961": "Il documento di verifica dell'indirizzo è stato verificato", "-384887227": "Aggiorna l'indirizzo nel tuo profilo.", - "-1779268418": "Fai trading con CFD senza swap su MT5 su Forex, azioni, indici azionari, materie prime, criptovalute, ETF e indici sintetici.", + "-1470677931": "CFD su strumenti finanziari.", "-1998049070": "Se accetti l'uso dei cookies, clicca su Accetto. Per maggiori informazioni, <0>consulta la nostra politica.", "-402093392": "Aggiungi conto Deriv", "-1721181859": "Occorre un conto {{deriv_account}}", @@ -4078,8 +4082,6 @@ "-3423966": "Take profit<0 />Stop loss", "-1131753095": "I dettagli del contratto {{trade_type_name}} non sono attualmente disponibili. Stiamo lavorando per renderli disponibili a breve.", "-360975483": "Non hai mai effettuato operazioni di questo tipo nel periodo selezionato.", - "-561436679": "Questo conto offre CFD su strumenti derivati.", - "-1173266642": "Questo conto offre CFD su una piattaforma di trading ricca di funzionalità.", "-1226595254": "Turbos", "-922253974": "Rise/Fall", "-1361254291": "Higher/Lower", diff --git a/packages/translations/src/translations/ko.json b/packages/translations/src/translations/ko.json index 168dabb9d4c0..d57fcf35d669 100644 --- a/packages/translations/src/translations/ko.json +++ b/packages/translations/src/translations/ko.json @@ -68,13 +68,13 @@ "76635112": "계속 진행하려면 다음 문서를 다시 제출하세요.", "76916358": "귀하의 인출 금액이 한도에 도달했습니다. <0/>인출을 진행하기 위해서는 귀하의 신분증과 주소증명을 업로드하여 한도를 해제 하시기 바랍니다.", "76925355": "봇 성능 확인하기", - "77945356": "모바일 앱으로 이동 중에도 거래하세요.", "77982950": "Vanilla 옵션을 사용하면 \"Call\" 또는 \"Put\"을 매수하여 기초자산의 상승(강세) 또는 하락(약세) 방향을 예측할 수 있습니다.", "81091424": "업그레이드를 완료하려면, 로그아웃한 후 다시 로그인하여 계정을 추가하고 귀하의 지갑을 통해 거래하세요.", "81450871": "해당 페이지를 찾을 수 없었습니다", "82839270": "귀하의 사진이 포함되어 있는 여권 페이지를 업로드하세요.", "83202647": "블록 축소하기", "84402478": "필요한 블록은 어디서 찾을 수 있나요?", + "84924586": "옵션과 승수를 거래하려면 먼저 Deriv Apps 계정을 만드세요.", "85343079": "재무 평가", "85359122": "40회 이상", "85389154": "귀하의 휴대폰에서 인증을 계속하기 위해 요구되는 단계들", @@ -162,7 +162,6 @@ "177099483": "귀하의 주소 인증이 보류 중이며 저희는 귀하의 계좌에 몇 가지 제한을 두었습니다. 해당 제한 사항들은 귀하의 주소가 인증 된 이후 해제될 것입니다.", "178413314": "이름은 2~50글자 사이여야 합니다.", "179083332": "날짜", - "179737767": "당사의 레거시 옵션 거래 플랫폼.", "181107754": "새 <0>{{platform}} {{eligible_account_to_migrate}} 계좌를 거래할 준비가 되었습니다.", "181346014": "참고 ", "181881956": "계약 유형: {{ contract_type }}", @@ -196,7 +195,6 @@ "211461880": "일반적인 이름과 성은 추측하기 쉽습니다", "211487193": "문서 번호(예: 신분증, 여권, 운전면허증)", "211847965": "귀하의 <0>개인 세부정보가 아직 완료되지 않았습니다. 인출을 활성화시키기 위해 귀하의 계좌 설정으로 가셔서 인적 세부정보를 완료해주시기 바랍니다.", - "215975531": "이 계정은 높은 수준으로 사용자 지정이 가능한 CFD 거래 플랫폼에서 CFD를 제공합니다.", "216650710": "귀하꼐서는 데모 계좌를 사용하고 계십니다", "217377529": "5. 다음 거래에서 수익이 발생하면 다음 거래의 판돈은 2 USD 감소합니다. 위의 예에서 3 USD의 지분이 1 USD로 줄어든 것을 볼 수 있습니다. A3를 참조하십시오.", "217403651": "세인트빈센트 그레나딘", @@ -318,6 +316,7 @@ "344418897": "이러한 거래한도 및 자가제한은 귀하께서 {{brand_website_name}} 에서 쓰시는 자금의 금액을 조절하고 <0>책임감 있는 거래를 하실 수 있도록 도와줍니다.", "345320063": "유효하지 않은 타임스탬프", "345818851": "죄송합니다, 내부적인 오류가 발생했습니다. 위의 체크 상자를 클릭하여 다시 시도하세요.", + "346843343": "카피 트레이딩이 포함된 금융 및 파생 상품에 대한 CFD.", "347029309": "외환: 기준/마이크로", "347039138": "반복 (2)", "348951052": "귀하의 캐셔는 현재 잠겨 있습니다", @@ -335,7 +334,6 @@ "359809970": "이 블록은 선택된 시간 간격 내의 캔들 목록으로부터 선택된 캔들의 값을 귀하에게 제공합니다. 귀하께서는 공개가격, 종가, 고가, 저가 및 개설 시간중에서 선택하실 수 있습니다.", "360224937": "논리", "360773403": "봇 빌더", - "362946954": "당사의 레거시 자동 거래 플랫폼.", "363576009": "- 고가: 가장 높은 가격", "363738790": "브라우저", "363990763": "매도 가격:", @@ -364,6 +362,7 @@ "386502387": "봇이 실행되고 있지 않습니다", "389923099": "줌 인", "390890891": "지난 분기", + "391038015": "승수를 위한 모바일 거래 앱.", "391915203": "헤징", "392582370": "Fall Equals", "393789743": "문자, 띄어쓰기, 마침표, 하이픈, 아포스트로피만 허용됩니다.", @@ -914,6 +913,7 @@ "969987233": "만약 출구부가 하위 장벽과 상위 장벽사이일 경우 출구부와 하위 장벽 사이의 차이에 비례하여 최대 지불금까지 획득하세요.", "970915884": " ", "974888153": "High-Low", + "975608902": "CFD를 거래하려면 먼저 Deriv Apps 계정을 만드세요.", "975668699": "저는 {{company}} 의 <0>이용약관에 동의 및 수락합니다", "975950139": "거주 국가", "977929335": "나의 계좌 설정으로 가기", @@ -941,6 +941,7 @@ "997311089": "비밀번호 변경", "999008199": "텍스트", "1001160515": "판매", + "1002392396": "파생 상품에 대한 CFD.", "1002989598": "iOS: iCloud 키체인.", "1003876411": "문자 또는 숫자로 함께 시작하여야 하거나 하이픈, 온점 및 슬래시를 포함할 수 있습니다.", "1004127734": "이메일 전송", @@ -1368,6 +1369,7 @@ "1405584799": "간격과 함께: {{ candle_interval_type }}", "1407191858": "DTrader", "1408844944": "이 블록의 기능을 확장하기 위해 더하기 아이콘을 클릭하세요.", + "1408852678": "다양한 금융 및 파생상품에 걸쳐 더 적은 자본으로 더 큰 포지션을 거래하세요. <0>자세히 알아보기", "1411373212": "강력한 암호는 8자 이상의 문자를 포함합니다. 대문자와 소문자, 숫자, 및 기호를 조합해야 합니다.", "1412405902": "중요 노트 보기", "1412535872": "귀하께서는 이 블록을 통해서 바로 이전의 거래결과를 확인하실 수 있습니다. 이 블록은 오직 \"거래조건 재시작\" 루트 블록 내에서만 놓여질 수 있습니다.", @@ -1469,6 +1471,7 @@ "1501691227": "바누아투 금융 서비스 위원회의 규제를 받는 Deriv (V) Ltd 아래에 귀하의 Deriv MT5 <0>{{account_type_name}} 계정을 추가하세요.", "1502039206": "{{barrier}} 오버", "1502325741": "비밀번호는 귀하의 이메일 주소와 같을 수 없습니다.", + "1503419760": "일부 금융 상품 및 파생 상품에 대한 스왑 프리 CFD.", "1503618738": "- 거래 참조 ID: 계약의 참조 ID", "1505420815": "귀하께서 검색하신 결제 에이전트를 찾을 수 없습니다", "1505898522": "스택 다운로드", @@ -1515,7 +1518,6 @@ "1557426040": "데모 파생 SVG", "1557682012": "계좌 설정", "1558972889": "{{ variable }} 을 단순이동평균 {{ dummy }} 으로 설정하기", - "1559220089": "옵션 및 Multipliers 거래 플랫폼.", "1560302445": "복사되었습니다", "1562374116": "학생들", "1566037033": "매입완료: {{longcode}} (ID: {{transaction_id}})", @@ -1661,6 +1663,7 @@ "1715630945": "문자열 형식으로 총 이윤을 불러옵니다", "1715680813": "선택한 만료일에 정확히 23:59:59 GMT +0에 계약이 만료됩니다.", "1717023554": "문서 다시 제출", + "1717474982": "맞춤형 플랫폼을 통해 금융 및 파생 상품에 대한 CFD를 제공합니다.", "1720451994": "귀하의 Deriv fiat과 Deriv 암호화폐 계좌들간의 송금들에 대해서 저희는 2% 송금 비용 또는 {{minimum_fee}} {{currency}} 중에서 더 높은 금액을 청구할 것입니다.", "1720968545": "귀하의 컴퓨터에서 여권 사진 페이지를 업로드해주세요", "1722056905": "제공하신 문서는 귀하의 국가에서 지원되지 않습니다. 귀하의 국가에서 지원되는 문서를 제공해 주시기 바랍니다.", @@ -1830,6 +1833,7 @@ "1871664426": "공지", "1873376454": "이는 회원님이 선택하는 가격 수준입니다. 이 장벽을 넘으면 계약이 해지됩니다.", "1874481756": "귀하께서 희망하시는 구체적인 계약을 구매하기 위해 이 블록을 이용하세요. 귀하께서는 귀하의 구매 조건을 정의하기 위해 조건상의 블록과 함께 다양한 구매 블록을 추가하실 수 있습니다. 이 블록은 구매 조건 블록 내에서만 사용될 수 있습니다.", + "1874737957": "승수를 거래하려면 먼저 Deriv Apps 계정을 만드세요.", "1874756442": "BVI", "1875702561": "봇 로드 또는 빌드", "1876015808": "사회보장 및 국민보험 신탁", @@ -1931,7 +1935,6 @@ "1973910243": "귀하의 계좌들을 관리하세요", "1974273865": "이 범위를 통해 타사 앱은 계정활동, 설정, 한도, 대차 대초표, 거래 구매 내역 등을 보실 수 있습니다.", "1974903951": "예 (Yes) 를 누르면 입력한 정보가 손실됩니다.", - "1977724653": "이 계좌는 금융상품에 대한 CFD를 제공합니다.", "1978218112": "Google Authenticator", "1981940238": "때때로 변경될 수 있는 이 불만사항 정책은 {{legal_entity_name_svg}} 과 {{legal_entity_name_v}} 를 통해 등록되어 있는 귀하의 계좌(들) 에 적용됩니다.", "1982790875": "<0/><1>{{account_title}} {{platform}} 계정 업그레이드", @@ -1979,6 +1982,7 @@ "2014536501": "카드 번호", "2014590669": "변수 '{{variable_name}}'가 값을 가지고 있지 않습니다. 공지하기 위해 변수 '{{variable_name}}'에 대하여 값을 설정해 주시기 바랍니다.", "2017672013": "문서가 발급된 국가를 선택해 주시기 바랍니다.", + "2018044371": "승수를 사용하면 레버리지로 거래하고 위험을 지분으로 제한할 수 있습니다. <0>자세히 알아보기", "2019596693": "해당 문서는 제공자에 의해 거부되었습니다.", "2020545256": "계정을 닫으시겠습니까?", "2021037737": "진행하기 위해 귀하의 세부사항을 업데이트 해 주시기 바랍니다.", @@ -2658,8 +2662,11 @@ "-2021135479": "이 항목을 채워주세요.", "-1002044401": "문서 선택*", "-1272489896": "이 항목을 완료해 주시기 바랍니다.", - "-1107320163": "코팅 필요 없이 귀하의 거래를 자동화하세요.", - "-829643221": "Multipliers 거래 플랫폼.", + "-721346138": "옵션 및 승수 거래 플랫폼.", + "-1874136267": "최고의 봇 거래 플랫폼.", + "-415943890": "레거시 옵션 거래 플랫폼.", + "-673722343": "레거시 봇 거래 플랫폼.", + "-897826065": "승수 거래 플랫폼.", "-2115275974": "차액거래", "-1585707873": "금융 위원회", "-199154602": "바누아투 금융 위원회", @@ -2678,12 +2685,10 @@ "-1879666853": "Deriv MT5", "-820028470": "옵션 & Multipliers", "-1210359945": "계좌로 자금 이체", - "-81256466": "CFD 계정을 만들려면 Deriv 계정이 필요합니다.", "-1926387364": "이메일로 전자책을 보내드렸습니다. 여기에서 다운로드할 수도 있습니다.", "-1057002564": "<0>현재로서는 Wallets으로 업그레이드할 수 없으며 최대한 빨리 문제를 해결하기 위해 노력하고 있습니다. 잠시만요 <1>다시 시도해<0>.", "-1424352390": "<0>Wallets<1> — 자금을 더 스마트하게 관리하는 방법", "-280236366": "지금 활성화하세요", - "-699372497": "성공적인 거래들에 대하여 더 나은 보상을 위해 레버리지와 촘촘한 스프레드와 함께 거래하세요. <0>자세히 알아보기", "-145462920": "Deriv cTrader", "-982095728": "받기", "-1790089996": "새롭습니다!", @@ -2708,10 +2713,8 @@ "-643108528": "비 EU 및 EU 규정", "-1002556560": "Wallet 업그레이드를 완료할 수 없습니다. 나중에 다시 시도하거나 실시간 채팅을 통해 문의해 주세요.", "-1186807402": "송금", - "-2051096382": "시장 변동을 정확하게 예측하여 다양한 범위의 수익을 창출하십시오. <0>옵션 지분을 보다 더 많이 잃는 단점 없이 CFD의 장점을 <1>Multipliers로 누리십시오.", - "-1638358352": "<0>Multipliers 초기 판돈보다 더 많은 위험을 감수하지 않고 CFD의 장점을 누려보세요.", + "-655191265": "특정 시간에 특정 가격으로 구매하거나 판매합니다. <0>자세히 알아보기", "-744999940": "Deriv 계좌", - "-749129977": "실제 Deriv 계정을 만들고 거래를 시작하고 자금을 관리하세요.", "-2146691203": "규제 항목 선택", "-249184528": "EU 또는 비 EU 규정에 따라 실제 계정을 만들 수 있습니다.<0><0/>아이콘을 클릭하면 해당 계정에 대해 자세히 알아볼 수 있습니다.", "-1505234170": "Trader's Hub 투어", @@ -2768,6 +2771,7 @@ "-1995606668": "양", "-2024290965": "확인", "-811190405": "시간", + "-728508487": "{{currency}} 최근 거래", "-1984478597": "이 거래의 세부 사항은 CoinSpaid에서 확인할 수 있습니다.", "-316545835": "귀하께서 송금하시기 이전에 <0>모든 세부정보가 <0>정확한지를 확인해주세요.", "-949073402": "저는 고객의 송금정보를 확인했고 검증했다는 사실을 확인합니다.", @@ -3353,7 +3357,7 @@ "-482715448": "개인 세부 정보로 이동", "-2072411961": "귀하의 주소 증명이 인증되었습니다", "-384887227": "프로필에서 주소를 업데이트하세요.", - "-1779268418": "MT5에서 Forex, 주식, 주가지수, 원자재 암호화폐, ETF, 합성지수 등 스왑 없는 CFD를 거래할 수 있습니다.", + "-1470677931": "금융상품 CFD.", "-1998049070": "귀하께서 저희의 쿠키 활용에 동의하신다면, 동의하기 버튼을 클릭하세요. 더 많은 정보를 위해서는, <0>우리의 정책을 확인해주세요.", "-402093392": "Deriv 계정 추가", "-1721181859": "귀하께서는 {{deriv_account}} 계좌가 필요합니다", @@ -4078,8 +4082,6 @@ "-3423966": "이윤 취득<0 />손실제한", "-1131753095": "현재 {{trade_type_name}} 계약의 세부 사항을 확인할 수 없습니다. 곧 확인 가능하도록 작업 중에 있습니다.", "-360975483": "귀하께서는 이 기간동안 이 종류의 거래를 하지 않으셨습니다.", - "-561436679": "이 계좌는 파생상품에 대한 CFD를 제공합니다.", - "-1173266642": "이 계좌는 풍부한 기능의 거래 플랫폼에서 CFD를 제공합니다.", "-1226595254": "Turbos", "-922253974": "Rise/Fall", "-1361254291": "Higher/Lower", diff --git a/packages/translations/src/translations/mn.json b/packages/translations/src/translations/mn.json index 92ab39e66c6c..1f3308b39f52 100644 --- a/packages/translations/src/translations/mn.json +++ b/packages/translations/src/translations/mn.json @@ -11,15 +11,15 @@ "9488203": "Deriv Bot бол дижитал options-г арилжаалах вэб дээр суурилсан стратеги юм. Drag-and-drop 'блокууд' ашиглан өөрийн автоматжуулсан арилжааны ботыг бүтээх боломжтой платформ юм.", "9757544": "Оршин суугаа хаягын нотлогоог илгээнэ үү.", "11539750": "{{ variable }} -ийг харьцангуй хүч чадлын индексийн массив {{ dummy }}болгон тохируулна уу", - "11706633": "Алдагдлын босго: Таны нийт алдагдал энэ хэмжээнээс давсан тохиолдолд бот арилжаагаа зогсооно.", - "11872052": "Тийм ээ, би дараа нь эргэж ирнэ", - "14365404": "Хүсэлт бүтэлгүйтсэн: {{ message_type }}, {{ delay }}s-д дахин оролдож байна", + "11706633": "Loss threshold: Таны нийт алдагдал энэ хэмжээнээс давсан тохиолдолд бот арилжаагаа зогсооно.", + "11872052": "Тэгье, би дараа дахиж оролдоё", + "14365404": "Хүсэлт амжилтгүй: {{ message_type }}, {{ delay }}s-д дахин оролдож байна", "15377251": "Ашгийн хэмжээ: {{profit}}", - "17843034": "Иргэний үнэмлэх баримтын баталгаажуулалтын байдлыг баталгаажуулах", + "17843034": "Иргэний үнэмлэхний баталгаажуулалтын байдлыг шалгах", "19424289": "Хэрэглэгчийн нэр", "19552684": "USD сагс", - "21035405": "Яагаад яваад байгаагаа бидэнд хэлээрэй. ( {{ allowed_reasons }} хүртэлх шалтгааныг сонгоно уу.)", - "24900606": "Алтан сагс", + "21035405": "Яагаад гарч буй шалтгаанаа бидэнд хэлнэ үү. ( {{ allowed_reasons }} хүртэлх шалтгааныг сонгоно уу.)", + "24900606": "Gold сагс", "25854018": "Энэ блок нь хөгжүүлэгчийн консол дахь мессежийг текстийн мөр, тоо, boolean, эсвэл өгөгдлийн массив байж болох оролттой харуулдаг.", "26566655": "Хураангуй", "26596220": "Санхүү", @@ -68,13 +68,13 @@ "76635112": "Цааш үргэлжлүүлэхийн тулд эдгээр баримт бичгийг дахин ирүүлнэ үү", "76916358": "Та татгалзах хязгаарт хүрсэн байна. <0/> таны гарах үргэлжлүүлэхийн тулд хязгаарыг өргөх өөрийн биеийн байцаалт болон хаягийг нотлох баримтаа байршуулна уу.", "76925355": "Өөрийн ботын гүйцэтгэлийг шалгана уу", - "77945356": "Манай мобайл аппликейшнээр явж байхдаа худалдаа хийгээрэй.", "77982950": "Ванилийн сонголтууд нь “Дуудлага” эсвэл “Put” худалдан авах замаар үндсэн хөрөнгийн дээшээ (bullish) эсвэл доошоо (bearish) чиглэлийг урьдчилан таамаглах боломжийг олгодог.", "81091424": "Шинэчлэлтийг дуусгахын тулд илүү их данс нэмэх, Түрийвчтэйгээ гүйлгээ хийхийн тулд нэвтэрч, дахин нэвтэрнэ үү.", "81450871": "Бид тэр хуудсыг олж чадсангүй", "82839270": "Таны зургийг агуулсан паспортынхаа хуудсыг байршуулна уу.", "83202647": "Уналтын блок", "84402478": "Надад хэрэгтэй блокуудыг хаанаас олох вэ?", + "84924586": "Опцион болон үржүүлэгчийг арилжаалахын тулд эхлээд Deriv Apps данс аваарай.", "85343079": "Санхүүгийн үнэлгээ", "85359122": "40 ба түүнээс дээш", "85389154": "Гар утсан дээрээ баталгаажуулалтыг үргэлжлүүлэхэд шаардлагатай алхамууд", @@ -162,7 +162,6 @@ "177099483": "Таны хаягийн баталгаажуулалт хүлээгдэж байгаа бөгөөд бид таны дансанд зарим хязгаарлалт тавьсан. Таны хаягийг баталгаажуулсны дараа хязгаарлалтыг хүчингүй болгоно.", "178413314": "Эхний нэр нь 2-оос 50 тэмдэгтийн хооронд байх ёстой.", "179083332": "Огноо", - "179737767": "Бидний өв сонголтын арилжааны платформ.", "181107754": "Таны шинэ <0>{{platform}} {{eligible_account_to_migrate}} данс (ууд) арилжаанд бэлэн байна.", "181346014": "Тэмдэглэл ", "181881956": "Гэрээний төрөл: {{ contract_type }}", @@ -196,7 +195,6 @@ "211461880": "Нийтлэг нэр, овог нэрийг таахад хялбар байдаг", "211487193": "Баримтын дугаар (жишээ нь: иргэний үнэмлэх, гадаад паспорт, жолооны үнэмлэх)", "211847965": "Таны <0>хувийн мэдээлэл ду туу байна. Таны дансны тохиргоо руу орж, зарлагын гүйлгээ идэвхжүүлэхийн тулд хувийн мэдээллийг бөглөнө үү.", - "215975531": "Энэ данс нь CFD-ийг маш их өөрчлөх боломжтой CFD арилжааны платформ дээр санал болгодог.", "216650710": "Та демо данс ашиглаж байна", "217377529": "5. Хэрэв дараагийн арилжаа ашигтай гарвал дараах арилжааны хувьцааг 2 ам.доллараар бууруулна. Үүнийг хаана 3 ам.долларын хувьцааг 1 ам.доллар болгон бууруулж байгааг дээр харуулж болно. А3-г үзнэ үү.", "217403651": "Сент Винсент ба Гренадин", @@ -318,6 +316,7 @@ "344418897": "Эдгээр арилжааны хязгаар, өөрийгөө гадуурхах нь таныг {{brand_website_name}} дээр зарцуулах мөнгө, цаг хугацааг хянаж, <0>хариуцлагатай арилжаа хийхэд тусалдаг.", "345320063": "Хүчин төгөлдөр бус цагийн тэмдэг", "345818851": "Уучлаарай, дотоод алдаа гарсан. Дахин оролдохын тулд дээрх шалгах хайрцгийг дарна уу.", + "346843343": "Хуулах арилжаа бүхий санхүүгийн болон гаралтай хэрэгслийн CFD.", "347029309": "Forex: стандарт/микро", "347039138": "Дахин давтах (2)", "348951052": "Таны касс одоогоор түгжигдсэн байна", @@ -335,7 +334,6 @@ "359809970": "Энэ блок нь сонгосон хугацааны интервал доторх лааны жагсаалтаас сонгосон лааны утгыг танд өгдөг. Та нээлттэй үнэ, ойрхон үнэ, өндөр үнэ, бага үнэ, нээлттэй цаг зэргээс сонголт хийх боломжтой.", "360224937": "Логик", "360773403": "Бот бүтээгч", - "362946954": "Бидний өв уламжлалт автоматжуулсан худалдааны платформ.", "363576009": "- Өндөр үнэ: хамгийн өндөр үнэ", "363738790": "Хөтөч", "363990763": "Худалдах үнэ:", @@ -364,6 +362,7 @@ "386502387": "Bot ажиллахгүй байна", "389923099": "Томруулна уу", "390890891": "Өнгөрсөн улирал", + "391038015": "Үржүүлэгчдэд зориулсан гар утасны худалдааны програм.", "391915203": "Хеджинг", "392582370": "Уналт тэнцүү", "393789743": "Зөвхөн захидал, зай, үе, үсэг, апострофууд.", @@ -914,6 +913,7 @@ "969987233": "Гарах спот доод ба дээд саад хооронд байгаа бол хамгийн их төлбөр хүртэл ялах, гарах цэг болон доод саад хоорондын ялгаа хувь тэнцүүлэн.", "970915884": "АН", "974888153": "High-Low", + "975608902": "CFD арилжаалахын тулд эхлээд Deriv Apps данс аваарай.", "975668699": "Би {{company}} -ийн Нөхцөл, <0>нөхцөлийг баталж, хүлээн зөвшөөрч байна", "975950139": "Оршин суугаа улс", "977929335": "Миний дансны тохиргоо руу очно уу", @@ -941,6 +941,7 @@ "997311089": "Миний нууц үгийг өөрчлөх", "999008199": "текст", "1001160515": "зарах", + "1002392396": "Гарал үүсэлтэй хэрэгслүүдийн CFD.", "1002989598": "iOS: iCloud түлхүүрийн оосор.", "1003876411": "Үсэг эсвэл дугаараар эхлэх ёстой бөгөөд тэгнээ, хугацаа, зүс зэргийг агуулж болно.", "1004127734": "И-мэйл илгээх", @@ -1368,6 +1369,7 @@ "1405584799": "интервалтай: {{ candle_interval_type }}", "1407191858": "ДТрейдер", "1408844944": "Энэ блокийн функцийг өргөтгөхийн тулд нэмэх дүрс дээр дарна уу.", + "1408852678": "Санхүүгийн болон гаралтай олон төрлийн хэрэгслээр бага капиталаар илүү том байр суурийг арилжаалаарай Илүү ихийг <0>мэдэж аваарай", "1411373212": "Хүчтэй нууц үг нь дор хаяж 8 тэмдэгт агуулдаг. том ба жижиг үсэг, тоо, тэмдэглэгээг нэгтгэнэ.", "1412405902": "Чухал тэмдэглэлийг үзнэ үү", "1412535872": "Та энэ блокоор сүүлийн худалдааны үр дүнг шалгаж болно. Энэ нь зөвхөн “Арилжааны нөхцөл дахин эхлүүлэх” root блок дотор байрлуулж болно.", @@ -1469,6 +1471,7 @@ "1501691227": "Вануату Санхүүгийн Үйлчилгээний Коми <0>ссоос зохицуулсан Deriv (V) Ltd-ийн дагуу өөрийн Deriv MT5{{account_type_name}} дансаа нэмнэ үү.", "1502039206": "{{barrier}}-ийн тухай", "1502325741": "Таны нууц үг таны имэйл хаягтай адилхан байж болохгүй.", + "1503419760": "Сонгосон санхүүгийн болон гаралтай хэрэгсэл дээр свопгүй CFD.", "1503618738": "- Хэлэлцээрийн лавлагааны ID: гэрээний лавлагааны ID", "1505420815": "Таны хайлтанд төлбөрийн агент олдоогүй", "1505898522": "Стекийг татаж авах", @@ -1515,7 +1518,6 @@ "1557426040": "Демо гаралтай SVG", "1557682012": "Дансны тохиргоо", "1558972889": "{{ variable }} -ийг энгийн хөдөлгөөнт дундаж {{ dummy }}болгон тохируулна уу", - "1559220089": "Сонголт ба үржүүлэгчийн арилжааны платформ.", "1560302445": "Хуулагдсан", "1562374116": "Оюутнууд", "1566037033": "Худалдан авсан: {{longcode}} (ID: {{transaction_id}})", @@ -1661,6 +1663,7 @@ "1715630945": "Нийт ашгийг мөр хэлбэрээр буцаана", "1715680813": "Таны сонгосон хугацаа дуусах өдрөөр яг 23:59:59 GMT +0 цагт таны гэрээний хугацаа дуусна.", "1717023554": "Баримт бичгийг дахин илгээх", + "1717474982": "Өөрчлөн тохируулж болох платформоор дамжуулан санхүүгийн болон гаралтай хэрэгслийн CFD.", "1720451994": "Бид таны Deriv fiat болон Deriv криптовалютын данс хоорондын шилжүүлгийн хувьд 2% шилжүүлгийн хураамж буюу {{minimum_fee}} {{currency}}, аль нь өндөр байх болно.", "1720968545": "Компьютерээсээ паспортын зургийн хуудсыг байршуулна уу", "1722056905": "Таны өгсөн баримт бичиг танай улсын хувьд дэмжигддэггүй. Өөрийн улсын дэмжлэгтэй баримт бичгийг өгнө үү.", @@ -1830,6 +1833,7 @@ "1871664426": "Тайлбар", "1873376454": "Энэ бол таны сонгосон үнийн түвшин юм. Хэрэв энэ саадыг хэзээ нэгэн цагт давж гарвал гэрээ чинь цуцлагдах байсан.", "1874481756": "Хүссэн тодорхой гэрээгээ худалдан авахын тулд энэ блокыг ашиглана уу. Та худалдан авалтын нөхцөлөө тодорхойлохын тулд нөхцөлтэй блокуудтай хамт олон Худалдан авалтын блокуудыг нэмж болно. Энэ блокыг зөвхөн Худалдан авах нөхцлийн блок дотор ашиглах боломжтой.", + "1874737957": "Үржүүлэгчийг арилжаалахын тулд эхлээд Deriv Apps данс аваарай.", "1874756442": "БВИ", "1875702561": "Өөрийн ботыг ачаалах эсвэл бүтээх", "1876015808": "Нийгмийн аюулгүй байдал ба үндэсний даатгалын итгэлцэл", @@ -1931,7 +1935,6 @@ "1973910243": "Бүртгэлээ удирдах", "1974273865": "Энэ хамрах хүрээ нь гуравдагч этгээдийн апп-ууд таны дансны үйл ажиллагаа, тохиргоо, хязгаар, баланс, худалдааны худалдан авалтын түүх болон бусад зүйлийг үзэх боломжийг олгоно.", "1974903951": "Хэрэв та Тийм гэж дарвал таны оруулсан мэдээлэл алдагдах болно.", - "1977724653": "Энэ данс нь санхүүгийн хэрэгслийн CFD-ийг санал болгодог.", "1978218112": "Google-ийн баталгаажуулагч", "1981940238": "Үе үе өөрчлөгдөж болзошгүй энэхүү гомдлын бодлого нь таны {{legal_entity_name_svg}} болон {{legal_entity_name_v}}бүртгэлтэй данс (ууд) -д хамаарна.", "1982790875": "<0/><1>{{account_title}} {{platform}} дансаа шинэчилнэ үү", @@ -1979,6 +1982,7 @@ "2014536501": "Картын дугаар", "2014590669": "Хувьсагч '{{variable_name}}' ямар ч утгагүй. Мэдэгдэхийн тулд '{{variable_name}}' хувьсагчийн утгыг тохируулна уу.", "2017672013": "Баримт бичиг олгосон улсыг сонгоно уу.", + "2018044371": "Үржүүлэгчид нь хөшүүргээр арилжаа хийх боломжийг олгож, таны хувьцаанд эрсдэлийг хязгаарлах. дэлгэрэ <0>нгүй", "2019596693": "Баримт бичгийг Үйлчилгээ үзүүлэгч татгалзсан.", "2020545256": "Дансаа хаах уу?", "2021037737": "Үргэлжлүүлэхийн тулд дэлгэрэнгүй мэдээллээ шинэчилнэ үү.", @@ -2658,8 +2662,11 @@ "-2021135479": "Энэ талбар шаардлагатай.", "-1002044401": "Баримтаа сонгох*", "-1272489896": "Энэ талбарыг бөглөнө үү.", - "-1107320163": "Арилжаагаа автоматжуулаарай, кодлох шаардлагагүй.", - "-829643221": "Үржүүлэгч арилжааны платформ.", + "-721346138": "Сонголт ба үржүүлэгчийн арилжааны платформ.", + "-1874136267": "Бот арилжааны эцсийн платформ.", + "-415943890": "Өвчний сонголтуудын арилжааны платформ.", + "-673722343": "Өвгөн ботын арилжааны платформ.", + "-897826065": "Үржүүлэгчдийн арилжааны платформ.", "-2115275974": "CFD", "-1585707873": "Санхүүгийн комисс", "-199154602": "Вануату санхүүгийн үйлчилгээний комисс", @@ -2678,12 +2685,10 @@ "-1879666853": "MT5 Deriv", "-820028470": "Сонголтууд ба үржүүлэгчид", "-1210359945": "Дансныхаа мөнгийг шилжүүлэх", - "-81256466": "CFD данс үүсгэхийн тулд танд Deriv данс хэрэгтэй.", "-1926387364": "Бид таны цахим номыг таны имэйл рүү илгээсэн. Та мөн эндээс татаж авах боломжтой.", "-1057002564": "<0>Бид таныг түрийвчинд шинэчлэх боломжгүй байгаа бөгөөд үүнийг аль болох хурдан засахаар ажиллаж байна. Да <1>хин оролдоно уу<0>.", "-1424352390": "<0>Түрий <1>вч - Сангаа удирдах илүү ухаалаг арга", "-280236366": "Одоо идэвхжүүлнэ үү", - "-699372497": "Амжилттай арилжаанд илүү сайн өгөөж авахын тулд хөшүүрэг болон хатуу тархалттай арилжаа хийгээрэй <0>Илүү ихийг мэдэх", "-145462920": "Deriv cTrader", "-982095728": "авах", "-1790089996": "ШИНЭ!", @@ -2708,10 +2713,8 @@ "-643108528": "ЕХ-ны бус болон ЕХ-ны зохицуулалт", "-1002556560": "Бид түрийвчний шинэчлэлтийг дуусгах боломжгүй байна. Дараа нь дахин оролдож үзээрэй эсвэл шууд чатаар бидэнтэй холбоо барина уу.", "-1186807402": "Шилжүүлэлт", - "-2051096382": "<1>Зах зээлийн хөдөлгөөнийг <0>сонгол туудтай зөв урьдчилан таамаглах замаар олон төрлийн төлбөрийг олох, эсвэл үржүүлэгчтэй анхны хувьцаанаасаа илүү эрсдэлгүйгээр CFD-ийн\n дээгүүр хэсгийг аваарай.", - "-1638358352": "<0>Үржүүлэгчтэй анхны хувьцаанаасаа илүү эрсдэл учруулахгүйгээр CFD-ийг дээшлүүлээрэй.", + "-655191265": "Тодорхой үнээр тодорхой цагт худалдаж авах эсвэл зарах. дэл <0>гэрэнгүй", "-744999940": "Дерив данс", - "-749129977": "Жинхэнэ Deriv данс аваарай, арилжаа хийж эхлэх, хөрөнгөө удирдах боломжтой.", "-2146691203": "Зохицуулалтын сонголт", "-249184528": "Та ЕХ-ны эсвэл ЕХ-ны бус зохицуулалтын дагуу бодит данс үүсгэж болно. <0>Эдгээр дансуудын <0/> талаар илүү ихийг мэдэхийн тулд дүрс дээр дарна уу.", "-1505234170": "Худалдаачдын төв аялал", @@ -2768,6 +2771,7 @@ "-1995606668": "Дүн", "-2024290965": "Баталгаажуулалт", "-811190405": "Цаг", + "-728508487": "{{currency}} сүүлийн үеийн гүйлгээ", "-1984478597": "Энэ гүйлгээний дэлгэрэнгүй мэдээллийг CoinSaid дээрээс авах боломжтой.", "-316545835": "Шилжүүл <0>гээ хийхээсээ өмнө бүх мэдээллийг <0>зөв эсэхийг шалгана уу.", "-949073402": "Би үйлчлүүлэгчийн шилжүүлгийн мэдээллийг баталгаажуулсан гэдгээ баталгаажуулж байна.", @@ -3353,7 +3357,7 @@ "-482715448": "Хувийн дэлгэрэнгүй мэдээлэл рүү очно уу", "-2072411961": "Таны хаягийн нотолгоо баталгаажсан", "-384887227": "Өөрийн профайл дахь хаягийг шинэчилнэ үү.", - "-1779268418": "MT5 дээр свопгүй CFD-үүдийг форекс, хувьцаа, хувьцааны индекс, түүхий эдийн криптовалют, ETF болон синтетик индексүүдээр арилжаалаарай.", + "-1470677931": "Санхүүгийн хэрэгслийн CFD.", "-1998049070": "Хэрэв та бидний күүки ашиглахыг зөвшөөрвөл хүлээн зөвшөөрч байгаа бол хүлээн зөвшөөрөх дээр дарна уу. Дэлгэрэнгүй мэдээллийг <0>манай бодлогоос үзнэ үү.", "-402093392": "Дерив данс нэмэх", "-1721181859": "Танд {{deriv_account}} данс хэрэгтэй болно", @@ -4078,8 +4082,6 @@ "-3423966": "Ашиг авах Алда <0 /> гдлыг зогсоо", "-1131753095": "{{trade_type_name}} гэрээний дэлгэрэнгүй мэдээлэл одоогоор байхгүй байна. Бид тэдгээрийг удахгүй бэлэн болгохоор ажиллаж байна.", "-360975483": "Та энэ хугацаанд ийм төрлийн гүйлгээ хийгээгүй.", - "-561436679": "Энэ данс нь гаралтай хэрэгслүүдийн CFD-ийг санал болгодог.", - "-1173266642": "Энэ данс нь функцээр баялаг арилжааны платформ дээр CFD-ийг санал болгодог.", "-1226595254": "Турбос", "-922253974": "Rise/Fall", "-1361254291": "Higher/Lower", diff --git a/packages/translations/src/translations/pl.json b/packages/translations/src/translations/pl.json index 3a2c8bacf7be..d1e19432316d 100644 --- a/packages/translations/src/translations/pl.json +++ b/packages/translations/src/translations/pl.json @@ -68,13 +68,13 @@ "76635112": "Aby kontynuować, prześlij ponownie te dokumenty", "76916358": "Osiągnięto limit wypłat.<0/>Prześlij dowód tożsamości i adresu, aby podnieś swój limit i dokonać wypłaty.", "76925355": "Sprawdź wydajność swojego bota", - "77945356": "Handluj w podróży dzięki naszej aplikacji mobilnej.", "77982950": "Opcje Vanilla pozwalają Państwu przewidzieć wzrostowy (byczy) lub spadkowy (niedźwiedzi) kierunek aktywów bazowych poprzez zakup opcji Call (kupna) lub Put (sprzedaży).", "81091424": "Aby zakończyć aktualizację, proszę się wylogować i zalogować ponownie, aby dodać więcej kont i dokonywać transakcji za pomocą Wallets.", "81450871": "Nie znaleźliśmy tej strony", "82839270": "Prześlij skan strony z paszportu zawierającej zdjęcie.", "83202647": "Zwiń blok", "84402478": "Gdzie znajdę potrzebne bloki?", + "84924586": "Aby handlować opcjami i mnożnikami, najpierw załóż konto Deriv Apps.", "85343079": "Ocena finansowa", "85359122": "40 lub więcej", "85389154": "Kroki wymagane do przeprowadzenia weryfikacji na Twoim urządzeniu mobilnym", @@ -162,7 +162,6 @@ "177099483": "Weryfikacja Twojego adresu jest w toku, a my nałożyliśmy pewne ograniczenia na Twoje konto. Ograniczenia zostaną zniesione po zweryfikowaniu adresu.", "178413314": "Imię powinno składać się z 2-50 znaków.", "179083332": "Data", - "179737767": "Nasza platforma handlowa dla starszych opcji.", "181107754": "Twoje nowe konta <0>{{platform}} {{eligible_account_to_migrate}} są gotowe do handlu.", "181346014": "Uwagi ", "181881956": "Rodzaj kontraktu: {{ contract_type }}", @@ -196,7 +195,6 @@ "211461880": "Popularne imiona i nazwiska można łatwo przewidzieć", "211487193": "Numer dokumentu (np. dowód osobisty, paszport, prawo jazdy)", "211847965": "Twoje <0>dane osobowe są niekompletne. Przejdź do ustawień swojego konta i uzupełnić swoje dane osobowe, aby umożliwić wypłaty.", - "215975531": "To konto oferuje kontrakty CFD na wysoce konfigurowalnej platformie transakcyjnej CFD.", "216650710": "Używasz konta demo", "217377529": "5. Jeśli kolejne transakcje będą opłacalne, stawka na następną transakcję zostanie zmniejszona o 2 USD. Można to pokazać powyżej, gdy stawka w wysokości 3 USD jest zmniejszona do 1 USD. Patrz A3.", "217403651": "Saint Vincent i Grenadyny", @@ -318,6 +316,7 @@ "344418897": "Te limity i opcja samodzielnego wykluczenia pomagają kontrolować kwotę pieniędzy inwestowaną na {brand_website_name}} i czas spędzany na platformie i ułatwiają <0>odpowiedzialne inwestowanie.", "345320063": "Nieprawidłowy znacznik czasu", "345818851": "Przepraszamy, wystąpił błąd wewnętrzny. Kliknij powyższe pole wyboru, aby spróbować ponownie.", + "346843343": "Kontrakty CFD na instrumenty finansowe i instrumenty pochodne z handlem kopiami.", "347029309": "Forex: standardowy/mikro", "347039138": "Iteracja (2)", "348951052": "Twój kasjer jest obecnie zablokowany", @@ -335,7 +334,6 @@ "359809970": "Ten blok daje wybraną wartość świecy z listy świec w wybranym interwale czasowym. Możesz wybrać spośród ceny otwarcia, ceny zamknięcia, ceny wysokiej, ceny niskiej i godziny otwarcia.", "360224937": "Logika", "360773403": "Konstruktor botów", - "362946954": "Nasza starodawna zautomatyzowana platforma transakcyjna.", "363576009": "- Wysoka cena: najwyższa cena", "363738790": "Przeglądarka", "363990763": "Cena sprzedaży:", @@ -364,6 +362,7 @@ "386502387": "Bot nie jest uruchomiony", "389923099": "Powiększ", "390890891": "Ostatni kwartał", + "391038015": "Mobilna aplikacja handlowa dla mnożników.", "391915203": "Hedging", "392582370": "Spadek Równa się", "393789743": "Tylko litery, spacje, kropki, myślniki, apostrofy.", @@ -914,6 +913,7 @@ "969987233": "Zyskaj wygraną w wysokości nawet maksymalnej wypłaty, jeśli punkt wyjściowy będzie mieścił się w przedziale między dolnym a górnym limitem, proporcjonalnie do różnicy między punktem wyjściowym a dolnym limitem.", "970915884": " ", "974888153": "High-Low", + "975608902": "Aby handlować kontraktami CFD, najpierw załóż konto Deriv Apps.", "975668699": "Potwierdzam i akceptuję <0>Regulamin {{company}}", "975950139": "Kraj zamieszkania", "977929335": "Przejdź do ustawień swojego konta", @@ -941,6 +941,7 @@ "997311089": "Zmień moje hasło", "999008199": "tekst", "1001160515": "Sprzedaj", + "1002392396": "Kontrakty CFD na instrumenty pochodne.", "1002989598": "iOS: brelok iCloud.", "1003876411": "Powinno rozpoczynać się od litery lub cyfry i może zawierać myślnik, kropkę i ukośnik.", "1004127734": "Wyślij e-mail", @@ -1368,6 +1369,7 @@ "1405584799": "z interwałem: {{ candle_interval_type }}", "1407191858": "DTrader", "1408844944": "Kliknij ikonę plus, aby rozszerzyć funkcjonalność tego bloku.", + "1408852678": "Handluj większymi pozycjami przy mniejszym kapitale w różnych instrumentach finansowych i pochodnych. <0>Dowiedz się więcej", "1411373212": "Silne hasła zawierają co najmniej 8 znaków. łącz wielkie i małe litery, cyfry i symbole.", "1412405902": "Zobacz ważne notatki", "1412535872": "Możesz sprawdzić wynik ostatniego zakładu przy użyciu tego bloku. Może zostać umieszczony tylko w ramach bloku źródłowego „Warunki zrestartowania handlowania”.", @@ -1469,6 +1471,7 @@ "1501691227": "Dodaj swoje konto Deriv MT5 <0>{{account_type_name}} w Deriv (V) Ltd, podlegającej regulacjom komisji Vanuatu Financial Services Commission.", "1502039206": "Ponad {{barrier}}", "1502325741": "Twoje hasło nie może być takie samo jak adres e-mail.", + "1503419760": "Kontrakty CFD wolne od swapu na wybrane instrumenty finansowe i instrumenty pochodne.", "1503618738": "- ID referencyjne transakcji: numer referencyjny kontraktu", "1505420815": "Nie znaleziono agentów płatności dla Twojego wyszukiwania", "1505898522": "Pobierz stos", @@ -1515,7 +1518,6 @@ "1557426040": "Demo Pochodne SVG", "1557682012": "Ustawienia konta", "1558972889": "ustaw {{ variable }} na Prostą średnią kroczącą {{ dummy }}", - "1559220089": "Opcje i multipliers platforma handlowa.", "1560302445": "Skopiowano", "1562374116": "Studenci", "1566037033": "Kupiono: {{longcode}} (ID: {{transaction_id}})", @@ -1661,6 +1663,7 @@ "1715630945": "Zwraca całkowity zysk w formacie ciągu", "1715680813": "Państwa kontrakt wygaśnie dokładnie o 23:59:59 GMT +0 w wybranej przez Państwa dacie wygaśnięcia.", "1717023554": "Ponownie prześlij dokumenty", + "1717474982": "Kontrakty CFD na instrumenty finansowe i instrumenty pochodne za pośrednictwem dostosowywalnej platformy.", "1720451994": "Za przelewy między kontem Deriv w walucie fiducjarnej a kontem Deriv w kryptowalucie pobierana jest opłata w wysokości 2% kwoty transferu lub {{minimum_fee}} {{currency}}, w zależności od tego, która kwota jest wyższa.", "1720968545": "Prześlij stronę paszportu ze zdjęciem ze swojego komputera", "1722056905": "Dostarczony dokument nie jest akceptowany dla Twojego kraju. Proszę podać dokument akceptowany dla Twojego kraju.", @@ -1830,6 +1833,7 @@ "1871664426": "Uwaga", "1873376454": "Jest to poziom cenowy, który Państwo wybierają. Jeśli ta bariera zostanie kiedykolwiek przekroczona, Państwa umowa zostanie rozwiązana.", "1874481756": "Użyj tego bloku, aby zakupić określony kontrakt. Możesz dodać kilka bloków typu Zakup razem z blokami warunkowymi, aby określić warunki Twojego zakupu. Ten blok może być użyty tylko w obrębie bloku Warunki zakupu.", + "1874737957": "Aby handlować mnożnikami, najpierw załóż konto Deriv Apps.", "1874756442": "BVI", "1875702561": "Załaduj lub zbuduj swojego bota", "1876015808": "Social Security and National Insurance Trust", @@ -1931,7 +1935,6 @@ "1973910243": "Zarządzaj swoimi kontami", "1974273865": "Ten zakres umożliwi aplikacjom stron trzecich podgląd aktywności i ustawień Twojego konta, limitów, bilansów, historii zakupu zakładów i innych informacji.", "1974903951": "Jeśli klikniesz Tak, wprowadzone informacje zostaną utracone.", - "1977724653": "Ten rachunek oferuje kontrakty CFD na instrumenty finansowe.", "1978218112": "Google Authenticator", "1981940238": "Polityka składania skarg, która może ulegać zmianom co jakiś czas, ma zastosowanie w odniesieniu do Twoich kont zarejestrowanych przez {{legal_entity_name_svg}} i {{legal_entity_name_v}}.", "1982790875": "Uaktualnij swoje konta <0/><1>{{account_title}} {{platform}} ", @@ -1979,6 +1982,7 @@ "2014536501": "Numer karty", "2014590669": "Zmienna '{{variable_name}}' nie ma żadnych wartości. Ustal wartość zmiennej '{{variable_name}}' do powiadomienia.", "2017672013": "Wybierz kraj wydania dokumentu.", + "2018044371": "Mnożniki pozwalają handlować z dźwignią finansową i ograniczyć ryzyko do Twojej stawki. <0>Dowiedz się więcej", "2019596693": "Dokument został odrzucony przez dostawcę.", "2020545256": "Zamknąć Twoje konto?", "2021037737": "Zaktualizuj swoje dane, aby kontynuować.", @@ -2658,8 +2662,11 @@ "-2021135479": "To pole jest wymagane.", "-1002044401": "Wybierz swój dokument*", "-1272489896": "Proszę wypełnić to pole.", - "-1107320163": "Zautomatyzuj swoje inwestowanie bez konieczności kodowania.", - "-829643221": "Platforma handlowa Multipliers.", + "-721346138": "Platforma handlowa opcji i mnożników.", + "-1874136267": "Najlepsza platforma handlowa botów.", + "-415943890": "Starsza platforma handlu opcjami.", + "-673722343": "Starsza platforma handlowa botów.", + "-897826065": "Platforma handlowa mnożników.", "-2115275974": "Kontrakty CFD", "-1585707873": "Financial Commission", "-199154602": "Vanuatu Financial Services Commission", @@ -2678,12 +2685,10 @@ "-1879666853": "Deriv MT5", "-820028470": "Opcje i Multipliers", "-1210359945": "Przelew środków na swoje konta", - "-81256466": "Aby utworzyć konto CFD, potrzebujesz konta Deriv.", "-1926387364": "Wysłaliśmy Twój e-book na Twój adres e-mail. Możesz go także pobrać tutaj.", "-1057002564": "<0>W tej chwili nie jesteśmy w stanie uaktualnić Cię do Wallets i pracujemy nad naprawieniem tego tak szybko, jak to możliwe. Proszę <1>próbuj ponownie<0>.", "-1424352390": "<0>Wallets<1> — mądrzejszy sposób na zarządzanie środkami", "-280236366": "Włącz teraz", - "-699372497": "Handluj z dźwignią finansową i wąskimi spreadami, aby <0>uzyskać lepszy zwrot z udanych transakcji.", "-145462920": "Deriv cTrader", "-982095728": "Dostać", "-1790089996": "NOWOŚĆ!", @@ -2708,10 +2713,8 @@ "-643108528": "Regulacje spoza UE i UE", "-1002556560": "Nie możemy dokończyć aktualizacji Wallet. Proszę spróbować ponownie później lub skontaktować się z nami za pośrednictwem czatu na żywo.", "-1186807402": "Przelew", - "-2051096382": "Zarabiaj szereg wypłat, poprawnie przewidując ruchy rynkowe z <0>opcjami lub zyskaj\n wzrost kontraktów CFD bez ryzykowania więcej niż początkowa stawka z <1>multipliers.", - "-1638358352": "Zdobądź wzrost kontraktów CFD, nie ryzykując więcej niż początkowa stawka z <0>Multipliers.", + "-655191265": "Kupuj lub sprzedawaj w określonym czasie za określoną cenę. <0>Dowiedz się więcej", "-744999940": "Konta Deriv", - "-749129977": "Zdobądź prawdziwe konto Deriv, zacznij handlować i zarządzaj swoimi środkami.", "-2146691203": "Wybór regulacji", "-249184528": "Możesz tworzyć konta rzeczywiste zgodnie z przepisami UE lub spoza UE. Kliknij <0><0/>ikonę, aby dowiedzieć się więcej o tych kontach.", "-1505234170": "Wycieczka po Trader's Hub", @@ -2768,6 +2771,7 @@ "-1995606668": "Kwota", "-2024290965": "Potwierdzenia", "-811190405": "Czas", + "-728508487": "{{currency}} ostatnie transakcje", "-1984478597": "Szczegóły tej transakcji są dostępne na CoinsPaid.", "-316545835": "Przed dokonaniem przelewu upewnij się, że <0>wszystkie szczegóły są <0>poprawne.", "-949073402": "Potwierdzam, że dane przelewu klienta zostały zweryfikowane.", @@ -3353,7 +3357,7 @@ "-482715448": "Przejdź do danych osobowych", "-2072411961": "Twój dowód adresu został zweryfikowany", "-384887227": "Zaktualizuj adres w swoim profilu.", - "-1779268418": "Inwestuj w kontrakty CFD bez swapów na platformie MT5, oferującej forex, akcje, indeksy giełdowe, towary, kryptowaluty, fundusze ETF i indeksy syntetyczne.", + "-1470677931": "CFD na instrumenty finansowe.", "-1998049070": "Jeśli zgadzasz się na wykorzystywanie przez nas plików cookies, kliknij Akceptuję. <0>Przeczytaj naszą politykę, aby uzyskać więcej informacji.", "-402093392": "Dodaj konto Deriv", "-1721181859": "Potrzebne Ci będzie konto {{deriv_account}}", @@ -4078,8 +4082,6 @@ "-3423966": "Uzyskaj zysk<0 />Stop stratom", "-1131753095": "Szczegóły umowy {{trade_type_name}} nie są obecnie dostępne. Pracujemy nad udostępnieniem ich wkrótce.", "-360975483": "W tym okresie nie zrealizowano żadnej transakcji tego rodzaju.", - "-561436679": "Ten rachunek oferuje kontrakty CFD na instrumenty pochodne.", - "-1173266642": "Rachunek ten oferuje kontrakty CFD na bogatej w funkcje platformie transakcyjnej.", "-1226595254": "Turbos", "-922253974": "Rise/Fall", "-1361254291": "Higher/Lower", diff --git a/packages/translations/src/translations/pt.json b/packages/translations/src/translations/pt.json index ae16ce23be3e..9ce0667afe4b 100644 --- a/packages/translations/src/translations/pt.json +++ b/packages/translations/src/translations/pt.json @@ -68,13 +68,13 @@ "76635112": "Para continuar, por favor, reenvie estes documentos.", "76916358": "Atingiu o limite de levantamento.<0/>Por favor, carregue o seu comprovativo de identidade e morada para suspender o limite e continuar o levantamento.", "76925355": "Verifique o desempenho do bot", - "77945356": "Negoceie em qualquer lugar com a nossa aplicação móvel.", "77982950": "As Options \"Vanilla\" permitem-lhe prever uma direção ascendente (bullish) ou descendente (bearish) do ativo subjacente através da compra de \"Call\" ou \"Put\".", "81091424": "Para concluir o upgrade, termine a sessão e volte a iniciar para adicionar mais contas e efetuar transações com a sua Wallets.", "81450871": "Não encontrámos a página", "82839270": "Carregue a página do seu passaporte que contém a sua fotografia.", "83202647": "Bloco expansível", "84402478": "Onde posso encontrar os blocos de que necessito?", + "84924586": "Para negociar opções e “multipliers” deve obter primeiro uma conta nas aplicações da Deriv.", "85343079": "Avaliação financeira", "85359122": "40 ou mais", "85389154": "Passos obrigatórios para continuar a validação no seu telemóvel", @@ -162,7 +162,6 @@ "177099483": "A validação do seu endereço está pendente e colocámos algumas restrições à sua conta. As restrições serão retiradas assim que o seu endereço for validado.", "178413314": "O primeiro nome deve ter entre 2 e 50 caracteres.", "179083332": "Data", - "179737767": "A nossa plataforma de negociação de Options.", "181107754": "A(s) sua(s) nova(s) conta(s) <0>{{platform}} {{eligible_account_to_migrate}} está(ão) pronta(s) para começar a negociar.", "181346014": "Notas ", "181881956": "Tipo de Contrato: {{ contract_type }}", @@ -196,7 +195,6 @@ "211461880": "Os nomes e apelidos comuns são fáceis de adivinhar", "211487193": "Número do documento (por exemplo, cartão de identidade, passaporte, carta de condução)", "211847965": "Os seus <0>dados pessoais estão incompletos. Aceda às definições da sua conta e preencha os seus dados pessoais para permitir levantamentos.", - "215975531": "Esta conta oferece CFDs numa plataforma de negociação de CFDs personalizável.", "216650710": "Está a utilizar uma conta demo", "217377529": "5. Se as negociações seguintes forem lucrativas, a entrada para a próxima negociação será reduzida para 2 USD. Esta situação é demonstrada acima, onde a entrada de 3 USD é reduzida para 1 USD. Ver A3.", "217403651": "São Vicente e Granadinas", @@ -318,6 +316,7 @@ "344418897": "Estes limites de negociação e autoexclusão ajudam-no a controlar a quantidade de dinheiro e tempo que gasta em {{brand_website_name}} e a exercer a <0>negociação responsável.", "345320063": "Carimbo de data/hora inválido", "345818851": "Desculpe, ocorreu um erro interno. Clique na caixa de seleção acima para tentar novamente.", + "346843343": "CFDs sobre instrumentos financeiros e derived com \"copy trading\".", "347029309": "Forex: padrão/micro", "347039138": "Iterar (2)", "348951052": "A sua caixa está atualmente bloqueada", @@ -335,7 +334,6 @@ "359809970": "Este bloco fornece o valor da vela selecionada a partir de uma lista de velas dentro do intervalo de tempo selecionado. Pode escolher entre preço de abertura, preço de fecho, preço máximo, preço mínimo e hora de abertura.", "360224937": "Lógica", "360773403": "Bot Builder", - "362946954": "A nossa plataforma de negociação automatizada.", "363576009": "- High price: o preço mais alto", "363738790": "Navegador", "363990763": "Preço de venda:", @@ -364,6 +362,7 @@ "386502387": "O bot não está a funcionar", "389923099": "Aumentar o zoom", "390890891": "Último trimestre", + "391038015": "A aplicação móvel de negociação para \"multipliers\".", "391915203": "Cobertura", "392582370": "Fall Equals", "393789743": "Apenas letras, espaços, pontos, hífenes e apóstrofos.", @@ -914,6 +913,7 @@ "969987233": "Receba o pagamento máximo se o preço de fecho estiver entre a barreira inferior e superior, proporcionalmente à diferença entre o preço de fecho e a barreira inferior.", "970915884": "AN", "974888153": "High-Low", + "975608902": "Para negociar CFDs, obtenha primeiro uma conta nas aplicações da Deriv.", "975668699": "Confirmo e aceito os <0>Termos e Condições da {{company}}", "975950139": "País de residência", "977929335": "Aceder às definições da minha conta", @@ -941,6 +941,7 @@ "997311089": "Alterar a minha palavra-passe", "999008199": "texto", "1001160515": "Vender", + "1002392396": "CFDs sobre instrumentos derived.", "1002989598": "iOS: iCloud keychain.", "1003876411": "Deve começar com uma letra ou um número e pode conter um hífen, um ponto e uma barra.", "1004127734": "Enviar e-mail", @@ -1368,6 +1369,7 @@ "1405584799": "com intervalo: {{ candle_interval_type }}", "1407191858": "DTrader", "1408844944": "Clique no ícone de adição para ampliar a funcionalidade desse bloco.", + "1408852678": "Negoceie posições maiores com menos capital em diversos instrumentos financeiros e derived <0>Saiba mais", "1411373212": "As palavras-passe fortes contêm pelo menos 8 caracteres e combinam letras maiúsculas e minúsculas, números e símbolos.", "1412405902": "Ver notas importantes", "1412535872": "Pode verificar o resultado da última negociação com este bloco. Só pode ser colocado dentro do bloco raiz \"Reiniciar condições de negociação\".", @@ -1469,6 +1471,7 @@ "1501691227": "Adicione a sua conta Deriv MT5 <0>{{account_type_name}} sob a Deriv (V) Ltd, regulamentada pela Vanuatu Financial Services Commission.", "1502039206": "Acima de {{barrier}}", "1502325741": "A palavra-passe não pode ser igual ao endereço de e-mail.", + "1503419760": "CFDs sem swap em instrumentos financeiros e derived específicos.", "1503618738": "- ID de referência do negócio: o ID de referência do contrato", "1505420815": "Não foram encontrados agentes de pagamento para a sua pesquisa", "1505898522": "Descarregar pilha", @@ -1515,7 +1518,6 @@ "1557426040": "Demo Derivada SVG", "1557682012": "Definições de conta", "1558972889": "definir {{ variable }} como Média Móvel Simples {{ dummy }}", - "1559220089": "Plataforma de negociação de Options e Multipliers.", "1560302445": "Copiado", "1562374116": "Estudantes", "1566037033": "Comprado: {{longcode}} (ID: {{transaction_id}})", @@ -1661,6 +1663,7 @@ "1715630945": "Retorna o lucro total em formato de string", "1715680813": "O seu contrato expira exatamente às 23:59:59 GMT +0 na data de expiração selecionada.", "1717023554": "Reenviar documentos", + "1717474982": "CFDs sobre instrumentos financeiros e derived com através de uma plataforma personalizável.", "1720451994": "Cobraremos uma taxa de transferência de 2% ou {{minimum_fee}} {{currency}}, o que for mais alto, para transferências entre suas contas Deriv fiduciária e Deriv criptomoeda.", "1720968545": "Carregue a página da foto do passaporte do seu computador", "1722056905": "O documento que forneceu não é válido para o seu país. Por favor, forneça um documento válido.", @@ -1830,6 +1833,7 @@ "1871664426": "Nota", "1873376454": "Este nível de preço foi escolhido por si. Se esta barreira for ultrapassada, o seu contrato será rescindido.", "1874481756": "Utilize este bloco para comprar o contrato específico que pretende. Pode adicionar vários blocos de compra com blocos condicionais para definir as suas condições de compra. Este bloco só pode ser utilizado no bloco Condições de compra.", + "1874737957": "Para negociar “multipliers”, obtenha primeiro uma conta nas aplicações da Deriv.", "1874756442": "BVI", "1875702561": "Carregue ou construa o seu bot", "1876015808": "Fundo Nacional de Previdência Social e Seguro Nacional", @@ -1931,7 +1935,6 @@ "1973910243": "Gerencie as suas contas", "1974273865": "Este âmbito irá permitir que as aplicações de terceiros vejam a atividade da sua conta, definições, limites, balanços, histórico de negociações e muito mais.", "1974903951": "Se clicar em Sim, as informações introduzidas serão perdidas.", - "1977724653": "Esta conta oferece CFDs sobre instrumentos financeiros.", "1978218112": "Google Authenticator", "1981940238": "Esta política de reclamações, que pode mudar periodicamente, se aplica às suas contas registadas com {{legal_entity_name_svg}} e {{legal_entity_name_v}}.", "1982790875": "Atualize a sua conta <0/><1>{{account_title}} {{platform}} ", @@ -1979,6 +1982,7 @@ "2014536501": "Número do cartão", "2014590669": "A variável '{{variable_name}}' não tem valor. Por favor, defina um valor para a variável '{{variable_name}}' para notificar.", "2017672013": "Selecione o país de emissão do documento.", + "2018044371": "Os \"multipliers\" permitem-lhe negociar com alavancagem e limitar o seu risco ao montante investido inicialmente. <0>Saiba mais", "2019596693": "O documento foi rejeitado pelo prestador de serviços.", "2020545256": "Fechar a sua conta?", "2021037737": "Atualize os seus dados para continuar.", @@ -2658,8 +2662,11 @@ "-2021135479": "Esse campo é obrigatório.", "-1002044401": "Selecione o seu documento*", "-1272489896": "Por favor, preencha este campo.", - "-1107320163": "Automatize a sua negociação, sem necessidade de programação.", - "-829643221": "Plataforma de negociação de Multipliers.", + "-721346138": "A plataforma de negociação de opções e \"multipliers\".", + "-1874136267": "A plataforma líder em negociação automatizada através de bots.", + "-415943890": "A plataforma de negociação de opções de referência.", + "-673722343": "A plataforma de negociação através de bots de referência.", + "-897826065": "A plataforma de negociação de \"multipliers\".", "-2115275974": "CFDs", "-1585707873": "Comissão Financeira", "-199154602": "Vanuatu Financial Services Commission", @@ -2678,12 +2685,10 @@ "-1879666853": "Deriv MT5", "-820028470": "Opções e Multipliers", "-1210359945": "Transferir fundos para as suas contas", - "-81256466": "Precisa de uma conta Deriv para criar uma conta de CFDs.", "-1926387364": "Enviámos o e-book para o seu e-mail. Também pode transferi-lo aqui.", "-1057002564": "<0>Atualmente, não é possível realizar o upgrade para Wallets. Estamos a trabalhar para resolver esta situação o mais rápido possível. Por favor <1>tente novamente<0>.", "-1424352390": "<0>Wallets<1> - Uma forma mais inteligente de gerir os seus fundos", "-280236366": "Ativar agora", - "-699372497": "Negoceie com alavancagem e spreads reduzidos para obter melhores retornos em transações bem-sucedidas. <0>Saiba mais", "-145462920": "Deriv cTrader", "-982095728": "Criar", "-1790089996": "NOVO!", @@ -2708,10 +2713,8 @@ "-643108528": "Regulamentos de países fora da UE e da UE", "-1002556560": "Não foi possível concluir o upgrade da Wallet. Tente novamente mais tarde ou contacte-nos através do live chat.", "-1186807402": "Transferir", - "-2051096382": "Consiga uma série de pagamentos ao prever corretamente os movimentos do mercado com as <0>Options, ou obtenha a vantagem CFDs sem arriscar mais do que a sua entrada inicial com os <1>Multipliers.", - "-1638358352": "Beneficie da vantagem dos CFDs sem arriscar mais do que a sua entrada inicial com os <0>Multipliers.", + "-655191265": "Comprar ou vender num momento específico por um preço específico. <0>Saiba mais", "-744999940": "Conta Deriv", - "-749129977": "Obtenha uma conta Deriv real, comece a negociar e a gerir os seus fundos.", "-2146691203": "Escolha de regulamentação", "-249184528": "Pode criar contas reais ao abrigo da regulamentação da UE ou de países não pertencentes à UE. Clique no ícone <0><0/> para saber mais sobre estas contas.", "-1505234170": "Visita ao Trader's Hub", @@ -2768,6 +2771,7 @@ "-1995606668": "Montante", "-2024290965": "Confirmações", "-811190405": "Data e hora", + "-728508487": "{{currency}} transações recentes", "-1984478597": "Os detalhes desta transação estão disponíveis no CoinsPaid.", "-316545835": "Por favor, certifique-se de que <0>todos os dados estão <0>corretos antes de efetuar a sua transferência.", "-949073402": "Confirmo que verifiquei as informações de transferência do cliente.", @@ -3353,7 +3357,7 @@ "-482715448": "Aceder a Dados pessoais", "-2072411961": "O seu comprovativo de morada foi verificado", "-384887227": "Atualize o endereço no seu perfil.", - "-1779268418": "Negoceie CFDs sem swap na MT5 com forex, ações, índices de ações, matérias-primas, criptomoedas, ETFs e índices sintéticos.", + "-1470677931": "CFDs sobre instrumentos financeiros.", "-1998049070": "Se concordar com a nossa utilização de cookies, clique em Aceitar. Para mais informações, <0>consulte a nossa política.", "-402093392": "Adicionar conta Deriv", "-1721181859": "É necessária uma conta {{deriv_account}}", @@ -4078,8 +4082,6 @@ "-3423966": "Take profit <0 /> Stop loss", "-1131753095": "Os dados do contrato {{trade_type_name}} não estão atualmente disponíveis. Estamos a trabalhar para os disponibilizar em breve.", "-360975483": "Não foram efetuadas transações deste tipo durante este período.", - "-561436679": "Esta conta oferece CFDs sobre instrumentos derivados.", - "-1173266642": "Esta conta oferece CFDs numa plataforma de negociação rica em funcionalidades.", "-1226595254": "Turbos", "-922253974": "Rise/Fall", "-1361254291": "Higher/Lower", diff --git a/packages/translations/src/translations/ru.json b/packages/translations/src/translations/ru.json index cf2053eae7c3..fd485637b6a6 100644 --- a/packages/translations/src/translations/ru.json +++ b/packages/translations/src/translations/ru.json @@ -68,13 +68,13 @@ "76635112": "Чтобы продолжить, повторно отправьте эти документы", "76916358": "Вы достигли лимита на вывод.<0/>Загрузите документ, подтверждающий личность и адрес, чтобы снять лимит и продолжить вывод средств.", "76925355": "Проверьте производительность вашего бота", - "77945356": "Приложение для мобильного трейдинга.", "77982950": "Vanilla опционы позволяют прогнозировать восходящее (бычье) или нисходящее (медвежье) направление движения базового актива через покупку опциона \"Call\" или \"Put\".", "81091424": "Чтобы завершить обновление, выйдите из системы и войдите снова, чтобы добавить больше счетов и совершать транзакции с Wallets.", "81450871": "Мы не смогли найти эту страницу", "82839270": "Загрузите страницу паспорта с фотографией.", "83202647": "Свернуть блок", "84402478": "Где найти нужные мне блоки?", + "84924586": "Чтобы торговать опционами и multipliers, сначала создайте учетную запись Deriv Apps.", "85343079": "Финансовая оценка", "85359122": "40 и более", "85389154": "Шаги, необходимые для продолжения верификации с мобильного телефона:", @@ -162,7 +162,6 @@ "177099483": "Подтверждение адреса еще не завершено. Мы наложили некоторые ограничения на ваш счет. Ограничения будут сняты, как только адрес будет подтвержден.", "178413314": "Имя должно содержать от 2 до 50 знаков.", "179083332": "Дата", - "179737767": "Наша классическая платформа для опционов.", "181107754": "Ваш новый <0>{{platform}} {{eligible_account_to_migrate}} счет (счета) готов к торговле.", "181346014": "Примечания ", "181881956": "Тип контракта: {{ contract_type }}", @@ -196,7 +195,6 @@ "211461880": "Распространенные имена и фамилии угадать несложно", "211487193": "Номер документа (например, удостоверение личности, паспорт, водительские права)", "211847965": "Отсутствуют некоторые <0>личные данные. Пожалуйста, перейдите в настройки счета и введите недостающие личные данные, чтобы активировать вывод средств.", - "215975531": "Этот счет предлагает CFD на гибкой и универсальной торговой платформе.", "216650710": "Вы находитесь на демо-счете", "217377529": "5. Если следующие сделки будут прибыльными, ставка для следующей сделки уменьшится на 2 USD. Это показано выше, где ставка в 3 USD уменьшается до 1 USD. См. A3.", "217403651": "Сент-Винсент и Гренадины", @@ -318,6 +316,7 @@ "344418897": "Эти торговые лимиты и самоисключение помогают вам контролировать количество денег и времени, которые вы тратите на {{brand_website_name}}, и практиковать <0>ответственную торговлю.", "345320063": "Неверная временная метка", "345818851": "Извините, произошла внутренняя ошибка. Нажмите флажок выше, чтобы повторить попытку.", + "346843343": "CFD на финансовые и производные инструменты с копи-торговлей.", "347029309": "Форекс: стандартные/микро", "347039138": "Повторить (2)", "348951052": "Ваша касса заблокирована", @@ -335,7 +334,6 @@ "359809970": "Этот блок отображает выбранное значение свечи из списка свечей в указанном временном интервале. Вы можете выбрать одно из следующих значений: цена открытия, цена закрытия, максимальная цена, минимальная цена и время открытия.", "360224937": "Логика", "360773403": "Конструктор ботов", - "362946954": "Наша устаревшая платформа для автоматической торговли.", "363576009": "- Максимум: самая высокая цена за выбранный период", "363738790": "Браузер", "363990763": "Цена продажи:", @@ -364,6 +362,7 @@ "386502387": "Бот не запущен", "389923099": "Увеличить", "390890891": "Последний квартал", + "391038015": "Мобильное торговое приложение для multipliers.", "391915203": "Хеджирование", "392582370": "Падение равно", "393789743": "Только буквы, пробелы, точки, дефисы и апострофы.", @@ -914,6 +913,7 @@ "969987233": "Получите максимальную выплату, если спот-котировка на выходе будет находиться между нижним и верхним барьером, в соответствии с разницей между спот-котировкой на выходе и нижним барьером.", "970915884": " ", "974888153": "High-Low", + "975608902": "Чтобы торговать CFD, сначала создайте учетную запись Deriv Apps.", "975668699": "Я принимаю <0>правила и условия {{company}}", "975950139": "Страна проживания", "977929335": "Перейти в настройки счета", @@ -941,6 +941,7 @@ "997311089": "Изменить пароль", "999008199": "текст", "1001160515": "Продать", + "1002392396": "CFD на derived инструменты.", "1002989598": "iOS: связка ключей iCloud.", "1003876411": "Должно начинаться с буквы или цифры и может содержать дефисы, точки и слэши (косые черты).", "1004127734": "Отправить письмо", @@ -1368,6 +1369,7 @@ "1405584799": "с интервалом: {{ candle_interval_type }}", "1407191858": "DTrader", "1408844944": "Нажмите значок плюса, чтобы расширить функционал этого блока.", + "1408852678": "Торгуйте более крупными позициями с меньшим капиталом, используя различные финансовые и derived инструменты. <0>Подробнее", "1411373212": "Надежные пароли содержат не менее 8 символов. Комбинируйте прописные и строчные буквы, цифры и символы.", "1412405902": "См. важные примечания", "1412535872": "Этим блоком вы можете проверить результат последнего контракта. Он может быть размещен только внутри корневого блока «Перезапустить торговые условия».", @@ -1469,6 +1471,7 @@ "1501691227": "Этот <0>{{account_type_name}} счет Deriv MT5 будет открыт в Deriv (V) Ltd. Компания регулируется комиссией по финансовым услугам Вануату.", "1502039206": "Выше {{barrier}}", "1502325741": "Пароль и адрес электронной почты не могут совпадать.", + "1503419760": "CFD без свопа на избранные финансовые и derived инструменты.", "1503618738": "- Номер контракта: номер/идентификатор контракта", "1505420815": "Платежные агенты по вашему запросу не найдены", "1505898522": "Загрузить стек", @@ -1515,7 +1518,6 @@ "1557426040": "Демо Derived SVG", "1557682012": "Настройки счета", "1558972889": "установить {{ variable }} в простую скользящую среднюю {{ dummy }}", - "1559220089": "Платформа для торговли опционами и multipliers.", "1560302445": "Скопировано", "1562374116": "Студенты", "1566037033": "Куплено: {{longcode}} (ID: {{transaction_id}})", @@ -1661,6 +1663,7 @@ "1715630945": "Возвращает общую прибыль в строковом формате", "1715680813": "Срок действия Вашего контракта истечет ровно в 23:59:59 GMT +0 в выбранную Вами дату истечения.", "1717023554": "Повторная отправка документов", + "1717474982": "CFD на финансовые и derived инструменты через настраиваемую платформу.", "1720451994": "За переводы между вашими фиатными и криптовалютными счетами Deriv мы взимаем комиссию в размере 2% или {{minimum_fee}} {{currency}}, в зависимости от того, какая сумма больше.", "1720968545": "Загрузите страницу паспорта с фото со своего компьютера", "1722056905": "Предоставленный документ не поддерживается для вашей страны. Пожалуйста, предоставьте документ, поддерживаемый для вашей страны.", @@ -1830,6 +1833,7 @@ "1871664426": "Примечание", "1873376454": "Это ценовой уровень, который Вы выбираете сами. Если этот барьер когда-нибудь будет преодолен, Ваш контракт будет расторгнут.", "1874481756": "Этот блок используется для покупки определенного контракта. Вы можете добавить несколько блоков покупки вместе с условными блоками, чтобы определить условия покупки. Этот блок можно использовать только в блоке условий покупки.", + "1874737957": "Чтобы торговать multipliers, сначала создайте учетную запись Deriv Apps.", "1874756442": "BVI", "1875702561": "Загрузите или создайте бота", "1876015808": "Фонд социального обеспечения и национального страхования", @@ -1931,7 +1935,6 @@ "1973910243": "Управление счетами", "1974273865": "Эта сфера действия позволит сторонним приложениям просматривать активность вашего счета, настройки, лимиты, балансы, историю покупок и многое другое.", "1974903951": "Если вы нажмете «Да», введенная информация будет потеряна.", - "1977724653": "Этот счет предлагает CFD на финансовые инструменты.", "1978218112": "Google Authenticator", "1981940238": "Данная политика рассмотрения жалоб, которая может время от времени меняться, применяется к вашему счету(-ам), открытому в {{legal_entity_name_svg}} и {{legal_entity_name_v}}.", "1982790875": "Обновите свои учетные записи <0/><1>{{account_title}} {{platform}} ", @@ -1979,6 +1982,7 @@ "2014536501": "Номер карты", "2014590669": "Отсутствует значение переменной '{{variable_name}}'. Пожалуйста, установите значение переменной '{{variable_name}}' для уведомления.", "2017672013": "Выберите страну выдачи документа.", + "2018044371": "Multipliers позволяют вам торговать с кредитным плечом и ограничивать риск размером ставки. <0>Подробнее", "2019596693": "Документ отклонен провайдером.", "2020545256": "Закрыть ваш счет?", "2021037737": "Чтобы продолжить, пожалуйста, обновите данные.", @@ -2658,8 +2662,11 @@ "-2021135479": "Это поле является обязательным.", "-1002044401": "Выберите документ*", "-1272489896": "Пожалуйста, заполните это поле.", - "-1107320163": "Автоматизированный трейдинг без программирования.", - "-829643221": "Торговая платформа для Multipliers.", + "-721346138": "Торговая платформа опционов и multipliers.", + "-1874136267": "Лучшая торговая платформа для ботов.", + "-415943890": "Устаревшая платформа для торговли опционами.", + "-673722343": "Устаревшая торговая платформа с ботами.", + "-897826065": "Торговая платформа multipliers.", "-2115275974": "CFD", "-1585707873": "Финансовая комиссия", "-199154602": "Комиссия по финансовым услугам Вануату", @@ -2678,12 +2685,10 @@ "-1879666853": "Deriv MT5", "-820028470": "Опционы и Multipliers", "-1210359945": "Переведите средства на свои счета", - "-81256466": "Для открытия счета CFD нужно открыть счет Deriv.", "-1926387364": "Мы отправили вашу электронную книгу на вашу электронную почту. Вы также можете скачать его здесь.", "-1057002564": "<0>В данный момент мы не можем обновить Wallets и работаем над тем, чтобы исправить это как можно скорее. Пожалуйста, <1>попробуйте еще раз<0>.", "-1424352390": "<0>Wallets<1> — более эффективный способ управления средствами", "-280236366": "Включить сейчас", - "-699372497": "Торгуйте с кредитным плечом и узкими спредами. Больше прибыли от успешных контрактов. <0>Подробнее", "-145462920": "Deriv cTrader", "-982095728": "Открыть", "-1790089996": "НОВИНКА!", @@ -2708,10 +2713,8 @@ "-643108528": "Регулирование в ЕС и вне ЕС", "-1002556560": "Мы не можем завершить обновление Wallet. Повторите попытку позже или свяжитесь с нами через чат.", "-1186807402": "Перевод", - "-2051096382": "Фиксированные выплаты за правильные прогнозы рыночных движений с <0>опционами или \n все преимущества CFD при ограниченном риске с <1>multipliers.", - "-1638358352": "<0>Multiplier – это все преимущества CFD, но без риска потерять больше, чем ставка.", + "-655191265": "Купите или продайте в определенное время по определенной цене. <0>Подробнее", "-744999940": "Счет Deriv", - "-749129977": "Откройте реальный счет Deriv, начните торговать и управлять своими средствами.", "-2146691203": "Выбор регулятора", "-249184528": "Можно открыть счет под юрисдикцией регулятора в ЕС или за его пределами. Нажмите <0><0/>, чтобы узнать больше об этих счетах.", "-1505234170": "Тур по Trader's Hub", @@ -2768,6 +2771,7 @@ "-1995606668": "Сумма", "-2024290965": "Подтверждения", "-811190405": "Время", + "-728508487": "{{currency}} последние транзакции", "-1984478597": "Подробности этой транзакции доступны на CoinsPaid.", "-316545835": "Убедитесь, что <0>все данные <0>верны, прежде чем переводить средства.", "-949073402": "Я подтверждаю, что реквизиты перевода указаны точно.", @@ -3353,7 +3357,7 @@ "-482715448": "Перейдите в Личные данные", "-2072411961": "Ваше подтверждение адреса принято", "-384887227": "Обновите адрес в своем профиле.", - "-1779268418": "Торгуйте CFD без свопов на MT5 на форекс, акциях, фондовых индексах, сырьевых товарах, криптовалютах, ETF и синтетических индексах.", + "-1470677931": "CFD на финансовые инструменты.", "-1998049070": "Если вы согласны на использование нами файлов cookie, нажмите Принять. Для получения дополнительной информации <0>см. нашу политику.", "-402093392": "Добавить счет Deriv", "-1721181859": "Вам понадобится счет {{deriv_account}}", @@ -4078,8 +4082,6 @@ "-3423966": "Тейк профит<0 />Стоп лосс", "-1131753095": "Детали контракта {{trade_type_name}} в настоящее время недоступны. Мы работаем над тем, чтобы сделать их доступными в ближайшее время.", "-360975483": "Вы не совершали транзакций такого типа за этот период.", - "-561436679": "Этот счет предлагает CFD на производные инструменты.", - "-1173266642": "Этот счет предлагает CFD на многофункциональной торговой платформе.", "-1226595254": "Turbos", "-922253974": "Rise/Fall", "-1361254291": "Higher/Lower", diff --git a/packages/translations/src/translations/si.json b/packages/translations/src/translations/si.json index 3ee8c51110eb..e4c661a5d8c5 100644 --- a/packages/translations/src/translations/si.json +++ b/packages/translations/src/translations/si.json @@ -68,13 +68,13 @@ "76635112": "ඉදිරියට යාමට, මෙම ලේඛන නැවත ඉදිරිපත් කරන්න", "76916358": "ඔබ මුදල් ආපසු ගැනීමේ සීමාවට පැමිණ ඇත.<0/>දිගටම මුදල් ආපසු ගැනීම සඳහා සීමාව ඉවත් කිරීමට ඔබේ අනන්‍යතාවය සහ ලිපිනය පිළිබඳ සාක්ෂි උඩුගත කරන්න.", "76925355": "ඔබේ බොට්ගේ කාර්ය සාධනය පරීක්ෂා කරන්න", - "77945356": "අපගේ ජංගම යෙදුම සමඟ යන එන අතර මඟදීත් ගනුදෙනු කරන්න.", "77982950": "Vanilla විකල්ප ඔබට \"Call\" හෝ \"Put\" මිල දී ගැනීමෙන් පාදක වත්කමේ උඩුකුරු (bullish) හෝ යටිකුරු (bearish) දිශාවක් පුරෝකථනය කිරීමට ඉඩ සලසයි.", "81091424": "උත්ශ්‍රේණි කිරීම සම්පූර්ණ කිරීමට, කරුණාකර ගිණුමෙන් ඉවත් වී තවත් ගිණුම් එක් කිරීමට සහ ඔබේ Wallet සමඟ ගනුදෙනු කිරීමට නැවත පුරනය වන්න.", "81450871": "අපට එම පිටුව සොයාගත නොහැක", "82839270": "ඔබේ විදේශ ගමන් බලපත්‍ර​යේ ඔබේ ඡායාරූපය අඩංගු පිටුව උඩුගත කරන්න.", "83202647": "කඩා වැටීමේ බ්ලොක්", "84402478": "මම මට අවශ්‍ය කොටස් සොයා ගන්නේ කොහෙන්ද?", + "84924586": "විකල්ප සහ multipliers ගනුදෙනු කිරීමට, පළමුව Deriv Apps ගිණුමක් ලබා ගන්න.", "85343079": "මූල්‍ය තක්සේරුව", "85359122": "40 හෝ ඊට වැඩි", "85389154": "ඔබේ ජංගම දුරකථනයේ සත්‍යාපනය දිගටම සිදු කරගෙන යාමට​​ අවශ්‍ය පියවර", @@ -162,7 +162,6 @@ "177099483": "ඔබගේ ලිපිනය සත්‍යාපනය පොරොත්තුවෙන්, අපි ඔබගේ ගිණුමට යම් සීමාවන් තබා ඇත්තෙමු. ඔබේ ලිපිනය සත්‍යාපනය කළ පසු සීමා ඉවත් කරනු ලැබේ.", "178413314": "මුල් නම අක්ෂර 2 ත් 50 අතර විය යුතුය.", "179083332": "දිනය", - "179737767": "අපගේ උරුම විකල්ප ගනුදෙනු වේදිකාව.", "181107754": "ඔබේ නව <0>{{platform}} {{eligible_account_to_migrate}} ගිණුම/ගිණුම් ගනුදෙනු කිරීම සඳහා සූදානම් ය.", "181346014": "සටහන් ", "181881956": "ගිවිසුම් වර්ගය: {{ contract_type }}", @@ -196,7 +195,6 @@ "211461880": "පොදු නම් සහ වාසගම අනුමාන කිරීම පහසුය", "211487193": "ලේඛන අංකය (උදා: හැඳුනුම්පත, විදේශ ගමන් බලපත්‍රය, රියදුරු බලපත්‍රය)", "211847965": "ඔබේ <0>පුද්ගලික විස්තර අසම්පූර්ණයි. මුදල් ආපසු ගැනීම සබල කිරීමට කරුණාකර ඔබේ ගිණුම් සැකසීම් වෙත ගොස් ඔබේ පුද්ගලික තොරතුරු සම්පූර්ණ කරන්න.", - "215975531": "මෙම ගිණුම ඉහළින් අභිරුචිකරණය කළ හැකි CFD ගනුදෙනු වේදිකාවක් මත CFD ලබා දෙයි.", "216650710": "ඔබ ආදර්ශන ගිණුමක් භාවිත කරයි", "217377529": "5. මීළඟ ගනුදෙනුව ලාභදායී නම්, පහත ගනුදෙනුව සඳහා වන කොටස 2 USD කින් අඩු කරනු ලැබේ. USD 3 ක කොටස USD 1 දක්වා අඩු කරමින් එය ඉහතින් පෙන්වා දී ඇත. A3 බලන්න.", "217403651": "St. Vincent & Grenadines", @@ -318,6 +316,7 @@ "344418897": "මෙම ගනුදෙනු සීමා සහ ස්වයං ව්‍යවර්තන මඟින් ඔබ {{brand_website_name}} සඳහා වියදම් කරන මුදල් හා කාලය පාලනය කිරීමට සහ <0>වගකීම්සහගත ලෙස ගනුදෙනු කිරීමට හැකි වේ.", "345320063": "වලංගු නොවන කාල මුද්‍රාව", "345818851": "කණගාටුයි, අභ්‍යන්තර දෝෂයක් සිදු විය. නැවත උත්සාහ කිරීමට ඉහත සලකුණු කොටුව ක්ලික් කරන්න.", + "346843343": "පිටපත් ගනුදෙනු සමඟ මූල්‍ය සහ ව්‍යුත්පන්න මෙවලම් මත CFD.", "347029309": "Forex: සම්මත/ක්ෂුද්‍ර", "347039138": "පුනරුච්චාරණය කරන්න (2)", "348951052": "ඔබේ අයකැමි දැනට අගුලු දමා ඇත", @@ -335,7 +334,6 @@ "359809970": "මෙම කොටස ඔබට තෝරා ගත් කාල පරතරය තුළ candle ලැයිස්තුවකින් තෝරා ගත් candle අගය ලබා දෙයි. ඔබට විවෘත මිල, අවසාන මිල, ඉහළ මිල, අඩු මිල සහ විවෘත වේලාව තෝරා ගත හැකිය.", "360224937": "තර්කනය", "360773403": "බොට් ගොඩනඟන්නා", - "362946954": "අපගේ උරුම ස්වයංක්‍රීය ගනුදෙනු වේදිකාව.", "363576009": "- ඉහළ මිල: ඉහළම මිල", "363738790": "බ්‍රවුසරය", "363990763": "විකුණුම් මිල:", @@ -364,6 +362,7 @@ "386502387": "බොට් ධාවනය නොවේ", "389923099": "විශාලනය කරන්න", "390890891": "පසුගිය කාර්තුව", + "391038015": "Multipliers සඳහා ජංගම ගනුදෙනු යෙදුම.", "391915203": "ඉදිරි රැකුම", "392582370": "Fall Equals", "393789743": "අකුරු, අවකාශ, තිත්, හයිපන සහ උඩු කොමා පමණි.", @@ -914,6 +913,7 @@ "969987233": "පිටවීමේ ස්ථානය සහ පහළ බාධකය අතර වෙනසට සමානුපාතිකව, පිටවීමේ ස්ථානය පහළ සහ ඉහළ බාධක අතර පිහිටයි නම් උපරිම ගෙවීමක් දිනා ගන්න.", "970915884": "AN", "974888153": "High-Low", + "975608902": "CFDs ගනුදෙනු කිරීමට, පළමුව Deriv Apps ගිණුමක් ලබා ගන්න.", "975668699": "මම {{company}} හි <0>නියම සහ කොන්දේසි තහවුරු කර පිළිගනිමි", "975950139": "පදිංචි රට", "977929335": "මගේ ගිණුම් සැකසීම් වෙත යන්න", @@ -941,6 +941,7 @@ "997311089": "මගේ මුරපදය වෙනස් කරන්න", "999008199": "පාඨ", "1001160515": "විකුණුම්", + "1002392396": "ව්‍යුත්පන්න මෙවලම් මත CFDs.", "1002989598": "iOS: iCloud යතුරු දාමය.", "1003876411": "අකුරකින් හෝ අංකයකින් ආරම්භ විය යුතු අතර, හයිපනයක්, තිතක් සහ ඇල ඉරක් අඩංගු විය හැක.", "1004127734": "ඊ-තැපෑල යවන්න", @@ -1368,6 +1369,7 @@ "1405584799": "පරතරය සමඟ: {{ candle_interval_type }}", "1407191858": "DTrader", "1408844944": "මෙම බ්ලොක් එකේ ක්‍රියාකාරීත්වය දීර්ඝ කිරීමට ප්ලස් අයිකනය ක්ලික් කරන්න.", + "1408852678": "විවිධ මූල්‍ය සහ ව්‍යුත්පන්න මෙවලම් හරහා අඩු ප්‍රාග්ධනයක් සහිත විශාල ස්ථාන ගනුදෙනු කරන්න. <0>තව දැන ගන්න", "1411373212": "ශක්තිමත් මුරපදයක අවම වශයෙන් අනුලකුණු 8 ක් අඩංගු විය යුතුය. කැපිටල් අකුරු සහ සිම්පල් අකුරු, අංක සහ සංකේත ඒකාබද්ධ කරන්න.", "1412405902": "වැදගත් සටහන් බලන්න", "1412535872": "මෙම බ්ලොක් එකෙන් ඔබට අවසන් ගනුදෙනුවේ ප්‍රතිඵලය පරීක්ෂා කළ හැකිය. එය තැබිය හැක්කේ \"ගනුදෙනු කොන්දේසි නැවත අරඹන්න\" මූල කොටස තුළ පමණි.", @@ -1469,6 +1471,7 @@ "1501691227": "Vanuatu Financial Services Commission විසින් නියාමනය කරනු ලබන, Deriv (V) Ltd යටතේ ඔබේ Deriv MT5 <0>{{account_type_name}} ගිණුම එක් කරන්න.", "1502039206": "{{barrier}}ට වැඩි", "1502325741": "ඔබේ මුරපදය ඔබේ ඊ-තැපැල් ලිපිනයට සමාන විය නොහැක.", + "1503419760": "තෝරා ගත් මූල්‍ය සහ ව්‍යුත්පන්න මෙවලම් මත නිදහස් හුවමාරු CFD.", "1503618738": "- ගනුදෙනු යොමු හැඳුනුම්පත: ගිවිසුමේ යොමු හැඳුනුම්පත", "1505420815": "ඔබේ සෙවීම සඳහා ගෙවීම් නියෝජිතයින් හමු නොවුණි", "1505898522": "ඇසිරීම බාගන්න", @@ -1515,7 +1518,6 @@ "1557426040": "SVG Derived ආදර්ශන", "1557682012": "ගිණුම් සැකසුම්", "1558972889": "{{ variable }} Simple Moving Average {{ dummy }} ලෙස සකසන්න", - "1559220089": "විකල්ප සහ multipliers ගනුදෙනු වේදිකාව.", "1560302445": "පිටපත් කරන ලදි", "1562374116": "සිසුන්", "1566037033": "මිලදී ගත්: {{longcode}} (හැඳුනුම්පත: {{transaction_id}})", @@ -1661,6 +1663,7 @@ "1715630945": "මුළු ලාභය 'තන්තු' ආකෘතියෙන් ලබා දෙයි", "1715680813": "ඔබේ ගිවිසුම ඔබ තෝරාගත් කල් ඉකුත් වීමේ දිනයේදී හරියටම 23:59:59 GMT +0 ට කල් ඉකුත් වේ.", "1717023554": "ලේඛන නැවත ඉදිරිපත් කරන්න", + "1717474982": "අභිරුචිකරණය කළ හැකි වේදිකාවක් හරහා මූල්‍ය සහ ව්‍යුත්පන්න මෙවලම් මත CFDs.", "1720451994": "අපි ඔබේ Deriv ෆියට් සහ Deriv ක්‍රිප්ටෝ මුදල් ගිණුම් අතර මාරුවීම් සඳහා 2% මාරු කිරීමේ ගාස්තුවක් හෝ {{currency}} {{minimum_fee}} ක් අය කරන්නෙමු.", "1720968545": "ඔබගේ පරිගණකයෙන් විදේශ ගමන් බලපත්‍රයේ ඡායාරූපය සහිත පිටුව උඩුගත කරන්න", "1722056905": "ඔබ ලබා දුන් ලේඛනය ඔබේ රට සඳහා සහාය නොදක්වයි. කරුණාකර ඔබේ රට සඳහා සහාය දක්වන ලේඛනයක් සපයන්න.", @@ -1830,6 +1833,7 @@ "1871664426": "සටහන", "1873376454": "මෙය ඔබ තෝරා ගන්නා මිල මට්ටමකි. කවදා හෝ මෙම බාධකය ඉක්මවා ගියහොත්, ඔබේ ගිවිසුම අවසන් වනු ඇත.", "1874481756": "ඔබට අවශ්‍ය නිශ්චිත ගිවිසුමක් මිලදී ගැනීමට මෙම කොටස භාවිත කරන්න. ඔබට ඔබේ මිලදී ගැනීමේ කොන්දේසි නිර්වචනය කිරීම සඳහා කොන්දේසි සහිත බ්ලොක් සමග බහු මිලදී ගැනීමේ බ්ලොක් එක් කළ හැක. මෙම කොටස භාවිත කළ හැක්කේ මිලදී ගැනීමේ කොන්දේසි බ්ලොක් එක තුළ පමණි.", + "1874737957": "Multipliers ගනුදෙනු කිරීමට, පළමුව Deriv Apps ගිණුමක් ලබා ගන්න.", "1874756442": "BVI", "1875702561": "ඔබේ බොට් එක පූරණය කරන්න හෝ ගොඩනඟන්න", "1876015808": "සමාජ ආරක්ෂණ හා ජාතික රක්ෂණ භාරය", @@ -1931,7 +1935,6 @@ "1973910243": "ඔබේ ගිණුම් කළමනාකරණය කරන්න", "1974273865": "මෙම අවකාශය තෙවන පාර්ශවීය යෙදුම්වලට ඔබේ ගිණුම් ක්‍රියාකාරකම්, සැකසීම්, සීමා, ශේෂ පත්‍ර, ගනුදෙනු මිලදී ගැනීමේ ඉතිහාසය, සහ තවත් දේ බැලීමට ඉඩ දෙනු ඇත.", "1974903951": "ඔබ ඔව් ක්ලික් කළහොත්, ඔබ ඇතුළත් කළ තොරතුරු නැති වී යයි.", - "1977724653": "මෙම ගිණුම financial මෙවලම් මත CFD පිරිනමයි.", "1978218112": "Google Authenticator", "1981940238": "කලින් කලට වෙනස් විය හැකි මෙම පැමිණිලි ප්‍රතිපත්තිය, {{legal_entity_name_svg}} සහ {{legal_entity_name_v}} සමඟ ලියාපදිංචි වී ඇති ඔබේ ගිණුමට(ගිණුම්වලට) අදාළ වේ.", "1982790875": "ඔබගේ <0/><1>{{account_title}} {{platform}} ගිණුම් උත්ශ්‍රේණි කරන්න", @@ -1979,6 +1982,7 @@ "2014536501": "කාඩ් අංකය", "2014590669": "'{{variable_name}}' විචල්‍යයට අගයක් නැත. ඒ බව දැනුම් දීමට කරුණාකර '{{variable_name}}' විචල්‍යය සඳහා අගයක් සකසන්න.", "2017672013": "කරුණාකර ලේඛන නිකුත් කරන රට තෝරන්න.", + "2018044371": "Multipliers ඔබට උත්තෝලනය සමඟ ගනුදෙනු කිරීමට සහ ඔබේ අවදානම ඔබේ කොටස්වලට සීමා කර ගැනීමට ඉඩ දෙයි. <0>තව දැන ගන්න", "2019596693": "ලේඛනය සපයන්නා විසින් ප්‍රතික්ෂේප කරන ලදී.", "2020545256": "ඔබේ ගිණුම වසා දමන්න ද?", "2021037737": "ඉදිරියට යාමට කරුණාකර ඔබේ විස්තර යාවත්කාලීන කරන්න.", @@ -2658,8 +2662,11 @@ "-2021135479": "මෙම ක්ෂේත්‍රය අවශ්‍ය වේ.", "-1002044401": "ඔබගේ ලේඛනය තෝරන්න*", "-1272489896": "කරුණාකර මෙම ක්ෂේත්‍රය සම්පූර්ණ කරන්න.", - "-1107320163": "ඔබේ ගනුදෙනුව ස්වයංක්‍රීය කරන්න, කේතීකරණය අවශ්‍ය නොවේ.", - "-829643221": "Multipliers ගනුදෙනු වේදිකාව.", + "-721346138": "විකල්ප සහ multipliers ගනුදෙනු වේදිකාව.", + "-1874136267": "අත්‍යන්ත බොට් ගනුදෙනු වේදිකාව.", + "-415943890": "උරුම විකල්ප ගනුදෙනු වේදිකාව.", + "-673722343": "උරුම බොට් ගනුදෙනු වේදිකාව.", + "-897826065": "Multipliers ගනුදෙනු වේදිකාව.", "-2115275974": "CFD", "-1585707873": "මූල්‍ය කොමිස්", "-199154602": "Vanuatu Financial Services Commission", @@ -2678,12 +2685,10 @@ "-1879666853": "Deriv MT5", "-820028470": "විකල්ප සහ Multipliers", "-1210359945": "ඔබගේ ගිණුම් වලට අරමුදල් මාරු කරන්න", - "-81256466": "CFD ගිණුමක් සෑදීමට ඔබට Deriv ගිණුමක් අවශ්‍ය වේ.", "-1926387364": "අපි ඔබේ ඊ-පොත ඔබේ ඊ-තැපෑලට එවා ඇත. ඔබට එය මෙතනින් බාගත කළ හැකි ය.", "-1057002564": "<0>අපට මෙම අවස්ථාවේදී ඔබව Wallets වෙත උත්ශ්‍රේණි කිරීමට නොහැකි වන අතර අපි හැකි ඉක්මනින් මෙය නිවැරදි කිරීමට කටයුතු කරමින් සිටිමු. කරුණාකර <1>නැවත උත්සාහ කරන්න<0>.", "-1424352390": "<0>Wallets<1> — ඔබේ අරමුදල් කළමනාකරණය කිරීමට සුක්ෂම ක්‍රමයක්", "-280236366": "දැන් සබල කරන්න", - "-699372497": "සාර්ථක ගනුදෙනු සඳහා වඩා හොඳ ප්‍රතිලාභ ලබා ගැනීමට උත්තෝලනය සහ තද ව්‍යාප්ති සමඟ ගනුදෙනු කරන්න. <0>තව දැන ගන්න", "-145462920": "Deriv cTrader", "-982095728": "ලබා ගන්න", "-1790089996": "අලුත්!", @@ -2708,14 +2713,12 @@ "-643108528": "යුරෝපීය සංගමයේ නොවන සහ යුරෝපීය සංගමයේ නියාමනය", "-1002556560": "අපට Wallet උත්ශ්‍රේණිගත කිරීම සමඟ සම්පූර්ණ කළ නොහැක. කරුණාකර පසුව නැවත උත්සාහ කරන්න හෝ සජීවී කථාබස් හරහා අප හා සම්බන්ධ වන්න.", "-1186807402": "මාරු කිරීම්", - "-2051096382": "<0>විකල්ප සමඟ වෙළඳපල චලනයන් නිවැරදිව පුරෝකථනය කිරීමෙන් ගෙවීම් පරාසයක් උපයා ගන්න, නැතහොත්\n <1>multipliers සමඟ ඔබේ ආරම්භක කොටස්වලට වඩා අවදානමකින් තොරව CFD වල ප්‍රතිලාභ ලබා ගන්න.", - "-1638358352": "<0>Multipliers සමඟ ඔබේ මූලික කොටස්වලට වඩා වැඩි යමක් අවදානමට ලක් නොකර CFD හි වාසිය ලබා ගන්න.", + "-655191265": "නිශ්චිත මිලකට නිශ්චිත වේලාවක මිල දී ගැනීම හෝ විකිණීම. <0>තව දැන ගන්න", "-744999940": "Deriv ගිණුම", - "-749129977": "සැබෑ Deriv ගිණුමක් ලබා ගන්න, ගනුදෙනු ආරම්භ කර ඔබේ අරමුදල් කළමනාකරණය කරන්න.", "-2146691203": "නියාමන තේරීම", "-249184528": "ඔබට යුරෝපීය සංගමයේ හෝ යුරෝපීය නොවන සංගමයේ රෙගුලාසි යටතේ සැබෑ ගිණුම් සෑදිය හැක. මෙම ගිණුම් ගැන තව දැන ගැනීමට <0><0/> අයිකනය ක්ලික් කරන්න.", "-1505234170": "Trader's Hub චාරිකාව", - "-1901718278": "අපගේ වෙබ් අඩවියේ ඉදිරිපත් කර ඇති නිෂ්පාදන සංකීර්ණ ව්‍යුත්පන්න නිෂ්පාදන වන අතර ඒවා විය හැකි අලාභයේ සැලකිය යුතු අවදානමක් දරයි. CFD යනු උත්තෝලනය හේතුවෙන් වේගයෙන් මුදල් අහිමි වීමේ ඉහළ අවදානමක් සහිත සංකීර්ණ මෙවලම් වේ. මෙම සැපයුම්කරු සමඟ CFD ගනුදෙනු කිරීමේදී සිල්ලර ආයෝජක ගිණුම්වලින් 70.1%කට මුදල් අහිමි වේ. මෙම නිෂ්පාදන ක්‍රියා කරන ආකාරය ඔබ තේරුම් ගන්නේද යන්න සහ ඔබේ මුදල් අහිමි වීමේ ඉහළ අවදානමක් දැරීමට ඔබට හැකියාව තිබේද යන්න ඔබ සලකා බැලිය යුතුය.", + "-1901718278": "අපගේ වෙබ් අඩවියේ ඉදිරිපත් කර ඇති නිෂ්පාදන සංකීර්ණ ව්‍යුත්පන්න නිෂ්පාදන වන අතර ඒවා විය හැකි අලාභයේ සැලකිය යුතු අවදානමක් දරයි. CFD යනු උත්තෝලනය හේතුවෙන් වේගයෙන් මුදල් අහිමි වීමේ ඉහළ අවදානමක් සහිත සංකීර්ණ මෙවලම් වේ. මෙම සැපයුම්කරු සමඟ CFD ගනුදෙනු කිරීමේදී සිල්ලර ආයෝජක ගිණුම්වලින් 70.1%කට මුදල් අහිමි වේ. මෙම නිෂ්පාදන ක්‍රියා කරන ආකාරය ඔබ තේරුම් ගන්නේද යන්න සහ ඔබේ මුදල් අහිමි වීමේ ඉහළ අවදානමක් දැරීමට ඔබට හැකියාව තිබේද යන්න ඔබ විසින් සලකා බැලිය යුතුය.", "-1870909526": "අපගේ සේවාදායකයට ලිපිනයක් ලබා ගත නොහැක.", "-582721696": "දැනට අවසර දී ඇති ආපසු ගැනීමේ මුදල {{format_min_withdraw_amount}} සිට {{format_max_withdraw_amount}} {{currency}} වේ.", "-1975494965": "අයකැමි", @@ -2768,6 +2771,7 @@ "-1995606668": "මුදල", "-2024290965": "තහවුරු කිරීම්", "-811190405": "වේලාව", + "-728508487": "{{currency}} මෑත ගනුදෙනු", "-1984478597": "මෙම ගනුදෙනුවේ විස්තර CoinSaid වෙතින් ලබා ගත හැකිය.", "-316545835": "කරුණාකර ඔබේ මාරු සිදු කිරීමට පෙර <0>සියලු විස්තර <0>නිවැරදි බව සහතික කර ගන්න.", "-949073402": "මම සේවාදායකයාගේ හුවමාරු තොරතුරු සත්‍යාපනය කර ඇති බව මම තහවුරු කරමි.", @@ -3353,7 +3357,7 @@ "-482715448": "පුද්ගලික විස්තර වෙත යන්න", "-2072411961": "ඔබගේ ලිපිනය සනාථ කිරීම සත්‍යාපනය කර ඇත", "-384887227": "ඔබගේ පැතිකඩෙහි ලිපිනය යාවත්කාලීන කරන්න.", - "-1779268418": "Forex, කොටස්, කොටස් දර්ශක, වෙළඳ භාණ්ඩ, ක්‍රිප්ටෝ මුදල්, ETF සහ කෘත්‍රිම​ දර්ශක සමඟ MT5 මත නිදහස් හුවමාරු CFD ගනුදෙනු කරන්න.", + "-1470677931": "මූල්‍ය උපකරණ මත CFDs.", "-1998049070": "ඔබ අපගේ කුකීස් භාවිතයට එකඟ නම්, පිළිගන්න මත ක්ලික් කරන්න. වැඩි විස්තර සඳහා, <0>අපගේ ප්‍රතිපත්තිය බලන්න.", "-402093392": "Deriv ගිණුම එකතු කරන්න", "-1721181859": "ඔබට {{deriv_account}} ගිණුමක් අවශ්‍ය වේ", @@ -4078,8 +4082,6 @@ "-3423966": "Take profit<0 />Stop loss", "-1131753095": "{{trade_type_name}} ගිවිසුම් විස්තර දැනට ලබා ගත නොහැක. අපි ඒවා ඉක්මනින් ලබා දීමට කටයුතු කරමින් සිටින්නෙමු.", "-360975483": "මෙම කාල සීමාව තුළ ඔබ මේ ආකාරයේ ගනුදෙනු කිසිවක් සිදු කර නැත.", - "-561436679": "මෙම ගිණුම derived මෙවලම් මත CFD පිරිනමයි.", - "-1173266642": "මෙම ගිණුම විශේෂාංගවලින් පොහොසත් ගනුදෙනු වේදිකාවක් මත CFD පිරිනමයි.", "-1226595254": "Turbos", "-922253974": "Rise/Fall", "-1361254291": "Higher/Lower", diff --git a/packages/translations/src/translations/sw.json b/packages/translations/src/translations/sw.json index 037298305a38..39fe0519a1ec 100644 --- a/packages/translations/src/translations/sw.json +++ b/packages/translations/src/translations/sw.json @@ -68,13 +68,13 @@ "76635112": "Ili kuendelea, wasilisha tena hati hizi", "76916358": "Umefikia kikomo cha utoaji pesa. <0/> Tafadhali pakia uthibitisho wako wa utambulisho na anwani ili kuondoa kikomo ili kuendelea na utoaji wako pesa.", "76925355": "Angalia utendaji wa bot yako", - "77945356": "Biashara popote ukiwa na app yetu ya simu.", "77982950": "Chaguzi Vanilla hukuruhusu kutabiri mwelekeo wa juu (bullish) au chini (bearish) wa mali ya msingi kwa kununua “Call” au “Put”.", "81091424": "Ili kukamilisha uboreshaji, tafadhali toka na uingie tena ili kuongeza akaunti zaidi na kufanya miamala kwa Wallets zako.", "81450871": "Hatukuweza kupata ukurasa huo", "82839270": "Pakia ukurasa wa pasipoti yako ambao una picha yako.", "83202647": "Kuzizi cha Kuanguka", "84402478": "Wapi naweza kupata vizuizi navyohitaji?", + "84924586": "Ili kufanya biashara ya chaguzi na multipliers, pata akaunti ya Deriv Apps kwanza.", "85343079": "Tathmini ya kifedha", "85359122": "40 au zaidi", "85389154": "Hatua zinazohitajika ili kuendelea na uthibitishaji kwenye simu yako ya mkononi", @@ -162,7 +162,6 @@ "177099483": "Uthibitishaji wa anwani yako haujakamilika, na tumeweka vizuizi kadhaa kwenye akaunti yako. Vizuizi vitaondolewa mara tu anwani yako itakapothibitishwa.", "178413314": "Jina la kwanza linapaswa kuwa kati ya herufi 2 mpaka 50.", "179083332": "Tarehe", - "179737767": "Jukwaa letu la urithi la biashara ya chaguzi.", "181107754": "Akaunti yako mpya ya <0>{{platform}} {{eligible_account_to_migrate}} iko tayari kwa biashara.", "181346014": "Notisi ", "181881956": "Aina ya Mkataba: {{ contract_type }}", @@ -196,7 +195,6 @@ "211461880": "Majina ya kawaida na majina ya ukoo ni rahisi kukisia", "211487193": "Nambari ya hati (m.f. kadi ya kitambulisho, pasipoti, leseni ya udereva)", "211847965": "<0>Taarifa zako binafsi hazijakamilika. Tafadhali nenda kwenye mipangilio ya akaunti yako na ukamilishe taarifa zako binafsi ili uweze kutoa pesa.", - "215975531": "Akaunti hii inatoa CFDs kwenye jukwaa la biashara ya CFD lililoboreshwa kukufaa.", "216650710": "Unatumia demo akaunti", "217377529": "5. Ikiwa biashara zifuatazo zina faida, dau la biashara ifuatayo litapunguzwa kwa USD 2. Hii inaweza kuonyeshwa hapo juu ambapo dau la USD 3 limepunguzwa hadi USD 1. Tazama A3.", "217403651": "St Vincent & Grenadines", @@ -304,7 +302,7 @@ "328539132": "Inarudia maelekezo ya ndani kwa idadi maalum ya muda", "329353047": "Malta Financial Service Authority (MFSA) (leseni na. IS/70156)", "329404045": "<0>Nenda kwenye akaunti yako halisi <1> ili kuunda akaunti ya {{platform}} {{account_title}}.", - "330384187": "Wezesha biashara na uhamisho wako wa kwanza.", + "330384187": "Wezesha biashara na uhamishaji wako pesa wa kwanza.", "333456603": "Ukomo wa kutoa pesa", "333807745": "Bonyeza kwenye kizuizi unachotaka kuondoa na bofya Futa kwenye kibodi yako.", "334942497": "Muda wa ununuzi", @@ -318,6 +316,7 @@ "344418897": "Ukomo huu wa biashara na kujitenga-binafsi hukusaidia kudhibiti kiasi cha pesa na wakati unaotumia kwenye {{brand_website_name}} na kufanya <0>biashara kistaarabu.", "345320063": "Muda uliowekwa si sahihi", "345818851": "Samahani, hitilafu ya ndani ilitokea. Bonyeza kisanduku hapo juu kujaribu tena.", + "346843343": "CFDs kwenye vyombo vya kifedha na derived kwa biashara ya kunakili.", "347029309": "Forex: standard/mikro", "347039138": "Rudia (2)", "348951052": "Mafisa wako kwa sasa amefungwa", @@ -335,7 +334,6 @@ "359809970": "Kizuizi hiki kinakupa thamani ya mshumaa iliyochaguliwa kutoka orodha ya mishumaa ndani ya muda uliochaguliwa. Unaweza kuchagua kutoka kwa bei wazi, bei ya karibu, bei ya juu, bei ya chini, na wakati wa wazi.", "360224937": "Mantiki", "360773403": "Mjenzi wa Bot", - "362946954": "Jukwaa la biashara la kiotomatiki la urithi", "363576009": "- Bei ya juu: bei ya juu", "363738790": "Kivinjari", "363990763": "Bei ya kuuza:", @@ -364,6 +362,7 @@ "386502387": "Bot haiendesha", "389923099": "Vuta karibu", "390890891": "Robo ya mwisho", + "391038015": "App ya kufanya biashara ya multipliers kwa simu.", "391915203": "Kuziba", "392582370": "Fall Equals", "393789743": "Barua, nafasi, vipindi, wahanga, apostrophes tu.", @@ -463,11 +462,11 @@ "502041595": "Kizuizi hiki kinakupa mshumaa maalum kutoka ndani ya muda uliochaguliwa.", "505793554": "barua ya mwisho", "508390614": "Demo ya Fedha STP", - "511679687": "<0>Makusanyiko hukuruhusu kuelezea maoni juu ya aina ya harakati za firisi na kukuza hisa yako kwa kasi kwa kiwango cha ukuaji kilichowekwa.", + "511679687": "Accumulators hukuruhusu kuelezea maoni juu ya aina ya mwenendo wa dira na kukuza dau lako kwa kasi kwa kiwango <0>kisichobadilika cha ukuaji.", "514031715": "orodha {{ input_list }} ni tupu", "514776243": "Nenosiri lako la {{account_type}} limebadilishwa.", "514948272": "Nakili kiungo/link", - "517631043": "Tumetuma e-book yako. Angalia barua pepe yako ili kuipakua.", + "517631043": "Tumekutumia e-book yako. Angalia barua pepe yako ili kuipakua.", "517833647": "Dira ya Volatility 50 (1s)", "518955798": "7. Endesha Mara moja toka Mwanzoni", "519205761": "Huwezi tena kufungua nafasi mpya na akaunti hii.", @@ -582,7 +581,7 @@ "634219491": "Hujatoa nambari yako ya utambulisho wa kodi. Taarifa hii ni muhimu kwa mahitaji ya kisheria na udhibiti. Tafadhali nenda kwenye <0>Taarifa binafsi katika mipangilio ya akaunti yako, na ujaze nambari yako ya hivi karibuni ya utambulisho wa kodi.", "634274250": "Ni muda gani kila biashara huchukua kumalizika.", "636219628": "<0>c. Ikiwa hakuna fursa ya utatuzi inayoweza kupatikana, malalamiko yataendea kwenye awamu ya uamuzi ili kushughulikiwa na DRC.", - "636427296": "Unahitaji msaada na maelezo ya ushuru? Tujulishe kupitia mazungum <0>zo ya moja kwa moja.", + "636427296": "Unahitaji msaada kuhusu taarifa ya kodi? Tujulishe kupitia <0>mazungumzo mubashara.", "636579615": "Idadi ya uniti zinazoongezwa kwenye biashara inayofuata baada ya biashara iliyopoteza. Uniti moja ni sawa na kiasi cha dau la awali.", "639382772": "Tafadhali pakia aina ya faili inayofaa.", "640249298": "Kawaida", @@ -852,7 +851,7 @@ "902045490": "Dakika 3", "903429103": "Katika orodha ya candle soma {{ candle_property }} # kutoka mwisho {{ input_number }}", "904696726": "API tokeni", - "905227556": "Nywila zenye nguvu zina angalau herufi 8, zinachanganya herufi kubwa na ndogo za herufi na nambari.", + "905227556": "Nenosiri madhubuti huwa na angalau herufi 8, ikichanganya herufi kubwa na ndogo na nambari.", "905564365": "MT5 CFDs", "906049814": "Tutakagua hati zako na kukujulisha hali yake ndani ya dakika 5.", "906789729": "Hati zako za uthibitishaji tayari zilitumika kwa akaunti nyingine.", @@ -914,6 +913,7 @@ "969987233": "Shinda hadi malipo ya juu ikiwa bei ya kutoka iko kati ya kizuizi cha chini na cha juu, kwa uwiano wa tofauti kati ya bei ya kutoka na kizuizi cha chini.", "970915884": "AN", "974888153": "High-Low", + "975608902": "Ili kufanya biashara ya CFDs, pata akaunti ya Deriv Apps kwanza.", "975668699": "Ninathibitisha na kukubali <0>Vigezo na Masharti ya {{company}} ", "975950139": "Nchi ya Makazi", "977929335": "Nenda kwenye mipangilio ya akaunti yangu", @@ -941,6 +941,7 @@ "997311089": "Badilisha nenosiri langu", "999008199": "maandishi", "1001160515": "Uza", + "1002392396": "CFDs kwenye vyombo vya derived.", "1002989598": "iOS: iCloud keychain.", "1003876411": "Inapaswa kuanza na herufi au namba na inaweza kuwa na kifungu, kipindi na kipindi.", "1004127734": "Tuma barua pepe", @@ -1016,7 +1017,7 @@ "1057519018": "4. Ikiwa biashara inaisha kwa faida, dau la biashara ifuatayo litarejeshwa kuwa kiasi cha dau la awali la USD 1.", "1057749183": "Uthibitishaji wa hatua mbili (2FA)", "1057904606": "Dhana ya Mkakati wa D'Alembert inasemekana kuwa sawa na Mkakati wa Martingale ambapo utaongeza ukubwa wa mkataba wako baada ya hasara. Ukiwa na Mkakati wa D'Alembert, utapunguza pia ukubwa wa mkataba wako baada ya biashara iliyofanikiwa.", - "1058804653": "Ikumalizika", + "1058804653": "Mwisho wa matumizi", "1058905535": "Mafunzo", "1060231263": "Je, ni wakati gani unahitajika kulipa margin ya awali?", "1061308507": "Nunua {{ contract_type }}", @@ -1029,7 +1030,7 @@ "1066235879": "Kuhamisha fedha utahitaji kuunda akaunti ya pili.", "1066459293": "4.3. Kukubali malalamiko yako", "1069347258": "Kiungo cha uthibitishaji ulichotumia si halali au kimeisha muda wa matumizi. Tafadhali omba upya kingine.", - "1070323991": "6. Ikiwa biashara zilizofanikiwa mfululizo zitatokea, hisa itafuata mlolongo wa marekebisho kutoka 1 hadi 3, kisha vitengo 2, na 6 vya hisa ya awali. Baada ya biashara 4 za kufanikiwa mfululizo, inakamilisha mzunguko mmoja na kisha mkakati utajirudia kwa mzunguko mwingine. Ikiwa biashara yoyote inasababisha hasara, hisa yako itarejea tena kwenye hisa ya awali kwa biashara inayofuata.", + "1070323991": "6. Ikiwa biashara zilizofanikiwa mfululizo zitatokea, dau litafuata mlolongo wa marekebisho kutoka 1 hadi 3, kisha 2, na uniti 6 kwa dau la awali. Baada ya biashara 4 kufanikiwa mfululizo, inakamilisha mzunguko mmoja na kisha mkakati utajirudia kwa mzunguko mwingine. Ikiwa biashara yoyote itasababisha hasara, dau lako litarejea tena kwenye dau la awali kwa biashara inayofuata.", "1070624871": "Angalia uthibitisho wa hali ya uthibitishaji wa hati ya anwani", "1073261747": "Uthibitishaji", "1073611269": "Nakala ya hati yako ya utambulisho (m.f. kadi ya kitambulisho, pasipoti, leseni ya udereva)", @@ -1041,12 +1042,12 @@ "1078303105": "Usitishaji", "1080068516": "Hatua", "1080990424": "Thibitisha", - "1082158368": "* Kiwango cha juu cha pesa cha akaunti", + "1082158368": "* Kiwango cha juu cha pesa taslimu cha akaunti", "1082406746": "Tafadhali ingiza kiasi cha dau ambacho ni angalau {{min_stake}}.", "1083781009": "Nambari ya utambulisho wa kodi*", "1083826534": "Wezesha Kuzuia", "1087112394": "Lazima uchague bei shindani kabla ya kuingia mkataba.", - "1088031284": "Mgomo:", + "1088031284": "Bei shindani:", "1088138125": "Tick {{current_tick}} - ", "1089085289": "Nambari ya simu", "1089436811": "Mafunzo", @@ -1070,7 +1071,7 @@ "1107555942": "Kwa", "1109217274": "Mafanikio!", "1110102997": "Taarifa", - "1112582372": "Muda wa muda", + "1112582372": "Kipindi cha muda", "1113119682": "Kizuizi hiki kinakupa thamani ya candle iliyochaguliwa kutoka kwenye orodha ya candles.", "1113292761": "Chini ya 8MB", "1114679006": "Umefanikiwa kuunda kikamilifu bot yako kwa kutumia mkakati rahisi.", @@ -1207,7 +1208,7 @@ "1247280835": "Keshia yetu ya cryptocurrency haipatikani kwa muda kutokana na matengenezo ya mfumo. Unaweza kuweka na kutoa cryptocurrency ndani ya dakika chache baada ya matengenezo kamilika.", "1248018350": "Chanzo cha mapato", "1248940117": "<0>a. Maamuzi yanayotolewa na DRC yanatuhusisha. Maamuzi ya DRC yanakuhusisha wewe tu ikiwa unayakubali.", - "1250113042": "Kifaa hiki hakiunga mkono Passkey.", + "1250113042": "Kifaa hiki hakiwezi tumia passkey.", "1250495155": "Tokeni imenakiliwa!", "1252669321": "Ingiza toka kwenye Google Drive yako", "1253531007": "Imethibitishwa", @@ -1368,6 +1369,7 @@ "1405584799": "na kipindi cha muda: {{ candle_interval_type }}", "1407191858": "DTrader", "1408844944": "Bonyeza ikoni ya jumlisha ili kupanua utendaji wa kizuizi hiki.", + "1408852678": "Fanya biashara ya nafasi kubwa kwa mtaji mdogo katika vyombo mbalimbali vya kifedha na derived. <0>Jifunze zaidi", "1411373212": "Nywila zenye nguvu zina angalau herufi 8. changanya herufi kubwa na ndogo, nambari, na alama.", "1412405902": "Tazama maelezo muhimu", "1412535872": "Unaweza kuangalia matokeo ya biashara ya mwisho na kizuizi hiki. Inaweza tu kuwekwa ndani ya kizizi cha “Anzisha upya hali ya biashara”.", @@ -1469,6 +1471,7 @@ "1501691227": "Ongeza akaunti yako ya Deriv MT5 <0>{{account_type_name}} chini ya Deriv (V) Ltd, inayodhibitiwa na Vanuatu Financial Service Commission.", "1502039206": "Over {{barrier}}", "1502325741": "Nenosiri lako haliwezi kuwa sawa na anwani yako ya barua pepe.", + "1503419760": "CFDs zisizo na ubadilishaji kwenye vyombo vilivyochaguliwa za kifedha na", "1503618738": "- Kitambulisho cha kumbukumbu ya mpango: kitambulisho cha kumbukumbu ya mkataba", "1505420815": "Hakuna mawakala wa malipo waliopatikana kwa utafutaji wako", "1505898522": "Pakua stack", @@ -1515,7 +1518,6 @@ "1557426040": "Demo Derived SVG", "1557682012": "Mipangilio ya Akaunti", "1558972889": "weka {{ variable }} kwa wastani rahisi ya kusonga {{ dummy }}", - "1559220089": "Jukwaa la biashara ya chaguzi na multipliers.", "1560302445": "Imenakiliwa", "1562374116": "Wanafunzi", "1566037033": "Kununuliwa: {{longcode}} (ID: {{transaction_id}})", @@ -1632,7 +1634,7 @@ "1686800117": "{{error_msg}}", "1689103988": "Pili Tangu Enzi", "1689258195": "Hatukuweza kuthibitisha anwani yako kwa taarifa ulizotoa. Tafadhali angalia na wasilisha tena au chagua aina tofauti ya hati.", - "1690746575": "Ongeza uzoefu wako wa bias <0>hara kwa kubore <1/> sha akaunti yako ya{{platform}} {{type_1}} <0>na{{type_2}} {{from_account}}.", + "1690746575": "Boresha uzoefu wako wa biashara kwa kuboresha akaunti yako ya <0>{{platform}} {{type_1}}<1/> <0>na{{type_2}} {{from_account}}.", "1691335819": "Ili kuendelea kufanya biashara nasi, tafadhali thibitisha wewe ni nani.", "1691536201": "Ikiwa utachagua muda wako kwa idadi ya tick, hautaweza kusitisha mkataba wako mapema.", "1691765860": "- Kukanusha", @@ -1661,6 +1663,7 @@ "1715630945": "Hurejesha jumla ya faida katika umbizo la mfuatano", "1715680813": "Mkataba wako utaisha muda wa matumizi saa 23:59:59 GMT +0 kulingana na tarehe yako ya kumalizika uliyochagua.", "1717023554": "Tuma tena hati", + "1717474982": "CFD kwenye vyombo vya kifedha na vinavyotokana kupitia jukwaa linaloweza kubadilishwa.", "1720451994": "Tutatoza ada ya uhamisho wa 2% au {{minimum_fee}} {{currency}}, yoyote iliyo juu, kwa uhamisho kati ya akaunti zako za Deriv fiat na Deriv cryptocurrency.", "1720968545": "Pakia ukurasa wa picha ya pasipoti kutoka kwa kompyuta yako", "1722056905": "Hati uliyotoa haiwezi kutumika kwa nchi yako. Tafadhali toa hati inayoweza kutumika kwa nchi yako.", @@ -1830,6 +1833,7 @@ "1871664426": "Kumbuka", "1873376454": "Hiki ni kiwango cha bei unachochagua. Ikiwa kizuizi hiki kitavukwa, mkataba wako utasitishwa.", "1874481756": "Tumia kizuizi hiki kununua mkataba maalum unayotaka. Unaweza kuongeza vitalu vingi vya Ununuzi pamoja na vitalu vya masharti kufafanua hali yako ya ununuzi. Kizuizi hiki kinaweza kutumika tu ndani ya kizuizi cha masharti ya Ununuzi.", + "1874737957": "Ili kufanya biashara ya viongezaji, pata akaunti ya Deriv Apps kwanza.", "1874756442": "BVI", "1875702561": "Pakia au ujenge bot yako", "1876015808": "Mfuko wa Jamii na Bima ya Kitaifa", @@ -1931,7 +1935,6 @@ "1973910243": "Dhibiti akaunti zako", "1974273865": "Upeo huu utaruhusu programu za tatu za tatu kutazama shughuli za akaunti yako, mipangilio, mipaka, karatasi za usawa, historia ya ununuzi wa biashara, na zaidi.", "1974903951": "Ukibonyeza Ndio, maelezo uliyoingiza yatapotea.", - "1977724653": "Akaunti hii inatoa CFDs kwenye vyombo vya kifedha.", "1978218112": "Google Authenticator", "1981940238": "Sera hii ya malalamiko, ambayo inaweza kubadilika mara kwa mara, inatumika kwa akaunti yako iliyosajiliwa kwa {{legal_entity_name_svg}} na {{legal_entity_name_v}}.", "1982790875": "Boresha akaunti yako ya <0/><1>{{account_title}} {{platform}} ", @@ -1979,6 +1982,7 @@ "2014536501": "Nambari ya kadi", "2014590669": "Tofauti '{{variable_name}}' haina thamani. Tafadhali weka thamani ya tofauti '{{variable_name}}' ili kuarifu.", "2017672013": "Tafadhali chagua nchi ya utoaji wa hati.", + "2018044371": "Viongezaji hukuruhusu kufanya biashara na faida na kupunguza hatari yako kwa hisa yako. Ji <0>funze zaidi", "2019596693": "Hati ilikataliwa na Mtoa huduma.", "2020545256": "Funga akaunti yako?", "2021037737": "Tafadhali sasisha taarifa zako ili kuendelea.", @@ -2658,8 +2662,11 @@ "-2021135479": "Eneo hili linahitajika kujazwa.", "-1002044401": "Chagua hati yako*", "-1272489896": "Tafadhali kamilisha kujaza eneo hili.", - "-1107320163": "Biashara ya kiotomatiki. Hakuna msimbo unaohitajika.", - "-829643221": "Jukwaa la biashara ya multipliers.", + "-721346138": "Chaguzi na jukwaa la biashara ya viongezeka.", + "-1874136267": "Jukwaa la mwisho la biashara ya bot.", + "-415943890": "Jukwaa la biashara la chaguzi za urithi.", + "-673722343": "Jukwaa la biashara la bot la urithi.", + "-897826065": "Jukwaa la biashara la viongezeka.", "-2115275974": "CFDs", "-1585707873": "Financial Commission", "-199154602": "Vanuatu Financial Service Commission", @@ -2678,12 +2685,10 @@ "-1879666853": "Deriv MT5", "-820028470": "Chaguzi na Viongezaji", "-1210359945": "Hamisha fedha kwenda kwenye akaunti zako", - "-81256466": "Unahitaji akaunti ya Deriv ili kuunda akaunti ya CFD.", "-1926387364": "Tumetuma e-book yako kwenye barua pepe yako. Unaweza pia kuipakua hapa.", "-1057002564": "<0>Hatuwezi kukuboresha kwenye Wallets kwa wakati huu na tunafanya kazi ili kurekebisha hii haraka iwezekanavyo. Tafadhali <1>jaribu tena<0>.", "-1424352390": "<0>Wallets<1> — Njia bora ya kudhibiti fedha zako", "-280236366": "Wezesha sasa", - "-699372497": "Biashara kwa faida na ueneo mkali kwa faida bora kwenye biashara zilizofanikiwa. Ji <0>funze zaidi", "-145462920": "Deriv cTrader", "-982095728": "Pata", "-1790089996": "MPYA!", @@ -2708,10 +2713,8 @@ "-643108528": "Kanuni isiyo ya EU na EU", "-1002556560": "Hatujaweza kukamilisha uboreshaji wa Wallet. Tafadhali jaribu tena baadae au wasiliana nasi kupitia mazungumzo mubashara.", "-1186807402": "Uhamisho", - "-2051096382": "<1>Pata malipo anuwai kwa kutabiri kwa usahihi harakati za soko na <0>chag uzi, au upate\n juu ya CFD bila kuhatarisha zaidi ya hisa yako ya awali na viongezaji.", - "-1638358352": "<0>Pata upande wa CFDs bila kuhatarisha zaidi ya hisa yako ya awali na Multipliers.", + "-655191265": "Nunua au kuuza kwa wakati maalum kwa bei maalum. Ji <0>funze zaidi", "-744999940": "Akaunti ya Deriv", - "-749129977": "Pata akaunti halisi ya Deriv, anza biashara na usimamia fedha zako.", "-2146691203": "Uchaguzi wa udhibiti", "-249184528": "Unaweza kuunda akaunti halisi chini ya kanuni ya EU au isiyo ya EU. Bonyeza <0><0/>ikoni ili kujifunza zaidi kuhusu akaunti hizi.", "-1505234170": "Ziara ya Mfanyabiashara Hub", @@ -2768,6 +2771,7 @@ "-1995606668": "Kiasi", "-2024290965": "Uthibitisho", "-811190405": "Muda", + "-728508487": "{{currency}} shughuli za hivi karibuni", "-1984478597": "Maelezo ya muamala huu yanapatikana kwenye CoinSpaid.", "-316545835": "Tafadhali hakikisha <0>taarifa zote ni <0>sahihi kabla ya kufanya uhamishaji pesa wako.", "-949073402": "Ninathibitisha kuwa nimethibitisha taarifa za uhamishaji pesa wa mteja.", @@ -3353,7 +3357,7 @@ "-482715448": "Nenda kwenye Taarifa binafsi", "-2072411961": "Uthibitisho wako wa anwani umethibitishwa", "-384887227": "Badilisha anwani kwenye wasifu wako.", - "-1779268418": "Biashara CFD zisizo na ubadilishaji kwenye MT5 na forex, hisa, fahirisi za hisa, sarafiri za bidhaa, ETFs na fahirisi za sintetiki.", + "-1470677931": "CFDs kwenye vyombo vya kifedha.", "-1998049070": "Ikiwa unakubali matumizi yetu ya vidakuzi, bonyeza kubali. Kwa maelezo zaidi, tazama <0>sera yetu.", "-402093392": "Ongeza Akaunti ya Deriv", "-1721181859": "Utahitaji akaunti ya {{deriv_account}}", @@ -3409,16 +3413,16 @@ "-1602122812": "Onyo ya Baridi ya 24", "-1519791480": "CFD na vyombo vingine vya kifedha huja na hatari kubwa ya kupoteza pesa haraka kutokana na mkopo. Unapaswa kuzingatia ikiwa unaelewa jinsi CFD na vyombo vingine vya kifedha zinavyofanya kazi na ikiwa unaweza kumudu kuchukua hatari kubwa ya kupoteza pesa zako. \n<0/><0/> Kwa kuwa umekataa onyo letu la awali, utahitaji kusubiri masaa 24 kabla ya kuendelea zaidi.", "-1010875436": "CFD na vyombo vingine vya kifedha huja na hatari kubwa ya kupoteza pesa haraka kutokana na ufanisi. Unapaswa kuzingatia ikiwa unavyoelewa jinsi CFD na vyombo vingine vya kifedha zinavyofanya kazi na ikiwa unaweza kumudu kuchukua hatari kubwa ya kupoteza pesa zako. <0/> <0/> Ili kuendelea, kumbuka kuwa utahitaji kusubiri masaa 24 kabla ya kuendelea zaidi.", - "-1725418054": "Kwa kubonyeza 'Kubali' na kuendelea na kufungua akaunti, unapaswa kutambua kuwa unaweza kujifichua kwa hatari. Hatari hizi, ambazo zinaweza kuwa muhimu, ni pamoja na hatari ya kupoteza jumla iliyowekezwa, na huenda usiwe na maarifa na uzoefu wa kutathmini vizuri au kuzipunguza.", + "-1725418054": "Kwa kubonyeza 'Kubali' na kuendelea na kufungua akaunti, unapaswa kutambua kuwa unaweza kuingia katika hatari. Hatari hizi, ambazo zinaweza kutokea, ni pamoja na hatari ya kupoteza jumla ya kiasi ulichowekeza, na huenda usiwe na maarifa na uzoefu wa kutathmini vizuri au kuzipunguza.", "-1369294608": "Je, tayari umejisajili?", "-730377053": "Huwezi kuongeza akaunti nyingine halisi", "-2100785339": "Ingizo batili", - "-2061807537": "Kitu sio sawa", - "-617844567": "Akaunti iliyo na maelezo yako tayari iko.", + "-2061807537": "Kuna kitu sio sawa", + "-617844567": "Akaunti iliyo na taarifa zako tayari iko.", "-1534648620": "Nenosiri lako limebadilishwa", "-596199727": "Sasa tutakuelekeza kwenye ukurasa wa kuingia.", - "-310434518": "Uingizaji wa barua pepe haipaswi kuwa tupu.", - "-437918412": "Hakuna sarafu iliyopewa kwa akaunti yako", + "-310434518": "Sehemu ya kuingiza barua pepe haipaswi kuwa tupu.", + "-437918412": "Hakuna sarafu iliyopangiwa akaunti yako", "-1193651304": "Nchi ya makazi", "-707550055": "Tunahitaji hii ili kuhakikisha huduma yetu inafuata sheria na kanuni katika nchi yako.", "-280139767": "Weka makazi", @@ -3526,7 +3530,7 @@ "-139026353": "Picha yako mwenyewe ya selfie.", "-1228847561": "Uthibitishaji katika ukaguzi.", "-618322245": "Uthibitishaji umefaulu.", - "-149461870": "Forex: kiwango cha kiwango cha kigeni", + "-149461870": "Forex: standard/exotic", "-1995163270": "ETFs", "-651501076": "Derived - SVG", "-865172869": "Financial - BVI", @@ -3547,9 +3551,9 @@ "-1780324582": "SVG", "-860609405": "Nenosiri", "-742647506": "Uhamisho wa fedha", - "-712681566": "Kubadilishana wenza-wenza-wenza", + "-712681566": "Ubadilishaji pesa kwa peer-to-peer", "-1267880283": "{{field_name}} inahitajika", - "-2084509650": "{{field_name}} haijaundwa vizuri.", + "-2084509650": "{{field_name}} halipo katika muundo mzuri.", "-790488576": "Umesahau nenosiri?", "-476558960": "Ikiwa hauna nafasi zilizo wazi", "-1385484963": "Thibitisha kubadilisha nenosiri lako la {{platform}}", @@ -3562,45 +3566,45 @@ "-16858060": "Una nenosiri jipya la Deriv MT5 la kuingia kwenye akaunti zako za Deriv MT5 kwenye wavuti na app za simu.", "-1868608634": "Nenosiri la sasa", "-2092058806": "8 hadi 16 herufi", - "-2051033705": "Mhusika maalum kama vile ( _ @ ? ! / # )", - "-1762249687": "Barua ndogo", + "-2051033705": "Alama maalum kama vile ( _ @ ? ! / # )", + "-1762249687": "Herufi ndogo", "-535365199": "Ingiza nenosiri lako la {{platform}} ili kuongeza akaunti ya {{platform_name}} {{account}} .", "-184453418": "Ingiza nenosiri lako la {{platform}}", "-393388362": "Tunakagua hati zako. Hii inapaswa kuchukua siku 1 hadi 3.", - "-2057918502": "Kidokezo: Labda umeingiza nenosiri lako la Deriv, ambayo ni tofauti na nenosiri lako la {{platform}} .", - "-267598687": "Hongera, umefanikiwa kuunda ak <0/>{{category}} {{platform}} {{type}}. Ili kuanza biashara, <1 />hamisha fedha <2 /> kutoka kwa akaunti yako ya Deriv kwenye akaunti hii.", + "-2057918502": "Kidokezo: Labda umeingiza nenosiri lako la Deriv, ambalo ni tofauti na nenosiri lako la {{platform}}.", + "-267598687": "Hongera, umefanikiwa kuunda akaunti ya <0/>{{category}} {{platform}} {{type}}. Ili kuanza biashara, <1 />hamisha fedha <2 /> kutoka kwa akaunti yako ya Deriv kwenda akaunti hii.", "-1475660820": "Akaunti yako ya Deriv MT5 {{type}} iko tayari. ", "-1710177700": "Akaunti yako ya demo {{type}} iko tayari.", "-1184248732": "Hongera, umefanikiwa kuunda kikamilifu akaunti yako ya <0/>{{category}} {{platform}} {{type}}. ", "-1928229820": "Weka upya nenosiri la mwekezaji la Deriv X", - "-1969916895": "Nenosiri lako lazima iwe na kati ya herufi 8-16 ambazo zinajumuisha herufi kubwa na ndogo, na angalau nambari moja na herufi maalum ( _ @ ? ! / # ).", + "-1969916895": "Nenosiri lako lazima liwe na kati ya herufi 8-16 zinazojumuisha herufi kubwa na ndogo, na angalau nambari moja na alama maalum ( _ @ ? ! / # ).", "-1087845020": "main", "-1950683866": "mwekezaji", - "-1874242353": "Kuongeza mfuko", - "-89838213": "Unaweza kuongeza akaunti yako ya onyesho na zi<0> ada ikiwa usawa wako<1> ni au chini.", + "-1874242353": "Kuongeza fedha", + "-89838213": "Unaweza kuongeza pesa kwenye akaunti yako ya demo na ziada <0> ikiwa salio lako ni <1> au kidogo.", "-1211122723": "{{ platform }} {{ account_title }} akaunti", "-78895143": "Salio lililopo", "-149993085": "Salio jipya lililopo", - "-1615126227": "Dhibiti hadi akaunti za {{max_count}} Deriv cTrader. Ingawa unaweza kubadilisha akaunti zako yoyote ya Deriv cTrader kuwa akaunti ya mkakati, tafadhali angalia yafuatayo:", - "-1547739386": "Ili kuhakikisha kuwa unaweza kuunda <0>na kusimamia mikakati na ada kila wakati, weka angalau akaunti moja bila huru na kuwa mtoa mkakati. Kwa njia hii, daima utakuwa na akaunti tayari kwa kukusanya ada, na kukuwezesha kuwa na hadi mikakati nne ambapo unaweza kuweka ada.", + "-1615126227": "Simamia hadi akaunti {{max_count}} za Deriv cTrader. Ingawa unaweza kubadilisha akaunti yako yoyote ya Deriv cTrader kuwa akaunti ya mkakati, tafadhali angalia yafuatayo:", + "-1547739386": "Ili kuhakikisha kuwa unaweza kuunda na kudhibiti mikakati kwa kutumia ada kila wakati, <0>weka angalau akaunti moja bila kuwa na mtoaji mkakati. Kwa njia hii, daima utakuwa na akaunti tayari kwa ajili ya kukusanya ada, hivyo kukuwezesha kuwa na hadi mikakati nne ambapo unaweza kutoza ada.", "-2145356061": "Pakua Deriv X kwenye simu yako ili kufanya biashara na akaunti ya Deriv X", "-1547458328": "Tumia cTrader kwenye kivinjari chako", "-747382643": "Pata akaunti nyingine ya cTrader", - "-1986258847": "Matengenezo ya seva huanza saa 01:00 GMT kila Jumapili, na mchakato huu unaweza kuchukua hadi masaa 2 kukamilika. Huduma inaweza kusumbuliwa wakati huu.", + "-1986258847": "Matengenezo ya seva huanza saa 01:00 GMT kila Jumapili, na mchakato huu unaweza kuchukua hadi masaa 2 kukamilika. Huduma zinaweza kutopatikana wakati huu.", "-499504077": "Chagua akaunti ya cTrader kuhamisha", - "-251202291": "Dalali", + "-251202291": "Broker", "-678964540": "kwa", "-206829624": "(1: x)", "-616293830": "Furahia faida yenye nguvu <0>ya hadi 1:1500 wakati wa kufanya biashara ya vyombo vilivyochaguliwa katika masoko ya forex, bidhaa, sarafu za sarafu, na masoko ya faharisi za hisa Ufanisi wetu wenye nguvu hurekebisha moja kwa moja kwa nafasi yako ya biashara, kulingana na aina ya mali na kiasi cha biashara.", "-2042845290": "Nenosiri lako la mwekezaji limebadilishwa.", "-1882295407": "Nenosiri lako limebadilishwa.", - "-254497873": "Tumia nenosiri hili kuwapa mtumiaji mwingine upatikanaji wa kutazama Ingawa wanaweza kuona akaunti yako ya biashara, hawataweza kufanya biashara au kuchukua hatua nyingine yoyote.", - "-161656683": "Nenosiri la sasa ya mwe", - "-374736923": "Nenosiri mpya ya mwekez", - "-1793894323": "Unda au upya nenosiri la mwekezaji", - "-21438174": "Ongeza akaunti yako ya Deriv cTrader chini ya Deriv (SVG) LLC (kampuni namba 273 LLC 2020).", - "-2026018074": "Ongeza akaunti yako ya Deriv MT5 <0>{{account_type_name}} chini ya Deriv (SVG) LLC (kampuni namba 273 LLC 2020).", - "-162320753": "Ongeza akaunti yako ya Deriv MT5 <0>{{account_type_name}} chini ya Deriv (BVI) Ltd, iliyodhibitiwa na Tume ya Huduma za Fedha ya Visiwa vya Virgin ya Uingereza (Leseni no. SIBA/L/18/1114).", + "-254497873": "Tumia nenosiri hili kumpa mtumiaji mwingine uwezo wa kutazama. Ingawa wanaweza kuona akaunti yako ya biashara, hawataweza kufanya biashara au kuchukua hatua nyingine yoyote kwenye akaunti yako.", + "-161656683": "Nenosiri la sasa la mwekezaji", + "-374736923": "Nenosiri jipya la mwekezaji", + "-1793894323": "Unda au weka upya nenosiri la mwekezaji", + "-21438174": "Ongeza akaunti yako ya Deriv cTrader chini ya Deriv (SVG) LLC (kampuni na. 273 LLC 2020).", + "-2026018074": "Ongeza akaunti yako ya Deriv MT5 <0>{{account_type_name}} chini ya Deriv (SVG) LLC (kampuni na. 273 LLC 2020).", + "-162320753": "Ongeza akaunti yako ya Deriv MT5 <0>{{account_type_name}} chini ya Deriv (BVI) Ltd, inayodhibitiwa na British Virgin Islands Financial Services Commission (Leseni na. SIBA/L/18/1114).", "-271828350": "Pata zaidi kutoka kwa Deriv MT5 Financial", "-2125860351": "Chagua mamlaka ya akaunti yako ya Deriv MT5 CFDs", "-1460321521": "Chagua mamlaka ya akaunti yako ya {{account_type}}", @@ -3674,20 +3678,20 @@ "-2089488446": "Ukichagua “Ends Between”, unashinda malipo ikiwa mahali pa kuondoka ni juu kabisa kuliko kizuizi cha chini NA chini kabisa kuliko kizuizi cha Juu.", "-1876950330": "Ukichagua “Ends Outside”, unashinda malipo ikiwa nafasi ya kuondoka ni ya juu kabisa kuliko kizuizi cha Juu, AU chini kabisa kuliko kizuizi cha chini.", "-546460677": "Ikiwa mahali pa kuondoka ni sawa na kizuizi cha chini au kizuizi cha Juu, haushinda malipo.", - "-1929209278": "Ukichagua “Hata”, utashinda malipo ikiwa tarakimu ya mwisho ya alama ya mwisho ni nambari sawa (yaani, 2, 4, 6, 8, au 0).", - "-2038865615": "Ukichagua “Ajabu”, utashinda malipo ikiwa tarakimu ya mwisho ya alama ya mwisho ni nambari ya kawaida (yaani, 1, 3, 5, 7, au 9).", + "-1929209278": "Ukichagua 'Even' utashinda malipo ikiwa tarakimu ya mwisho ya tick ya mwisho ni nambari shufwa (m.f. 2, 4, 6, 8, au 0).", + "-2038865615": "Ukichagua “Odd”, utashinda malipo ikiwa tarakimu ya mwisho ya tick ya mwisho ni nambari witiri (m.f., 1, 3, 5, 7, au 9).", "-1959473569": "Ikiwa unachagua “Chini”, unashinda malipo ikiwa mahali pa kuondoka ni chini kabisa kuliko kizuizi.", "-1350745673": "Ikiwa eneo la kutoka ni sawa na kizuizi, hutashinda malipo.", - "-93996528": "Kwa kununua mkataba wa “Karib-to-chini”, utashinda mara nyingi za kuongeza tofauti kati ya karibu na ya chini kwa muda wa mkataba.'", - "-420387848": "Juu ni hatua ya juu zaidi iliyowahi kufikiwa na soko wakati wa kipindi cha mkataba.", + "-93996528": "Kwa kununua mkataba wa “Close-to-Low”, utashinda multiplier zidisha na tofauti kati ya close na low katika kipindi cha mkataba.'.", + "-420387848": "High ni hatua ya juu zaidi iliyowahi kufikiwa na soko wakati wa kipindi cha mkataba.", "-1722190480": "Kwa kununua mkataba wa “High-to-Chini”, utashinda mara nyingi za kuongeza tofauti kati ya juu na ya chini kwa muda wa mkataba.'", - "-1281286610": "Ukichagua “Mechi”, utashinda malipo ikiwa tarakimu ya mwisho ya alama ya mwisho ni sawa na utabiri wako.", + "-1281286610": "Ukichagua “Matches”, utashinda malipo ikiwa tarakimu ya mwisho ya tick ya mwisho ni sawa na utabiri wako.", "-618782785": "Tumia viongezaji ili kutumia faida yako inayowezekana. Utabiri ikiwa bei ya mali itasonga juu (kupanda) au kushuka (bearish). Tutalipa tume unapofungua biashara ya viongezeka.", "-565391674": "Ikiwa utachagua \"Ju <0>u “, faida/hasara yako ya jumla itakuwa ongezeko la asilimia katika bei ya mali ya msingi, mara nyingi ya uzizaji na hisa, punguza tume.", "-1113825265": "Vipengele vya ziada vinapatikana kusimamia nafasi <0>zako: “Chu kua faida” na “Kuacha hasara<0>” hukuruhusu kurekebisha kiwango chako cha kuzuia hatari.", "-1104397398": "Vipengele vya ziada vinapatikana kudhibiti nafasi <0>zako: “Chu kua faida”, “Ku <0>acha hasara” na “Kufuta <0>mpango” hukuruhusu kurekebisha kiwango chako cha kuzuia hatari.", "-1272255095": "Ikiwa eneo la kutoka ni sawa na kizuizi au kizuizi kipya (ikiwa kuweka upya kunatokea), hutashinda malipo.", - "-1392065699": "Ukichagua “Panda”, unashinda malipo ikiwa mahali pa kuondoka ni juu kabisa kuliko nafasi ya kuingia.", + "-1392065699": "Ukichagua “Rise”, utashinda malipo ikiwa bei ya kutoka ni kubwa zaidi kuliko bei ya kuingia.", "-1762566006": "Ukichagua “Kuanguka”, unashinda malipo ikiwa mahali pa kuondoka ni chini kabisa kuliko nafasi ya kuingia.", "-1435306976": "Ukichagua “Ruhusu sawa”, unashinda malipo ikiwa nafasi ya kuondoka ni kubwa kuliko au sawa na nafasi ya kuingia kwa “Kupanda”. Vivyo hivyo, unashinda malipo ikiwa nafasi ya kuondoka ni chini kuliko au sawa na nafasi ya kuingia kwa “Fall”.", "-1812957362": "Ukichagua “Stays Between”, unashinda malipo ikiwa soko linakaa kati ya (haligusa) ama kizuizi cha juu au kizuizi cha chini wakati wowote wakati wowote wakati wa mkataba", @@ -4078,8 +4082,6 @@ "-3423966": "Chukua faida <0 /> Zuia hasara", "-1131753095": "Taarifa ya mkataba wa {{trade_type_name}} hazipatikani kwa sasa. Tunafanya kazi kuzifanya zipatikane hivi karibuni.", "-360975483": "Hujafanya miamala ya aina hii katika kipindi hiki.", - "-561436679": "Akaunti hii inatoa CFDs kwenye vyombo vilivyotokana.", - "-1173266642": "Akaunti hii inatoa CFDs kwenye jukwaa la biashara lenye huduma.", "-1226595254": "Turbo", "-922253974": "Rise/Fall", "-1361254291": "Higher/Lower", diff --git a/packages/translations/src/translations/th.json b/packages/translations/src/translations/th.json index 861c7e00a409..8d0aefce3cb4 100644 --- a/packages/translations/src/translations/th.json +++ b/packages/translations/src/translations/th.json @@ -68,13 +68,13 @@ "76635112": "เพื่อดำเนินการต่อ ให้ส่งเอกสารเหล่านี้อีกครั้ง", "76916358": "คุณมาถึงขีดจำกัดการถอนแล้ว <0/>โปรดอัปโหลดหลักฐานยืนยันตัวตนและที่อยู่ของคุณเพื่อยกเลิกขีดจำกัดแล้วดำเนินการถอนต่อไป", "76925355": "ตรวจสอบประสิทธิภาพของบอทของคุณ", - "77945356": "ทำการเทรดได้ทุกที่ด้วยแอปมือถือของเรา", "77982950": "ตราสารสิทธิ Vanilla ช่วยให้คุณสามารถคาดการณ์ทิศทางขาขึ้น (ตลาดกระทิง) หรือขาลง (ตลาดหมี) ของสินทรัพย์อ้างอิงได้โดยการซื้อสัญญา “Call” หรือ “Put”", "81091424": "เพื่อให้การอัปเกรดเสร็จสมบูรณ์ โปรดออกจากระบบและเข้าสู่ระบบอีกครั้งเพื่อเพิ่มบัญชีและทำธุรกรรมด้วย Wallet ของคุณ", "81450871": "เราไม่พบหน้าเว็บนั้น", "82839270": "โปรดอัปโหลดหน้าหนังสือเดินทางของคุณที่มีรูปถ่ายของคุณอยู่", "83202647": "พับเก็บบล็อก", "84402478": "ฉันจะค้นหาบล็อกที่ต้องการได้ที่ไหน?", + "84924586": "หากต้องการเทรดตราสารสิทธิและ Multiplier ให้รับบัญชี Deriv Apps ก่อน", "85343079": "การประเมินทางการเงิน", "85359122": "40 หรือมากกว่า", "85389154": "มีขั้นตอนต่างๆที่จำเป็นต้องดำเนินการต่อในการยืนยันบนมือถือของคุณ", @@ -162,7 +162,6 @@ "177099483": "การยืนยันที่อยู่ของคุณนั้นอยู่ระหว่างการดำเนินการ และเราได้วางข้อจำกัดบางอย่างไว้ในบัญชีของคุณซึ่งข้อจำกัดนั้นจะถูกยกเลิกต่อเมื่อที่อยู่ของคุณได้รับการยืนยันแล้ว", "178413314": "ชื่อแรกควรมีความยาวระหว่าง 2 ถึง 50 ตัวอักษร", "179083332": "วันที่", - "179737767": "แพลตฟอร์มเทรดตราสารสิทธิดั้งเดิมของเรา", "181107754": "บัญชี <0>{{platform}} {{eligible_account_to_migrate}} ใหม่ของคุณพร้อมสำหรับการเทรดแล้ว", "181346014": "หมายเหตุ ", "181881956": "ประเภทสัญญา: {{ contract_type }}", @@ -196,7 +195,6 @@ "211461880": "ชื่อและนามสกุลทั่วไปนั้นสามารถคาดเดาได้ง่าย", "211487193": "หมายเลขเอกสาร (เช่น บัตรประจำตัวประชาชน หนังสือเดินทาง ใบขับขี่)", "211847965": "<0>รายละเอียดส่วนบุคคล ของคุณไม่สมบูรณ์ โปรดไปที่การตั้งค่าบัญชีของคุณและกรอกรายละเอียดส่วนบุคคลเพื่อเปิดใช้งานการถอนเงิน", - "215975531": "บัญชีนี้ให้บริการ CFD บนแพลตฟอร์มการเทรดที่สามารถปรับแต่งได้อย่างเหนือชั้น", "216650710": "คุณกำลังใช้บัญชีทดลอง", "217377529": "5. หากการเทรดครั้งถัดๆ ไปนั้นส่งผลทำกำไร เงินทุนทรัพย์สำหรับการเทรดต่อไปนี้จะลดลง 2 USD สิ่งนี้สามารถดูได้จากด้านบนที่เงินทุนทรัพย์ 3 USD ลดลงเหลือ 1 USD ดู A3", "217403651": "เซนต์วินเซนต์และเกรนาดีนส์", @@ -318,6 +316,7 @@ "344418897": "การตั้งขีดจำกัดการเทรดและระบบการกันตนเองนั้นช่วยให้คุณควบคุมจำนวนเงินและเวลาที่ใช้ใน {{brand_website_name}} และเป็นการฝึก <0>การเทรดอย่างมีความรับผิดชอบ", "345320063": "การประทับเวลาไม่ถูกต้อง", "345818851": "ขออภัย เกิดข้อผิดพลาดภายใน กดช่องทำเครื่องหมายด้านบนเพื่อลองอีกครั้ง", + "346843343": "CFD สำหรับตราสารทางการเงินและตราสาร Derived ซึ่งมาพร้อมกับระบบ Copy Trading", "347029309": "Forex: มาตรฐาน/ไมโคร", "347039138": "กระบวนการทำซ้ำ (2)", "348951052": "แคชเชียร์ของคุณถูกล็อคอยู่ในขณะนี้", @@ -335,7 +334,6 @@ "359809970": "บล็อกนี้ทำให้คุณสามารถเลือกค่าของแท่งเทียนจากลิสต์รายการแท่งเทียนภายในช่วงเวลาที่เลือกได้ โดยคุณสามารถเลือกจากราคาเปิด ราคาปิด ราคาสูง ราคาต่ำ และเวลาเปิด", "360224937": "ตรรกะ", "360773403": "ตัวสร้างบอท", - "362946954": "แพลตฟอร์มเทรดอัตโนมัติดั้งเดิมของเรา", "363576009": "ราคาสูง: ราคาสูงสุด", "363738790": "เบราว์เซอร์", "363990763": "ราคาขาย:", @@ -364,6 +362,7 @@ "386502387": "บอทไม่ทำงาน", "389923099": "ซูมเข้า", "390890891": "ไตรมาสที่แล้ว", + "391038015": "แอพการเทรดบนมือถือสำหรับ Multiplier", "391915203": "การป้องกันความเสี่ยง", "392582370": "Fall Equals", "393789743": "เฉพาะตัวอักษร ช่องว่าง มหัพภาค ยัติภังค์ เครื่องหมายอัญประกาศเดี่ยวเท่านั้น", @@ -914,6 +913,7 @@ "969987233": "คุณจะชนะและรับเงินตอบแทนจำนวนสูงสุดหากจุดออกนั้นอยู่ระหว่างเส้นระดับราคาเป้าหมายอันล่างและอันบน เมื่อเปรียบเทียบสัดส่วนกับความแตกต่างระหว่างจุดออกและเส้นระดับราคาเป้าหมายอันล่าง", "970915884": "AN", "974888153": "High-Low", + "975608902": "หากต้องการเทรด CFD ให้รับบัญชี Deriv Apps ก่อน", "975668699": "ข้าพเจ้ายืนยันและยอมรับ <0>ข้อกำหนดและเงื่อนไข ของ {{company}}", "975950139": "ประเทศที่พำนัก", "977929335": "ไปที่การตั้งค่าบัญชีของฉัน", @@ -941,6 +941,7 @@ "997311089": "เปลี่ยนรหัสผ่านของฉัน", "999008199": "ข้อความ", "1001160515": "ขาย", + "1002392396": "CFD สำหรับตราสาร Derived", "1002989598": "iOS: พวงกุญแจ iCloud", "1003876411": "ควรขึ้นต้นด้วยตัวอักษรหรือตัวเลข และอาจมียัติภังค์ มหัพภาค และเครื่องหมายทับ", "1004127734": "ส่งอีเมล์", @@ -1368,6 +1369,7 @@ "1405584799": "ด้วยช่วงเวลา: {{ candle_interval_type }}", "1407191858": "DTrader", "1408844944": "คลิกที่ไอคอนเครื่องหมายบวกเพื่อขยายการทำงานของบล็อกนี้", + "1408852678": "เทรดด้วยตำแหน่งการค้าที่ใหญ่ขึ้นแต่เงินทุนน้อยลงสำหรับหลากหลายตราสารทางการเงินและตราสาร Derived <0>เรียนรู้เพิ่มเติม", "1411373212": "รหัสผ่านที่คาดเดายากประกอบไปด้วยอักขระอย่างน้อย 8 ตัว รวมตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก ตัวเลข และสัญลักษณ์ต่างๆ", "1412405902": "ดูหมายเหตุสำคัญ", "1412535872": "คุณสามารถตรวจสอบผลลัพธ์ของการเทรดครั้งล่าสุดด้วยบล็อกนี้ ซึ่งมันจะสามารถถูกนำวางไว้ได้ในบล็อกรูท \"เริ่มเงื่อนไขการเทรดใหม่\" เท่านั้น", @@ -1469,6 +1471,7 @@ "1501691227": "เพิ่มบัญชี Deriv MT5 <0>{{account_type_name}} ของคุณภายใต้บริษัท Deriv (V) Ltd ซึ่งถูกควบคุมดูแลโดยคณะกรรมาธิการบริการทางการเงินวานูอาตู", "1502039206": "เกินกว่า {{barrier}}", "1502325741": "รหัสผ่านของคุณไม่สามารถเหมือนกับที่อยู่อีเมล์ของคุณได้", + "1503419760": "สัญญาส่วนต่างหรือ CFD ปลอดสวอปสำหรับตราสารทางการเงินและตราสาร Derived ที่เลือกมา", "1503618738": "- รหัสอ้างอิงดีลข้อตกลง: รหัสอ้างอิงของสัญญา", "1505420815": "ไม่พบตัวแทนการชำระเงินจากการค้นหาของคุณ", "1505898522": "ดาวน์โหลด stack", @@ -1515,7 +1518,6 @@ "1557426040": "Demo Derived SVG", "1557682012": "การตั้งค่าบัญชี", "1558972889": "กำหนด {{ variable }} เป็นค่าเฉลี่ย Simple Moving Average {{ dummy }}", - "1559220089": "แพลตฟอร์มการเทรดตราสารสิทธิและ Multipliers", "1560302445": "คัดลอก", "1562374116": "นักศึกษา", "1566037033": "ซื้อ: {{longcode}} (ID: {{transaction_id}})", @@ -1661,6 +1663,7 @@ "1715630945": "ส่งคืนค่ายอดกำไรรวมทั้งหมดในรูปแบบสตริง", "1715680813": "สัญญาของคุณจะหมดอายุในเวลา 23:59:59 GMT +0 ในวันหมดอายุที่คุณเลือกไว้", "1717023554": "ส่งเอกสารต่างๆอีกครั้ง", + "1717474982": "CFD สำหรับตราสารทางการเงินและตราสาร Derived ผ่านแพลตฟอร์มที่ปรับแต่งได้", "1720451994": "เราจะเรียกเก็บค่าธรรมเนียมการโอน 2% หรือ {{minimum_fee}} {{currency}} แล้วแต่ว่าจำนวนใดจะสูงกว่า สำหรับการโอนเงินระหว่างบัญชีเงินตรารัฐบาล Deriv และบัญชีคริปโตเคอเรนซี่ Deriv", "1720968545": "อัปโหลดหนังสือเดินทางหน้าที่มีรูปภาพจากคอมพิวเตอร์ของคุณ", "1722056905": "เอกสารที่คุณยื่นไม่ได้รับการรองรับสําหรับประเทศของคุณ โปรดยื่นเอกสารที่ได้รับการรองรับสําหรับประเทศของคุณ", @@ -1830,6 +1833,7 @@ "1871664426": "บันทึก", "1873376454": "นี่คือระดับราคาที่คุณเลือกไว้ หากข้ามเส้นระดับราคานี้ไปสัญญาของคุณจะถูกยกเลิก", "1874481756": "ใช้บล็อกนี้เพื่อซื้อสัญญาอันจำเพาะที่คุณต้องการ โดยคุณสามารถจะเพิ่มบล็อกการซื้อได้หลายอัน รวมถึงบล็อกที่มีเงื่อนไขต่างๆ เพื่อที่คุณจะกําหนดเงื่อนไขการซื้อของคุณได้ บล็อกนี้จะใช้ได้จากภายในบล็อกเงื่อนไขการซื้อเท่านั้น", + "1874737957": "หากต้องการเทรด Multiplier ให้รับบัญชี Deriv Apps ก่อน", "1874756442": "BVI", "1875702561": "โหลดหรือสร้างบอทของคุณ", "1876015808": "สมาคมประกันสังคมและประกันอุบัติเหตุชาติหรือ SSNIT", @@ -1931,7 +1935,6 @@ "1973910243": "จัดการบัญชีของคุณ", "1974273865": "ขอบเขตนี้จะทำให้แอปของบริษัทอื่นสามารถดูกิจกรรมต่างๆในบัญชีของคุณรวมถึงการตั้งค่า ขีดจำกัด งบดุล ประวัติการเทรด และอื่นๆ", "1974903951": "หากคุณกด ใช่ ข้อมูลที่คุณป้อนจะสูญหาย", - "1977724653": "บัญชีนี้นำเสนอ CFD สำหรับตราสารทางการเงิน", "1978218112": "แอป Google Authenticator", "1981940238": "นโยบายการร้องเรียนนี้ ซึ่งอาจมีการเปลี่ยนแปลงเป็นครั้งคราว มีผลบังคับใช้กับบัญชี (ทั้งเดี่ยวหรือหลายบัญชี) ของคุณที่ลงทะเบียนกับ {{legal_entity_name_svg}} และ {{legal_entity_name_v}}", "1982790875": "อัพเกรดบัญชี <0/><1>{{account_title}} {{platform}} ของคุณ", @@ -1979,6 +1982,7 @@ "2014536501": "หมายเลขบัตร", "2014590669": "ตัวแปร '{{variable_name}}' นั้นไม่มีการตั้งค่า โปรดตั้งค่าสำหรับตัวแปร '{{variable_name}}' เพื่อการแจ้งเตือน", "2017672013": "กรุณาเลือกประเทศที่ออกเอกสาร", + "2018044371": "Multiplier ช่วยให้คุณเทรดด้วยเลเวอเรจและจำกัดความเสี่ยงของคุณอยู่เพียงที่เงินทุนทรัพย์ของคุณ <0>เรียนรู้เพิ่มเติม", "2019596693": "เอกสารนั้นถูกปฏิเสธโดยผู้ให้บริการ", "2020545256": "ปิดบัญชีของคุณหรือไม่?", "2021037737": "โปรดอัพเดทรายละเอียดของคุณเพื่อดำเนินการต่อ", @@ -2658,8 +2662,11 @@ "-2021135479": "ข้อมูลในช่องนี้ต้องระบุ", "-1002044401": "เลือกเอกสารของคุณ*", "-1272489896": "กรุณากรอกข้อมูลช่องนี้ให้ครบถ้วน", - "-1107320163": "ทําการเทรดของคุณให้เป็นอัตโนมัติ โดยไม่จําเป็นต้องเขียนชุดคำสั่งเอง", - "-829643221": "แพลตฟอร์มการเทรด Multipliers", + "-721346138": "แพลตฟอร์มการเทรดตราสารสิทธิและ Multiplier", + "-1874136267": "แพลตฟอร์มการเทรดโดยใช้บอทที่ดีที่สุด", + "-415943890": "แพลตฟอร์มการเทรดตราสารสิทธิแบบต้นตำรับ", + "-673722343": "แพลตฟอร์มการเทรดโดยใช้บอทแบบต้นตำรับ", + "-897826065": "แพลตฟอร์มการเทรด Multiplier", "-2115275974": "CFD", "-1585707873": "คณะกรรมการการเงิน", "-199154602": "คณะกรรมการบริการทางการเงินวานูอาตู", @@ -2678,12 +2685,10 @@ "-1879666853": "Deriv MT5", "-820028470": "ตราสารสิทธิ & Multipliers", "-1210359945": "โอนเงินเข้าบัญชีของคุณ", - "-81256466": "คุณต้องมีบัญชี Deriv เพื่อสร้างบัญชี CFD", "-1926387364": "เราได้ส่งอีบุ๊คของคุณไปยังอีเมล์ของคุณแล้ว โดยคุณก็ยังสามารถดาวน์โหลดมันได้ที่นี่", "-1057002564": "<0>ขณะนี้เราไม่สามารถอัพเกรดคุณไปใช้ Wallet ได้และเรากำลังพยายามแก้ไขปัญหานี้โดยเร็วที่สุดเท่าที่จะทำได้ กรุณา <1>ลองอีกครั้ง<0>", "-1424352390": "<0>Wallets<1> — วิธีการแสนชาญฉลาดเพื่อจัดการเงินทุนของคุณ", "-280236366": "เปิดใช้งานตอนนี้", - "-699372497": "ทำการเทรดด้วยเลเวอเรจและสเปรดที่แคบเพื่อผลตอบแทนที่ดีขึ้นจากการเทรดที่สำเร็จ <0>เรียนรู้เพิ่มเติม", "-145462920": "Deriv cTrader", "-982095728": "รับ", "-1790089996": "ใหม่!", @@ -2708,10 +2713,8 @@ "-643108528": "กฎระเบียบสำหรับพื้นที่นอกและในสหภาพยุโรป", "-1002556560": "เราไม่สามารถอัปเกรด Wallet ให้เสร็จสิ้นได้ โปรดลองอีกครั้งในภายหลังหรือติดต่อเราผ่านการแชทสด", "-1186807402": "โอนเงิน", - "-2051096382": "รับเงินผลตอบแทนหลายแบบผ่านการคาดการณ์อย่างถูกต้องถึงการเคลื่อนไหวของตลาดไปกับ <0>ตราสารสิทธิ หรือได้ประโยชน์จากข้อดีของสัญญาส่วนต่าง CFD โดยไม่เสี่ยงเกินไปกว่าเงินทุนทรัพย์เริ่มต้นของคุณไปกับ <1>Multipliers", - "-1638358352": "รับประโยชน์จากสัญญาส่วนต่างหรือ CFD โดยไม่เสี่ยงไปกว่าเงินทุนทรัพย์เริ่มต้นของคุณด้วย <0>Multipliers", + "-655191265": "ซื้อหรือขายในเวลาที่กำหนดด้วยราคาที่กำหนด <0>เรียนรู้เพิ่มเติม", "-744999940": "บัญชี Deriv", - "-749129977": "เปิดใช้บัญชี Deriv จริง แล้วเริ่มทำการเทรดและจัดการเงินของคุณ", "-2146691203": "ทางเลือกของกฎระเบียบ", "-249184528": "คุณสามารถสร้างบัญชีจริงภายใต้กฎระเบียบของสหภาพยุโรปหรือที่ไม่ใช่สหภาพยุโรป คลิกที่ไอคอน <0><0/>เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับบัญชีเหล่านี้", "-1505234170": "เยี่ยมชม Trader's Hub", @@ -2768,6 +2771,7 @@ "-1995606668": "จำนวน", "-2024290965": "การยืนยัน", "-811190405": "เวลา", + "-728508487": "ธุรกรรมล่าสุด {{currency}}", "-1984478597": "รายละเอียดของการทำธุรกรรมนี้มีอยู่บน CoinsPaid", "-316545835": "โปรดตรวจสอบให้แน่ใจว่า <0>รายละเอียดทั้งหมด นั้น <0>ถูกต้อง ก่อนทำการโอนเงินของคุณ", "-949073402": "ฉันขอยืนยันว่า ได้ตรวจสอบยืนยันข้อมูลการโอนเงินของลูกค้าแล้ว", @@ -3353,7 +3357,7 @@ "-482715448": "ไปที่รายละเอียดส่วนบุคคล", "-2072411961": "หลักฐานแสดงที่อยู่ของคุณได้รับการยืนยันแล้ว", "-384887227": "อัพเดทที่อยู่ในโปรไฟล์ของคุณ", - "-1779268418": "เทรด CFD แบบปลอดค่าสวอปบน MT5 ด้วย Forex หุ้น ดัชนีหุ้น สินค้าโภคภัณฑ์ คริปโตเคอเรนซี่ ETF และดัชนี Synthetic", + "-1470677931": "CFD สำหรับตราสารทางการเงิน", "-1998049070": "หากคุณยอมรับการใช้งานคุกกี้ของเราให้คลิกที่ยอมรับ สำหรับข้อมูลเพิ่มเติม <0>ดูนโยบายของเรา", "-402093392": "เพิ่มบัญชี Deriv", "-1721181859": "คุณจะต้องมีบัญชี {{deriv_account}}", @@ -4078,8 +4082,6 @@ "-3423966": "ตัวปิดเทรดเอากำไร<0 />ตัวหยุดการขาดทุน", "-1131753095": "รายละเอียดสัญญา {{trade_type_name}} ยังไม่มีให้บริการในขณะนี้ เรากำลังจัดเตรียมข้อมูลเพื่อพร้อมให้บริการในเร็วๆนี้", "-360975483": "คุณไม่ได้ทำธุรกรรมประเภทนี้ในช่วงเวลานี้", - "-561436679": "บัญชีนี้นำเสนอ CFD สำหรับตราสาร Derived", - "-1173266642": "บัญชีนี้ให้บริการ CFD บนแพลตฟอร์มการเทรดที่มีคุณสมบัติหลากหลาย", "-1226595254": "Turbos", "-922253974": "Rise/Fall", "-1361254291": "Higher/Lower", diff --git a/packages/translations/src/translations/tr.json b/packages/translations/src/translations/tr.json index 71695b4b47a1..1d49a71dbd44 100644 --- a/packages/translations/src/translations/tr.json +++ b/packages/translations/src/translations/tr.json @@ -68,13 +68,13 @@ "76635112": "Devam etmek için bu belgeleri yeniden gönderin", "76916358": "Para çekme sınırına ulaştınız. <0/>Para çekme işleminize devam etmek ve sınırı yükseltmek için lütfen kimlik kanıtınızı ve adresinizi yükleyin.", "76925355": "Botunuzun performansını kontrol edin", - "77945356": "Mobil uygulamamızla hareket halindeyken ticaret yapın.", "77982950": "Vanillaopsiyonlar, bir \"Call\" veya \"Put\" satın alarak dayanak varlığın yukarı (bullish) veya aşağı (bearish) yönünü tahmin etmenizi sağlar.", "81091424": "Yükseltmeyi tamamlamak için lütfen oturumu kapatın ve daha fazla hesap eklemek ve sizin Wallets ile işlem yapmak için tekrar oturum açın.", "81450871": "Bu sayfayı bulamadık", "82839270": "Pasaportunuzun fotoğrafınızı içeren sayfasını yükleyin.", "83202647": "Bloğu Daralt", "84402478": "İhtiyacım olan blokları nerede bulabilirim?", + "84924586": "Opsiyon ve Multipliers işlem yapmak için öncelikle bir Deriv Apps hesabı edinin.", "85343079": "Finansal değerlendirme", "85359122": "40 veya daha fazla", "85389154": "Cep telefonunuzda doğrulamaya devam etmek için gereken adımlar", @@ -162,7 +162,6 @@ "177099483": "Adres doğrulama işleminiz beklemede ve hesabınıza bazı kısıtlamalar getirdik. Adresiniz doğrulandığında kısıtlamalar kaldırılacaktır.", "178413314": "İlk isim 2 ile 50 karakter arasında olmalıdır.", "179083332": "Tarih", - "179737767": "Eski opsiyon ticaret platformumuz.", "181107754": "Senin yeni <0>{{platform}} {{eligible_account_to_migrate}} hesap(lar) işlem yapmaya hazırdır.", "181346014": "Notlar ", "181881956": "Sözleşme Türü: {{ contract_type }}", @@ -196,7 +195,6 @@ "211461880": "Genel adlar ve soyadları tahmin etmek kolaydır", "211487193": "Belge numarası (örn. kimlik kartı, pasaport, ehliyet)", "211847965": "<0>Kişisel bilgileriniz eksik. Para çekme işlemlerini etkinleştirmek için lütfen hesap ayarlarınıza gidin ve kişisel bilgilerinizi tamamlayın.", - "215975531": "Bu hesap, yüksek derece özelleştirilebilir bir CFD ticaret platformunda CFD'ler sunar.", "216650710": "Bir demo hesabı kullanıyorsunuz", "217377529": "5. Bir sonraki işlemler kârlı olursa, bir sonraki işlemin bahisi 2 USD azaltılacaktır. Bu, yukarıda 3 USD'lik bahisin 1 USD'ye düşürüldüğü yerde gösterilebilir. Bkz. A3.", "217403651": "St. Vincent & Grenadines", @@ -318,6 +316,7 @@ "344418897": "Bu işlem limitleri ve kendini-dışlama {{brand_website_name}} üzerinde harcadığınız para ve zamanın miktarını kontrol etmenize ve <0>sorumlu ticaret uygulamanıza yardımcı olur.", "345320063": "Geçersiz zaman bilgisi", "345818851": "Üzgünüz, dahili bir hata oluştu. Tekrar denemek için yukarıdaki onay kutusuna basın.", + "346843343": "Kopya ticareti ile finansal ve derived araçlara ilişkin CFD'ler.", "347029309": "Forex: standart/mikro", "347039138": "Yineleme (2)", "348951052": "Kasiyeriniz şu anda kilitli", @@ -335,7 +334,6 @@ "359809970": "Bu blok, seçilen zaman aralığında mum listesinden seçtiğiniz mum değerini verir. Açık fiyat, yakın fiyat, yüksek fiyat, düşük fiyat ve açık zaman seçeneklerinden birini belirleyebilirsiniz.", "360224937": "Mantık", "360773403": "Bot Oluşturucu", - "362946954": "Eski otomatik ticaret platformumuz.", "363576009": "- Yüksek fiyat: en yüksek fiyat", "363738790": "Tarayıcı", "363990763": "Satış fiyatı:", @@ -364,6 +362,7 @@ "386502387": "Bot çalışmıyor", "389923099": "Yakınlaştır", "390890891": "Son çeyrek", + "391038015": "Multipliers için mobil ticaret uygulaması.", "391915203": "Hedge etme", "392582370": "Fall Equals", "393789743": "Sadece harfler, boşluklar, noktalar, kısa çizgiler, kesme işaretleri.", @@ -914,6 +913,7 @@ "969987233": "Çıkış noktası, çıkış noktası ile alt bariyer arasındaki farkla orantılı olarak alt ve üst bariyer arasındaysa maksimum ödemeye kadar kazanç elde edin.", "970915884": "BİR", "974888153": "High-Low", + "975608902": "CFD ticareti yapmak için önce bir Deriv Apps hesabı edinin.", "975668699": "{{company}} 'in <0>Şartlar ve Koşullarını onaylıyor ve kabul ediyorum", "975950139": "İkamet edilen ülke", "977929335": "Hesap ayarlarıma git", @@ -941,6 +941,7 @@ "997311089": "Şifremi Değiştir", "999008199": "metin", "1001160515": "Sat", + "1002392396": "Derived enstrümanlara ilişkin CFD'ler.", "1002989598": "iOS: iCloud anahtar zinciri.", "1003876411": "Harfle veya rakamla başlamalı ve tire, nokta ve taksim işareti içerebilir.", "1004127734": "E-posta gönder", @@ -1368,6 +1369,7 @@ "1405584799": "aralık ile: {{ candle_interval_type }}", "1407191858": "DTrader", "1408844944": "Bu bloğun işlevini genişletmek için artı simgesini tıklayın.", + "1408852678": "Çeşitli finansal ve derived araçlarda daha az sermayeyle daha büyük pozisyonlarda işlem yapın. <0>Daha fazla bilgi edinin", "1411373212": "Güçlü parolalar en az 8 karakter içerir. büyük ve küçük harfleri, sayıları ve sembolleri birleştirin.", "1412405902": "Önemli notlara bakın", "1412535872": "Bu blok ile son ticaretin sonucunu kontrol edebilirsiniz. Yalnızca \"Alım satım koşullarını yeniden başlat\" kök bloğuna yerleştirilebilir.", @@ -1469,6 +1471,7 @@ "1501691227": "Deriv MT5'inizi Ekleyin <0>{{account_type_name}} Vanuatu Financial Services Commission tarafından düzenlenen Deriv (V) Ltd altındaki hesap.", "1502039206": "{{barrier}} üzerinde", "1502325741": "Parolanız e-posta adresinizle aynı olamaz.", + "1503419760": "Seçilen finansal ve derived araçlarda takassız CFD'ler.", "1503618738": "- Anlaşma referans kimliği: Sözleşme referans kimliği", "1505420815": "No payment agents found for your search", "1505898522": "Deste indir", @@ -1515,7 +1518,6 @@ "1557426040": "Demo Derived SVG", "1557682012": "Hesap ayarları", "1558972889": "{{ variable }} öğesini Basit Hareketli Ortalama {{ dummy }} olarak ayarlayın", - "1559220089": "Opsiyonlar ve Multipliers ticaret platformu.", "1560302445": "Kopyalandı", "1562374116": "Öğrenciler", "1566037033": "Satın alındı: {{longcode}} (ID: {{transaction_id}})", @@ -1661,6 +1663,7 @@ "1715630945": "Toplam kârı dize formatında verir", "1715680813": "Sözleşmeniz, seçtiğiniz vade tarihinde tam olarak 23:59:59 GMT +0'da sona erecektir.", "1717023554": "Belgeleri yeniden gönderin", + "1717474982": "Özelleştirilebilir bir platform aracılığıyla finansal ve derived araçlara ilişkin CFD'ler.", "1720451994": "Deriv fiat ve Deriv kripto para hesaplarınız arasındaki transferler için %2 transfer ücreti veya {{minimum_fee}} {{currency}}, hangisi yüksekse, ücret talep edeceğiz.", "1720968545": "Bilgisayarınızdan pasaport fotoğraf sayfası yükleyin", "1722056905": "Sağladığınız belge ülkeniz için desteklenmiyor. Lütfen ülkeniz için desteklenen bir belge sağlayın.", @@ -1830,6 +1833,7 @@ "1871664426": "Not", "1873376454": "Bu sizin seçtiğiniz bir fiyat seviyesidir. Bu bariyer aşılırsa, sözleşmeniz feshedilecektir.", "1874481756": "İstediğiniz sözleşmeyi satın almak için bu bloğu kullanın. Satın alma koşullarınızı tanımlamak için koşullu bloklarla birlikte birden fazla satın alma bloğu ekleyebilirsiniz. Bu blok yalnızca satın alma koşulları bloğunda kullanılabilir.", + "1874737957": "Multipliers işlem yapmak için önce bir Deriv Apps hesabı edinin.", "1874756442": "BVI", "1875702561": "Botunuzu yükleyin veya oluşturun", "1876015808": "Sosyal Güvenlik ve Ulusal Sigorta Vakfı", @@ -1931,7 +1935,6 @@ "1973910243": "Hesaplarınızı yönetin", "1974273865": "Bu imkan, üçüncü taraf uygulamaların hesap etkinliğinizi, ayarlarınızı, sınırlarınızı, bilançolarınızı, ticari satın alma geçmişinizi ve daha fazlasını görüntülemesine olanak tanır.", "1974903951": "Evet'e tıklarsanız, girdiğiniz bilgiler kaybolacak.", - "1977724653": "Bu hesap, finansal araçlar üzerinde CFD'ler sunar.", "1978218112": "Google Authenticator", "1981940238": "Zaman zaman değişebilen bu şikayet politikası {{legal_entity_name_svg}} ve {{legal_entity_name_v}} ile kayıtlı hesap(lar) ınız için geçerlidir.", "1982790875": "<0/><1>{{account_title}} {{platform}} hesab(lar)ınızı yükseltin", @@ -1979,6 +1982,7 @@ "2014536501": "Kart numarası", "2014590669": "'{{variable_name}}' değişkeninin değeri yok. Lütfen '{{variable_name}}' değişkeni için bildirimde bulunmak üzere bir değer ayarlayın.", "2017672013": "Lütfen belgenin düzenlendiği ülkeyi seçin.", + "2018044371": "Multipliers kaldıraçla işlem yapmanıza ve riskinizi bahis miktarınızla sınırlandırmanıza olanak tanır. <0>Daha fazla bilgi edinin", "2019596693": "Belge Sağlayıcı tarafından reddedilmiştir.", "2020545256": "Hesabınızı kapatıyor musunuz?", "2021037737": "Devam etmek için lütfen bilgilerinizi güncelleyin.", @@ -2658,8 +2662,11 @@ "-2021135479": "Bu alan zorunludur.", "-1002044401": "Belgenizi seçin*", "-1272489896": "Lütfen bu alanı doldurun.", - "-1107320163": "Kodlama gerekmeyecek şekilde işlem yapma sürecini otomatikleştirin.", - "-829643221": "Multipliers ticaret platformu.", + "-721346138": "Opsiyonlar ve multipliers ticaret platformu.", + "-1874136267": "Nihai bot ticaret platformu.", + "-415943890": "Eski opsiyon ticaret platformu.", + "-673722343": "Eski bot ticaret platformu.", + "-897826065": "Multipliers ticaret platformu.", "-2115275974": "CFDler", "-1585707873": "Finansal Komisyon", "-199154602": "Vanuatu Finansal Hizmetler Komisyonu", @@ -2678,12 +2685,10 @@ "-1879666853": "Deriv MT5", "-820028470": "Opsiyonlar & Multipliers", "-1210359945": "Hesaplarınıza para aktarın", - "-81256466": "Bir CFD hesabı oluşturmak için bir Deriv hesabına ihtiyacınız var.", "-1926387364": "E-kitabınızı e-postanıza gönderdik. Ayrıca buradan da indirebilirsiniz.", "-1057002564": "<0>Şu anda sizi Wallets yükseltemiyoruz ve bunu mümkün olan en kısa sürede düzeltmek için çalışıyoruz. Lütfen <1>tekrar dene<0>.", "-1424352390": "<0>Wallets<1> — Fonlarınızı yönetmenin daha akıllı bir yolu", "-280236366": "Şimdi etkinleştir", - "-699372497": "Başarılı işlemlerde daha iyi getiri elde etmek için kaldıraç ve sıkı spreadlerle ticaret yapın. <0>Daha fazla bilgi edin", "-145462920": "Deriv cTrader", "-982095728": "Edin", "-1790089996": "YENİ!", @@ -2708,10 +2713,8 @@ "-643108528": "AB dışı ve AB yönetmeliği", "-1002556560": "Wallet yükseltme işlemini tamamlayamıyoruz. Lütfen daha sonra tekrar deneyin veya canlı sohbet yoluyla bizimle iletişime geçin.", "-1186807402": "Transfer", - "-2051096382": "<0>Opsiyonlar ile piyasa fiyatı hareketlerini doğru bir şekilde tahmin ederek bir dizi ödeme kazanın veya <1>multipliers ilk bahisinizden daha fazlasını riske atmadan CFD'lerin avantajını elde edin.", - "-1638358352": "<0>Multipliers ile ilk bahisinizden daha fazlasını riske atmadan CFD'lerin avantajını elde edin.", + "-655191265": "Belirli bir zamanda, belirli bir fiyattan satın alın veya satın. <0>Daha fazla bilgi edinin", "-744999940": "Deriv hesabı", - "-749129977": "Gerçek bir Deriv hesabı edinin, ticarete başlayın ve paranızı yönetin.", "-2146691203": "Düzenleme seçimi", "-249184528": "AB veya AB dışı düzenlemeler kapsamında gerçek hesaplar oluşturabilirsiniz. Bu hesaplar hakkında daha fazla bilgi edinmek için <0><0/> simgesine tıklayın.", "-1505234170": "Trader's Hub turu", @@ -2768,6 +2771,7 @@ "-1995606668": "Miktar", "-2024290965": "Onaylar", "-811190405": "Zaman", + "-728508487": "{{currency}} son işlemler", "-1984478597": "Bu işlemin ayrıntıları CoinsPaid'de mevcuttur.", "-316545835": "Lütfen transferinizi yapmadan önce <0>tüm bilgilerin <0>doğru olduğundan emin olun.", "-949073402": "Müşterinin transfer bilgilerini doğruladığımı onaylıyorum.", @@ -3353,7 +3357,7 @@ "-482715448": "Kişisel bilgiler'e gidin", "-2072411961": "Adres kanıtınız doğrulandı", "-384887227": "Profilinizdeki adresi güncelleyin.", - "-1779268418": "MT5'te forex, hisse senetleri, hisse senedi endeksleri, emtia kripto para birimleri, ETF'ler ve sentetik endekslerle takassız CFD ticareti yapın.", + "-1470677931": "Finansal araçlara ilişkin CFD'ler.", "-1998049070": "Çerezleri kullanmayı kabul ediyorsanız Kabul Et'i tıklayın. Daha fazla bilgi için, <0>politikamıza bakın.", "-402093392": "Deriv Hesabı Ekle", "-1721181859": "Bir {{deriv_account}} hesabına ihtiyacınız olacak", @@ -4078,8 +4082,6 @@ "-3423966": "Kar al<0 />Zarar durdur", "-1131753095": "{{trade_type_name}} sözleşmesi ayrıntıları şu anda mevcut değil. Yakında onları kullanıma sunmaya çalışıyoruz.", "-360975483": "Bu süre boyunca bu tür bir işlem yapmadınız.", - "-561436679": "Bu hesap, türev enstrümanlar üzerinde CFD'ler sunar.", - "-1173266642": "Bu hesap, zengin özelliklere sahip bir ticaret platformunda CFD'ler sunar.", "-1226595254": "Turbos", "-922253974": "Rise/Fall", "-1361254291": "Higher/Lower", diff --git a/packages/translations/src/translations/vi.json b/packages/translations/src/translations/vi.json index 3790cb1b3447..1f4ef9eb574f 100644 --- a/packages/translations/src/translations/vi.json +++ b/packages/translations/src/translations/vi.json @@ -68,13 +68,13 @@ "76635112": "Để tiếp tục, hãy gửi lại các giấy tờ này", "76916358": "Bạn đã đạt giới hạn rút tiền.<0/>Vui lòng tải lên giấy tờ xác thực danh tính và địa chỉ của bạn để được nâng giới hạn và tiếp tục rút tiền.", "76925355": "Kiểm tra hiệu suất bot của bạn", - "77945356": "Ứng dụng di động giúp bạn giao dịch mọi lúc mọi nơi.", "77982950": "Vanilla là giao dịch quyền chọn cho phép bạn dự đoán hướng giá lên (tăng) hoặc giá xuống (giảm) của tài sản cơ sở bằng cách mua một lệnh “Call” hoặc “Put”.", "81091424": "Để hoàn tất việc nâng cấp, vui lòng đăng xuất và đăng nhập lại để thêm nhiều tài khoản và thực hiện giao dịch với Wallet của bạn.", "81450871": "Chúng tôi không thể tìm thấy trang đó", "82839270": "Tải lên trang có ảnh của bạn trong hộ chiếu.", "83202647": "Thu gọn Khung", "84402478": "Tôi có thể tìm thấy các khối tôi cần ở đâu?", + "84924586": "Để giao dịch các tùy chọn và số nhân, trước tiên hãy đăng ký tài khoản Deriv Apps.", "85343079": "Đánh giá tài chính", "85359122": "40 hoặc hơn", "85389154": "Các bước cần thiết để tiếp tục xác minh trên điện thoại di động của bạn", @@ -162,7 +162,6 @@ "177099483": "Việc xác minh địa chỉ của bạn đang được xử lý. Chúng tôi cũng đang đặt một số hạn chế đối với tài khoản của bạn. Các hạn chế sẽ được dỡ bỏ sau khi địa chỉ của bạn được xác minh.", "178413314": "Tên phải có từ 2 đến 50 ký tự.", "179083332": "Ngày", - "179737767": "Nền tảng giao dịch quyền chọn nổi tiếng qua nhiều năm của chúng tôi.", "181107754": "(Các) tài khoản <0>{{platform}} {{eligible_account_to_migrate}} mới của bạn đã sẵn sàng để giao dịch.", "181346014": "Lưu ý ", "181881956": "Loại hợp đồng: {{ contract_type }}", @@ -196,7 +195,6 @@ "211461880": "Tên thường và họ rất dễ đoán", "211487193": "Số giấy tờ (ví dụ: căn cước công dân, hộ chiếu, bằng lái xe)", "211847965": "<0>Thông tin cá nhân của bạn không đầy đủ. Vui lòng đi đến phần cài đặt tài khoản của bạn và điền đầy đủ thông tin cá nhân để có thể rút tiền.", - "215975531": "Tài khoản này có thể giao dịch CFD trên nền tảng giao dịch CFD có khả năng tùy chỉnh cao.", "216650710": "Bạn đang sử dụng một tài khoản thử nghiệm", "217377529": "5. Nếu các giao dịch tiếp theo có lãi, cổ phần cho giao dịch sau sẽ giảm 2 USD. Điều này có thể được hiển thị ở trên trong đó số tiền đặt cược 3 USD được giảm xuống còn 1 USD. Xem A3.", "217403651": "St. Vincent & Grenadines", @@ -318,6 +316,7 @@ "344418897": "Các tính năng giới hạn giao dịch và quyền tự ngăn giao dịch giúp bạn kiểm soát số tiền và thời gian bạn dành cho {{brand_website_name}} và thực hiện <0>giao dịch có trách nhiệm.", "345320063": "Mốc thời gian không hợp lệ", "345818851": "Rất tiếc, đã xảy ra lỗi nội bộ. Nhấn vào hộp đánh dấu ở trên để thử lại.", + "346843343": "CFD trên các công cụ tài chính và có nguồn gốc với giao dịch sao chép.", "347029309": "Forex: Tiêu chuẩn/Micro", "347039138": "Phép lặp (2)", "348951052": "Cổng thanh toán của bạn đang bị khóa", @@ -335,7 +334,6 @@ "359809970": "Khung này cung cấp cho bạn giá trị nến đã chọn từ danh sách nến trong khoảng thời gian tuỳ chọn. Bạn có thể chọn từ giá mở, giá đóng, giá cao, giá thấp và thời gian mở.", "360224937": "Logic", "360773403": "Tạo Bot", - "362946954": "Nền tảng giao dịch tự động nổi tiếng qua nhiều năm của chúng tôi.", "363576009": "- Giá cao: giá cao nhất", "363738790": "Trình duyệt", "363990763": "Giá bán:", @@ -364,6 +362,7 @@ "386502387": "Bot đang không chạy", "389923099": "Phóng to", "390890891": "Quý trước", + "391038015": "Ứng dụng giao dịch di động cho hệ số nhân.", "391915203": "Bảo hiểm rủi ro", "392582370": "Giảm tương đương", "393789743": "Chỉ được dùng chữ cái, dấu cách, dấu chấm, dấu gạch nối, dấu nháy đơn.", @@ -914,6 +913,7 @@ "969987233": "Thu về tối đa lợi nhuận nếu giá thoát nằm giữa ngưỡng trên và dưới, tính theo tỷ lệ khác biệt giữa giá thoát và ngưỡng dưới.", "970915884": "MỘT", "974888153": "High-Low", + "975608902": "Để giao dịch CFD, trước tiên hãy đăng ký tài khoản Deriv Apps.", "975668699": "Tôi xác nhận và đồng ý với <0>Điều khoản và Điều kiện của {{company}}", "975950139": "Quốc gia cư trú", "977929335": "Chuyển tới cài đặt tài khoản của tôi", @@ -941,6 +941,7 @@ "997311089": "Thay đổi mật khẩu", "999008199": "văn bản", "1001160515": "Bán", + "1002392396": "CFD trên các công cụ có nguồn gốc.", "1002989598": "iOS: Móc khóa iCloud.", "1003876411": "Bạn nên bắt đầu bằng chữ cái hoặc số và có thể có dấu gạch ngang, dấu chấm và dấu gạch chéo.", "1004127734": "Gửi email", @@ -1368,6 +1369,7 @@ "1405584799": "với thời lượng: {{ candle_interval_type }}", "1407191858": "DTrader", "1408844944": "Nhấp vào biểu tượng dấu cộng để mở rộng chức năng của khung này.", + "1408852678": "Giao dịch các vị thế lớn hơn với ít vốn hơn trên các công cụ tài chính và có nguồn gốc đa dạng. <0>Tìm hiểu thêm", "1411373212": "Mật khẩu mạnh chứa ít nhất 8 ký tự, kết hợp giữa chữ hoa, chữ thường, số và ký hiệu.", "1412405902": "Xem ghi chú quan trọng", "1412535872": "Bạn có thể kiểm tra kết quả của lần giao dịch cuối bằng khung này. Khung này chỉ có thể được đặt trong khối gốc \"Khởi động lại điều kiện giao dịch\".", @@ -1469,6 +1471,7 @@ "1501691227": "Thêm tài khoản Deriv MT5 <0>{{account_type_name}} của bạn thông qua Deriv (V) Ltd, được quản lý bởi Vanuatu Financial Services Commission.", "1502039206": "Quá {{barrier}}", "1502325741": "Mật khẩu không được trùng với mật khẩu email của bạn.", + "1503419760": "CFD không hoán đổi trên các công cụ tài chính và có nguồn gốc được chọn.", "1503618738": "- ID tham chiếu của thỏa thuận: ID tham chiếu của hợp đồng", "1505420815": "Không tìm thấy đại lý thanh toán nào cho tìm kiếm của bạn", "1505898522": "Tải xuống ngăn xếp", @@ -1515,7 +1518,6 @@ "1557426040": "Mô phỏng SVG thử nghiệm", "1557682012": "Cài đặt tài khoản", "1558972889": "đặt {{ variable }} tới Đường trung bình biến thiên đơn giản {{ dummy }}", - "1559220089": "Nền tảng giao dịch Quyền chọn và Multiplier.", "1560302445": "Đã sao chép", "1562374116": "Sinh viên", "1566037033": "Đã mua: {{longcode}} (ID: {{transaction_id}})", @@ -1661,6 +1663,7 @@ "1715630945": "Trả về tổng lợi nhuận ở định dạng chuỗi", "1715680813": "Hợp đồng của bạn sẽ hết hạn vào lúc 23:59:59 GMT +0 vào ngày hết hạn bạn đã chọn.", "1717023554": "Gửi lại giấy tờ", + "1717474982": "CFD trên các công cụ tài chính và có nguồn gốc thông qua một nền tảng có thể tùy chỉnh.", "1720451994": "Chúng tôi sẽ tính phí chuyển khoản 2% hoặc {{minimum_fee}} {{currency}}, tùy theo mức nào cao hơn, đối với chuyển khoản giữa tài khoản tiền pháp định và tài khoản tiền điện tử Deriv của bạn.", "1720968545": "Tải ảnh hộ chiếu của bạn từ máy tính", "1722056905": "Giấy tờ bạn cung cấp không hợp lệ ở quốc gia bạn. Vui lòng cung cấp giấy tờ hợp lệ.", @@ -1830,6 +1833,7 @@ "1871664426": "Lưu ý", "1873376454": "Đây là mức giá mà bạn chọn. Nếu vượt quá mức này, hợp đồng của bạn sẽ tự động bị chấm dứt.", "1874481756": "Sử dụng khung này để mua hợp đồng cụ thể mà bạn muốn. Bạn có thể thêm nhiều khung Mua cùng với các khung có điều kiện để xác định điều kiện mua của bạn. \bKhung này chỉ có thể được sử dụng trong khung Điều kiện mua hàng.", + "1874737957": "Để giao dịch số nhân, trước tiên hãy đăng ký tài khoản Deriv Apps.", "1874756442": "BVI", "1875702561": "Tải hoặc tạo bot của bạn", "1876015808": "Social Security and National Insurance Trust", @@ -1931,7 +1935,6 @@ "1973910243": "Quản lý tài khoản của bạn", "1974273865": "Cho phép ứng dụng của bên thứ ba xem hoạt động tài khoản, cài đặt, giới hạn, bảng cân đối kế toán, lịch sử giao dịch và nhiều quyền khác nữa.", "1974903951": "Nếu bạn chọn Có, thông tin bạn nhập sẽ bị mất.", - "1977724653": "Tài khoản này cung cấp giao dịch CFD cho các công cụ tài chính.", "1978218112": "Google Authenticator", "1981940238": "Chính sách khiếu nại này có thể thay đổi theo thời gian, áp dụng cho (các) tài khoản của bạn đã đăng ký với {{legal_entity_name_svg}} và {{legal_entity_name_v}}.", "1982790875": "Nâng cấp (các) tài khoản <0/><1>{{account_title}} {{platform}} của bạn", @@ -1979,6 +1982,7 @@ "2014536501": "Số thẻ", "2014590669": "Biến '{{variable_name}}' không có giá trị. Vui lòng chọn một giá trị cho biến '{{variable_name}}' để thông báo.", "2017672013": "Vui lòng chọn quốc gia đã cấp giấy tờ.", + "2018044371": "<0>Multipliers cho phép bạn giao dịch bằng đòn bẩy và hạn chế rủi ro đối với tiền cược của bạn. Tìm hiểu thêm", "2019596693": "Giấy tờ đã bị từ chối bởi Nhà cung cấp.", "2020545256": "Bạn muốn đóng tài khoản?", "2021037737": "Vui lòng cập nhật thông tin của bạn để tiếp tục.", @@ -2658,8 +2662,11 @@ "-2021135479": "Cần có thông tin này.", "-1002044401": "Chọn giấy tờ của bạn*", "-1272489896": "Vui lòng hoàn thành thông tin ở mục này.", - "-1107320163": "Tự động hoá giao dịch của bạn. Không cần kiến thức về lập trình.", - "-829643221": "Nền tảng giao dịch Multiplier.", + "-721346138": "Các nền tảng giao dịch tùy chọn và nhân số.", + "-1874136267": "Nền tảng giao dịch bot tối ưu.", + "-415943890": "Nền tảng giao dịch quyền chọn kế thừa.", + "-673722343": "Nền tảng giao dịch bot kế thừa.", + "-897826065": "Nền tảng giao dịch nhân số.", "-2115275974": "CFD", "-1585707873": "Financial Commission", "-199154602": "Vanuatu Financial Services Commission", @@ -2678,12 +2685,10 @@ "-1879666853": "Deriv MT5", "-820028470": "Quyền. & Multipliers", "-1210359945": "Chuyển tiền vào tài khoản của bạn", - "-81256466": "Bạn cần tài khoản Deriv để tạo tài khoản CFD.", "-1926387364": "Chúng tôi đã gửi sách điện tử của bạn đến email của bạn. Bạn cũng có thể tải xuống tại đây.", "-1057002564": "<0>Chúng tôi không thể nâng cấp cho bạn lên Wallet tại thời điểm này và đang làm việc để khắc phục vấn đề này càng sớm càng tốt. Vui lòng <1>thử lại<0>.", "-1424352390": "<0>Wallets<1> — Một cách thông minh hơn để quản lý tiền của bạn", "-280236366": "Kích hoạt ngay bây giờ", - "-699372497": "Giao dịch với đòn bẩy và chênh lệch giá thấp để có lợi nhuận cao hơn. <0>Tìm hiểu thêm", "-145462920": "Deriv cTrader", "-982095728": "Tạo", "-1790089996": "MỚI!", @@ -2708,10 +2713,8 @@ "-643108528": "Quy định cho những nước thuộc và không thuộc châu Âu", "-1002556560": "Chúng tôi không thể hoàn thành việc nâng cấp Wallet. Vui lòng thử lại sau hoặc liên hệ với chúng tôi qua live chat.", "-1186807402": "Chuyển khoản", - "-2051096382": "Nhận các khoản chi trả bằng cách dự đoán đúng biến động của thị trường với giao dịch <0>quyền chọn, hoặc hưởng những lợi ích của giao dịch CFD mà không phải chịu rủi ro mất nhiều hơn số tiền đầu tư ban đầu với giao dịch <1>multipliers.", - "-1638358352": "Hưởng mọi lợi ích của giao dịch CFD mà không phải mạo hiểm nhiều hơn số tiền cược ban đầu của bạn với <0>Multipliers.", + "-655191265": "Mua hoặc bán tại một thời điểm cụ thể với một mức giá cụ thể. <0>Tìm hiểu thêm", "-744999940": "Tài khoản Deriv", - "-749129977": "Tạo tài khoản Deriv thực, bắt đầu giao dịch và quản lý tiền của bạn.", "-2146691203": "Lựa chọn giám sát", "-249184528": "Bạn có thể tạo tài khoản thực theo quy định của châu Âu hoặc theo quy định của các nước không thuộc châu Âu. Nhấp vào biểu tượng <0><0/> để tìm hiểu thêm về các tài khoản này.", "-1505234170": "Khám phá Trader's Hub", @@ -2768,6 +2771,7 @@ "-1995606668": "Số tiền", "-2024290965": "Xác nhận", "-811190405": "Thời gian", + "-728508487": "{{currency}} giao dịch gần đây", "-1984478597": "Các thông tin của giao dịch này có sẵn trên CoinsPaid.", "-316545835": "Vui lòng đảm bảo <0>tất cả các thông tin là <0>chính xác trước khi thực hiện chuyển khoản.", "-949073402": "Tôi xác nhận rằng tôi đã xác minh thông tin chuyển khoản của khách hàng.", @@ -3353,7 +3357,7 @@ "-482715448": "Đi đến Thông tin cá nhân", "-2072411961": "Giấy tờ xác thực địa chỉ của bạn đã được chấp thuận", "-384887227": "Cập nhật địa chỉ trong hồ sơ của bạn.", - "-1779268418": "Giao dịch CFD không phí qua đêm trên MT5 với các thị trường forex, cổ phiếu, chỉ số chứng khoán, tiền điện tử hàng hóa, ETF và chỉ số tổng hợp.", + "-1470677931": "CFD trên các công cụ tài chính.", "-1998049070": "Nếu bạn đồng ý cho việc sử dụng cookies của chúng tôi, nhấp vào Chấp nhận. Để biết thêm thông tin <0>xem quy định.", "-402093392": "Thêm tài khoản Deriv", "-1721181859": "Bạn cần một tài khoản {{deriv_account}}", @@ -4078,8 +4082,6 @@ "-3423966": "Chốt lời<0 />Cắt lỗ", "-1131753095": "Thông tin chi tiết của hợp đồng {{trade_type_name}} hiện chưa có sẵn. Chúng tôi đang chuẩn bị và sẽ cố gắng gửi đến bạn sớm nhất có thể.", "-360975483": "Bạn chưa thực hiện giao dịch nào của tài sản này. ", - "-561436679": "Tài khoản này cung cấp giao dịch CFD cho các công cụ mô phỏng.", - "-1173266642": "Tài khoản có thể giao dịch CFD trên nền tảng giao dịch nhiều tính năng.", "-1226595254": "Turbos", "-922253974": "Rise/Fall", "-1361254291": "Higher/Lower", diff --git a/packages/translations/src/translations/zh_cn.json b/packages/translations/src/translations/zh_cn.json index f1191fd7459a..77bc2503b4eb 100644 --- a/packages/translations/src/translations/zh_cn.json +++ b/packages/translations/src/translations/zh_cn.json @@ -1,25 +1,25 @@ { "1485191": "1:1000", "2082741": "附加文件号码", - "2091451": "Deriv 机器人 - 自动交易伙伴", + "2091451": "Deriv Bot - 自动交易伙伴", "3125515": "Deriv MT5 密码是用于登录桌面、网络和手机应用上的 Deriv MT5 账户。", "3215342": "过去30天", "3420069": "为避免延迟,输入的<0>姓名和<0>出生日期需与身份证件显示的完全一致。", "4547840": "<0>验证账户,以便转账。 <1>立即验证", "5149403": "了解有关交易类型的更多信息", "7100308": "小时数必须在 0 和 23 之间。", - "9488203": "Deriv 机器人 是用于交易数字期权、基于网络的策略构建器。它是让您通过拖放“程序块”构建自己的自动交易机器人的平台。", + "9488203": "Deriv Bot 是用于交易数字期权、基于网络的策略构建器。它是让您通过拖放“程序块”构建自己的自动交易 Bot的平台。", "9757544": "请提交地址证明", "11539750": "设置{{ variable }} 为 相对强弱指数数组{{ dummy }}", - "11706633": "亏损阈值: 如亏损总额超出此金额,机器人将停止交易。", + "11706633": "亏损阈值: 如亏损总额超出此金额, Bot将停止交易。", "11872052": "是,我将稍后再来", "14365404": "{{ message_type }}的请求已失败,{{ delay }}秒后重试", "15377251": "盈利金额: {{profit}}", "17843034": "查看身份证明文件验证状态", "19424289": "用户名", - "19552684": "美元篮子", + "19552684": "美元 Basket", "21035405": "请告诉我们您为什么要离开。(最多选择{{ allowed_reasons }} 个原因。)", - "24900606": "黄金篮子", + "24900606": "黄金 Basket", "25854018": "此程序块在开发人员控制台中显示消息,输入内容可以是文本字符串、数字、布尔值或数据数组。", "26566655": "摘要", "26596220": "金融", @@ -37,7 +37,7 @@ "46523711": "身份证明已通过验证", "49404821": "如果买入 “<0>{{trade_type}}” 期权,当最终价格为行权价的 {{payout_status}} ,则到期时将获得赔付。否则,“<0>{{trade_type}}” 期权将一文不值地过期。", "53801223": "香港 50", - "53964766": "5. 点击保存下载机器人。可以选择将机器人下载到设备或谷歌云端硬盘。", + "53964766": "5. 点击保存下载 Bot。可以选择将 Bot下载到设备或谷歌云端硬盘。", "54185751": "少于$100,000", "55340304": "保留当前合约?", "55916349": "所有", @@ -53,7 +53,7 @@ "65982042": "总计", "66519591": "投资者密码", "66610627": "由于自拍照不清晰,无法验证。请拍摄更清晰的照片,然后再试一次。确保拍照的位置有足够的光线,并且整张脸都在画面中。", - "67923436": "不,当网络浏览器关闭时 Deriv 机器人将停止运行。", + "67923436": "不,当网络浏览器关闭时 Deriv Bot将停止运行。", "68885999": "遇到错误时重复前次交易。", "69005593": "以下例子中的1分钟烛线价位开始后30秒或更久,交易重新开始。", "71016232": "嫩模币/美元", @@ -67,18 +67,18 @@ "74963864": "Under", "76635112": "要继续,请重新提交这些文件", "76916358": "已达到提款限额。<0/>请上传身份和地址证明,以提高提款限额,并继续提款。", - "76925355": "检查机器人的表现", - "77945356": "使用移动应用程序随时随地交易.", + "76925355": "检查 Bot的表现", "77982950": "Vanilla 期权允许通过购买 “Call” 或 “Put” 来预测标的资产的向上(看涨)或向下(看跌)走势。", "81091424": "要完成升级,请退出并重新登录,以添加更多账户并使用 Wallets 交易。", "81450871": "无法找到页面", "82839270": "上传包含照片的护照页面。", "83202647": "折叠程序块", "84402478": "哪里可以找到所需的程序块?", + "84924586": "要交易期权和 multipliers,请先获得 Deriv 应用程序账户。", "85343079": "财务评估", "85359122": "40 或以上", "85389154": "手机继续验证所需的步骤", - "90266322": "2. 与您新创建的Telegram 机器人开始聊天,并确保在继续下一步骤前给其发送消息。(例如,机器人你好!)", + "90266322": "2. 与您新创建的Telegram Bot开始聊天,并确保在继续下一步骤前给其发送消息。(例如, Bot你好!)", "91993812": "鞅策略于十八世纪由法国数学家Paul Pierre Levy推广,是用了百多年的经典交易技术。", "93154671": "1. 点击统计面板底部的重置。", "96381225": "ID 验证失败", @@ -120,7 +120,7 @@ "132689841": "Web 终端交易", "133523018": "请前往存款页面获取地址。", "133536621": "和", - "133655768": "注意:如果想了解有关机器人生成器的更多信息,可以前往<0>教程选项卡。", + "133655768": "注意:如果想了解有关 Bot生成器的更多信息,可以前往<0>教程选项卡。", "137589354": "评估交易经验以及产品是否适合您。请提供准确完整的答案,因为这些答案可能会影响评估结果。", "138055021": "综合指数", "139454343": "确认我的限额", @@ -134,7 +134,7 @@ "145736466": "自拍", "150156106": "保存更改", "150486954": "令牌名称", - "151279367": "2. 设置购买条件。在本例中,机器人将在 Rise 合约开始时和合约结束后购买该合约。", + "151279367": "2. 设置购买条件。在本例中, Bot将在 Rise 合约开始时和合约结束后购买该合约。", "151646545": "无法读取文件{{name}}", "152415091": "数学", "152524253": "在我们极受欢迎、人性化的平台进行全球市场交易。", @@ -143,7 +143,7 @@ "158355408": "某些服务可能暂时不可用。", "160746023": "泰达作为 Omni 代币(USDT)是托管在比特币区块链 Omni 层的泰达币版本。", "160863687": "未检测到相机", - "164112826": "此程序块允许从URL载入在远程服务器保存的程序块(如有)。只有当机器人操作时才能载入。", + "164112826": "此程序块允许从URL载入在远程服务器保存的程序块(如有)。只有当 Bot操作时才能载入。", "164564432": "由于系统维护,暂时无法存款。一旦维护完成,您即可存款。", "165294347": "请前往账户设置并设置居住国/地区以访问收银台。", "165312615": "用电话继续操作", @@ -162,7 +162,6 @@ "177099483": "地址验证正在处理,已经对账户设置了一些限制。一旦地址通过验证,限制就会解除。", "178413314": "名字长度须介于 2至50 个字符。", "179083332": "日期", - "179737767": "传统期权交易平台。", "181107754": "<0>{{platform}} {{eligible_account_to_migrate}}新账户已准备好进行交易。", "181346014": "备注 ", "181881956": "合约类型: {{ contract_type }}", @@ -196,7 +195,6 @@ "211461880": "常用名称和姓氏容易猜到", "211487193": "证件号码(如身份证、护照、驾驶执照等)", "211847965": "<0>个人详细信息 不完整。请前往账户设置并填写个人详细信息,以启用取款。", - "215975531": "此账户在可定制的差价合约交易平台提供差价合约。", "216650710": "您正在使用演示账户", "217377529": "5. 如果下一笔交易获利,则下一笔交易的投注额将减少 2 美元。如上所示,3 美元的投注额减为 1 美元。参见 A3。", "217403651": "圣文森特和格林纳丁斯", @@ -236,7 +234,7 @@ "258448370": "MT5", "258912192": "交易评估", "260069181": "尝试加载URL时发生错误", - "260086036": "当机器人开始运行时把程序块置于此处以执行一次任务。", + "260086036": "当 Bot开始运行时把程序块置于此处以执行一次任务。", "260361841": "税务标识号不可大于25个字符。", "260393332": "由于文件仍在审核中,不能再存款。一旦审核通过,将在 3 天内通过电子邮件通知。", "261074187": "4. 将程序块加载到工作区后,根据需要调整参数,或点击运行开始交易。", @@ -253,7 +251,7 @@ "270610771": "下例中,烛线开盘价被分配到\"candle_open_price“变量。", "270712176": "下降", "270780527": "文件上传已达上限。", - "271637055": "机器人运行时不可下载。", + "271637055": " Bot运行时不可下载。", "272179372": "此程序块一般用于调整下一个交易的参数及执行止损/止盈逻辑。", "273350342": "复制令牌并粘贴到应用程序内。", "273728315": "不可为0或为空", @@ -281,7 +279,7 @@ "294043810": "确认税务信息是准确和完整的。", "294305803": "账户设置管理", "294335229": "以市价卖出", - "296017162": "返回机器人", + "296017162": "返回 Bot", "301441673": "选择护照或其他政府签发的身份证件上显示的公民身份/国籍。", "304309961": "正在评估取款请求。如果需要,可取消此交易。一旦开始处理后,就不能取消。", "304506198": "总余额:", @@ -295,12 +293,12 @@ "318984807": "此程序块以指定次数重复其内含的说明。", "321457615": "糟糕,出错了!", "323179846": "每一烛形图线可设置为一分钟到一天的时间间隔。", - "323209316": "选择Deriv 机器人策略", - "323360883": "篮子", + "323209316": "选择Deriv Bot策略", + "323360883": "Baskets", "325662004": "扩大程序块", "325763347": "结果", "326770937": "取款 {{currency}} ({{currency_symbol}}) 到钱包", - "327534692": "持续时间值是不允许的。要运行机器人,请输入{{min}}。", + "327534692": "持续时间值是不允许的。要运行 Bot,请输入{{min}}。", "328539132": "以指定次数重复内部说明", "329353047": "马耳他金融服务管理局(MFSA)(牌照编号 IS/70156)", "329404045": "<0>切换到真实账户<1>以开立{{platform}}{{account_title}} 账户。", @@ -318,6 +316,7 @@ "344418897": "这些交易限制和自我禁止功能可帮助您控制花在 {{brand_website_name}} 的金钱和时间,并执行<0>负责任交易。", "345320063": "无效的时间戳", "345818851": "抱歉,发生了内部错误。点击上面的复选框再试一次。", + "346843343": "带有跟单交易的金融和 derived 工具差价合约。", "347029309": "外汇:标准/微型手", "347039138": "循环 (2)", "348951052": "收银台目前已锁定", @@ -334,8 +333,7 @@ "359649435": "无效的烛线列表", "359809970": "此程序块在选定时间间隔内提供烛形图列表中指定的烛形线数值。您可在开盘价、平仓价、高价、低价和开盘时间等选项中选择。", "360224937": "逻辑", - "360773403": "机器人生成器", - "362946954": "传统自动交易平台.", + "360773403": " Bot生成器", "363576009": "- 高价: 最高价", "363738790": "浏览器", "363990763": "卖出价格:", @@ -352,7 +350,7 @@ "373495360": "此程序块返回内含指定期间内所有数值列表的整个简单移动平均线。", "374537470": "\"{{text}}\"没有结果", "375714803": "交易取消错误", - "377231893": "Deriv 机器人在欧盟不可用", + "377231893": "Deriv Bot在欧盟不可用", "377538732": "主要参数", "379523479": "为避免资金损失,请勿在 Admin 范围内与未经授权的各方共享代币。", "380606668": "跳动点", @@ -364,6 +362,7 @@ "386502387": "自动交易已停止", "389923099": "放大", "390890891": "上一季", + "391038015": "multipliers 移动交易应用程序。", "391915203": "对冲", "392582370": "Fall Equals", "393789743": "仅限字母、空格、句点、连字符、撇号。", @@ -378,7 +377,7 @@ "412433839": "我同意<0>条款和条件.", "413594348": "只允许字母、数字、空格、连字符、句号和正斜杠。", "417864079": "存款后将无法更改币种.", - "418265501": "演示衍生资产", + "418265501": "演示 Derived", "419485005": "现价", "419496000": "当利润超过或与该金额等值时,合约将自动平仓。此程序块只能与 multipliers 交易类型一起使用。", "420072489": "差价合约交易频率", @@ -390,7 +389,7 @@ "427134581": "尝试使用其他文件类型。", "427617266": "比特币", "429970999": "为避免延误,请准确输入{{document_name}} 上的<0>姓名。", - "431267979": "以下是出门时使用 Deriv 机器人的快速指南。", + "431267979": "以下是出门时使用 Deriv Bot的快速指南。", "432273174": "1:100", "432508385": "止盈: {{ currency }} {{ take_profit }}", "432519573": "文档已上传", @@ -405,7 +404,7 @@ "437485293": "文件类型不受支持", "437904704": "最大未平仓头寸", "438067535": "$500,000以上", - "439398769": "此策略当前与 Deriv 机器人不兼容。", + "439398769": "此策略当前与 Deriv Bot不兼容。", "442281706": "您刚刚删除了一个程序块。", "442520703": "$250,001 - $500,000", "443559872": "金融 SVG", @@ -431,7 +430,7 @@ "466424460": "奧斯卡研磨", "466837068": "是,请提高限额", "467839232": "我定期在其他平台交易外汇差价合约和其他复杂的金融工具。", - "471402292": "机器人每次运行都使用单一的交易类型。", + "471402292": " Bot每次运行都使用单一的交易类型。", "473154195": "设置", "474306498": "很遗憾看到您离开。账户现已关闭。", "475492878": "试试综合指数", @@ -499,10 +498,10 @@ "551569133": "了解交易限制的详细信息", "554135844": "编辑", "554410233": "这是10个最常用的密码", - "555351771": "定义好了交易参数和交易期权以后,当达到特定条件时,您还能指示机器人购入合约。您可使用条件程序块和指示器来帮助机器人做决定,以实现此功能。", + "555351771": "定义好了交易参数和交易期权以后,当达到特定条件时,您还能指示 Bot购入合约。您可使用条件程序块和指示器来帮助 Bot做决定,以实现此功能。", "555881991": "国民身份证号码单", - "558866810": "运行机器人", - "559224320": "经典拖放工具为高级用户创建含弹出式交易图表的交易机器人。", + "558866810": "运行 Bot", + "559224320": "经典拖放工具为高级用户创建含弹出式交易图表的交易 Bot。", "560759471": "合约开始后,您将看到这些详细信息。", "561982839": "更改币种", "562599414": "此程序块返回选定交易类型的买入价格。此程序块只能用在“购入条件”根块。", @@ -511,7 +510,7 @@ "563652273": "前往程序块", "565410797": "以下图像显示简单移动平均线数组程序块的工作原理:", "566274201": "1. 市场", - "567019968": "变量是创建机器人时最重要且功能最强大的组件之一。这是一种以文本或数字形式存储信息的方法。可以根据给定的说明使用和更改存储为变量的信息。变量可以使用任何名称,但通常会使用有用的符号名称,以便在执行指令期间更容易调用。", + "567019968": "变量是创建 Bot时最重要且功能最强大的组件之一。这是一种以文本或数字形式存储信息的方法。可以根据给定的说明使用和更改存储为变量的信息。变量可以使用任何名称,但通常会使用有用的符号名称,以便在执行指令期间更容易调用。", "567163880": "创建{{platform}} 密码", "567755787": "税务识别号为必填项.", "569057236": "文件在哪个国家签发?", @@ -539,7 +538,7 @@ "592087722": "就业状况为必填项。", "592381383": "已成功移除密钥", "593459109": "尝试使用其他币种", - "594937260": "衍生资产 - BVI", + "594937260": "Derived - BVI", "595080994": "示例:CR123456789", "595136687": "保存策略", "597089493": "此处让您决定在合约到期前售出。此程序块仅允许一个复制件。", @@ -594,13 +593,13 @@ "642546661": "从电脑上传执照的背面", "644150241": "上次清除统计记录至今的获利合约数。", "645902266": "欧元/纽元", - "646773081": "利润阈值: 如果总利润超过此值,机器人将停止交易。", + "646773081": "利润阈值: 如果总利润超过此值, Bot将停止交易。", "647039329": "需要地址证明", "647745382": "输入列表 {{ input_list }}", "648035589": "其他差价合约平台", "649317411": "根据您所提供的知识和经验相关信息,我们认为此网站的投资活动对您来说并不合适。<0/><1/>", "649923867": "给数字添加符号,以制作障碍抵消。(已弃用)", - "650836587": "本文探讨了集成到 Deriv Bot 的 Martingale 策略,这是一款多功能交易机器人,旨在交易外汇、大宗商品和衍生指数等资产。我们将深入研究该策略的核心参数及其应用,并为希望有效使用该机器人的交易者提供基本要点。", + "650836587": "本文探讨了集成到 Deriv Bot 的 Martingale 策略,这是一款多功能交易 Bot,旨在交易外汇、大宗商品和 derived 指数等资产。我们将深入研究该策略的核心参数及其应用,并为希望有效使用该 Bot的交易者提供基本要点。", "651284052": "Low Tick", "651684094": "通知", "652298946": "出生日期", @@ -719,7 +718,7 @@ "758003269": "从文本制作列表", "760528514": "请注意,更改\"i\"值不会改变列表内原来项目的值", "761576760": "存款入账户并开始交易。", - "762926186": "快速策略是可以在 Deriv 机器人使用的现成策略。有3种快速策略供选择:Martingale、D'Alembert 和 Oscar's Grind。", + "762926186": "快速策略是可以在 Deriv Bot使用的现成策略。有3种快速策略供选择:Martingale、D'Alembert 和 Oscar's Grind。", "764366329": "交易限制", "766317539": "语言", "770171141": "前往 {{hostname}}", @@ -728,7 +727,7 @@ "773309981": "原油/美元", "773336410": "Tether是启用了区块链的平台,旨在促进以数字方式使用法定货币。", "775679302": "{{pending_withdrawals}} 待取款", - "775706054": "交易机器人有卖吗?", + "775706054": "交易 Bot有卖吗?", "776085955": "策略", "776432808": "选择目前居住的国家。", "778172770": "Deriv 差价合约", @@ -760,7 +759,7 @@ "807499069": "金融委员会投诉程序", "808323704": "您也可以使用“比较”和“逻辑运算”程序块制测试变量。", "812430133": "前一价位的现货价格。", - "815925952": "此程序块是强制性的。此程序块仅允许复制一次。当打开 Deriv 机器人时,默认情况下它将添加到画布上。", + "815925952": "此程序块是强制性的。此程序块仅允许复制一次。当打开 Deriv Bot时,默认情况下它将添加到画布上。", "816580787": "欢迎回来!消息已还原。", "816738009": "<0/> <1/>您还可以将尚未解决的争议提交给<2>金融服务仲裁员办公室。", "818447476": "转换账户?", @@ -829,7 +828,7 @@ "874461655": "用手机扫描QR码", "874472715": "资金将保留在现有的 MT5 账户中。", "874484887": "止盈必须是正数.", - "875101277": "如果关闭网络浏览器,Deriv 机器人会继续运行吗?", + "875101277": "如果关闭网络浏览器,Deriv Bot会继续运行吗?", "875532284": "用其他设备重启进程", "876086855": "完成财务评估表", "876292912": "退出", @@ -843,7 +842,7 @@ "890299833": "前往报表", "891337947": "选择国家", "893963781": "Close-to-Low", - "893975500": "您最近没有运行任何机器人", + "893975500": "您最近没有运行任何 Bot", "894191608": "<0>c.做出决定后,我们必须在28天内裁决和解。", "896790627": "美国出生地", "898457777": "您已添加 Deriv 金融账户.", @@ -860,7 +859,7 @@ "909272635": "金融 - SVG", "910888293": "尝试次数太多", "911048905": "(BTCUSD, ETHUSD)", - "912257733": "工作空间将重置为默认策略,任何未保存的更改都将丢失。<0>注意:这不会影响正在运行的机器人。", + "912257733": "工作空间将重置为默认策略,任何未保存的更改都将丢失。<0>注意:这不会影响正在运行的 Bot。", "912406629": "请按照以下步骤操作:", "912967164": "从电脑导入", "915735109": "返回 {{platform_name}}", @@ -906,7 +905,7 @@ "960201789": "3. 卖出条件", "961266215": "140+", "961327418": "我的电脑", - "961692401": "机器人", + "961692401": " Bot", "962251615": "要调整自我禁止限制,<0>请通过实时聊天与我们联系。", "966457287": "设置{{ variable }} 为指数移动平均值 {{ dummy }}", "968576099": "Up/Down", @@ -914,6 +913,7 @@ "969987233": "如果退市现价介于高、低障碍之间, 其比例与退市现价及低障碍之间的差异相等, 可获得最大赔付。", "970915884": "一个", "974888153": "High-Low", + "975608902": "要交易差价合约,请先获得 Deriv 应用程序账户。", "975668699": "我确认并接受 {{company}} 的<0>条款和条件", "975950139": "居住国", "977929335": "前往账户设置", @@ -928,7 +928,7 @@ "986565137": "已收到收入证明", "987053672": "可以继续持有当前 <0>{{platform}} {{existing_account}} 账户的未平仓头寸。", "987224688": "过去的12个月,您使用其他金融工具进行了多少笔交易?", - "988064913": "4. 回到 Deriv 机器人,并将 Notify Telegram 程序块添加到工作区中。将 Telegram API 令牌和聊天 ID 相应地粘贴到程序块字段中。", + "988064913": "4. 回到 Deriv Bot,并将 Notify Telegram 程序块添加到工作区中。将 Telegram API 令牌和聊天 ID 相应地粘贴到程序块字段中。", "988361781": "您还没有交易活动。", "988934465": "出现提示时,须启用相机访问权限以继续操作", "989840364": "未到法定年龄。", @@ -941,6 +941,7 @@ "997311089": "更改密码", "999008199": "文本", "1001160515": "卖出", + "1002392396": "derived 工具的差价合约。", "1002989598": "iOS:iCloud 钥匙串。", "1003876411": "应以字母或数字开始,可包含连字符、句点和斜线。", "1004127734": "发送邮件", @@ -986,7 +987,7 @@ "1039428638": "欧盟法规", "1039476188": "亏损交易后用于乘以下一笔交易的投注的大小。", "1039755542": "用几个词,避免常用短语", - "1040472990": "1. 前往机器人生成器。", + "1040472990": "1. 前往 Bot生成器。", "1040677897": "如要继续交易,您必须也提交地址证明。", "1041001318": "此程序块对给定列表执行以下操作:总和、最小值、最大值、平均值、中位数、众数、反众数、标准差、随机项。", "1041620447": "如果无法扫描 QR 代码, 可以手动输入此代码取代:", @@ -1001,7 +1002,7 @@ "1048687543": "纳闽金融服务管理局", "1048947317": "对不起,此应用在{{clients_country}} 无法使用。", "1049384824": "Rise", - "1050063303": "Deriv 机器人视频", + "1050063303": "Deriv Bot视频", "1050128247": "确认已经验证了付款代理的转账信息。", "1050844889": "报表", "1052779010": "您正在使用演示账户", @@ -1020,7 +1021,7 @@ "1058905535": "教程", "1060231263": "何时需要支付初始保证金?", "1061308507": "买入 {{ contract_type }}", - "1062423382": "在 “教程” 选项卡中浏览视频指南和常见问题解答,以构建机器人。", + "1062423382": "在 “教程” 选项卡中浏览视频指南和常见问题解答,以构建 Bot。", "1062536855": "Equals", "1062569830": "身份证件的<0>姓名与个人资料不符。", "1065275078": "cTrader 目前只能在桌面上使用。", @@ -1050,7 +1051,7 @@ "1088138125": "跳动价位{{current_tick}} - ", "1089085289": "手机号码", "1089436811": "教程", - "1089687322": "停止当前的机器人?", + "1089687322": "停止当前的 Bot?", "1090041864": "该 {{block_type}} 程序块是强制性的,不能删除/禁用。", "1095295626": "<0>•金融服务仲裁员将决定投诉是否可以受理以及是否符合法律规定。", "1096078516": "将审核文件并于3天内通知状况。", @@ -1073,7 +1074,7 @@ "1112582372": "间隔期限", "1113119682": "此程序块向您提供自烛形线图列表选定的烛形线值。", "1113292761": "少于 8MB", - "1114679006": "已经使用简单的策略成功创建了机器人。", + "1114679006": "已经使用简单的策略成功创建了 Bot。", "1117281935": "卖出条件(可选)", "1117863275": "安全和保密", "1118294625": "您已选择在{{exclusion_end}} 前自我禁止在网站交易。如果您在自我禁止期过后无法交易或存款,请通过实时聊天与我们联系。", @@ -1125,7 +1126,7 @@ "1170228717": "留在 {{platform_name_trader}}", "1171765024": "步骤3", "1171961126": "交易参数", - "1172230903": "- 止损阈值: 使用此变量存储亏损限额。可以指定任何金额。当亏损达到或超过此金额时,机器人将停止运行。", + "1172230903": "- 止损阈值: 使用此变量存储亏损限额。可以指定任何金额。当亏损达到或超过此金额时, Bot将停止运行。", "1172524677": "差价合约演示", "1173957529": "转到 Deriv 的'账户设置'。", "1174542625": "在回应里找出聊天ID属性,并复制id属性的数值", @@ -1164,7 +1165,7 @@ "1206821331": "武装部队", "1208729868": "跳动点", "1208903663": "无效的令牌", - "1211912982": "机器人将开始", + "1211912982": " Bot将开始", "1214893428": "当前无法通过移动设备创建账户。请使用计算机登录以创建新账户。", "1216408337": "个体经营", "1217159705": "银行账号", @@ -1194,12 +1195,12 @@ "1238311538": "管理中心", "1239752061": "向 Deriv 转账时,请确保在加密货币钱包选择 <0>{{network_name}} 网络。", "1239760289": "完成交易评估", - "1239940690": "遇到错误时重启机器人。", + "1239940690": "遇到错误时重启 Bot。", "1240027773": "请登录", "1240688917": "术语表", "1241238585": "您可进行 Deriv 法定货币、加密货币和 {{platform_name_mt5}} 账户之间的转账。", "1242288838": "点击上面的复选框选择文档。", - "1242994921": "单击此处开始构建 Deriv 机器人。", + "1242994921": "单击此处开始构建 Deriv Bot。", "1243064300": "本地", "1243287470": "交易状态", "1246207976": "输入以 2FA 应用程序生成的身份验证代码:", @@ -1213,7 +1214,7 @@ "1253531007": "已确认", "1253636052": "MetaTrader5 网络终端", "1254565203": "设置{{ variable }},用以下程序创建列表", - "1255827200": "也可以使用任一快捷方式导入或构建机器人。", + "1255827200": "也可以使用任一快捷方式导入或构建 Bot。", "1255909792": "最后", "1255963623": "至日期/时间 {{ input_timestamp }} {{ dummy }}", "1258097139": "我们可以做些什么改善措施?", @@ -1226,7 +1227,7 @@ "1265317149": "近期的水电费账单(例如电费、水费或煤气费)或近期的银行对账单或政府签发的带有姓名和地址的信件。", "1265704976": "<空消息>", "1266728508": "收入证明已通过验证", - "1269296089": "让我们建造机器人吧!", + "1269296089": "让我们建造 Bot吧!", "1270581106": "如果选择“No Touch”期权,假设市场在合约期限内一直没有触及障碍水平,将获得赔付。", "1272012156": "英镑/瑞士法郎", "1272337240": "日", @@ -1249,7 +1250,7 @@ "1292891860": "通知Telegram", "1293660048": "每天最大总亏损金额", "1294553728": "无法验证提供的文件,因为它似乎是空白图片。请重试或上传另一份文件。", - "1294756261": "此程序块创建可以随时执行一组指令的函数。在此处放置其他程序块,以执行策略中所需的任何类型操作。当函数中的所有指令执行完毕后,机器人将继续执行策略中的其余程序块。单击“执行某项操作”字段,以为其指定名称。单击加号图标以将值(作为已命名变量)发送到函数。", + "1294756261": "此程序块创建可以随时执行一组指令的函数。在此处放置其他程序块,以执行策略中所需的任何类型操作。当函数中的所有指令执行完毕后, Bot将继续执行策略中的其余程序块。单击“执行某项操作”字段,以为其指定名称。单击加号图标以将值(作为已命名变量)发送到函数。", "1295284664": "请接受<0>更新条款和条件以继续操作。", "1296380713": "关闭合约", "1299479533": "8小时", @@ -1262,12 +1263,12 @@ "1304620236": "启用相机", "1305217290": "上传身份证背面。", "1308625834": "设置读取烛线列表程序块的默认时间间隔。", - "1309017029": "启用此功能后,您可以将程序块保存为能够轻松与其他机器人集成的集合。", + "1309017029": "启用此功能后,您可以将程序块保存为能够轻松与其他 Bot集成的集合。", "1309044871": "以字符串格式返回最新跳动点的值", "1310483610": "\"{{ search_term }}\"的结果", "1311680770": "赔付额", "1313167179": "请登录", - "1313302450": "如亏损总额超出此金额,机器人将停止交易。", + "1313302450": "如亏损总额超出此金额, Bot将停止交易。", "1314572331": "文件未通过验证检查。", "1316216284": "您可在所有 {{platform}} 账户使用此密码。", "1319217849": "检查手机", @@ -1296,7 +1297,7 @@ "1337864666": "文件的相片", "1338496204": "参考 ID", "1339613797": "监管机构/外部争议解决", - "1340286510": "机器人已经停止,但交易可能仍在运行。可以在报告页面查看。", + "1340286510": " Bot已经停止,但交易可能仍在运行。可以在报告页面查看。", "1341840346": "日志中查看", "1341921544": "交易账户和基金", "1344696151": "外汇、股票、股票指数、大宗商品、加密货币和综合指数。", @@ -1322,7 +1323,7 @@ "1360929368": "添加 Deriv 账户", "1362029761": "探索 Deriv Bot 的 Reverse Martingale 策略", "1362578283": "High", - "1363645836": "衍生外汇", + "1363645836": "Derived FX", "1363675688": "期限为必填字段。", "1364045306": "账户 V2", "1364879837": "验证已通过,但无法比较个人信息。", @@ -1368,6 +1369,7 @@ "1405584799": "间隔: {{ candle_interval_type }}", "1407191858": "DTrader", "1408844944": "单击加号图标以扩展此程序块功能。", + "1408852678": "用更少的资本在不同的金融和 derived 工具交易更大的头寸。<0>了解更多", "1411373212": "强密码须至少8个字符,包含大小写字母、数字和符号。", "1412405902": "查看重要提示", "1412535872": "您可用此程序块查看上一次交易的结果。它仅可放进“重启交易条件”根块。", @@ -1392,7 +1394,7 @@ "1423296980": "输入 SSNIT 号码", "1424741507": "查看其他", "1424763981": "1-3-2-6", - "1424779296": "如果您最近使用过机器人,但此列表中没有显示。可能是因为您:", + "1424779296": "如果您最近使用过 Bot,但此列表中没有显示。可能是因为您:", "1428657171": "只能存款。请通过<0>实时聊天联系我们以获取更多信息。", "1430221139": "立即验证", "1430396558": "5. 重新启动买/卖出错", @@ -1400,7 +1402,7 @@ "1433367863": "对不起,请求处理发生错误。", "1433468641": "除了条款和条件中提到的国家以外,我们在所有国家提供服务。", "1434382099": "显示含消息的对话窗口", - "1434767075": "开始使用 Deriv 机器人", + "1434767075": "开始使用 Deriv Bot", "1434976996": "公告", "1435363248": "此程序块将自Unix纪元以来的秒数转换成日期和时间格式,例如2019-08-01 00:00:00。", "1437396005": "添加评语", @@ -1429,7 +1431,7 @@ "1459761348": "提交身份证明", "1461323093": "在开发人员控制台中显示消息。", "1462238858": "透过购入“High-to-Close”合约,将赢取合约期内 multiplier 值乘以最高值与收盘之间的差额。", - "1464190305": "此程序块将控制权转移回“购入条件”程序块,使您无需手动停止并重启机器人即可购买另一份合约。", + "1464190305": "此程序块将控制权转移回“购入条件”程序块,使您无需手动停止并重启 Bot即可购买另一份合约。", "1464253511": "您已经拥有{{deriv}} 可用的每种加密货币的账户。", "1465084972": "您在其他金融工具方面有多少经验?", "1465919899": "挑选结束日期", @@ -1447,7 +1449,7 @@ "1469814942": "- 分部", "1470319695": "返回真或假", "1470565177": "公司章程", - "1471008053": "Deriv 机器人还没有完全准备好用于真实账户", + "1471008053": "Deriv Bot还没有完全准备好用于真实账户", "1471070549": "合约可否售出?", "1471741480": "严重错误", "1473369747": "仅限综合期权", @@ -1469,6 +1471,7 @@ "1501691227": "通过由瓦努阿图金融服务委员会监管的 Deriv (V) 有限公司添加 Deriv MT5 <0>{{account_type_name}}账户。", "1502039206": "Over {{barrier}}", "1502325741": "密码不可与电子邮件地址相同。", + "1503419760": "特定金融和 derived 工具的免掉期差价合约.", "1503618738": "-交易参考ID:合约的参考ID", "1505420815": "未找到与搜索相符的付款代理", "1505898522": "下载堆栈", @@ -1486,7 +1489,7 @@ "1516559721": "请只选择一个文件", "1516676261": "存款", "1517503814": "拖放文档或点击此处上传", - "1519124277": "衍生资产 SVG", + "1519124277": "Derived SVG", "1520332426": "年净收入", "1524636363": "验证失败", "1526012495": "这可能是因为:", @@ -1508,20 +1511,19 @@ "1547148381": "文件太大了(最多只允许 8MB)。请上传另一文件。", "1549098835": "提款总额", "1549645155": "密钥已成功删除。为避免登录提示,还要从 iCloud 钥匙串中移除密钥。 ", - "1551172020": "澳元篮子", + "1551172020": "澳元 Basket", "1551689907": "升级 <0/> <1>{{platform}} {{type}} {{from_account}} 账户,增强交易体验。", "1555345325": "《用户指南》", "1556391770": "由于文件仍在审核中,不能提款。一旦审核通过,将在 3 天内通过电子邮件通知。", - "1557426040": "演示衍生资产 SVG", + "1557426040": "演示 Derived SVG", "1557682012": "账户设置", "1558972889": "设置{{ variable }} 为简单移动平均线{{ dummy }}", - "1559220089": "期权和 multipliers 交易平台。", "1560302445": "已复制", "1562374116": "学生", "1566037033": "已购入: {{longcode}} (ID: {{transaction_id}})", "1566717687": "教程选项卡还提供指南,展示如何制定和执行简单的策略。", "1567076540": "仅使用您有居住证明的地址- ", - "1567745852": "机器人名称", + "1567745852": " Bot名称", "1569527365": "验证失败。重新提交详细信息。", "1569624004": "消除警报", "1570484627": "跳动点列表", @@ -1547,7 +1549,7 @@ "1593010588": "立即登录", "1594147169": "请在下述时间过后返回此处", "1594322503": "可卖出", - "1595295238": "3. 使用逻辑程序块检查总盈/亏是否大于止损阈值。可以在左侧程序块菜单分析 > 统计下找到总盈/亏变量。机器人将继续购买新合约,直到总盈/亏超过止损阈值。", + "1595295238": "3. 使用逻辑程序块检查总盈/亏是否大于止损阈值。可以在左侧程序块菜单分析 > 统计下找到总盈/亏变量。 Bot将继续购买新合约,直到总盈/亏超过止损阈值。", "1597672660": "Deriv MT5 密码", "1598009247": "<0>a.您可以在事件发生后45天内向金融委员会提出投诉。", "1598386296": "市/县/镇为必填项。", @@ -1568,9 +1570,9 @@ "1622662457": "开始日期", "1622944161": "现在,转到<0>重启交易条件程序块。", "1623706874": "想使用 multipliers 作为交易类型时,请使用此程序块。", - "1628981793": "Deriv 机器人可以交易加密货币吗?", + "1628981793": "Deriv Bot可以交易加密货币吗?", "1630417358": "请前往账户设置并填写个人详细信息,以启用取款。", - "1631281562": "英镑篮子", + "1631281562": "英镑 Basket", "1633661992": "跳动点 {{current_tick}}/{{tick_count}}", "1634016345": "2. 如果交易获利,该策略会自动将下一笔交易的投注额调整为初始投注额的 3 个单位。在本例中,投注额调整为 3 个单位,初始投注额为 1 美元,因此下一笔交易将以 3 美元开始。", "1634903642": "自拍照只能拍脸", @@ -1589,7 +1591,7 @@ "1644703962": "正在寻找差价合约账户?前往Trader's Hub", "1644864436": "申请成为专业客户前,必须验证账户。<0>验证账户", "1644908559": "数字代码是必填项。", - "1647186767": "机器人运行时遇到错误。", + "1647186767": " Bot运行时遇到错误。", "1648938920": "荷兰 25", "1649239667": "2. 在程序块菜单里可看到类别列表。程序块按这些类别分组。选择想要的程序块并拖到工作区。", "1650963565": "Wallets 简介", @@ -1661,6 +1663,7 @@ "1715630945": "以字符串格式返回总利润", "1715680813": "合约将在选择到期日的格林威治标准时间 23:59:59 准时到期。", "1717023554": "重新提交文件", + "1717474982": "通过可定制平台交易金融和 derived 工具的差价合约。", "1720451994": "Deriv 法定货币和 Deriv 加密货币账户之间的转账,我们将收取 2% 转账费或 {{minimum_fee}} {{currency}},以较高者为准。", "1720968545": "从电脑上传含照片的护照页面", "1722056905": "所在的国家/地区不支持提供的文件。请提供所在国家支持的文件。", @@ -1674,7 +1677,7 @@ "1726565314": "关闭账户", "1728183781": "关于 Tether", "1729145421": "风险警告", - "1731747596": "以红色突出显示的程序块缺少输入值。请更新,然后单击\"运行机器人\"。", + "1731747596": "以红色突出显示的程序块缺少输入值。请更新,然后单击\"运行 Bot\"。", "1733711201": "监管机构/外部争议解决", "1734185104": "余额:%1", "1734264460": "免责声明", @@ -1692,7 +1695,7 @@ "1743448290": "支付代理", "1743679873": "如果选择 <0>“Call”,当<1>到期时<1>最终价格高于<1>行权价,将获得<1>赔付。否则,将不会获得赔付。", "1743902050": "完成财务评估", - "1744509610": "只需将 XML 文件从计算机拖到工作区,机器人将相应加载。或者,可以单击机器人生成器导入,然后选择从计算机或谷歌云端硬盘导入机器人。", + "1744509610": "只需将 XML 文件从计算机拖到工作区, Bot将相应加载。或者,可以单击 Bot生成器导入,然后选择从计算机或谷歌云端硬盘导入 Bot。", "1745523557": "- 平方根", "1746051371": "下载应用程序", "1746273643": "平滑异同移动平均线", @@ -1700,7 +1703,7 @@ "1747674345": "请使用`.`作为分数的小数点分隔符。", "1747682136": "合约已被取消。", "1748754976": "持续交易", - "1753082252": "本文探讨了集成到 Deriv Bot 的策略,这是多功能交易机器人,用于交易外汇、大宗商品和衍生指数等资产。我们将深入研究该策略的核心参数及其应用,并为希望有效使用该机器人的交易者提供重要启示。", + "1753082252": "本文探讨了集成到 Deriv Bot 的策略,这是多功能交易 Bot,用于交易外汇、大宗商品和 derived 指数等资产。我们将深入研究该策略的核心参数及其应用,并为希望有效使用该 Bot的交易者提供重要启示。", "1753183432": "我们认真对待并力求尽快和公平地解决所有投诉。如果您对我们服务的任何方面不满意,请使用以下指南提交投诉告知我们:", "1753226544": "移除", "1753975551": "上传含照片的护照页面", @@ -1709,7 +1712,7 @@ "1758386013": "不要被引诱前往虚假的 “Deriv” 页面!", "1761038852": "继续提供地址和身份证明。", "1761254001": "数字", - "1761762171": "出现错误时重启上一个交易(机器人会忽略失败的交易):{{ checkbox }}", + "1761762171": "出现错误时重启上一个交易( Bot会忽略失败的交易):{{ checkbox }}", "1762707297": "电话号码", "1763123662": "上传 NIMC 单据。", "1766212789": "服务器维护从每个星期日的格林尼治标准时间06:00开始,可能需要2个小时。此期间内服务可能会中断。", @@ -1734,7 +1737,7 @@ "1782395995": "最后数字的预测", "1782690282": "程序块菜单", "1782703044": "注册", - "1783526986": "如何构建交易机器人?", + "1783526986": "如何构建交易 Bot?", "1783740125": "上传自拍照", "1785298924": "D'Alembert 公式 1", "1786644593": "支持的格式:仅限 JPEG、JPG、PNG、PDF 和 GIF", @@ -1770,7 +1773,7 @@ "1813700208": "Boom 300 指数", "1813958354": "删除评语", "1815034361": "字母", - "1815905959": "DTrader、DBot、SmartTrader 和 Binary 机器人", + "1815905959": "DTrader、DBot、SmartTrader 和 Binary Bot", "1815995250": "买入合约", "1817154864": "此程序块提供设置范围内的随机数字.", "1820242322": "例如美国", @@ -1826,18 +1829,19 @@ "1869787212": "Even", "1870933427": "加密", "1871196637": "如最新交易结果与选择匹配,请回答“真”", - "1871377550": "Deriv 机器人是否提供预建的交易机器人?", + "1871377550": "Deriv Bot是否提供预建的交易 Bot?", "1871664426": "附注", "1873376454": "这是选择的价格水平。如果突破此障碍,合约将被终止。", "1874481756": "用此程序块购入所需的特定合约。可一并添加多个购入程序块与条件程序块以定义购入条件。此程序块只能在购入条件程序块内使用。", + "1874737957": "要交易 multipliers,请先获得 Deriv 应用程序账户。", "1874756442": "BVI", - "1875702561": "加载或构建机器人", + "1875702561": "加载或构建 Bot", "1876015808": "社会保障和国民保险信托基金", "1876325183": "分钟", "1876333357": "税务识别号无效。", "1877225775": "地址证明已通过验证", "1877832150": "从最终端获得 #", - "1878172674": "不,没有。但可在 Deriv 机器人找到帮助免费构建自己的交易机器人的快速策略。", + "1878172674": "不,没有。但可在 Deriv Bot找到帮助免费构建自己的交易 Bot的快速策略。", "1878189977": "Martingale 策略在每次亏损后增加投注额,以一次成功的交易来弥补之前的亏损。", "1879042430": "合适性测试,警告:", "1879412976": "盈利金额: <0>{{profit}}", @@ -1860,14 +1864,14 @@ "1890332321": "返回给定文本字符串的字符数,包括数字、空格、标点符号和符号。", "1893869876": "(手数)", "1894667135": "请验证地址证明", - "1896269665": "衍生和金融工具的差价合约。", + "1896269665": "derived 和金融工具的差价合约。", "1899898605": "最大大小:8MB", "1902547203": "MetaTrader 5 MacOS 应用程序", "1903437648": "检测到模糊的照片", "1904665809": "交易中的 Reverse Martingale 策略可能会带来可观的收益,但也有巨大的风险。Deriv Bot会根据选择的策略提供自动交易,并采取诸如设置初始投注额、投注额大小、最大投注额、盈利阈值和亏损阈值等风险管理措施。对于交易者来说,在使用真实资金交易之前,评估自己的风险承受能力、在演示账户中练习并了解交易策略至关重要。", "1905032541": "现在准备验证身份", "1905589481": "要更改账户币种,请通过<0>实时聊天与我们联系。", - "1906213000": "系统将完成所有正在运行的 Deriv 机器人交易,且 Deriv 机器人将不会进行任何新交易。", + "1906213000": "系统将完成所有正在运行的 Deriv Bot交易,且 Deriv Bot将不会进行任何新交易。", "1906639368": "如这是您首次尝试创建密码或您已忘了密码,请重置。", "1907423697": "利用 Deriv API 赚取更多收入", "1908023954": "对不起,处理请求时发生错误。", @@ -1881,7 +1885,7 @@ "1914725623": "上传包含照片的页面。", "1916129921": "Reverse Martingale", "1917178459": "银行验证码", - "1917523456": "此程序块将消息发送到Telegram通道。您需创建自己的Telegram机器人才能使用此程序块。", + "1917523456": "此程序块将消息发送到Telegram通道。您需创建自己的Telegram Bot才能使用此程序块。", "1918796823": "请输入止损金额。", "1918832194": "没有经验", "1919030163": "好的自拍技巧", @@ -1925,13 +1929,12 @@ "1968025770": "比特币现金", "1968077724": "农业", "1968368585": "就业状况", - "1970060713": "已成功删除机器人。", + "1970060713": "已成功删除 Bot。", "1971898712": "添加或管理账户", "1973536221": "您还没有持仓头寸。", "1973910243": "管理账户", "1974273865": "此范围将允许第三方应用查看账户活动、设置、限额、资产负债表、交易购买历史等。", "1974903951": "如果点击 “是”,您输入的信息将丢失。", - "1977724653": "此账户提供金融工具差价合约。", "1978218112": "Google 验证器", "1981940238": "此投诉政策可能会不时更改,适用于您在 {{legal_entity_name_svg}} 和 {{legal_entity_name_v}} 注册的账户。", "1982790875": "升级 <0/><1>{{account_title}} {{platform}} 账户", @@ -1979,10 +1982,11 @@ "2014536501": "卡号", "2014590669": "变量 '{{variable_name}}' 无数值。请为变量 '{{variable_name}}' 设置数值以通知。", "2017672013": "请选择文件签发国.", + "2018044371": "Multipliers 使您可以利用杠杆交易,并限制投注金的风险。<0>了解更多", "2019596693": "该文件被提供商拒绝。", "2020545256": "关闭账户?", "2021037737": "请更新详细资料以继续操作。", - "2021161151": "观看此视频了解如何在 Deriv 机器人构建交易机器人。另外, 请查看这篇关于构建交易机器人的博客文章 。", + "2021161151": "观看此视频了解如何在 Deriv Bot构建交易 Bot。另外, 请查看这篇关于构建交易 Bot的博客文章 。", "2023546580": "账户验证完成后即可交易。", "2023659183": "学生", "2023762268": "我更喜欢别的交易网站。", @@ -2009,7 +2013,7 @@ "2042115724": "上传含姓名、账号、电话号码和电子邮件地址的账户和个人详细信息页面的屏幕截图。", "2044086432": "收盘值是收盘时间的最新跳动或之前的价位。如您选择了指定的收盘时间, 那么收盘时间就是选定的时间。", "2046273837": "最后的跳动点", - "2046577663": "导入或选择机器人", + "2046577663": "导入或选择 Bot", "2048110615": "电子邮件地址*", "2048134463": "超过了文件大小。", "2049386104": "必须提交这些以获得账户:", @@ -2021,7 +2025,7 @@ "2056369950": "<0>要完成 Wallet 设置,请退出登录,然后重新登录。", "2057082550": "接受更新<0>条款和条件", "2057419639": "退市现价", - "2059365224": "是的,可以使用快速策略功能开始使用预建机器人。可以在这里找到一些最受欢迎的交易策略:Martingale、D'Alembert 和 Oscar's Grind。只需选择策略,输入交易参数,即可创建机器人。以后可以随时调整参数。", + "2059365224": "是的,可以使用快速策略功能开始使用预建 Bot。可以在这里找到一些最受欢迎的交易策略:Martingale、D'Alembert 和 Oscar's Grind。只需选择策略,输入交易参数,即可创建 Bot。以后可以随时调整参数。", "2059753381": "为什么验证失败?", "2060873863": "订单 {{order_id}} 已完成", "2062912059": "功能 {{ function_name }} {{ function_params }}", @@ -2032,7 +2036,7 @@ "2067903936": "驾驶执照", "2070002739": "不要接受", "2070345146": "开设杠杆差价合约交易时.", - "2070518923": "导入机器人或点击 “快速策略”,选择即用型机器人模板。", + "2070518923": "导入 Bot或点击 “快速策略”,选择即用型 Bot模板。", "2070752475": "监管信息", "2070858497": "文档似乎是屏幕截图。", "2071043849": "浏览", @@ -2051,7 +2055,7 @@ "2086048243": "公司注册证书", "2086792088": "两个障碍必须是相对的或绝对的", "2088735355": "时间段和登录限制", - "2089087110": "篮子指数", + "2089087110": "Basket 指数", "2089395053": "单位", "2089581483": "到期时间为", "2090650973": "订单到达服务器时,现货价格可能会发生变化。当这种情况发生时,赔付可能会受到影响。", @@ -2059,7 +2063,7 @@ "2093675079": "- 平仓: 平仓价", "2096014107": "申请", "2096456845": "出生日期*", - "2096603244": "瓦努阿图衍生资产", + "2096603244": "Derived - 瓦努阿图", "2097170986": "关于泰达 (Omni)", "2097381850": "使用有期限列表计算简单移动平均线", "2097815211": "轮数 (R) = 10", @@ -2070,7 +2074,7 @@ "2101972779": "这与上面的示例相同,使用了跳动点列表。", "2102572780": "数字代码长度须是 6 个字符。", "2104115663": "上一次登录", - "2104364680": "请切换到演示账户以运行 Deriv 机器人。", + "2104364680": "请切换到演示账户以运行 Deriv Bot。", "2104397115": "请前往账户设置并填写个人详细信息,以启用存取款。", "2107381257": "定期收银台系统维护", "2107882050": "证件背面似乎缺失。请附上身份证件的正反两面。", @@ -2082,7 +2086,7 @@ "2113321581": "添加 Deriv 博彩账户", "2114766645": "某些交易类型不可用 {{symbol}}。", "2115223095": "亏损", - "2117165122": "1. 创建Telegram机器人并获取Telegram API令牌。在此处阅读关于Telegram中创建机器人功能的更多信息:https://core.telegram.org/bots#6-botfather", + "2117165122": "1. 创建Telegram Bot并获取Telegram API令牌。在此处阅读关于Telegram中创建 Bot功能的更多信息:https://core.telegram.org/bots#6-botfather", "2117489390": "{{ remaining }} 秒内自动更新", "2118292085": "<0>注意:存款开始处理时,您将收到一封电子邮件。", "2119449126": "以下例子的输出示例将是:", @@ -2092,7 +2096,7 @@ "2127564856": "提款已被锁定", "2128919448": "如果选择在合约到期前卖出,我们会提出以这个价格买入合约。这基于几个因素,如当前的现货价格等。如果剩余期限低于 15 秒或合约期为跳动点,我们将不提供合约价值。", "2129807378": "更新个人资料", - "2133075559": "这意味着在连续亏损 10 轮后,交易者将亏损 100 美元。达到 100 美元的亏损阈值,机器人就会停止运行。", + "2133075559": "这意味着在连续亏损 10 轮后,交易者将亏损 100 美元。达到 100 美元的亏损阈值, Bot就会停止运行。", "2133451414": "期限", "2133470627": "此程序块返回选定交易类型的潜在赔付额。此程序块只能用在“购入条件”根块。", "2135563258": "外汇交易频率", @@ -2111,7 +2115,7 @@ "2146336100": "%1文本中获取%2", "2146698770": "专家提示:您也可以点击并拖出所需的程序块", "2146892766": "二元期权交易经验", - "2147244655": "如何将自己的交易机器人导入 Deriv 机器人?", + "2147244655": "如何将自己的交易 Bot导入 Deriv Bot?", "-931052769": "提交验证", "-1004605898": "提示", "-1938142055": "文档已上传", @@ -2658,8 +2662,11 @@ "-2021135479": "此为必填字段。", "-1002044401": "选择文件*", "-1272489896": "请填写此字段。", - "-1107320163": "不须程序代码,将交易构思自动化.", - "-829643221": "Multipliers 交易平台。", + "-721346138": "期权和 multipliers 交易平台。", + "-1874136267": "终极 Bot交易平台。", + "-415943890": "传统期权交易平台。", + "-673722343": "传统 Bot交易平台。", + "-897826065": " multipliers 交易平台。", "-2115275974": "差价合约", "-1585707873": "金融委员会", "-199154602": "瓦努阿图金融服务委员会", @@ -2678,12 +2685,10 @@ "-1879666853": "Deriv MT5", "-820028470": "期权 & Multipliers", "-1210359945": "将资金转入账户", - "-81256466": "需有 Deriv 账户才能开立差价合约账户。", "-1926387364": "已经发送电子书到您的电子邮箱。也可以在这里下载。", "-1057002564": "<0>目前无法将您升级到 Wallets,我们正在努力尽快解决这个问题。请<1>再试一次<0>。", "-1424352390": "<0>Wallets <1>— 更明智的资金管理方式", "-280236366": "立即启用", - "-699372497": "利用杠杆和低价差进行交易,以在成功交易时获得更高回报。<0>了解更多", "-145462920": "Deriv cTrader", "-982095728": "获取", "-1790089996": "新!", @@ -2708,10 +2713,8 @@ "-643108528": "非欧盟和欧盟法规", "-1002556560": "无法完成 Wallet 升级。请稍后再试,或通过实时聊天联系我们。", "-1186807402": "转账", - "-2051096382": "使用<0>期权正确预测市场价格走势获得各种赔付,或者使用\n<1>multipliers 交易差价合约获利,而承担风险不超过投注额。", - "-1638358352": "使用 <0>Multipliers 交易差价合约获利,而承担的风险不会超过投注额。", + "-655191265": "特定时间内以特定价格买入或卖出。<0>了解更多", "-744999940": "Deriv 账户", - "-749129977": "获取真实 Deriv 账户,开始交易并管理资金。", "-2146691203": "选择法规", "-249184528": "可以根据欧盟或非欧盟法规开立真实账户。点击<0><0/>图标了解有关这些账户的更多信息。", "-1505234170": "Trader's Hub 浏览", @@ -2768,6 +2771,7 @@ "-1995606668": "金额", "-2024290965": "确认", "-811190405": "时间", + "-728508487": "{{currency}} 最近的交易", "-1984478597": "该交易的详细信息可在CoinsPaid上找到。", "-316545835": "转账前,请确保<0>所有详细信息<0>正确无误。", "-949073402": "确认已经验证了客户的转账信息。", @@ -2870,13 +2874,13 @@ "-1531269493": "交易处理好后我们会发送邮件给您。", "-1373954791": "必须是有效号码", "-1278608332": "请输入0和 {{api_max_losses}} 之间的数字。", - "-287597204": "输入限制后,一旦满足以下任一条件时机器人将停止交易。", + "-287597204": "输入限制后,一旦满足以下任一条件时 Bot将停止交易。", "-1445989611": "在所有 Deriv 平台上限制您当天的潜在亏损金额。", - "-152878438": "机器人将为此次运行执行的最大交易数。", + "-152878438": " Bot将为此次运行执行的最大交易数。", "-1490942825": "开始运行", - "-2067572496": "您刚刚停止了机器人。任何未完成的合约都可以在\"报告\"页面查看。", - "-992003496": "所做的更改不会影响运行中的机器人。", - "-1778025545": "已成功导入机器人。", + "-2067572496": "您刚刚停止了 Bot。任何未完成的合约都可以在\"报告\"页面查看。", + "-992003496": "所做的更改不会影响运行中的 Bot。", + "-1778025545": "已成功导入 Bot。", "-1572746946": "Asian Up", "-686840306": "Asian Down", "-2141198770": "Higher", @@ -2903,7 +2907,7 @@ "-312844882": "初始投注额:开始交易时愿意投入的金额。这是根据所使用策略的动态变化而改变投注额的起点。", "-1173302981": "1. 以初始投注额开始。在本例中,使用 1 美元。", "-1540106116": "盈亏阈值", - "-894905768": "使用 Deriv Bot,交易者可以设置盈亏阈值来确保潜在利润并限制潜在亏损。这意味着当达到盈利或亏损阈值时,交易机器人将自动停止。这是可能提高回报的风险管理形式。例如,如果交易者将利润阈值设置为 100 美元,当该策略的所有交易盈利超过 100 美元时,机器人将停止运行。", + "-894905768": "使用 Deriv Bot,交易者可以设置盈亏阈值来确保潜在利润并限制潜在亏损。这意味着当达到盈利或亏损阈值时,交易 Bot将自动停止。这是可能提高回报的风险管理形式。例如,如果交易者将利润阈值设置为 100 美元,当该策略的所有交易盈利超过 100 美元时, Bot将停止运行。", "-1946134465": "其中:", "-248283982": "B 是亏损阈值。", "-1148521416": "f 是单位增量。", @@ -2921,21 +2925,21 @@ "-46865201": "Martingale 公式 1", "-116397598": "m 是 Martingale multiplier。", "-658161609": "轮数,R ≈ 9.965", - "-288082521": "这意味着,在连续亏损 10 轮后,该交易者将亏损 1023 美元,超过 1000 美元的亏损阈值,机器人停止运作。", + "-288082521": "这意味着,在连续亏损 10 轮后,该交易者将亏损 1023 美元,超过 1000 美元的亏损阈值, Bot停止运作。", "-770387160": "交易中的 Martingale 策略可能会带来可观的收益,但也有巨大的风险。Deriv Bot会根据选择的策略提供自动交易,并采取诸如设置初始投注额、投注额大小、最大投注额、盈利阈值和亏损阈值等风险管理措施。对于交易者来说,在使用真实资金交易之前,评估自己的风险承受能力、在演示账户中练习并了解交易策略至关重要。", "-1901073152": "这些是 Deriv Bot 中 Oscar's Grind 策略使用的交易参数。", "-1575153036": "Oscar’s Grind 策略示例", "-732418614": "上表显示了此原则,即当交易获利并达到一个潜在盈利单位的目标(在本例中为 1 美元)时,交易时段结束。如果继续交易,新的交易时段将开始。", "-106266344": "原则 3:根据当前亏损与该时段目标利润之间的差距大小调整投注额", "-492908094": "在第 7 轮,投注额从 2 美元下调至 1 美元,以实现 1 美元的目标利润。", - "-90079299": "使用 Deriv Bot,交易者可以设置盈亏阈值来确保潜在利润并限制潜在亏损。这意味着当达到盈利或亏损阈值时,交易机器人将自动停止。这是一种风险管理形式,有可能促进交易获利,同时限制亏损的影响。例如,如果交易者将利润阈值设置为 100 美元,当该策略的所有交易利润超过 100 美元时,机器人将停止运行。", + "-90079299": "使用 Deriv Bot,交易者可以设置盈亏阈值来确保潜在利润并限制潜在亏损。这意味着当达到盈利或亏损阈值时,交易 Bot将自动停止。这是一种风险管理形式,有可能促进交易获利,同时限制亏损的影响。例如,如果交易者将利润阈值设置为 100 美元,当该策略的所有交易利润超过 100 美元时, Bot将停止运行。", "-1549673884": "Oscar's Grind 策略提供有纪律的方法,通过系统性的投注额递增实现收益递增。当与适当的风险管理(如盈利或亏损阈值)整合到 Deriv Bot 中时,它为交易者提供潜在的强大自动交易技术。不过,交易者应首先全面评估自己的风险承受能力,并在使用真实资金交易之前,先尝试在演示账户交易,以便熟悉该策略。", "-655650222": "探索 Deriv Bot 的 Reverse D’Alembert 策略", "-1864807973": "Reverse D'Alembert 策略包括在交易获利后增加投注额,在交易亏损后按预定单位数减少投注额。", "-809681645": "这些是 Deriv Bot 的 Reverse D’Alembert 策略使用的交易参数。", "-1239374257": "Reverse D’Alembert 策略范例", "-309821442": "请注意,虽然我们说明时可能使用四舍五入的数字,但特定金额的投注并不保证成功交易的确切金额。例如,1 美元的投注并不一定等于 1 美元的成功交易利润。", - "-1576691912": "本文探讨了集成到 Deriv Bot 的 Reverse Martingale 策略,这是一款多功能交易机器人,旨在交易外汇、大宗商品和衍生指数等资产。我们将深入研究该策略的核心参数及其应用,并为希望有效使用该机器人的交易者提供基本要点。", + "-1576691912": "本文探讨了集成到 Deriv Bot 的 Reverse Martingale 策略,这是一款多功能交易 Bot,旨在交易外汇、大宗商品和 derived 指数等资产。我们将深入研究该策略的核心参数及其应用,并为希望有效使用该 Bot的交易者提供基本要点。", "-1934849823": "这些是 Deriv Bot 的 Reverse Martingale 策略使用的交易参数。", "-1021919630": "Multiplier:交易成功时用于增加投注额的 multiplier。该值必须大于 1。", "-760516362": "3. 如果第一笔交易成功,Deriv Bot 会自动将下一笔交易的投注额翻倍至 2 美元。每次成功交易后,Deriv Bot 会继续将投注额翻倍。", @@ -2946,10 +2950,10 @@ "-719846465": "5. 达到初始投注额后,如果下一笔交易仍亏损,则投注额将保持在 1 美元的初始投注。该策略将以最低的初始投注交易。参考第四和第五笔交易。", "-1452746011": "1-3-2-6 交易策略可能会带来可观的收益,但也存在重大风险。每笔投注都是独立的,从长远来看,该策略不会增加交易获利的机会。如果遇到一系列亏损,该策略可能会导致重大损失。因此,交易者在进行真实货币交易之前,须评估自己的风险承受能力,在演示账户中练习,利用盈亏阈值并充分理解策略至关重要。", "-1016171176": "资产", - "-138833194": "机器人将使用此策略交易的标的市场。", + "-138833194": " Bot将使用此策略交易的标的市场。", "-621128676": "交易类型", - "-399349239": "机器人每次运行都会使用此交易类型", - "-410856998": "如利润总额超出此金额,机器人将停止交易。", + "-399349239": " Bot每次运行都会使用此交易类型", + "-410856998": "如利润总额超出此金额, Bot将停止交易。", "-447853970": "亏损阈值", "-33106112": "成功交易后用于乘以下一笔交易的投注的大小。", "-1503301801": "该值必须等于或大于 {{ min }}", @@ -2958,50 +2962,50 @@ "-1448426542": "如果下一次交易的投注超过该值,则会重置为初始投注。", "-993953307": "对资产价格最后一位数的预测。", "-1305281529": "D’Alembert", - "-1842451303": "欢迎来到 Deriv 机器人!", - "-1391310674": "查看以下指南和常见问题解答,了解有关构建机器人的更多信息:", + "-1842451303": "欢迎来到 Deriv Bot!", + "-1391310674": "查看以下指南和常见问题解答,了解有关构建 Bot的更多信息:", "-2066779239": "常见问题", - "-280324365": "什么是 Deriv 机器人?", - "-155173714": "让我们建造机器人吧!", + "-280324365": "什么是 Deriv Bot?", + "-155173714": "让我们建造 Bot吧!", "-1919212468": "3. 也可以使用类别上方的搜索栏搜索所需的程序块。", - "-1520558271": "如需更多信息,查看这篇介绍构建交易机器人基础知识的博文。", + "-1520558271": "如需更多信息,查看这篇介绍构建交易 Bot基础知识的博文。", "-980360663": "3. 选择想要的程序块并将其拖到工作区。", "-1493168314": "什么是快速策略?", "-1680391945": "使用快速策略", "-1177914473": "如何保存策略?", - "-271986909": "在机器人生成器点击顶部工具栏上的保存以下载机器人。给机器人起个名字,然后选择将机器人下载到设备或谷歌云端硬盘。机器人将以 XML 文件格式下载。", + "-271986909": "在 Bot生成器点击顶部工具栏上的保存以下载 Bot。给 Bot起个名字,然后选择将 Bot下载到设备或谷歌云端硬盘。 Bot将以 XML 文件格式下载。", "-1149045595": "1. 点击 导入后,选择 本地 并单击 继续。", "-288041546": "2. 选择 XML 文件并点击打开。", - "-2127548288": "3. 机器人将相应加载。", + "-2127548288": "3. Bot将相应加载。", "-1311297611": "1. 点击导入,选择Google Drive并点击继续。", "-1549564044": "如何重置工作空间?", - "-1127331928": "在机器人生成器点击顶部工具栏上的重置。这将清空工作区。请注意,任何未保存的更改都将丢失。", - "-1720444288": "如何用 Deriv 机器人控制亏损?", - "-1142295124": "使用 Deriv 机器人可以通过多种方式控制亏损。以下是简单的示例,说明如何在策略中实施亏损控制:", + "-1127331928": "在 Bot生成器点击顶部工具栏上的重置。这将清空工作区。请注意,任何未保存的更改都将丢失。", + "-1720444288": "如何用 Deriv Bot控制亏损?", + "-1142295124": "使用 Deriv Bot可以通过多种方式控制亏损。以下是简单的示例,说明如何在策略中实施亏损控制:", "-2129119462": "1. 创建以下变量,并将其置于启动时运行下:", "-1918487001": "例如:", "-468926787": "交易参数、变量和交易期权应如下所示:", - "-1565344891": "可否在网页浏览器的多个选项卡运行 Deriv 机器人?", + "-1565344891": "可否在网页浏览器的多个选项卡运行 Deriv Bot?", "-90192474": "是,可以的。但是,账户有些限制,例如未平仓头寸的最大数量和未平仓头寸的最大总赔付额。因此,开设多个头寸时,请牢记这些限制。可以在设置>账户限制中找到有关这些限制的更多信息。", - "-213872712": "不,Deriv 机器人不提供加密货币交易。", - "-2147346223": "Deriv 机器人在哪些国家/地区可用?", + "-213872712": "不,Deriv Bot不提供加密货币交易。", + "-2147346223": "Deriv Bot在哪些国家/地区可用?", "-352345777": "自动交易最热门的策略是什么?", - "-552392096": "自动交易中最热门的三种策略是 Martingale、D'Alembert 和 Oscar's Grind — Deriv 机器人中可找到预先制作好并等着采用的版本。", + "-552392096": "自动交易中最热门的三种策略是 Martingale、D'Alembert 和 Oscar's Grind — Deriv Bot中可找到预先制作好并等着采用的版本。", "-1630262763": "关于 Martingale", "-413928457": "关于 Oscar's Grind", "-1497015866": "关于 Reverse D’Alembert", "-437005403": "关于 1-3-2-6", "-590765322": "不幸的是,该交易平台不适用于欧盟 Deriv 账户。请切换到非欧盟账户继续交易。", - "-2110207996": "此账户不可用 Deriv 机器人", + "-2110207996": "此账户不可用 Deriv Bot", "-971295844": "切换到另一个账户", - "-1194079833": "Deriv 机器人不适用于欧盟客户", + "-1194079833": "Deriv Bot不适用于欧盟客户", "-746652890": "通知", "-824109891": "系统", "-507620484": "未保存", "-764102808": "Google Drive", - "-749186458": "机器人运行时,账户切换将被禁用。切换账户前请先停止运行机器人。", + "-749186458": " Bot运行时,账户切换将被禁用。切换账户前请先停止运行 Bot。", "-597939268": "保留合约", - "-1322453991": "需要登录才能运行机器人。", + "-1322453991": "需要登录才能运行 Bot。", "-236548954": "合约更新错误", "-1428017300": "该", "-1450728048": "的", @@ -3012,7 +3016,7 @@ "-1223145005": "亏损金额: {{profit}}", "-1206212388": "欢迎回来!信息已恢复。您正在使用{{current_currency}} 账户。", "-1724342053": "您正在使用{{current_currency}} 账户。", - "-187634388": "此程序块是强制性的。您可以在此处决定是否让机器人继续交易。此程序块仅允许复制一次。", + "-187634388": "此程序块是强制性的。您可以在此处决定是否让 Bot继续交易。此程序块仅允许复制一次。", "-2105473795": "唯一确定如何格式化程序块输出的输入参数。如果输入参数是“字符串”,则将添加账户货币。", "-1800436138": "2. \"数字\": 1325.68", "-530632460": "此程序块用于确定市场价格是否朝所选方向移动。它提供“真”或“假”之值。", @@ -3074,7 +3078,7 @@ "-749487251": "SMA可作为走势的指标。如果SMA向上,则市场价格将上涨,反之亦然。周期数越大,SMA线越平滑。", "-1996062088": "此例子中,简单移动平均线(SMA)的每一点是前10天收盘价的算术平均数。", "-1866751721": "输入列表接受跳动点或烛线列表,而周期是指定的时间段。", - "-1097076512": "您可以对每次机器人运行所计算出的SMA值作比较,以识别市场走势方向。或者,您也可以使用SMA程序块,即简单移动平均数组程序块的变化。 ", + "-1097076512": "您可以对每次 Bot运行所计算出的SMA值作比较,以识别市场走势方向。或者,您也可以使用SMA程序块,即简单移动平均数组程序块的变化。 ", "-1254849504": "如果输入的周期为10,则简单移动平均数组程序块将返回基于周期10计算的SMA值列表。", "-1190046167": "此程序块显示带有自定义消息的对话框。显示对话框时,策略将暂停,并且仅在单击“确定”后才会恢复。", "-859028989": "此示例中,日期和时间将显示在绿色的通知框中。", @@ -3103,7 +3107,7 @@ "-870004399": "<0>已购入: {{longcode}} (ID: {{transaction_id}})", "-1211474415": "筛选器", "-186972150": "没有要显示的消息", - "-558594655": "机器人没有运行", + "-558594655": " Bot没有运行", "-478946875": "统计信息已清除", "-999254545": "所有消息已被筛选", "-934909826": "载入策略", @@ -3111,12 +3115,12 @@ "-254025477": "从设备选XML文件", "-1131095838": "请上传XML文件", "-523928088": "从本地驱动器或Google云端硬盘创建或上传。", - "-1684205190": "为何看不到最近的机器人运行状况?", + "-1684205190": "为何看不到最近的 Bot运行状况?", "-2050879370": "1. 从其他设备登录", "-811857220": "3. 浏览器缓存已清除", "-625024929": "已经打算退出?", "-584289785": "不,我会留下", - "-1435060006": "如果退出,当前合约将完成,但机器人将立刻停止运作。", + "-1435060006": "如果退出,当前合约将完成,但 Bot将立刻停止运作。", "-783058284": "总投注金额", "-2077494994": "总赔付额", "-1073955629": "运行次数", @@ -3124,12 +3128,12 @@ "-42436171": "总损益", "-1856204727": "重置", "-1137823888": "上次清除统计记录至今的总赔付额。", - "-992662695": "自上次清除统计信息以来机器人运行的次数。每次运行都包括所有根程序块的执行。", + "-992662695": "自上次清除统计信息以来 Bot运行的次数。每次运行都包括所有根程序块的执行。", "-1382491190": "自上次清除统计记录以来的总损益。这是总收益与总投注之间的差额。", "-24780060": "准备好交易时,点击 ", - "-2147110353": "可以在这里跟踪机器人的表现。", + "-2147110353": "可以在这里跟踪 Bot的表现。", "-1442034178": "已买入合约", - "-2020280751": "机器人将停止", + "-2020280751": " Bot将停止", "-1436403979": "合约已终止", "-411060180": "交易视图", "-627895223": "退市现价", @@ -3167,38 +3171,38 @@ "-907562847": "列表", "-1646497683": "循环", "-251326965": "杂项", - "-1692205739": "从电脑或 Google 云端硬盘导入机器人,从头开始构建,或者从快速策略开始。", - "-1545070554": "删除机器人", - "-1972599670": "点击时,机器人将被永久删除 ", + "-1692205739": "从电脑或 Google 云端硬盘导入 Bot,从头开始构建,或者从快速策略开始。", + "-1545070554": "删除 Bot", + "-1972599670": "点击时, Bot将被永久删除 ", "-1692956623": "是,删除.", "-573479616": "确定要删除吗?", "-786915692": "您已连接到Google云端硬盘", - "-1256971627": "要从 Google 云端硬盘导入机器人,需要登录 Google 账户。", + "-1256971627": "要从 Google 云端硬盘导入 Bot,需要登录 Google 账户。", "-1233084347": "要了解 Google 云端硬盘如何处理数据,请查看 Deriv 的<0>隐私政策。", "-1150107517": "连接", "-1150390589": "最后修改", - "-1393876942": "机器人:", - "-767342552": "输入机器人名称,选择保存在电脑或 Google 云端硬盘上,然后点击 ", + "-1393876942": " Bot:", + "-767342552": "输入 Bot名称,选择保存在电脑或 Google 云端硬盘上,然后点击 ", "-1372891985": "保存.", "-1003476709": "另存为集合件", "-636521735": "保存策略", - "-1953880747": "停下机器人", - "-1899230001": "停止当前机器人会将刚刚创建的快速策略加载到工作区。", + "-1953880747": "停下 Bot", + "-1899230001": "停止当前 Bot会将刚刚创建的快速策略加载到工作区。", "-2131847097": "任何未平仓合约都可以查看 ", "-563774117": "仪表板", - "-683790172": "现在,<0>运行机器人以测试策略。", + "-683790172": "现在,<0>运行 Bot以测试策略。", "-1127164953": "您好!点击 <0>开始快速浏览。", "-358288026": "注意:也可以在<0>“教程”选项卡中找到本教程。", "-129587613": "明白了,谢谢!", "-1793577405": "从头开始构建", - "-358753028": "使用拖放程序块创建机器人,或者点击快速策略选择即用型机器人模板。", + "-358753028": "使用拖放程序块创建 Bot,或者点击快速策略选择即用型 Bot模板。", "-1212601535": "监控市场", - "-21136101": "实时查看机器人的表现。", + "-21136101": "实时查看 Bot的表现。", "-631097919": "想开始交易时点击<0>运行,想停止交易时点击<0>停止。", "-1999747212": "想重新浏览吗?", "-782992165": "步骤1 :", "-1207872534": "首先,设置<0>交易参数程序块。", - "-1656388044": "首先,将<0>市场设置为衍生指数 > 连续指数 > Volatility 100 (1s) 指数。", + "-1656388044": "首先,将<0>市场设置为 derived 指数 > 连续指数 > Volatility 100 (1s) 指数。", "-1706298865": "然后,将<0>交易类型设置为 Up/Down> Rise/Fall。", "-1834358537": "对于<0>默认烛线间隔,将其设置为 1 分钟", "-1940971254": "对于<0>交易期权,请将其设置如下:", @@ -3217,9 +3221,9 @@ "-736400802": "步骤6 :", "-732067680": "最后,将整个<0>重复程序块拖动并添加到<0>重启交易条件程序块中。", "-1411787252": "步骤1", - "-1109392787": "学习如何使用简单策略从零开始构建机器人。", - "-1263822623": "可以从移动设备或 Google 云端硬盘导入机器人,在机器人生成器中查看预览,然后运行机器人开始交易。", - "-563921656": "机器人生成器指南", + "-1109392787": "学习如何使用简单策略从零开始构建 Bot。", + "-1263822623": "可以从移动设备或 Google 云端硬盘导入 Bot,在 Bot生成器中查看预览,然后运行 Bot开始交易。", + "-563921656": " Bot生成器指南", "-1596172043": "快速策略指南", "-1765276625": "单击 multiplier 下拉菜单,然后选择要交易的 multiplier 值。", "-1872233077": "潜在利润将乘以选择的 multiplier 值。", @@ -3239,10 +3243,10 @@ "-821418875": "交易者", "-679102561": "合约细节", "-430118939": "控诉政策", - "-1308346982": "衍生资产", - "-579984289": "衍生品演示", - "-1596515467": "衍生资产 BVI", - "-222394569": "瓦努阿图衍生资产", + "-1308346982": "Derived", + "-579984289": "Derived 演示", + "-1596515467": "Derived BVI", + "-222394569": "Derived 瓦努阿图", "-328128497": "金融", "-533935232": "金融 BVI", "-565431857": "金融纳闽", @@ -3353,7 +3357,7 @@ "-482715448": "前往个人资料", "-2072411961": "地址证明已通过验证", "-384887227": "更新个人资料中的地址。", - "-1779268418": "在 MT5 交易外汇、股票、股票指数、大宗商品、加密货币、交易所买卖基金和综合指数的免掉期差价合约。", + "-1470677931": "金融工具差价合约。", "-1998049070": "如同意我们使用 cookie,请单击“接受”。有关更多信息,请<0>参阅我们的政策。", "-402093392": "添加 Deriv 账户", "-1721181859": "您需要有 {{deriv_account}} 账户", @@ -3513,7 +3517,7 @@ "-1587894214": "关于需要验证的信息。", "-466784048": "监管机构/EDR", "-2098459063": "英属维尔京群岛", - "-1005069157": "综合指数、篮子指数和衍生外汇", + "-1005069157": "综合指数、basket 指数和 derived 外汇", "-1344709651": "40+", "-1326848138": "英属维尔京群岛金融服务委员会(许可证号 SIBA/L/18/1114)", "-1711743223": "外汇(标准/微型)、股票、股票指数、大宗商品、加密货币和交易所买卖基金", @@ -3528,7 +3532,7 @@ "-618322245": "验证成功.", "-149461870": "外汇:标准/奇异货币对", "-1995163270": "交易所买卖基金", - "-651501076": "衍生资产 - SVG", + "-651501076": "Derived - SVG", "-865172869": "金融 - BVI", "-1851765767": "金融 - 瓦努阿图", "-558597854": "金融 - 纳闽", @@ -3822,7 +3826,7 @@ "-1588521055": "设置变量值", "-980448436": "设置变量", "-1538570345": "获取前次的交易信息和结果,然后再次交易。", - "-222725327": "可以在这里决定机器人是否应该继续交易。", + "-222725327": "可以在这里决定 Bot是否应该继续交易。", "-1638446329": "结果为 {{ win_or_loss }}", "-1968029988": "最后交易结果", "-1588406981": "用此程序块查看上次的交易结果。", @@ -3893,7 +3897,7 @@ "-1202212732": "此程序块返回账户余额", "-1737837036": "账户余额", "-1963883840": "把程序块放在这里,以防止被移除", - "-1284013334": "如果您希望机器人运行时忽略某些指令,请使用此程序块。此程序块中的指令将不会执行。", + "-1284013334": "如果您希望 Bot运行时忽略某些指令,请使用此程序块。此程序块中的指令将不会执行。", "-1217253851": "日志", "-1987568069": "警告", "-104925654": "控制台", @@ -3904,12 +3908,12 @@ "-2105753391": "通知 Telegram {{ dummy }} 访问令牌:{{ input_access_token }} 聊天ID:{{ input_chat_id }} 消息:{{ input_message }}", "-1008209188": "給Telegram發送消息", "-1218671372": "显示通知并可以选择用选定的声音播放", - "-2099284639": "自机器人开始运行以来,此程序块提供交易策略的总盈亏。可以通过单击“交易统计”窗口上的“清除统计”或在浏览器中刷新此页面以重置此状态。", + "-2099284639": "自 Bot开始运行以来,此程序块提供交易策略的总盈亏。可以通过单击“交易统计”窗口上的“清除统计”或在浏览器中刷新此页面以重置此状态。", "-683825404": "总利润字符串", "-718220730": "总利润字符串解说", "-1861858493": "运行次数", "-264195345": "返回运行次数", - "-303451917": "此程序块提供机器人总运行次数。可以通过单击“交易统计”窗口上的“清除统计”或在浏览器中刷新此页面以重置此状态。", + "-303451917": "此程序块提供 Bot总运行次数。可以通过单击“交易统计”窗口上的“清除统计”或在浏览器中刷新此页面以重置此状态。", "-2132861129": "转换助手程序块", "-74095551": "自Epoch以来的秒数", "-15528039": "返回自1970年1月1日以来的秒数", @@ -3929,7 +3933,7 @@ "-1466383897": "持续时间: {{ duration_unit }} {{ duration_value }}", "-440702280": "交易选项", "-1193894978": "定义诸如期限和投注额等交易选项。一些选项仅适用于某些交易类型。", - "-46523443": "持续时间值不允许。要运行机器人,请输入介于{{min}} 至{{max}} 之间的值。", + "-46523443": "持续时间值不允许。要运行 Bot,请输入介于{{min}} 至{{max}} 之间的值。", "-1483427522": "交易类型: {{ trade_type_category }} > {{ trade_type }}", "-323348124": "1. 交易参数", "-1671903503": "开机时运行:", @@ -4078,8 +4082,6 @@ "-3423966": "止盈<0 />止损", "-1131753095": "{{trade_type_name}} 合约详细目前还没有。我们正在准备,会尽快提供。", "-360975483": "您在此期间没有进行过此类交易。", - "-561436679": "此账户提供衍生工具差价合约。", - "-1173266642": "此账户在功能齐全的交易平台提供差价合约。", "-1226595254": "Turbos 期权", "-922253974": "Rise/Fall", "-1361254291": "Higher/Lower", @@ -4137,7 +4139,7 @@ "-9704319": "Crash 1000 指数", "-465860988": "Bull Market 指数", "-390528194": "Step 指数", - "-280323742": "欧元篮子", + "-280323742": "欧元 Basket", "-563812039": "Volatility 10 (1s) 指数", "-82971929": "Volatility 25 (1s) 指数", "-433962508": "Volatility 75 (1s) 指数", diff --git a/packages/translations/src/translations/zh_tw.json b/packages/translations/src/translations/zh_tw.json index bafcb41597f2..422cd1038f93 100644 --- a/packages/translations/src/translations/zh_tw.json +++ b/packages/translations/src/translations/zh_tw.json @@ -1,25 +1,25 @@ { "1485191": "1:1000", "2082741": "附加文件編號", - "2091451": "Deriv 機器人 - 自動交易夥伴", + "2091451": "Deriv Bot - 自動交易夥伴", "3125515": "Deriv MT5 密碼是用於登入桌面、網絡和手機應用上的 Deriv MT5 帳戶.", "3215342": "過去30天", "3420069": "為避免延遲,輸入的<0>姓名和<0>出生日期需與身份證件顯示的完全一致。", "4547840": "<0>驗證帳戶,以便轉帳。 <1>立即驗證", "5149403": "進一步了解交易類型", "7100308": "小時數必須在 0 和 23 之間。", - "9488203": "Dbot 是用於交易數字期權、基於網路的策略構建器。它是通過拖放「區塊」構建自己的自動交易機器人的平台。", + "9488203": "Dbot 是用於交易數字期權、基於網路的策略構建器。它是通過拖放「區塊」構建自己的自動交易 Bot的平台。", "9757544": "請提交地址證明", "11539750": "設定 {{ variable }} 為相對強弱指數陣列 {{ dummy }}", - "11706633": "虧損限額: 如果總虧損超過此金額,機器人將停止交易。", + "11706633": "虧損限額: 如果總虧損超過此金額, Bot將停止交易。", "11872052": "是,我將稍後再來", "14365404": "{{ message_type }}的請求已失敗, {{ delay }}秒後重試", "15377251": "盈利金額: {{profit}}", "17843034": "查看身份證明文件驗證狀態", "19424289": "使用者名稱", - "19552684": "美元籃子", + "19552684": "美元 Basket", "21035405": "請告訴我們您為什麼要離開。(最多選擇{{ allowed_reasons }} 個原因。)", - "24900606": "黃金籃子", + "24900606": "黃金 Basket", "25854018": "此區塊在開發人員主控台中顯示消息,輸入內容可以是文字串、數字、布爾值或資料陣列。", "26566655": "摘要", "26596220": "金融", @@ -37,7 +37,7 @@ "46523711": "身份證明已通過驗證", "49404821": "如果購買了「<0>{{trade_type}}」期權,當最終價格為行權價的 {{payout_status}} ,則會在到期時收到賠付。否則,「<0>{{trade_type}}」期權將毫無價值地過期。", "53801223": "香港 50", - "53964766": "5. 點選儲存下載機器人。可以選擇將機器人下載到裝置或 Google 雲端硬盤。", + "53964766": "5. 點選儲存下載 Bot。可以選擇將 Bot下載到裝置或 Google 雲端硬盤。", "54185751": "少於$100,000", "55340304": "保留目前合約?", "55916349": "所有", @@ -53,7 +53,7 @@ "65982042": "總計", "66519591": "投資者密碼", "66610627": "無法驗證自拍照,因為它不清楚。請拍攝更清晰的照片,然後再試一次。確保所在的地方有足夠的光線,並且整個臉部都在邊框中。", - "67923436": "不,當網頁瀏覽器關閉時,Deriv 機器人將停止運行。", + "67923436": "不,當網頁瀏覽器關閉時,Deriv Bot將停止運行。", "68885999": "遇到錯誤時重覆前次交易。", "69005593": "以下例子中的1分鐘燭線價位開始後30秒或更久,交易重新開始。", "71016232": "嫩模幣/美元", @@ -67,18 +67,18 @@ "74963864": "Under", "76635112": "若要繼續,請重新提交這些文件", "76916358": "已達到提款限額。<0/>請上傳身份和地址證明,以提高提款限額,並繼續提款。", - "76925355": "檢查機器人的效能", - "77945356": "使用行動應用程式隨時隨地交易。", + "76925355": "檢查 Bot的效能", "77982950": "Vanilla 期權允許通過購買 \"Call\" 或 \"Put\" 來預測標的資產的向上(看漲)或向下(看跌)走勢。", "81091424": "要完成升級,請登出並再次登入,以新增更多帳戶並使用 Wallets 交易。", "81450871": "無法找到頁面", "82839270": "上傳包含照片的護照頁面。", "83202647": "摺疊區塊", "84402478": "哪裡可以找到所需的區塊?", + "84924586": "要交易期權和 multipliers,請首先獲得 Deriv 應用程式帳戶。", "85343079": "財務評估", "85359122": "40 或以上", "85389154": "手機繼續驗證所需的步驟", - "90266322": "2. 與新建立的Telegram 機器人開始聊天,並確保在繼續下一步驟前給其發送消息。(例如,機器人你好!)", + "90266322": "2. 與新建立的Telegram Bot開始聊天,並確保在繼續下一步驟前給其發送消息。(例如, Bot你好!)", "91993812": "馬丁格爾策略於十八世紀由法國數學家Paul Pierre Levy推廣,是用了百多年的經典交易技術。", "93154671": "1. 點選統計面板底部的重設。", "96381225": "ID 驗證失敗", @@ -120,7 +120,7 @@ "132689841": "Web 終端交易", "133523018": "請前往存款頁面取得地址。", "133536621": "以及", - "133655768": "注意:如果想了解更多關於機器人產生器的資訊,可以前往<0>教學課程分頁。", + "133655768": "注意:如果想了解更多關於 Bot產生器的資訊,可以前往<0>教學課程分頁。", "137589354": "評估交易經驗以及產品是否適合您。 請提供準確完整的答案,因為這些答案可能會影響評估結果。", "138055021": "綜合指數", "139454343": "確認我的限額", @@ -134,7 +134,7 @@ "145736466": "自拍", "150156106": "儲存更改", "150486954": "權杖名稱", - "151279367": "2. 設定購買條件。在此範例中,機器人將在 Rise 合約開始和合約結束後購買該合約。", + "151279367": "2. 設定購買條件。在此範例中, Bot將在 Rise 合約開始和合約結束後購買該合約。", "151646545": "無法讀取文檔 {{name}}", "152415091": "數學", "152524253": "在我們極受歡迎、人性化的平台進行全球市場交易。", @@ -143,7 +143,7 @@ "158355408": "某些服務可能暫時無法使用。", "160746023": "泰達作為 Omni 代幣(USDT)是託管在比特幣區塊鏈 Omni 層的泰達幣版本。", "160863687": "未偵測到相機", - "164112826": "此區塊允許您從URL載入您在遠程伺服器儲存的區塊(如有)。只有當機器人操作時才能載入。", + "164112826": "此區塊允許您從URL載入您在遠程伺服器儲存的區塊(如有)。只有當 Bot操作時才能載入。", "164564432": "由於系統維護,暫時無法存款。一旦維護完成,即可存款。", "165294347": "請前往帳戶設定並設定居住國/地區以存取收銀台。", "165312615": "用電話繼續操作", @@ -162,7 +162,6 @@ "177099483": "地址驗證正在處理,已經對帳戶設定了一些限制。一旦地址通過驗證,限制就會解除。", "178413314": "名字的長度必須介於2-50個字元。", "179083332": "日期", - "179737767": "傳統期權交易平台。", "181107754": "<0>{{platform}} {{eligible_account_to_migrate}} 新帳戶已準備好進行交易。", "181346014": "備註 ", "181881956": "合約類型: {{ contract_type }}", @@ -196,7 +195,6 @@ "211461880": "常用名稱和姓氏容易猜到", "211487193": "證件號碼(例如身份證、護照、駕駛執照等)", "211847965": "<0>個人詳細資料不完整。請前往帳戶設定並填寫個人詳細資料,以啟用取款。", - "215975531": "此帳戶在可自訂的差價合約交易平台提供差價合約。", "216650710": "您正在使用示範帳戶", "217377529": "5. 如果下一筆交易獲利,則下一筆交易的投注額將減少 2 美元。 如上所示,3 美元的投注額減為 1 美元。 參見 A3。", "217403651": "聖文森特和格林納丁斯", @@ -236,7 +234,7 @@ "258448370": "MT5", "258912192": "交易評估", "260069181": "試圖載入URL時出錯", - "260086036": "當機器人開始運行時把區塊置於此處以執行一次任務。", + "260086036": "當 Bot開始運行時把區塊置於此處以執行一次任務。", "260361841": "稅務識別號碼不可大於25個字元。", "260393332": "無法進一步存款,因為文件仍在審查中。核准驗證後,將在 3 天內通過電子郵件通知您。", "261074187": "4. 將區塊加載到工作區後,根據需要調整參數,或點選運行開始交易。", @@ -253,7 +251,7 @@ "270610771": "下例中,燭線開盤價被分配到「candle_open_price」變數。", "270712176": "下降", "270780527": "文件上傳已達上限。", - "271637055": "機器人運行時無法下載。", + "271637055": " Bot運行時無法下載。", "272179372": "此區塊一般用於調整下一個交易的參數及執行止損/止盈邏輯。", "273350342": "複製權杖並貼上應用程式內。", "273728315": "不可為0或為空", @@ -281,7 +279,7 @@ "294043810": "確認稅務資料是準確且完整的。", "294305803": "帳戶設定管理", "294335229": "以市價賣出", - "296017162": "返回機器人", + "296017162": "返回 Bot", "301441673": "選擇護照或其他政府簽發的身份證明文件上顯示的公民身份/國籍。", "304309961": "正在審核取款請求。如需要,仍然可以取消交易。一旦開始處理,則不可取消。", "304506198": "總餘額:", @@ -296,11 +294,11 @@ "321457615": "糟糕,出錯了!", "323179846": "每一燭線圖可設定為一分鐘到一天的時間間隔。", "323209316": "選擇Deriv Bot 策略", - "323360883": "籃子", + "323360883": "Baskets", "325662004": "擴大區塊", "325763347": "結果", "326770937": "取款 {{currency}} ({{currency_symbol}}) 至錢包", - "327534692": "持續時間值不允許。要運行機器人,請輸入{{min}}。", + "327534692": "持續時間值不允許。要運行 Bot,請輸入{{min}}。", "328539132": "以指定次數重覆內部說明", "329353047": "馬爾他金融服務管理局 (MFSA) (執照編號 IS/70156)", "329404045": "<0>切換到真實帳戶<1>以開立{{platform}}{{account_title}} 帳戶。", @@ -318,6 +316,7 @@ "344418897": "這些交易限制和自我禁止功能可幫助您控制花在 {{brand_website_name}} 的金錢和時間,並執行<0>負責任交易。", "345320063": "無效的時間戳", "345818851": "抱歉,發生內部錯誤。點選上面的複選框再試一次。", + "346843343": "具有跟單交易的金融和 derived 工具差價合約。", "347029309": "外匯:標準/微型手", "347039138": "反覆 (2)", "348951052": "收銀台目前已鎖定。", @@ -334,8 +333,7 @@ "359649435": "無效燭線清單", "359809970": "此區塊在選定時間間隔內提供燭線圖清單中指定的燭線數值。可在開盤價、平倉價、高價、低價和開盤時間等選項中選擇。", "360224937": "邏輯", - "360773403": "機器人產生器", - "362946954": "傳統自動交易平台。", + "360773403": " Bot產生器", "363576009": "- High price: 最高價", "363738790": "瀏覽器", "363990763": "賣出價格:", @@ -364,6 +362,7 @@ "386502387": "自動交易已停止", "389923099": "放大", "390890891": "上一季", + "391038015": " multipliers 行動交易應用程式。", "391915203": "對沖", "392582370": "Fall Equals", "393789743": "僅限字母,空格,句號,連字符,撇號。", @@ -378,7 +377,7 @@ "412433839": "本人同意<0>條款和條件。", "413594348": "只允許字母、數字、空格、連字號、句號和斜線。", "417864079": "存款後將無法更改幣種。", - "418265501": "示範衍生資產", + "418265501": "示範 Derived ", "419485005": "現價", "419496000": "當利潤等值或大於此金額,合約將自動平倉。此區塊只能與Multiplier交易類型一起使用。", "420072489": "差價合約交易頻率", @@ -390,7 +389,7 @@ "427134581": "嘗試使用其他文件類型。", "427617266": "比特幣", "429970999": "為避免延誤,請準確輸入{{document_name}} 上的<0>姓名。", - "431267979": "以下是出門時使用 Deriv 機器人的快速指南。", + "431267979": "以下是出門時使用 Deriv Bot的快速指南。", "432273174": "1:100", "432508385": "止盈:{{ currency }} {{ take_profit }}", "432519573": "文檔已上傳", @@ -405,7 +404,7 @@ "437485293": "不支援的文件類型", "437904704": "最大未平倉頭寸", "438067535": "$500,000以上", - "439398769": "此策略目前與 Deriv 機器人不相容。", + "439398769": "此策略目前與 Deriv Bot不相容。", "442281706": "您剛剛刪除了一個區塊。", "442520703": "$250,001 - $500,000", "443559872": "金融 SVG", @@ -431,7 +430,7 @@ "466424460": "奧斯卡長坡纜", "466837068": "是,提高限額", "467839232": "我定期在其他平台交易外匯差價合約和其他複雜的金融工具。", - "471402292": "機器人每次運行都使用單一交易類型。", + "471402292": " Bot每次運行都使用單一交易類型。", "473154195": "設定", "474306498": "很遺憾看到您離開。帳戶現已關閉。", "475492878": "試試綜合指數", @@ -499,10 +498,10 @@ "551569133": "了解交易限制的詳細資訊", "554135844": "編輯", "554410233": "這是10個最常用的密碼", - "555351771": "定義好了交易參數和交易期權以後,當達到特定條件時,您還能指示機器人購入合約。您可使用條件區塊和指示器區塊來幫助機器人做決定,以實現此功能。", + "555351771": "定義好了交易參數和交易期權以後,當達到特定條件時,您還能指示 Bot購入合約。您可使用條件區塊和指示器區塊來幫助 Bot做決定,以實現此功能。", "555881991": "國民身份證號碼單", - "558866810": "執行機器人", - "559224320": "經典拖放工具為高級使用者建立含彈出式交易圖表的交易機器人。", + "558866810": "執行 Bot", + "559224320": "經典拖放工具為高級使用者建立含彈出式交易圖表的交易 Bot。", "560759471": "合約開始後,您將看到這些詳細資訊。", "561982839": "更改幣種", "562599414": "此區塊返回選定交易類型的買入價格。此區塊只能用在「購入條件」根塊。", @@ -511,7 +510,7 @@ "563652273": "前往區塊", "565410797": "以下圖像顯示簡單移動平均線陣列區塊的工作原理:", "566274201": "1. 市場", - "567019968": "變數是建立機器人時最重要且功能最強大的組件之一。這是以文字或數字形式儲存資訊的一種方法。可以根據給定的說明使用和更改儲存為變數的資訊。變數可以使用任何名稱,但通常會使用有用的符號名稱,以便在執行指令期間更容易調用。", + "567019968": "變數是建立 Bot時最重要且功能最強大的組件之一。這是以文字或數字形式儲存資訊的一種方法。可以根據給定的說明使用和更改儲存為變數的資訊。變數可以使用任何名稱,但通常會使用有用的符號名稱,以便在執行指令期間更容易調用。", "567163880": "建立 {{platform}} 密碼", "567755787": "稅務識別號碼為必填項。", "569057236": "文件在哪個國家簽發?", @@ -539,7 +538,7 @@ "592087722": "就業狀況是必填項.", "592381383": "金鑰已成功移除", "593459109": "嘗試使用其他幣種", - "594937260": "衍生資產 - BVI", + "594937260": "Derived - BVI", "595080994": "範例:CR123456789", "595136687": "儲存策略", "597089493": "此處讓您決定在合約到期前售出。此區塊僅允許一個複製件。", @@ -594,13 +593,13 @@ "642546661": "從電腦上傳執照的背面", "644150241": "上次清除統計記錄至今的獲利合約數。", "645902266": "歐元/紐元", - "646773081": "利潤限額: 如果總利潤超過此金額,機器人將停止交易。", + "646773081": "利潤限額: 如果總利潤超過此金額, Bot將停止交易。", "647039329": "需要地址證明", "647745382": "輸入清單 {{ input_list }}", "648035589": "其他差價合約平台", "649317411": "根據您所提供的知識和經驗相關資訊,我們認為此網站的投資活動對您來說並不合適。<0/><1/>", "649923867": "給數字新增符號,以製作障礙抵消。(已棄用)", - "650836587": "本文探討了整合到 Deriv Bot 的 Martingale 策略,這是一款多功能交易機器人,旨在交易外匯、大宗商品和衍生指數等資產。 我們將深入研究該策略的核心參數及其應用,並為希望有效使用該機器人的交易者提供基本要點。", + "650836587": "本文探討了整合到 Deriv Bot 的 Martingale 策略,這是一款多功能交易 Bot,旨在交易外匯、大宗商品和 derived 指數等資產。 我們將深入研究該策略的核心參數及其應用,並為希望有效使用該 Bot的交易者提供基本要點。", "651284052": "Low Tick", "651684094": "通知", "652298946": "出生日期", @@ -719,7 +718,7 @@ "758003269": "從文字製作清單", "760528514": "請注意,更改「i」值不會改變清單內原來項目的值", "761576760": "存款入帳戶並開始交易。", - "762926186": "快速策略是可以在 Deriv 機器人使用的現成策略。有3種快速策略供選擇:Martingale、D'Alembert 和 Oscar's Grind。", + "762926186": "快速策略是可以在 Deriv Bot使用的現成策略。有3種快速策略供選擇:Martingale、D'Alembert 和 Oscar's Grind。", "764366329": "交易限制", "766317539": "語言", "770171141": "前往 {{hostname}}", @@ -728,7 +727,7 @@ "773309981": "原油/美元", "773336410": "Tether是啟用了區塊鏈的平台,旨在促進以數字方式使用法定貨幣。", "775679302": "{{pending_withdrawals}} 待取款", - "775706054": "交易機器人是否有出售?", + "775706054": "交易 Bot是否有出售?", "776085955": "策略", "776432808": "選擇目前居住的國家/地區。", "778172770": "Deriv 差價合約", @@ -760,7 +759,7 @@ "807499069": "金融委員會投訴程序", "808323704": "您也可以使用「比較」和「邏輯運算」區塊製作測試變數。", "812430133": "前一價位的現貨價格。", - "815925952": "此區塊是強制性的。此區塊僅允許複製一次。打開 Deriv 機器人時,預設情況下將新增到畫布上。", + "815925952": "此區塊是強制性的。此區塊僅允許複製一次。打開 Deriv Bot時,預設情況下將新增到畫布上。", "816580787": "歡迎回來!訊息已還原。", "816738009": "<0/> <1/>您還可以將尚未解決的爭議提交給<2>金融服務仲裁員辦公室。", "818447476": "轉換帳戶?", @@ -829,7 +828,7 @@ "874461655": "用手機掃描QR碼", "874472715": "資金將保留在現有的 MT5 帳戶中。", "874484887": "止盈必須是正數。", - "875101277": "如果關閉網頁瀏覽器,Deriv 機器人會繼續執行嗎?", + "875101277": "如果關閉網頁瀏覽器,Deriv Bot會繼續執行嗎?", "875532284": "用其他裝置重啟進程", "876086855": "完成財務評估表", "876292912": "退出", @@ -843,7 +842,7 @@ "890299833": "前往報表", "891337947": "選擇國家", "893963781": "Close-to-Low", - "893975500": "您最近沒有運行任何機器人", + "893975500": "您最近沒有運行任何 Bot", "894191608": "<0>c.做出決定後,我們必須在28天內裁決和解。", "896790627": "美國出生地", "898457777": "已新增 Deriv 金融帳戶.", @@ -860,7 +859,7 @@ "909272635": "金融 - SVG", "910888293": "嘗試次數太多", "911048905": "(BTCUSD, ETHUSD)", - "912257733": "工作區將重設為預設策略,並且任何未儲存的變更都會遺失。<0>注意:這不會影響執行中的機器人。", + "912257733": "工作區將重設為預設策略,並且任何未儲存的變更都會遺失。<0>注意:這不會影響執行中的 Bot。", "912406629": "請按照以下步驟操作:", "912967164": "從電腦匯入", "915735109": "返回 {{platform_name}}", @@ -914,6 +913,7 @@ "969987233": "如果退市現價介於高、低障礙之間,其比例與退市現價及低障礙之間的差異相等,可獲得最大賠付。", "970915884": "一個", "974888153": "High-Low", + "975608902": "要交易差價合約,請首先獲得 Deriv 應用程式帳戶。", "975668699": "我確認並接受 {{company}} 的<0>條款和條件", "975950139": "居住國", "977929335": "前往帳戶設定", @@ -928,7 +928,7 @@ "986565137": "已收到收入證明", "987053672": "可以繼續持有目前 <0>{{platform}} {{existing_account}} 帳戶上的未平倉頭寸。", "987224688": "過去 12 個月,您使用其他金融工具進行了多少次交易?", - "988064913": "4. 回到 Deriv 機器人,並將 Notify Telegram 區塊新增到工作區中。將 Telegram API 權杖和聊天 ID 相應地粘貼到區塊欄位中。", + "988064913": "4. 回到 Deriv Bot,並將 Notify Telegram 區塊新增到工作區中。將 Telegram API 權杖和聊天 ID 相應地粘貼到區塊欄位中。", "988361781": "還沒有交易活動。", "988934465": "出現提示時,須啟用相機存取權限以繼續操作", "989840364": "未滿法定年齡。", @@ -941,6 +941,7 @@ "997311089": "更改密碼", "999008199": "文字", "1001160515": "賣出", + "1002392396": "derived 工具的差價合約。", "1002989598": "iOS:iCloud 鑰匙圈。", "1003876411": "應以字母或數位開始,可包含連字號、句號和斜線。", "1004127734": "傳送郵件", @@ -986,7 +987,7 @@ "1039428638": "歐盟法規", "1039476188": "虧損交易後用於將下一筆交易的投注倍增的大小。", "1039755542": "用幾個詞,避免常用短語", - "1040472990": "1. 轉到機器人產生器。", + "1040472990": "1. 轉到 Bot產生器。", "1040677897": "如要繼續交易,必須也提交地址證明。", "1041001318": "此區塊對給定清單執行以下操作:總和、最小值、最大值、平均值、中位數、眾數、反眾數、標準差、隨機項。", "1041620447": "如果無法掃描 QR 代碼,可以手動輸入此代碼取代:", @@ -1001,7 +1002,7 @@ "1048687543": "納閩金融服務管理局", "1048947317": "對不起,此應用在 {{clients_country}} 無法使用。", "1049384824": "Rise", - "1050063303": "Deriv 機器人的視訊", + "1050063303": "Deriv Bot的視訊", "1050128247": "確認已驗證付款代理的轉帳資訊。", "1050844889": "報告", "1052779010": "您正在使用示範帳戶", @@ -1020,7 +1021,7 @@ "1058905535": "教學課程", "1060231263": "什麼時候需要支付初始保證金?", "1061308507": "買入 {{ contract_type }}", - "1062423382": "在教學課程標籤中探索視訊指南和常見問答集,以建置機器人。", + "1062423382": "在教學課程標籤中探索視訊指南和常見問答集,以建置 Bot。", "1062536855": "Equals", "1062569830": "身分證件的<0>姓名與個人資料不符。", "1065275078": "cTrader 目前只能在桌面上使用。", @@ -1050,7 +1051,7 @@ "1088138125": "Tick {{current_tick}} - ", "1089085289": "行動電話號碼", "1089436811": "教學課程", - "1089687322": "停止目前的機器人?", + "1089687322": "停止目前的 Bot?", "1090041864": "該 {{block_type}} 區塊是強制性的,不能刪除/禁用。", "1095295626": "<0>•金融服務仲裁人將決定投訴是否可以接受並符合法律規定。", "1096078516": "將審核文件並於3天內通知狀況。", @@ -1073,7 +1074,7 @@ "1112582372": "間隔期限", "1113119682": "此區塊提供自燭線圖清單選定的燭線值。", "1113292761": "少於 8MB", - "1114679006": "已使用簡單的策略成功建立機器人。", + "1114679006": "已使用簡單的策略成功建立 Bot。", "1117281935": "賣出條件(可選)", "1117863275": "安全和保密", "1118294625": "您已選擇在 {{exclusion_end}} 前自我禁止在網站交易。如果自我禁止期後無法交易或存款,請通過即時聊天與我們聯繫。", @@ -1125,7 +1126,7 @@ "1170228717": "留在 {{platform_name_trader}}", "1171765024": "步驟 3", "1171961126": "交易參數", - "1172230903": "• 止損門檻:使用此變數儲存虧損限額。 可以指定任何金額。 當虧損達到或超過此金額時,機器人將停止運作。", + "1172230903": "• 止損門檻:使用此變數儲存虧損限額。 可以指定任何金額。 當虧損達到或超過此金額時, Bot將停止運作。", "1172524677": "差價合約示範", "1173957529": "轉到 Deriv 的'帳戶設定'。", "1174542625": "- 在回應裡找出聊天 ID 屬性,並複製 id 屬性的數值", @@ -1199,7 +1200,7 @@ "1240688917": "詞彙", "1241238585": "可進行 Deriv 法定貨幣、加密貨幣和 {{platform_name_mt5}} 帳戶之間的轉帳。", "1242288838": "點選上面的複選框以選擇文檔。", - "1242994921": "點選此處開始構建 Deriv 機器人。", + "1242994921": "點選此處開始構建 Deriv Bot。", "1243064300": "本地", "1243287470": "交易狀態", "1246207976": "輸入以 2FA 應用程式生成的身份驗證代碼:", @@ -1213,7 +1214,7 @@ "1253531007": "已確認", "1253636052": "MetaTrader5 網頁終端", "1254565203": "設定 {{ variable }},用以下程式建立清單", - "1255827200": "也可以使用以下任一捷徑匯入或建置機器人。", + "1255827200": "也可以使用以下任一捷徑匯入或建置 Bot。", "1255909792": "最後", "1255963623": "至日期/時間 {{ input_timestamp }} {{ dummy }}", "1258097139": "我們可以做些什麼改善措施?", @@ -1226,7 +1227,7 @@ "1265317149": "近期的水電費帳單(例如電費、水費或煤氣費)或近期的銀行對帳單或政府簽發的帶有姓名和地址的信件。", "1265704976": "", "1266728508": "收入證明驗證通過", - "1269296089": "讓我們建立機器人!", + "1269296089": "讓我們建立 Bot!", "1270581106": "如果選擇「No Touch」期權,假設市場在合約期限內一直沒有觸及障礙水平,將獲得賠付。", "1272012156": "英鎊/瑞士法郎", "1272337240": "日", @@ -1249,7 +1250,7 @@ "1292891860": "通知 Telegram", "1293660048": "每天最大總虧損金額", "1294553728": "無法驗證提供的文件,因為它似乎是空白圖像。請再試一次或上傳其他文件。", - "1294756261": "此區塊建立可以隨時執行一組指令的函數。在此處放置其他區塊,以執行策略中所需的任何類型操作。當函數中的所有指令執行完畢後,機器人將繼續執行策略中的其餘區塊。點選「執行某項操作」欄位,以為其指定名稱。點選加號圖示以將值(作為已命名變數)傳送到函數。", + "1294756261": "此區塊建立可以隨時執行一組指令的函數。在此處放置其他區塊,以執行策略中所需的任何類型操作。當函數中的所有指令執行完畢後, Bot將繼續執行策略中的其餘區塊。點選「執行某項操作」欄位,以為其指定名稱。點選加號圖示以將值(作為已命名變數)傳送到函數。", "1295284664": "請接受<0>更新條款和條件以繼續操作。", "1296380713": "關閉合約", "1299479533": "8小時", @@ -1262,12 +1263,12 @@ "1304620236": "啟用相機", "1305217290": "上傳身份證背面。", "1308625834": "設定讀取燭線清單區塊的預設時間間隔。", - "1309017029": "啟用此功能後,可以將區塊儲存為能夠輕鬆與其他機器人集成的集合。", + "1309017029": "啟用此功能後,可以將區塊儲存為能夠輕鬆與其他 Bot集成的集合。", "1309044871": "以字串格式返回最新跳動點的值", "1310483610": "\"{{ search_term }}\"的結果", "1311680770": "賠付額", "1313167179": "請登入", - "1313302450": "如虧損總額超出此金額,機器人將停止交易。", + "1313302450": "如虧損總額超出此金額, Bot將停止交易。", "1314572331": "文件驗證檢查不通過。", "1316216284": "可在所有 {{platform}} 帳戶使用此密碼.", "1319217849": "檢查手機", @@ -1296,7 +1297,7 @@ "1337864666": "文件的相片", "1338496204": "參考 ID", "1339613797": "監管機構/外部爭議解決", - "1340286510": "機器人已停止,但交易可能仍在運行。可以在「報告」頁面查看。", + "1340286510": " Bot已停止,但交易可能仍在運行。可以在「報告」頁面查看。", "1341840346": "日誌中檢視", "1341921544": "交易帳戶和資金", "1344696151": "外匯,股票,股票指數,大宗商品,加密貨幣和綜合指數。", @@ -1322,7 +1323,7 @@ "1360929368": "新增 Deriv 帳戶", "1362029761": "在 Deriv Bot 探索 Reverse Martingale 策略", "1362578283": "High", - "1363645836": "衍生外匯", + "1363645836": "Derived FX", "1363675688": "期限為必填欄位。", "1364045306": "帳戶 V2", "1364879837": "驗證已通過,但無法比較個人資料。", @@ -1368,6 +1369,7 @@ "1405584799": "間隔: {{ candle_interval_type }}", "1407191858": "DTrader", "1408844944": "點選加號圖示以擴展此區塊功能。", + "1408852678": "透過多種金融和 derived 工具,以較少的資本交易更大頭寸。<0>了解更多資訊", "1411373212": "強密碼須至少8個字元,包含大小寫字母、數字和符號。", "1412405902": "查看重要提示", "1412535872": "可用此區塊檢視上一個交易的結果。它僅可放進「重啟交易條件」根塊。", @@ -1392,7 +1394,7 @@ "1423296980": "輸入 SSNIT 編號", "1424741507": "檢視其他", "1424763981": "1-3-2-6", - "1424779296": "如果最近使用過機器人,但此清單中沒有顯示。可能是因為:", + "1424779296": "如果最近使用過 Bot,但此清單中沒有顯示。可能是因為:", "1428657171": "只能存款。請通過在<0>即時聊天與我們聯繫以獲取更多資訊。", "1430221139": "立即驗證", "1430396558": "5. 重新開啓買/賣出錯", @@ -1400,7 +1402,7 @@ "1433367863": "對不起,在處理請求時發生錯誤。", "1433468641": "除了條款和條件中提到的國家以外,我們在所有國家提供服務。", "1434382099": "顯示含消息的對話視窗", - "1434767075": "開始使用 Deriv 機器人", + "1434767075": "開始使用 Deriv Bot", "1434976996": "公告", "1435363248": "此區塊將自Unix紀元以來的秒數轉換成日期和時間格式,例如2019-08-01 00:00:00。", "1437396005": "新增評論", @@ -1429,7 +1431,7 @@ "1459761348": "提交身份證明", "1461323093": "在開發人員主控台中顯示消息。", "1462238858": "透過購入「High-to-Close」 合約,將贏取合約期內Multiplier值乘以最高值與收盤之間的差額。", - "1464190305": "此區塊將控制權轉移回「購入條件」區塊,使您無需手動停止並重啟機器人即可購買另一份合約。", + "1464190305": "此區塊將控制權轉移回「購入條件」區塊,使您無需手動停止並重啟 Bot即可購買另一份合約。", "1464253511": "已經擁有 {{deriv}} 可用的每種加密貨幣的帳戶。", "1465084972": "您對其他金融工具有多少經驗?", "1465919899": "挑選結束日期", @@ -1447,7 +1449,7 @@ "1469814942": "- 分區", "1470319695": "返回真或假", "1470565177": "公司章程", - "1471008053": "Deriv 機器人還不可用於真實帳戶", + "1471008053": "Deriv Bot還不可用於真實帳戶", "1471070549": "合約可否售出?", "1471741480": "嚴重錯誤", "1473369747": "僅限綜合期權", @@ -1469,6 +1471,7 @@ "1501691227": "透過由萬那杜金融服務委員會監管的 Deriv(V)有限公司新增 Deriv MT5 <0>{{account_type_name}}帳戶。", "1502039206": "Over {{barrier}}", "1502325741": "密碼不可與電子郵件地址相同。", + "1503419760": "特定金融和 derived 工具的免掉期差價合約.", "1503618738": "- 交易參考 ID:合約的參考 ID", "1505420815": "找不到搜尋的付款代理", "1505898522": "下載堆疊", @@ -1486,7 +1489,7 @@ "1516559721": "請只選擇一個文件", "1516676261": "存款", "1517503814": "拖放文檔或點選此處上傳", - "1519124277": "衍生資產 SVG", + "1519124277": "Derived SVG", "1520332426": "年淨收入", "1524636363": "驗證失敗", "1526012495": "這可能是因為:", @@ -1508,20 +1511,19 @@ "1547148381": "該文件太大(最多只允許 8MB)。請上傳另一文件。", "1549098835": "提款總額", "1549645155": "金鑰已成功移除。若要避免登入提示,請同時從 iCloud 鑰匙圈中移除金鑰。 ", - "1551172020": "澳元籃子", + "1551172020": "澳元 Basket", "1551689907": "升級 <0/> <1>{{platform}} {{type}} {{from_account}} 帳戶,增強交易體驗。", "1555345325": "使用者指南", "1556391770": "無法提款,因為文件仍在審查中。核准驗證後,將在 3 天內通過電子郵件通知您。", - "1557426040": "示範衍生資產 SVG", + "1557426040": "示範 Derived SVG", "1557682012": "設定帳戶", "1558972889": "設定 {{ variable }} 至簡單移動平均線 {{ dummy }}", - "1559220089": "期權和Multiplier交易平台。", "1560302445": "已複製", "1562374116": "學生", "1566037033": "已購入: {{longcode}} (ID: {{transaction_id}})", "1566717687": "教學課程標籤還提供指南,展示如何建立和執行簡單的策略。", "1567076540": "僅使用有居住證明的地址- ", - "1567745852": "機器人名稱", + "1567745852": " Bot名稱", "1569527365": "驗證失敗。重新提交詳細資料。", "1569624004": "消除警報", "1570484627": "Ticks 清單", @@ -1547,7 +1549,7 @@ "1593010588": "立即登入", "1594147169": "請在下述時間過後返回此處", "1594322503": "可賣出", - "1595295238": "3. 使用邏輯區塊檢查總盈/虧是否大於止損門檻。可以在左側區塊功能表分析 > 統計下找到總盈/虧變數。 機器人將繼續購買新合約,直到總盈/虧超過止損門檻。", + "1595295238": "3. 使用邏輯區塊檢查總盈/虧是否大於止損門檻。可以在左側區塊功能表分析 > 統計下找到總盈/虧變數。 Bot將繼續購買新合約,直到總盈/虧超過止損門檻。", "1597672660": "Deriv MT5 密碼", "1598009247": "<0>a.可以在事件發生後 45 天內向金融委員會提出投訴。", "1598386296": "鄉/鎮/市為必填欄位。", @@ -1568,9 +1570,9 @@ "1622662457": "開始日期", "1622944161": "現在,轉到<0>重新啟動交易條件區塊。", "1623706874": "想使用Multiplier作為交易類型時,請使用此區塊。", - "1628981793": "Deriv 機器人可以交易加密貨幣嗎?", + "1628981793": "Deriv Bot可以交易加密貨幣嗎?", "1630417358": "請前往帳戶設定並填寫個人詳細資料,以啟用取款。", - "1631281562": "英鎊籃子", + "1631281562": "英鎊 Basket", "1633661992": "跳動點 {{current_tick}}/{{tick_count}}", "1634016345": "2. 如果交易獲利,該策略會自動將下一筆交易的投注額調整為初始投注額的 3 個單位。 在本例中,投注額調整為 3 個單位,初始投注額為 1 美元,因此下一筆交易將以 3 美元開始。", "1634903642": "自拍照只能拍臉部", @@ -1589,7 +1591,7 @@ "1644703962": "尋找差價合約帳戶?前往 Trader's Hub", "1644864436": "申請成為專業客戶前,必須驗證帳戶。<0>驗證帳戶", "1644908559": "數字代碼是必填項。", - "1647186767": "機器人運行時出錯。", + "1647186767": " Bot運行時出錯。", "1648938920": "荷蘭 25", "1649239667": "2. 在區塊功能表可看到類別清單。區塊會根據這些類別分組。選擇所需的區塊並將其拖曳至工作區。", "1650963565": "介紹 Wallets", @@ -1661,6 +1663,7 @@ "1715630945": "以字串格式返回總利潤", "1715680813": "合約將在選擇到期日的格林威治標準時間 23:59:59 準時到期。", "1717023554": "重新提交文件", + "1717474982": "通過可自訂的平台交易金融和 derived 工具的差價合約。", "1720451994": "Deriv 法定貨幣和 Deriv 加密貨幣帳戶之間的轉帳,將收取 2% 轉帳費或 {{minimum_fee}} {{currency}},以較高者為準。", "1720968545": "從電腦上傳含照片的護照頁面", "1722056905": "所在國家/地區不支援所提供的文件。請提供所在國家支援的文件。", @@ -1674,7 +1677,7 @@ "1726565314": "關閉帳戶", "1728183781": "關於 Tether", "1729145421": "風險警告", - "1731747596": "以紅色突出顯示的區塊缺少輸入值。請更新,然後點選 \"運行機器人\" 。", + "1731747596": "以紅色突出顯示的區塊缺少輸入值。請更新,然後點選 \"運行 Bot\" 。", "1733711201": "監管機構/外部爭議解決", "1734185104": "餘額: %1", "1734264460": "免責聲明", @@ -1692,7 +1695,7 @@ "1743448290": "支付代理", "1743679873": "如果選擇 <0>\"Call\",當<1>到期時<1>最終價格高於<1>行權價,將獲得<1>賠付。否則,將不會獲得賠付。", "1743902050": "完成財務評估", - "1744509610": "只需將 XML 文件從電腦拖到工作區即可,機器人將相應載入。或者,可以點機器人產生器上的匯入,然後選擇從電腦或 Google 雲端硬盤載入機器人。", + "1744509610": "只需將 XML 文件從電腦拖到工作區即可, Bot將相應載入。或者,可以點 Bot產生器上的匯入,然後選擇從電腦或 Google 雲端硬盤載入 Bot。", "1745523557": "- 平方根", "1746051371": "下載應用程式", "1746273643": "平滑異同移動平均線", @@ -1700,7 +1703,7 @@ "1747674345": "請使用 `.` 作為分數的小數點分隔符號。", "1747682136": "合約已被取消。", "1748754976": "執行", - "1753082252": "本文探討了整合到 Deriv Bot 的策略,這是一個多功能交易機器人,用於交易外匯、大宗商品和衍生指數等資產。 我們將深入研究該策略的核心參數及其應用,並為希望有效使用該機器人的交易者提供重要啟示。", + "1753082252": "本文探討了整合到 Deriv Bot 的策略,這是一個多功能交易 Bot,用於交易外匯、大宗商品和 derived 指數等資產。 我們將深入研究該策略的核心參數及其應用,並為希望有效使用該 Bot的交易者提供重要啟示。", "1753183432": "我們認真對待並力求盡快和公平地解決所有投訴。如果您對我們服務的任何方面不滿意,請使用以下指南提交投訴告知我們:", "1753226544": "移除", "1753975551": "上傳含照片的護照頁面", @@ -1709,7 +1712,7 @@ "1758386013": "不要被引誘前往偽造「Deriv」頁面!", "1761038852": "繼續提供地址和身份證明。", "1761254001": "數字", - "1761762171": "出現錯誤時重啟上一個交易(機器人會忽略失敗的交易):{{ checkbox }}", + "1761762171": "出現錯誤時重啟上一個交易( Bot會忽略失敗的交易):{{ checkbox }}", "1762707297": "電話號碼", "1763123662": "上傳 NIMC 收據。", "1766212789": "伺服器維護從每週日格林尼治標準時間06:00開始,可能需要2個小時。此期間內服務可能會中斷。", @@ -1734,7 +1737,7 @@ "1782395995": "最後數字的預測", "1782690282": "區塊功能表", "1782703044": "註冊", - "1783526986": "如何建立交易機器人?", + "1783526986": "如何建立交易 Bot?", "1783740125": "上傳自拍照", "1785298924": "D’Alembert 公式 1", "1786644593": "支援的格式:僅限 JPEG、JPG、PNG、PDF 和 GIF", @@ -1770,7 +1773,7 @@ "1813700208": "Boom 300 指數", "1813958354": "刪除評論", "1815034361": "字母", - "1815905959": "DTrader、DBot、SmartTrader、和 Binary 機器人", + "1815905959": "DTrader、DBot、SmartTrader、和 Binary Bot", "1815995250": "買入合約", "1817154864": "此區塊提供設定範圍內的隨機數字。", "1820242322": "例如美國", @@ -1826,18 +1829,19 @@ "1869787212": "Even", "1870933427": "加密", "1871196637": "如最新交易結果與選擇匹配,請回答「真」", - "1871377550": "Deriv 機器人是否提供預先建立的交易機器人?", + "1871377550": "Deriv Bot是否提供預先建立的交易 Bot?", "1871664426": "備註", "1873376454": "這是選擇的價格水平。 如果突破此障礙,合約將被終止。", "1874481756": "用此區塊購入所需的特定合約。可一併增加多個購入區塊與條件區塊以定義購入條件。此區塊只能在購入條件區塊內使用。", + "1874737957": "要交易 multipliers,請首先獲得 Deriv 應用程式帳戶。", "1874756442": "BVI", - "1875702561": "載入或建立機器人", + "1875702561": "載入或建立 Bot", "1876015808": "社會保障與國民保險信託", "1876325183": "分鐘", "1876333357": "稅務識別號無效。", "1877225775": "地址證明已通過驗證", "1877832150": "從結束端獲得 #", - "1878172674": "不,沒有。但是,您會在 Deriv 機器人找到可以幫助免費建立自己的交易機器人的快速策略。", + "1878172674": "不,沒有。但是,您會在 Deriv Bot找到可以幫助免費建立自己的交易 Bot的快速策略。", "1878189977": "Martingale 策略包括在每次虧損後增加投注額,以通過單一交易獲利收回之前的虧損。", "1879042430": "合適性測試,警告:", "1879412976": "盈利金額: <0>{{profit}}", @@ -1860,14 +1864,14 @@ "1890332321": "返回指定文字字串的字元數,包括數字、空格、標點符號和符號。", "1893869876": "(手數)", "1894667135": "請驗證地址證明", - "1896269665": "衍生和金融工具的差價合約。", + "1896269665": "derived 和金融工具的差價合約。", "1899898605": "最大尺寸:8MB", "1902547203": "MetaTrader 5 MacOS 應用程式", "1903437648": "偵測到模糊的照片", "1904665809": "交易中的 Reverse Martingale 策略可能會帶來可觀的收益,但也有巨大的風險。 Deriv Bot 會根據所選的策略提供自動交易,並採取諸如設定初始投注額、投注額大小、最大投注額、利潤限額和虧損限額等風險管理措施。 對於交易者來說,在使用真實資金交易之前,評估自己的風險承受能力、在示範帳戶中練習並了解交易策略至關重要。", "1905032541": "現在準備驗證身份", "1905589481": "要更改帳戶幣種,請通過<0>即時聊天與我們聯繫。", - "1906213000": "系統將完成所有正在運行的 Deriv 機器人交易,且 Deriv 機器人將不會進行任何新交易。", + "1906213000": "系統將完成所有正在運行的 Deriv Bot交易,且 Deriv Bot將不會進行任何新交易。", "1906639368": "如這是首次嘗試建立密碼或已忘了密碼,請重設。", "1907423697": "透過 Deriv API 賺取更多收入", "1908023954": "對不起,處理請求時發生錯誤。", @@ -1881,7 +1885,7 @@ "1914725623": "上傳包含照片的頁面。", "1916129921": "Reverse Martingale", "1917178459": "銀行驗證號碼", - "1917523456": "此區塊將消息傳送到 Telegram 通道。需建立自己的 Telegram 機器人才能使用此區塊。", + "1917523456": "此區塊將消息傳送到 Telegram 通道。需建立自己的 Telegram Bot才能使用此區塊。", "1918796823": "請輸入止損金額。", "1918832194": "沒有經驗", "1919030163": "好的自拍技巧", @@ -1925,13 +1929,12 @@ "1968025770": "比特幣現金", "1968077724": "農業", "1968368585": "就業狀況", - "1970060713": "已成功刪除機器人。", + "1970060713": "已成功刪除 Bot。", "1971898712": "新增或管理帳戶", "1973536221": "還沒有持倉頭寸。", "1973910243": "管理帳戶", "1974273865": "此範圍將允許第三方應用檢視帳戶活動、設定、限額、資產負債表、交易購買歷史等。", "1974903951": "如果按「是」,您輸入的資訊將會遺失。", - "1977724653": "此帳戶提供金融工具的差價合約。", "1978218112": "Google 驗證器", "1981940238": "此投訴政策可能會不時更改,適用於在 {{legal_entity_name_svg}} 和 {{legal_entity_name_v}} 註冊的帳戶。", "1982790875": "升級 <0/><1>{{account_title}} {{platform}} 帳戶", @@ -1979,10 +1982,11 @@ "2014536501": "卡號", "2014590669": "變數 '{{variable_name}}' 無數值。請為變數 '{{variable_name}}' 設定數值以通知。", "2017672013": "請選擇文件簽發國。", + "2018044371": "Multipliers 可讓您使用槓桿交易,並限制投注風險。<0>了解更多資訊", "2019596693": "文件被提供商拒絕。", "2020545256": "關閉帳戶?", "2021037737": "請更新詳細資料以繼續操作。", - "2021161151": "觀看此視訊以了解如何在 Deriv 機器人構建交易機器人。另外,請查看有關構建交易機器人的部落格文章。", + "2021161151": "觀看此視訊以了解如何在 Deriv Bot構建交易 Bot。另外,請查看有關構建交易 Bot的部落格文章。", "2023546580": "帳戶驗證完成後,將可以交易。", "2023659183": "學生", "2023762268": "我較喜歡別的交易網站。", @@ -2009,7 +2013,7 @@ "2042115724": "上傳包含姓名,帳戶號碼,電話號碼和電子郵件地址的帳戶和個人詳細資訊頁面的螢幕擷取畫面。", "2044086432": "收盤值是收盤時間的最新或之前的跳動點。如選擇指定的收盤時間, 那麼收盤時間就是選定的時間。", "2046273837": "最後跳動點", - "2046577663": "匯入或選擇機器人", + "2046577663": "匯入或選擇 Bot", "2048110615": "電子郵件地址*", "2048134463": "超過了文件大小。", "2049386104": "必須提交這些資料以獲取帳戶:", @@ -2021,7 +2025,7 @@ "2056369950": "<0>若要完成 Wallet 設定,請登出,然後再次登入。", "2057082550": "接受更新<0>條款和條件", "2057419639": "退市現價", - "2059365224": "是的,可以使用快速策略功能開始使用預建機器人。這裡可找到一些最受歡迎的交易策略:Martingale、D'Alembert 和 Oscar's Grind。只需選擇策略,輸入交易參數,即可建立機器人。隨時可以稍後調整參數。", + "2059365224": "是的,可以使用快速策略功能開始使用預建 Bot。這裡可找到一些最受歡迎的交易策略:Martingale、D'Alembert 和 Oscar's Grind。只需選擇策略,輸入交易參數,即可建立 Bot。隨時可以稍後調整參數。", "2059753381": "為什麼驗證失敗?", "2060873863": "訂單 {{order_id}} 已完成", "2062912059": "功能 {{ function_name }} {{ function_params }}", @@ -2032,7 +2036,7 @@ "2067903936": "駕駛執照", "2070002739": "不要接受", "2070345146": "建立槓桿差價合約交易時.", - "2070518923": "匯入機器人或點選「快速策略」,選擇現成可用的機器人範本。", + "2070518923": "匯入 Bot或點選「快速策略」,選擇現成可用的 Bot範本。", "2070752475": "監管資訊", "2070858497": "文件似乎是螢幕擷取畫面。", "2071043849": "瀏覽", @@ -2051,7 +2055,7 @@ "2086048243": "公司註冊證書", "2086792088": "兩個障礙必須是相對的或絕對的", "2088735355": "時間段和登入限制", - "2089087110": "籃子指數", + "2089087110": "Basket 指數", "2089395053": "單位", "2089581483": "到期時間爲", "2090650973": "訂單到達伺服器時,現貨價格可能會發生變化。當這種情況發生時,賠付可能會受到影響。", @@ -2059,7 +2063,7 @@ "2093675079": "- Close: 平倉價", "2096014107": "申請", "2096456845": "出生日期*", - "2096603244": "萬那杜衍生資產", + "2096603244": "Derived - 萬那杜", "2097170986": "關於泰達 (Omni)", "2097381850": "使用有期限的清單計算簡單移動平均線", "2097815211": "輪數(R)= 10", @@ -2070,7 +2074,7 @@ "2101972779": "這與上面的例子相同,使用了跳動點清單。", "2102572780": "數字代碼長度須是6個字元。", "2104115663": "上一次登入", - "2104364680": "請切換到示範帳戶以運行 Deriv 機器人。", + "2104364680": "請切換到示範帳戶以運行 Deriv Bot。", "2104397115": "請前往帳戶設定並填寫個人詳細資料,以啟用存取款。", "2107381257": "定期收銀台系統維護", "2107882050": "文件的背面似乎遺失。請附上身份證明文件的正反兩面。", @@ -2082,7 +2086,7 @@ "2113321581": "新增 Deriv 博彩帳戶", "2114766645": "某些交易類型不可用 {{symbol}}。", "2115223095": "虧損", - "2117165122": "1. 建立Telegram機器人並取得Telegram API權杖。在此處閱讀關於Telegram建立機器人功能的更多資訊:https://core.telegram.org/bots#6-botfather", + "2117165122": "1. 建立Telegram Bot並取得Telegram API權杖。在此處閱讀關於Telegram建立 Bot功能的更多資訊:https://core.telegram.org/bots#6-botfather", "2117489390": "{{ remaining }} 秒內自動更新", "2118292085": "<0>注意:存款開始處理時,您將收到一封電子郵件。", "2119449126": "以下例子的輸出例將是:", @@ -2092,7 +2096,7 @@ "2127564856": "提款已被鎖定", "2128919448": "如果選擇在合約到期前賣出,我們會提出以這個價格買入合約。 這基於幾個因素,如當前的現貨價格等。 如果剩餘期限低於 15 秒或合約期間為跳動點,我們將不提供合約價值。", "2129807378": "更新個人資料", - "2133075559": "這意味著在連續 10 輪虧損後,交易者將虧損 100 美元。這達到 100 美元的虧損限額,機器人停止運作。", + "2133075559": "這意味著在連續 10 輪虧損後,交易者將虧損 100 美元。這達到 100 美元的虧損限額, Bot停止運作。", "2133451414": "期限", "2133470627": "此區塊返回選定交易類型的潛在賠付額。此區塊只能用在「購入條件」根塊。", "2135563258": "外匯交易頻率", @@ -2111,7 +2115,7 @@ "2146336100": "%1文字中取得 %2", "2146698770": "專家提示:也可以點選並拖出所需的區塊", "2146892766": "二元期權交易經驗", - "2147244655": "如何將自己的交易機器人匯入 Deriv 機器人?", + "2147244655": "如何將自己的交易 Bot匯入 Deriv Bot?", "-931052769": "提交驗證", "-1004605898": "提示", "-1938142055": "文檔已上傳", @@ -2658,8 +2662,11 @@ "-2021135479": "此為必填欄位。", "-1002044401": "選擇文件 *", "-1272489896": "請填寫此欄位。", - "-1107320163": "不須編寫程式代碼,將交易構思自動化.", - "-829643221": "Multipliers 交易平台。", + "-721346138": "期權和 multipliers 交易平台。", + "-1874136267": "終極 Bot交易平台。", + "-415943890": "傳統期權交易平台。", + "-673722343": "傳統 Bot交易平台。", + "-897826065": " multipliers 交易平台。", "-2115275974": "差價合約", "-1585707873": "金融委員會", "-199154602": "萬那杜金融服務委員會", @@ -2678,12 +2685,10 @@ "-1879666853": "Deriv MT5", "-820028470": "期權和 Multipliers", "-1210359945": "將資金轉入帳戶", - "-81256466": "需有 Deriv 帳戶才能開立差價合約帳戶。", "-1926387364": "電子書已經傳送到您的電子郵件。也可以在這裡下載。", "-1057002564": "<0>目前無法將您升級為 Wallets,並且正在努力盡快修復此問題。請<1>再試一次<0>。", "-1424352390": "<0>Wallets <1>— 更聰明的資金管理方式", "-280236366": "立即啟用", - "-699372497": "利用槓桿和低點差進行交易,以在成功交易時獲得更高回報。<0>了解更多", "-145462920": "Deriv cTrader", "-982095728": "獲取", "-1790089996": "新!", @@ -2708,10 +2713,8 @@ "-643108528": "非歐盟及歐盟法規", "-1002556560": "無法完成 Wallet 升級。 請稍後再試,或透過即時聊天與我們聯繫。", "-1186807402": "轉帳", - "-2051096382": "使用<0>期權正確預測市場走勢獲得各種賠付,或者使用<1>multipliers交易差價合約\n 獲利,而承擔風險不超過投注額。", - "-1638358352": "使用 <0>Multipliers 交易差價合約獲利,而承擔的風險不會超過投注額。", + "-655191265": "特定時間內以特定價格買入或賣出。<0>了解更多資訊", "-744999940": "Deriv 帳戶", - "-749129977": "獲得真實 Deriv 帳戶,開始交易並管理資金。", "-2146691203": "選擇法規", "-249184528": "可以根據歐盟或非歐盟法規開立真實帳戶。按一下<0><0/>圖示以進一步瞭解這些帳戶。", "-1505234170": "Trader's Hub 瀏覽", @@ -2768,6 +2771,7 @@ "-1995606668": "金額", "-2024290965": "確認", "-811190405": "時間", + "-728508487": "{{currency}} 最近的交易", "-1984478597": "此交易的詳細資訊可在 CoinsPaid 上找到。", "-316545835": "轉帳前,請確保<0>所有詳細資訊<0>正確無誤。", "-949073402": "確認已經驗證了客戶的轉帳資訊.", @@ -2870,13 +2874,13 @@ "-1531269493": "交易處理好後將給您傳送郵件。", "-1373954791": "必須是有效號碼", "-1278608332": "請輸入0和{{api_max_losses}} 之間的數字。", - "-287597204": "輸入限制後,一旦滿足以下任一條件時機器人將停止交易。", + "-287597204": "輸入限制後,一旦滿足以下任一條件時 Bot將停止交易。", "-1445989611": "在所有 Deriv 平台上限制當天的潛在虧損金額。", - "-152878438": "機器人將為此次運行執行的最大交易數。", + "-152878438": " Bot將為此次運行執行的最大交易數。", "-1490942825": "開始運行", - "-2067572496": "您剛剛停止了機器人。可以在報告頁面檢視任何未結合約。", - "-992003496": "所做的更改不會影響運作中的機器人。", - "-1778025545": "已成功匯入機器人。", + "-2067572496": "您剛剛停止了 Bot。可以在報告頁面檢視任何未結合約。", + "-992003496": "所做的更改不會影響運作中的 Bot。", + "-1778025545": "已成功匯入 Bot。", "-1572746946": "Asian Up", "-686840306": "Asian Down", "-2141198770": "Higher", @@ -2903,7 +2907,7 @@ "-312844882": "初始投注: 您願意投入作為投注以進行交易的金額。這是根據所使用策略的動態而定,任何投注額變化的起點。", "-1173302981": "1. 從初始投注額開始。在此例中,將使用 1 美元。", "-1540106116": "盈虧限額", - "-894905768": "使用 Deriv Bot,交易者可以設定盈虧限額以確保潛在利潤並限制潛在虧損。這意味著當達到盈虧限額時,交易機器人將自動停止。這是可能提高回報的風險管理形式。例如,如果交易者將利潤限額設定為 100 美元,當策略超過所有交易利潤 100 美元時,機器人將停止運行。", + "-894905768": "使用 Deriv Bot,交易者可以設定盈虧限額以確保潛在利潤並限制潛在虧損。這意味著當達到盈虧限額時,交易 Bot將自動停止。這是可能提高回報的風險管理形式。例如,如果交易者將利潤限額設定為 100 美元,當策略超過所有交易利潤 100 美元時, Bot將停止運行。", "-1946134465": "其中:", "-248283982": "B 是虧損限額。", "-1148521416": "f 是單位增量。", @@ -2921,21 +2925,21 @@ "-46865201": "Martingale 公式 1", "-116397598": "m 是 Martingale multiplier。", "-658161609": "輪數,R = 9.965", - "-288082521": "這意味著,在連續虧損 10 輪後,該交易者將虧損 1023 美元,超過 1000 美元的虧損限額,機器人停止運作。", + "-288082521": "這意味著,在連續虧損 10 輪後,該交易者將虧損 1023 美元,超過 1000 美元的虧損限額, Bot停止運作。", "-770387160": "交易中的 Martingale 策略可能會帶來可觀的收益,但也有巨大的風險。 Deriv Bot 會根據所選的策略提供自動交易,並採取諸如設定初始投注額、投注額大小、最大投注額、利潤限額和虧損限額等風險管理措施。 對於交易者來說,在使用真實資金交易之前,評估自己的風險承受能力、在示範帳戶中練習並了解交易策略至關重要。", "-1901073152": "這些是 Deriv Bot 中 Oscar's Grind 策略使用的交易參數。", "-1575153036": "Oscar’s Grind 策略的例子", "-732418614": "上表顯示了此原則,即當交易獲利並達到一個潛在盈利單位的目標(在本例中為 1 美元)時,交易工作階段結束。 如果繼續交易,新的交易工作階段將開始。", "-106266344": "原則 3:投注額會根據當前虧損和目標利潤之間的差距大小調整", "-492908094": "第 7 輪交易中,投注額將從 2 美元向下調整至 1 美元,以達到 1 美元的目標利潤。", - "-90079299": "使用 Deriv Bot,交易者可以設定損益限額來確保潛在利潤並限制潛在虧損。 這意味著當達到利潤或虧損限額時,交易機器人將自動停止。 這是一種風險管理形式,有可能促進交易獲利,同時限制虧損的影響。 例如,如果交易者將利潤限額設為 100 美元,當策略的所有交易利潤超過 100 美元時,機器人將停止運作。", + "-90079299": "使用 Deriv Bot,交易者可以設定損益限額來確保潛在利潤並限制潛在虧損。 這意味著當達到利潤或虧損限額時,交易 Bot將自動停止。 這是一種風險管理形式,有可能促進交易獲利,同時限制虧損的影響。 例如,如果交易者將利潤限額設為 100 美元,當策略的所有交易利潤超過 100 美元時, Bot將停止運作。", "-1549673884": "Oscar's Grind 策略提供有紀律的方法,透過系統性的投注額遞增來實現增加收益。 當與適當的風險管理(如獲利或虧損限額)集成到 Deriv Bot 時,它為交易者提供潛在的強大自動交易技術。 不過,交易者應先徹底評估自己的風險承受能力,並在使用真實資金交易之前,先嘗試在示範帳戶交易,以便熟悉該策略。", "-655650222": "探索 Deriv Bot 的 Reverse D’Alembert 策略", "-1864807973": "Reverse D'Alembert 策略包括在交易獲利後增加投注額,在交易虧損後按預定單位數減少投注額。", "-809681645": "這些是 Reverse D’Alembert 策略在 Deriv Bot 使用的交易參數。", "-1239374257": "Reverse D’Alembert 策略的例子", "-309821442": "請注意,雖然我們說明時可能使用四捨五入的數字,但特定金額的投注額並不保證成功交易的確切金額。 例如,1 美元的投注額並不一定等於 1 美元的成功交易利潤。", - "-1576691912": "本文探討了整合到 Deriv Bot 的 Reverse Martingale 策略,這是一款多功能交易機器人,旨在交易外匯、大宗商品和衍生指數等資產。 我們將深入研究該策略的核心參數及其應用,並為希望有效使用該機器人的交易者提供基本要點。", + "-1576691912": "本文探討了整合到 Deriv Bot 的 Reverse Martingale 策略,這是一款多功能交易 Bot,旨在交易外匯、大宗商品和 derived 指數等資產。 我們將深入研究該策略的核心參數及其應用,並為希望有效使用該 Bot的交易者提供基本要點。", "-1934849823": "這些是 Reverse Martingale 策略在 Deriv Bot 使用的交易參數。", "-1021919630": "Multiplier:交易成功時用於增加投注額的 multiplier。 該值必須大於 1。", "-760516362": "3. 如果第一筆交易成功,Deriv Bot 將自動將下一筆交易中的投注倍增至 2 美元。每次交易成功後,Deriv Bot 將繼續加倍投注。", @@ -2946,10 +2950,10 @@ "-719846465": "5. 達到初始投注額後,如果下一筆交易仍虧損,則投注額將保持在 1 美元的初始投注。 該策略將以最低的初始投注交易。 參考第四和第五筆交易。", "-1452746011": "1-3-2-6 交易策略可能會帶來可觀的收益,但也存在重大風險。 每筆投注都是獨立的,從長遠來看,該策略不會增加交易獲利的機會。 如果遇到一系列虧損,該策略可能會導致重大損失。 因此,交易者在進行真實貨幣交易之前,必須評估自己的風險承受能力,在示範帳戶中練習,利用盈虧限額並充分理解策略至關重要。", "-1016171176": "資產", - "-138833194": "機器人將使用此策略交易的標的市場。", + "-138833194": " Bot將使用此策略交易的標的市場。", "-621128676": "交易類型", - "-399349239": "機器人每次運行將使用此交易類型", - "-410856998": "如利潤總額超出此金額,機器人將停止交易。", + "-399349239": " Bot每次運行將使用此交易類型", + "-410856998": "如利潤總額超出此金額, Bot將停止交易。", "-447853970": "虧損限額", "-33106112": "成功交易後用於將下一筆交易的投注倍增的大小。", "-1503301801": "值必須等於或大於 {{ min }}", @@ -2958,48 +2962,48 @@ "-1448426542": "如果下一筆交易的投注額超過此值,則將重設為初始投注。", "-993953307": "對資產價格的最後一位數字的預測。", "-1305281529": "D’Alembert", - "-1842451303": "歡迎來到 Deriv 機器人!", - "-1391310674": "查看這些指南和常見問答集,以進一步了解如何建立機器人:", + "-1842451303": "歡迎來到 Deriv Bot!", + "-1391310674": "查看這些指南和常見問答集,以進一步了解如何建立 Bot:", "-2066779239": "常見問題集", - "-280324365": "什麼是 Deriv 機器人?", - "-155173714": "讓我們建立機器人!", + "-280324365": "什麼是 Deriv Bot?", + "-155173714": "讓我們建立 Bot!", "-1919212468": "3. 還可以使用類別上方的搜尋列搜尋所需的區塊。", - "-1520558271": "如需更多資訊,檢視這篇介紹建立交易機器人基礎知識的部落格貼文。", + "-1520558271": "如需更多資訊,檢視這篇介紹建立交易 Bot基礎知識的部落格貼文。", "-980360663": "3.選擇所需的區塊並將其拖曳至工作區。", "-1493168314": "什麼是快速策略?", "-1680391945": "使用快速策略", "-1177914473": "如何儲存策略?", - "-271986909": "在機器人產生器點選頂部工具欄上的儲存以下載機器人。為機器人命名,然後選擇將機器人下載到裝置或 Google 雲端硬盤。機器人將被下載為 XML 文件。", + "-271986909": "在 Bot產生器點選頂部工具欄上的儲存以下載 Bot。為 Bot命名,然後選擇將 Bot下載到裝置或 Google 雲端硬盤。 Bot將被下載為 XML 文件。", "-1149045595": "1. 點選匯入後,選擇 本地 ,然後點選 繼續。", "-288041546": "2. 選擇 XML 文件,然後按打開。", - "-2127548288": "3. 機器人將相應載入。", + "-2127548288": "3. Bot將相應載入。", "-1311297611": "1. 點選匯入後,選擇 Google 雲端硬盤 ,然後點選 繼續。", "-1549564044": "如何重設工作區?", - "-1127331928": "在機器人產生器中點選頂部工具欄上的重設以清除工作區。請注意,任何未儲存的變更都將丟失。", - "-1720444288": "如何用 Deriv 機器人控制虧損?", - "-1142295124": "使用 Deriv 機器人可以通過多種方式控制虧損。這是個簡單的示例,說明如何在策略中實施虧損控制:", + "-1127331928": "在 Bot產生器中點選頂部工具欄上的重設以清除工作區。請注意,任何未儲存的變更都將丟失。", + "-1720444288": "如何用 Deriv Bot控制虧損?", + "-1142295124": "使用 Deriv Bot可以通過多種方式控制虧損。這是個簡單的示例,說明如何在策略中實施虧損控制:", "-2129119462": "1. 建立下列變數,並將其置於啟動時執行下:", "-1918487001": "例如:", "-468926787": "交易參數,變量和交易期權應如下:", - "-1565344891": "可否在網頁瀏覽器的多個分頁執行 Deriv 機器人?", + "-1565344891": "可否在網頁瀏覽器的多個分頁執行 Deriv Bot?", "-90192474": "是,可以的。但是,帳戶有些限制,例如未平倉頭寸的最大數量和未平倉頭寸的最大總賠付額。因此,開立多個頭寸時,請牢記這些限制。可以在設定>帳戶限制中找到有關這些限制的更多資訊。", - "-213872712": "不,Deriv 機器人不提供加密貨幣交易。", - "-2147346223": "Deriv 機器人可在哪些國家/地區使用?", + "-213872712": "不,Deriv Bot不提供加密貨幣交易。", + "-2147346223": "Deriv Bot可在哪些國家/地區使用?", "-352345777": "最受歡迎的自動交易策略有哪些?", - "-552392096": "自動交易中最常用的三種策略是 Martingale、D'Alembert 和 Oscar's Grind — 可以在 Deriv 機器人找到已經預先製作好等待使用的版本。", + "-552392096": "自動交易中最常用的三種策略是 Martingale、D'Alembert 和 Oscar's Grind — 可以在 Deriv Bot找到已經預先製作好等待使用的版本。", "-1630262763": "關於 Martingale", "-413928457": "關於 Oscar's Grind", "-1497015866": "關於 Reverse D’Alembert", "-437005403": "關於 1-3-2-6", "-590765322": "不幸的是,此交易平台不適用於歐盟 Deriv 帳戶。請切換到非歐盟帳戶以繼續交易。", - "-2110207996": "此帳號無法使用 Deriv 機器人", + "-2110207996": "此帳號無法使用 Deriv Bot", "-971295844": "切換到另一個帳戶", - "-1194079833": "Deriv 機器人不適用於歐盟客戶", + "-1194079833": "Deriv Bot不適用於歐盟客戶", "-746652890": "通知", "-824109891": "系統", "-507620484": "未儲存", "-764102808": "Google Drive", - "-749186458": "機器人運行時,帳戶切換將被禁用。切換帳戶前請先停止運行機器人。", + "-749186458": " Bot運行時,帳戶切換將被禁用。切換帳戶前請先停止運行 Bot。", "-597939268": "保留合約", "-1322453991": "需要登入才能運行 bot。", "-236548954": "合約更新錯誤", @@ -3012,7 +3016,7 @@ "-1223145005": "虧損金額: {{profit}}", "-1206212388": "歡迎回來!訊息已恢復。您正在使用 {{current_currency}} 帳戶。", "-1724342053": "您正在使用{{current_currency}} 帳戶。", - "-187634388": "此區塊是強制性的。可以在此處決定是否讓機器人繼續交易。此區塊僅允許複製一次。", + "-187634388": "此區塊是強制性的。可以在此處決定是否讓 Bot繼續交易。此區塊僅允許複製一次。", "-2105473795": "唯一確定如何格式化區塊輸出的輸入參數。如果輸入參數是「字串」,則將新增帳戶貨幣。", "-1800436138": "2. 「數字」: 1325.68", "-530632460": "此區塊用於確定市場價格是否朝所選方向移動。它提供「真」或「假」之值。", @@ -3074,7 +3078,7 @@ "-749487251": "SMA可作為走勢的指標。如果SMA向上,則市場價格將上漲,反之亦然。週期數越大,SMA線越平滑。", "-1996062088": "此例子中,簡單移動平均線(SMA)的每一點是前10天收盤價的算術平均數。", "-1866751721": "輸入清單接受跳動點或燭線清單,而周期是指定的時間段。", - "-1097076512": "可以對每次機器人運行所計算出的SMA值作比較,以識別市場走勢方向。或者,也可以使用SMA區塊,即簡單移動平均數組區塊的變化。 ", + "-1097076512": "可以對每次 Bot運行所計算出的SMA值作比較,以識別市場走勢方向。或者,也可以使用SMA區塊,即簡單移動平均數組區塊的變化。 ", "-1254849504": "如果輸入的周期為10,則簡單移動平均數組區塊將返回基於週期10計算的SMA值清單。", "-1190046167": "此區塊顯示帶有自訂消息的對話方塊。顯示對話方塊時,策略將暫停,並且僅在點選「確定」後才會恢復。", "-859028989": "此例中,日期和時間將顯示在綠色的通知方塊中。", @@ -3103,7 +3107,7 @@ "-870004399": "<0>已購入: {{longcode}} (ID: {{transaction_id}})", "-1211474415": "篩選器", "-186972150": "沒有要顯示的消息", - "-558594655": "機器人沒有運行", + "-558594655": " Bot沒有運行", "-478946875": "統計資訊已清除", "-999254545": "所有消息已經過篩選", "-934909826": "載入策略", @@ -3111,12 +3115,12 @@ "-254025477": "從裝置選XML文件", "-1131095838": "請上傳XML文件", "-523928088": "從本地驅動器或Google雲端硬碟建立或上傳。", - "-1684205190": "為何看不到最近的機器人運行狀況?", + "-1684205190": "為何看不到最近的 Bot運行狀況?", "-2050879370": "1. 用其他裝置登入", "-811857220": "3. 瀏覽器緩存已清除", "-625024929": "已經打算退出?", "-584289785": "不,我會留下", - "-1435060006": "如果退出,目前合約將完成,但機器人將立刻停止運作。", + "-1435060006": "如果退出,目前合約將完成,但 Bot將立刻停止運作。", "-783058284": "總投注金額", "-2077494994": "總賠付額", "-1073955629": "運行次數", @@ -3124,10 +3128,10 @@ "-42436171": "總損益", "-1856204727": "重設", "-1137823888": "上次清除統計記錄至今的縂賠付額。", - "-992662695": "自上次清除統計資訊以來機器人運行的次數。每次運行都包括所有根區塊的執行。", + "-992662695": "自上次清除統計資訊以來 Bot運行的次數。每次運行都包括所有根區塊的執行。", "-1382491190": "自上次清除統計記錄以來的總損益。這是總收益與總投注之間的差額。", "-24780060": "準備好交易時,點選 ", - "-2147110353": "可以在此處追蹤機器人的性能。", + "-2147110353": "可以在此處追蹤 Bot的性能。", "-1442034178": "已買入合約", "-2020280751": "Bot 將停止", "-1436403979": "合約已終止", @@ -3167,33 +3171,33 @@ "-907562847": "清單", "-1646497683": "迴圈", "-251326965": "雜項", - "-1692205739": "從電腦或 Google 雲端硬盤匯入機器人,從頭開始建立,或者從快速策略開始。", - "-1545070554": "刪除機器人", - "-1972599670": "點選時,機器人將被永久刪除 ", + "-1692205739": "從電腦或 Google 雲端硬盤匯入 Bot,從頭開始建立,或者從快速策略開始。", + "-1545070554": "刪除 Bot", + "-1972599670": "點選時, Bot將被永久刪除 ", "-1692956623": "是,刪除.", "-573479616": "確定要刪除嗎?", "-786915692": "已連接到Google雲端硬碟", - "-1256971627": "要從 Google 雲端硬盤匯入機器人,需要登入到 Google 帳戶。", + "-1256971627": "要從 Google 雲端硬盤匯入 Bot,需要登入到 Google 帳戶。", "-1233084347": "要了解 Google 雲端硬盤如何處理數據,請檢視 Deriv 的<0>隱私政策。", "-1150107517": "連接", "-1150390589": "上次修改", - "-1393876942": "機器人:", - "-767342552": "輸入機器人名稱,選擇儲存在電腦或 Google 雲端硬盤上,然後點選 ", + "-1393876942": " Bot:", + "-767342552": "輸入 Bot名稱,選擇儲存在電腦或 Google 雲端硬盤上,然後點選 ", "-1372891985": "儲存.", "-1003476709": "另存為集合件", "-636521735": "儲存策略", - "-1953880747": "停止機器人", - "-1899230001": "停止目前的機器人會將剛建立的快速策略載入至工作區。", + "-1953880747": "停止 Bot", + "-1899230001": "停止目前的 Bot會將剛建立的快速策略載入至工作區。", "-2131847097": "任何未平倉合約都可以檢視 ", "-563774117": "儀表板", - "-683790172": "現在,<0>運行機器人以測試策略。", + "-683790172": "現在,<0>運行 Bot以測試策略。", "-1127164953": "您好!點選<0>開始快速導覽。", "-358288026": "注意事項:也可以在<0>「教學課程」頁籤中找到此教學課程。", "-129587613": "明白了,謝謝!", "-1793577405": "從頭開始建立", - "-358753028": "使用拖放區塊建立機器人,或按一下快速策略,選擇現成可用的機器人範本。", + "-358753028": "使用拖放區塊建立 Bot,或按一下快速策略,選擇現成可用的 Bot範本。", "-1212601535": "監控市場", - "-21136101": "即時查看機器人的運作方式。", + "-21136101": "即時查看 Bot的運作方式。", "-631097919": "想開始交易時點選<0>運行,想停止時點選<0>停止。", "-1999747212": "想要重新瀏覽嗎?", "-782992165": "步驟 1 :", @@ -3217,9 +3221,9 @@ "-736400802": "步驟 6 :", "-732067680": "最後,將整個<0>重複區塊拖曳並新增到<0>重新啟動交易條件區塊中。", "-1411787252": "步驟 1", - "-1109392787": "學習如何使用簡單策略從零開始構建機器人。", - "-1263822623": "可以從行動裝置或 Google 雲端硬盤匯入機器人,在機器人產生器中檢視預覽,然後運行機器人開始交易。", - "-563921656": "機器人產生器指南", + "-1109392787": "學習如何使用簡單策略從零開始構建 Bot。", + "-1263822623": "可以從行動裝置或 Google 雲端硬盤匯入 Bot,在 Bot產生器中檢視預覽,然後運行 Bot開始交易。", + "-563921656": " Bot產生器指南", "-1596172043": "快速策略指南", "-1765276625": "點選Multiplier下拉選單,然後選擇要交易的Multiplier值。", "-1872233077": "潛在利潤將乘以選擇的Multiplier值。", @@ -3239,10 +3243,10 @@ "-821418875": "交易者", "-679102561": "合約詳細資料", "-430118939": "控訴政策", - "-1308346982": "衍生資產", - "-579984289": "衍生品示範", - "-1596515467": "衍生資產 BVI", - "-222394569": "萬那杜衍生資產", + "-1308346982": "Derived", + "-579984289": "Derived 示範", + "-1596515467": "Derived BVI", + "-222394569": "Derived 萬那杜", "-328128497": "金融", "-533935232": "金融 BVI", "-565431857": "金融納閩", @@ -3353,7 +3357,7 @@ "-482715448": "前往個人資料", "-2072411961": "地址證明已通過驗證", "-384887227": "更新個人資料中的地址。", - "-1779268418": "在 MT5 使用外匯、股票、股票指數、大宗商品、加密貨幣、交易所買賣基金和綜合指數的免掉期差價合約交易。", + "-1470677931": "金融工具差價合約。", "-1998049070": "如同意我們使用 cookie,請點選「接受」。有關更多資訊,請<0>參閱我們的政策。", "-402093392": "新增 Deriv 帳戶", "-1721181859": "需要有 {{deriv_account}} 帳戶", @@ -3513,7 +3517,7 @@ "-1587894214": "關於需要驗證的資訊。", "-466784048": "監管機構/EDR", "-2098459063": "英屬維爾京群島", - "-1005069157": "綜合指數、籃子指數和衍生外匯", + "-1005069157": "綜合指數、basket 指數和 derived 外匯", "-1344709651": "40+", "-1326848138": "英屬維爾京群島金融服務委員會 (執照編號 SIBA/L/18/1114)", "-1711743223": "外匯(標準/微型)、股票、股票指數、大宗商品、加密貨幣和交易所買賣基金", @@ -3528,7 +3532,7 @@ "-618322245": "驗證成功.", "-149461870": "外匯:標準/奇異貨幣對", "-1995163270": "交易所買賣基金", - "-651501076": "衍生資產 - SVG", + "-651501076": "Derived - SVG", "-865172869": "金融 - BVI", "-1851765767": "金融 - 萬那杜", "-558597854": "金融 - 納閩", @@ -3822,7 +3826,7 @@ "-1588521055": "設定變數值", "-980448436": "設定變數", "-1538570345": "取得前次的交易資訊和結果,然後再次交易。", - "-222725327": "可以在這裡決定機器人是否應該繼續交易。", + "-222725327": "可以在這裡決定 Bot是否應該繼續交易。", "-1638446329": "結果為 {{ win_or_loss }}", "-1968029988": "最後交易結果", "-1588406981": "可用此區塊檢視上一個交易的結果。", @@ -3893,7 +3897,7 @@ "-1202212732": "此區塊返回帳戶餘額", "-1737837036": "帳戶餘額", "-1963883840": "把區塊放在這裡,以防止被移除", - "-1284013334": "如果希望機器人運行時忽略某些指令,請使用此區塊。此區塊中的指令將不會執行。", + "-1284013334": "如果希望 Bot運行時忽略某些指令,請使用此區塊。此區塊中的指令將不會執行。", "-1217253851": "記錄", "-1987568069": "警告", "-104925654": "主控台", @@ -3904,12 +3908,12 @@ "-2105753391": "通知 Telegram {{ dummy }} 存取權杖: {{ input_access_token }} 聊天 ID: {{ input_chat_id }} 消息: {{ input_message }}", "-1008209188": "給 Telegram 傳送訊息", "-1218671372": "顯示通知並可以選擇用選定的聲音播放", - "-2099284639": "自機器人開始運行以來,此區塊提供交易策略的總盈虧。可以通過點選「交易統計」視窗上的「清除統計」或在瀏覽器中刷新此頁面以重設此狀態。", + "-2099284639": "自 Bot開始運行以來,此區塊提供交易策略的總盈虧。可以通過點選「交易統計」視窗上的「清除統計」或在瀏覽器中刷新此頁面以重設此狀態。", "-683825404": "總利潤字串", "-718220730": "總利潤字串解說", "-1861858493": "運行次數", "-264195345": "返回運行次數", - "-303451917": "此區塊提供機器人總運行次數。可以通過點選「交易統計」窗口上的「清除統計」或在瀏覽器中刷新此頁面以重設此狀態。", + "-303451917": "此區塊提供 Bot總運行次數。可以通過點選「交易統計」窗口上的「清除統計」或在瀏覽器中刷新此頁面以重設此狀態。", "-2132861129": "轉換助手區塊", "-74095551": "Epoch以來的秒數", "-15528039": "返回自1970年1月1日以來的秒數", @@ -3929,7 +3933,7 @@ "-1466383897": "持續時間: {{ duration_unit }} {{ duration_value }}", "-440702280": "交易選項", "-1193894978": "定義諸如期限和投注額等交易選項。一些選項僅適用於某些交易類型。", - "-46523443": "持續時間值是不允許的。要運行機器人,請輸入介於{{min}} 至{{max}} 之間的值。", + "-46523443": "持續時間值是不允許的。要運行 Bot,請輸入介於{{min}} 至{{max}} 之間的值。", "-1483427522": "交易類型: {{ trade_type_category }} > {{ trade_type }}", "-323348124": "1. 交易參數", "-1671903503": "開機時立即運行:", @@ -4078,8 +4082,6 @@ "-3423966": "止盈<0 />止損", "-1131753095": "{{trade_type_name}} 合約詳細目前還沒有。我們正在準備,會盡快提供。", "-360975483": "此期間內沒有進行過此類交易。", - "-561436679": "此帳戶提供衍生工具的差價合約。", - "-1173266642": "此帳戶在功能齊全的交易平台提供差價合約。", "-1226595254": "Turbos 期權", "-922253974": "Rise/Fall", "-1361254291": "Higher/Lower", @@ -4137,7 +4139,7 @@ "-9704319": "Crash 1000 指數", "-465860988": "Bull Market 指數", "-390528194": "Step 指數", - "-280323742": "歐元籃子", + "-280323742": "歐元 Basket", "-563812039": "Volatility 10 (1s) 指數", "-82971929": "Volatility 25 (1s) 指數", "-433962508": "Volatility 75 (1s) 指數", From 9e59b166dae31c62a96f0756cc388f1e4f5c0a49 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 10:05:57 +0400 Subject: [PATCH 02/95] =?UTF-8?q?translations:=20=F0=9F=93=9A=20sync=20tra?= =?UTF-8?q?nslations=20with=20crowdin=20(#15160)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: DerivFE --- .../translations/src/translations/sw.json | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/translations/src/translations/sw.json b/packages/translations/src/translations/sw.json index 39fe0519a1ec..26059cd6eef0 100644 --- a/packages/translations/src/translations/sw.json +++ b/packages/translations/src/translations/sw.json @@ -1634,7 +1634,7 @@ "1686800117": "{{error_msg}}", "1689103988": "Pili Tangu Enzi", "1689258195": "Hatukuweza kuthibitisha anwani yako kwa taarifa ulizotoa. Tafadhali angalia na wasilisha tena au chagua aina tofauti ya hati.", - "1690746575": "Boresha uzoefu wako wa biashara kwa kuboresha akaunti yako ya <0>{{platform}} {{type_1}}<1/> <0>na{{type_2}} {{from_account}}.", + "1690746575": "Boresha uzoefu wako wa biashara kwa kuboresha akaunti yako ya <0>{{platform}} {{type_1}}<1/> <0>na {{type_2}} {{from_account}}.", "1691335819": "Ili kuendelea kufanya biashara nasi, tafadhali thibitisha wewe ni nani.", "1691536201": "Ikiwa utachagua muda wako kwa idadi ya tick, hautaweza kusitisha mkataba wako mapema.", "1691765860": "- Kukanusha", @@ -1654,7 +1654,7 @@ "1709859601": "Muda wa Bei ya Kutoka", "1711013665": "Matarajio ya mauzo kwa akaunti", "1711016273": "<0>Hii inaweza kuchukua hadi dakika 2. Wakati huu, huduma nyingine zinaweza zisipatikane.", - "1711676335": "mizizi ya mraba", + "1711676335": "kipeo", "1711929663": "Fedha zako zimehamishwa", "1712357617": "Anwani ya barua pepe sio sahihi.", "1713633297": "3. Ikiwa biashara ya pili pia imefanikiwa, dau lako litarekebishwa hadi USD 2 au uniti 2 za dau la awali kwa biashara inayofuata.", @@ -1663,13 +1663,13 @@ "1715630945": "Hurejesha jumla ya faida katika umbizo la mfuatano", "1715680813": "Mkataba wako utaisha muda wa matumizi saa 23:59:59 GMT +0 kulingana na tarehe yako ya kumalizika uliyochagua.", "1717023554": "Tuma tena hati", - "1717474982": "CFD kwenye vyombo vya kifedha na vinavyotokana kupitia jukwaa linaloweza kubadilishwa.", - "1720451994": "Tutatoza ada ya uhamisho wa 2% au {{minimum_fee}} {{currency}}, yoyote iliyo juu, kwa uhamisho kati ya akaunti zako za Deriv fiat na Deriv cryptocurrency.", + "1717474982": "CFDs kwenye vyombo vya kifedha na derived kupitia jukwaa linaloweza kukufaa.", + "1720451994": "Tutatoza ada ya uhamisho wa 2% au {{minimum_fee}} {{currency}}, kutegemea na ipi itakuwa kubwa zaidi, kwa uhamisho kati ya akaunti zako za Deriv fiat na Deriv cryptocurrency.", "1720968545": "Pakia ukurasa wa picha ya pasipoti kutoka kwa kompyuta yako", "1722056905": "Hati uliyotoa haiwezi kutumika kwa nchi yako. Tafadhali toa hati inayoweza kutumika kwa nchi yako.", "1722888575": "{{mt5_migration_error}}", "1723069433": "Wallet yako mpya", - "1723589564": "Inawakilisha idadi kubwa ya mikataba bora katika portfolio yako. Kila mstari katika portfolio yako inahesabiwa nafasi moja wazi. Mara tu kiwango cha juu kinapofikiwa, hautaweza kufungua nafasi mpya bila kufunga nafasi iliyopo kwanza.", + "1723589564": "Huwakilisha idadi kubwa ya mikataba bora katika mkoba wako wa kazi. Kila mstari katika mkoba wako wa kazi huhesabiwa kuwa ni nafasi moja iliyo wazi. Mara tu kiwango cha juu kitapofikiwa, hutaweza kufungua nafasi mpya bila kufunga nafasi iliyopo kwanza.", "1724367774": "Unaweza kufanya uhamisho wa fedha mara tu uthibitishaji wa akaunti yako utakapokamilika.", "1724696797": "Umezuiwa kutumia akaunti zaidi ya moja ya fiat.", "1725958461": "Nambari ya akaunti", @@ -1678,12 +1678,12 @@ "1728183781": "Kuhusu Tether", "1729145421": "Onyo la hatari", "1731747596": "Vizuizi vilivyoonyeshwa kwa nyekundu vinakosa maadili ya pembejeo. Tafadhali wasasisha na bonyeza “Tumia bot”.", - "1733711201": "Wasimami/kutatua mzozo wa nje", + "1733711201": "Wadhibiti/utatuzi wa migogoro ya nje", "1734185104": "Usawa: %1", "1734264460": "Kanusho", "1734521537": "Hati uliyotoa inaonekana kuwa ya aina mbili tofauti. Tafadhali jaribu tena au toa hati nyingine.", "1736292549": "Sasisha msimbo wa posta", - "1737352280": "Bot.init haiitwi", + "1737352280": "Bot.init haijaitwa", "1738094481": "<0>Muda: Tick 1", "1738611950": "Kuhusu Reverse Martingale", "1738681493": "Ondoa miwani yako, kama inawezekana", @@ -1695,7 +1695,7 @@ "1743448290": "Mawakala wa malipo", "1743679873": "Ukichagua <0>“Call”, utapata <1>malipo ikiwa <1>bei ya mwisho iko juu ya bei shindani <1>wakati wa kumalizika mkataba<1>. Vinginevyo, hautapokea malipo.", "1743902050": "Kamilisha tathmini yako ya kifedha", - "1744509610": "Buta tu faili ya XML kutoka kwa kompyuta yako kwenye nafasi ya kazi, na bot yako itapakia ipasavyo. Vinginevyo, unaweza kubonyeza Ingiza katika Bot Builder, na uchague kuagiza bot yako kutoka kwa kompyuta yako au kutoka kwenye Hifadhi yako ya Google.", + "1744509610": "Kokota tu faili lako la XML kutoka kwenye kompyuta yako kwenda kwenye eneo la kazi, na bot yako itapakiwa ipasavyo. Vinginevyo, unaweza kubonyeza Ingiza katika Bot Builder, na chagua kuingiza bot yako toka kwenye kompyuta au katika Google Drive yako.", "1745523557": "- Kipeo", "1746051371": "Pakua app", "1746273643": "Tofauti ya Uingiliano wa Wastani", @@ -1833,7 +1833,7 @@ "1871664426": "Kumbuka", "1873376454": "Hiki ni kiwango cha bei unachochagua. Ikiwa kizuizi hiki kitavukwa, mkataba wako utasitishwa.", "1874481756": "Tumia kizuizi hiki kununua mkataba maalum unayotaka. Unaweza kuongeza vitalu vingi vya Ununuzi pamoja na vitalu vya masharti kufafanua hali yako ya ununuzi. Kizuizi hiki kinaweza kutumika tu ndani ya kizuizi cha masharti ya Ununuzi.", - "1874737957": "Ili kufanya biashara ya viongezaji, pata akaunti ya Deriv Apps kwanza.", + "1874737957": "Ili kufanya biashara ya multipliers, pata akaunti ya Deriv Apps kwanza.", "1874756442": "BVI", "1875702561": "Pakia au ujenge bot yako", "1876015808": "Mfuko wa Jamii na Bima ya Kitaifa", @@ -1982,7 +1982,7 @@ "2014536501": "Nambari ya kadi", "2014590669": "Tofauti '{{variable_name}}' haina thamani. Tafadhali weka thamani ya tofauti '{{variable_name}}' ili kuarifu.", "2017672013": "Tafadhali chagua nchi ya utoaji wa hati.", - "2018044371": "Viongezaji hukuruhusu kufanya biashara na faida na kupunguza hatari yako kwa hisa yako. Ji <0>funze zaidi", + "2018044371": "Multipliers hukuruhusu kufanya biashara kwa mkopo na kupunguza hatari ya dau lako. <0>Jifunze zaidi", "2019596693": "Hati ilikataliwa na Mtoa huduma.", "2020545256": "Funga akaunti yako?", "2021037737": "Tafadhali sasisha taarifa zako ili kuendelea.", @@ -2002,7 +2002,7 @@ "2033648953": "Kizuizi hiki kinakupa thamani maalum ya mshumaa kwa muda uliochaguliwa.", "2034803607": "Lazima uwe na umri wa miaka 18 na zaidi.", "2035258293": "Anza kufanya biashara nasi", - "2035925727": "rangi {{ sort_type }} {{ sort_direction }} {{ input_list }}", + "2035925727": "chagua {{ sort_type }} {{ sort_direction }} {{ input_list }}", "2036578466": "Inapaswa kuwa {{value}}", "2037665157": "Panua Vitalu vyote", "2037906477": "pata orodha ndogo kutoka #", @@ -2011,7 +2011,7 @@ "2042023623": "Tunakagua hati zako. Hili litakuchukua dakika 5.", "2042050260": "- Bei ya ununuzi: bei ya ununuzi (dau) la mkataba", "2042115724": "Pakia picha ya skrini (screenshot) ya akaunti yako na ukurasa wa taarifa binafsi wenye jina lako, nambari ya akaunti, nambari ya simu, na anwani ya barua pepe.", - "2044086432": "Karibu ni alama ya hivi karibuni wakati au kabla ya muda wa mwisho. Ikiwa umechagua wakati maalum wa mwisho, wakati wa mwisho ni wakati uliochaguliwa.", + "2044086432": "Mwisho ni tick ya hivi punde zaidi au kabla ya muda wa mwisho. Ikiwa umechagua muda maalum wa mwisho, wakati wa mwisho ni muda uliochaguliwa.", "2046273837": "Tick ya mwisho", "2046577663": "Ingiza au chagua bot yako", "2048110615": "Barua pepe*", @@ -2036,7 +2036,7 @@ "2067903936": "Leseni ya udereva", "2070002739": "Usikubali", "2070345146": "Wakati wa kufungua biashara ya CFD iliyowekwa.", - "2070518923": "Ingiza bot yako au gonga Mikakati ya Haraka ili kuchagua kutoka kwa templeti za bot zilizo tayari kutumia.", + "2070518923": "Ingiza bot yako au bonyeza Mikakati ya Haraka ili kuchagua kutoka kwa violezo vya bot vilivyo tayari kutumia.", "2070752475": "Taarifa za Udhibiti", "2070858497": "Hati yako inaonekana kuwa ni picha ya skrini (screenshot).", "2071043849": "Vinjari", From 0f3d2ba7397b23bac2ee5fe28198c7d47f2a8035 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 10:15:45 +0400 Subject: [PATCH 03/95] =?UTF-8?q?translations:=20=F0=9F=93=9A=20sync=20tra?= =?UTF-8?q?nslations=20with=20crowdin=20(#15161)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: DerivFE --- packages/translations/src/translations/sw.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/translations/src/translations/sw.json b/packages/translations/src/translations/sw.json index 26059cd6eef0..d6a54caf20a2 100644 --- a/packages/translations/src/translations/sw.json +++ b/packages/translations/src/translations/sw.json @@ -2044,7 +2044,7 @@ "2074235904": "Jina la mwisho linahitajika.", "2074497711": "Arifa ya Telegram haikuweza kutumwa", "2074713563": "4.2. Uwasilishaji wa malalamiko", - "2079925695": "Kitengo: Idadi ya vitengo ambavyo vinaongezwa katika tukio la biashara inayosababisha hasara au idadi ya vitengo vilivyoondolewa katika tukio la biashara inayosababisha faida. Kwa mfano, ikiwa kitengo kimewekwa kuwa 2, hisa huongezeka au hupungua kwa mara mbili ya hisa ya awali ya USD 1, inamaanisha inabadilika kwa USD 2.", + "2079925695": "Uniti: Idadi ya uniti ambazo zinawekwa katika tukio la biashara husababisha matokeo ya hasara au idadi ya uniti zinazoondolewa katika tukio la biashara husababisha matokeo ya faida. Kwa mfano, ikiwa uniti imewekwa kuwa 2, dau huongezeka au hupungua kwa mara mbili ya dau la awali la USD 1, inamaanisha inabadilika kwa USD 2.", "2080553498": "3. Pata kitambulisho cha mazungumzo kwa kutumia Telegram REST API (soma zaidi: https://core.telegram.org/bots/api#getupdates)", "2080829530": "Inauzwa kwa: {{sold_for}}", "2081622549": "Lazima iwe namba kubwa kuliko {{ min }}", From 7ccea47bd1d8e18e3f76bbc0e30666fd5b38260e Mon Sep 17 00:00:00 2001 From: George Usynin <103181646+heorhi-deriv@users.noreply.github.com> Date: Wed, 15 May 2024 11:11:53 +0300 Subject: [PATCH 04/95] [WALL] george / WALL-3866 / Add API error handling for withdrawal service (#15052) * feat(wallets): :sparkles: add API error handling for withdrawal service * fix(wallets): :art: apply comments --- .../api-v2/src/hooks/useCashierFiatAddress.ts | 8 ++- .../crypto-payment-redirection.spec.tsx | 2 + .../mocks/mockCryptoWithdraw.ts | 24 +++++++ .../WalletsErrorScreen/WalletsErrorScreen.tsx | 31 +++++--- .../__tests__/WalletsErrorScreen.spec.tsx | 19 ++--- packages/wallets/src/constants/errorCodes.ts | 3 + .../WalletWithdrawal/WalletWithdrawal.tsx | 22 +++++- .../modules/DepositFiat/DepositFiat.tsx | 2 +- .../WithdrawalCrypto/WithdrawalCrypto.tsx | 29 ++++++-- .../__tests__/WithdrawalCrypto.spec.tsx | 6 +- .../__tests__/WithdrawalCryptoForm.spec.tsx | 2 +- .../WithdrawalCryptoProvider.spec.tsx | 31 +++++--- .../provider/WithdrawalCryptoProvider.tsx | 46 +++++++++--- .../modules/WithdrawalFiat/WithdrawalFiat.tsx | 27 ++++--- .../__tests__/WithdrawalFiat.spec.tsx | 42 +++++------ .../WithdrawalVerification.tsx | 18 +++-- .../__tests_/WithdrawalVerification.spec.tsx | 15 +++- .../WithdrawalErrorScreen.tsx | 39 +++++++++++ .../__tests__/WithdrawalErrorScreen.spec.tsx | 70 +++++++++++++++++++ .../screens/WithdrawalErrorScreen/index.ts | 1 + .../src/features/cashier/screens/index.ts | 1 + 21 files changed, 356 insertions(+), 82 deletions(-) create mode 100644 packages/wallets/component-tests/mocks/mockCryptoWithdraw.ts create mode 100644 packages/wallets/src/constants/errorCodes.ts create mode 100644 packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/WithdrawalErrorScreen.tsx create mode 100644 packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/__tests__/WithdrawalErrorScreen.spec.tsx create mode 100644 packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/index.ts diff --git a/packages/api-v2/src/hooks/useCashierFiatAddress.ts b/packages/api-v2/src/hooks/useCashierFiatAddress.ts index d05e1192a578..e56296b95d44 100644 --- a/packages/api-v2/src/hooks/useCashierFiatAddress.ts +++ b/packages/api-v2/src/hooks/useCashierFiatAddress.ts @@ -12,7 +12,7 @@ type TParams = Omit< /** A custom hook to get the deposit and withdrawal fiat address. */ const useCashierFiatAddress = () => { - const { data, mutate: _mutate, ...rest } = useMutation('cashier'); + const { data, mutate: _mutate, mutateAsync: _mutateAsync, ...rest } = useMutation('cashier'); const iframe_url = typeof data?.cashier === 'string' ? `${data?.cashier}&DarkMode=off` : undefined; const mutate = useCallback( @@ -20,12 +20,18 @@ const useCashierFiatAddress = () => { _mutate({ payload: { cashier, provider: 'doughflow', ...payload } }), [_mutate] ); + const mutateAsync = useCallback( + (cashier: TCashierParam, payload?: TParams) => + _mutateAsync({ payload: { cashier, provider: 'doughflow', ...payload } }), + [_mutateAsync] + ); return { /** The deposit/withdrawal fiat iframe */ data: iframe_url, /** Function to get deposit/withdrawal fiat address */ mutate, + mutateAsync, ...rest, }; }; diff --git a/packages/wallets/component-tests/crypto-payment-redirection.spec.tsx b/packages/wallets/component-tests/crypto-payment-redirection.spec.tsx index 026f692efc2d..03a75577901a 100644 --- a/packages/wallets/component-tests/crypto-payment-redirection.spec.tsx +++ b/packages/wallets/component-tests/crypto-payment-redirection.spec.tsx @@ -2,6 +2,7 @@ import { mockGeneral, mockLoggedIn, setupMocks } from '@deriv/integration'; import { expect, test } from '@playwright/test'; import { mockBalance } from './mocks/mockBalance'; import { mockCryptoConfig } from './mocks/mockCryptoConfig'; +import { mockCryptoWithdraw } from './mocks/mockCryptoWithdraw'; import { mockGetAccountTypes } from './mocks/mockGetAccountTypes'; import { mockProposalOpenContract } from './mocks/mockProposalOpenContract'; import mockWalletsAuthorize, { DEFAULT_WALLET_ACCOUNTS } from './mocks/mockWalletsAuthorize'; @@ -11,6 +12,7 @@ test.describe('Wallets - Crypto withdrawal', () => { await setupMocks({ baseURL, mocks: [ + mockCryptoWithdraw, mockGeneral, mockLoggedIn, mockWalletsAuthorize, diff --git a/packages/wallets/component-tests/mocks/mockCryptoWithdraw.ts b/packages/wallets/component-tests/mocks/mockCryptoWithdraw.ts new file mode 100644 index 000000000000..3bdc8f922a29 --- /dev/null +++ b/packages/wallets/component-tests/mocks/mockCryptoWithdraw.ts @@ -0,0 +1,24 @@ +/* eslint-disable sort-keys */ + +import { Context } from '@deriv/integration/src/utils/mocks/mocks'; + +export function mockCryptoWithdraw(context: Context) { + const isCryptoWithdraw = + 'cashier' in context.request && context.request.cashier === 'withdraw' && context.request.provider === 'crypto'; + + if (isCryptoWithdraw) { + if (!('address' in context.request)) + context.response = { + echo_req: context.request, + error: { + code: 'CryptoMissingRequiredParameter', + details: { + field: 'address', + }, + message: 'Missing required parameter.', + }, + msg_type: 'cashier', + req_id: context.req_id, + }; + } +} diff --git a/packages/wallets/src/components/WalletsErrorScreen/WalletsErrorScreen.tsx b/packages/wallets/src/components/WalletsErrorScreen/WalletsErrorScreen.tsx index 224f059d888a..45058a720e43 100644 --- a/packages/wallets/src/components/WalletsErrorScreen/WalletsErrorScreen.tsx +++ b/packages/wallets/src/components/WalletsErrorScreen/WalletsErrorScreen.tsx @@ -1,27 +1,42 @@ -import React from 'react'; -import { LegacyWarningIcon } from '@deriv/quill-icons'; +import React, { ComponentProps } from 'react'; +import { DerivLightErrorIconIcon } from '@deriv/quill-icons'; +import useDevice from '../../hooks/useDevice'; import { WalletButton } from '../Base'; import { WalletsActionScreen } from '../WalletsActionScreen'; type TProps = { + buttonText?: string; + buttonVariant?: ComponentProps['variant']; message?: string; + onClick?: () => void; + title?: string; }; -const ErrorState: React.FC = ({ +const WalletsErrorScreen: React.FC = ({ + buttonText = 'Try again', + buttonVariant = 'ghost', message = 'Sorry an error occurred. Please try accessing our cashier page again.', + onClick, + title = 'Oops, something went wrong!', }) => { + const { isMobile } = useDevice(); + const imageSize = { + height: isMobile ? 80 : 128, + width: isMobile ? 80 : 128, + }; + return ( } + icon={} renderButtons={() => ( - window.location.reload()} size='lg' variant='ghost'> - Try again + + {buttonText} )} - title='Oops, something went wrong!' + title={title} /> ); }; -export default ErrorState; +export default WalletsErrorScreen; diff --git a/packages/wallets/src/components/WalletsErrorScreen/__tests__/WalletsErrorScreen.spec.tsx b/packages/wallets/src/components/WalletsErrorScreen/__tests__/WalletsErrorScreen.spec.tsx index 91b4f0289ef0..e6679b13d965 100644 --- a/packages/wallets/src/components/WalletsErrorScreen/__tests__/WalletsErrorScreen.spec.tsx +++ b/packages/wallets/src/components/WalletsErrorScreen/__tests__/WalletsErrorScreen.spec.tsx @@ -2,6 +2,12 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; import WalletsErrorScreen from '../WalletsErrorScreen'; +jest.mock('../../../hooks/useDevice', () => + jest.fn(() => ({ + isMobile: false, + })) +); + describe('WalletsErrorScreen', () => { afterAll(() => { jest.clearAllMocks(); @@ -21,14 +27,11 @@ describe('WalletsErrorScreen', () => { expect(screen.getByText('Error message from props')).toBeInTheDocument(); }); - it('should reload the page when Try again button is clicked', () => { - const reloadMock = jest.fn(); - Object.defineProperty(window, 'location', { - value: { reload: reloadMock }, - writable: true, - }); - render(); + it('should trigger onClick callback', () => { + const onClickHandler = jest.fn(); + + render(); screen.getByRole('button', { name: 'Try again' }).click(); - expect(reloadMock).toHaveBeenCalled(); + expect(onClickHandler).toHaveBeenCalled(); }); }); diff --git a/packages/wallets/src/constants/errorCodes.ts b/packages/wallets/src/constants/errorCodes.ts new file mode 100644 index 000000000000..65961cada3dd --- /dev/null +++ b/packages/wallets/src/constants/errorCodes.ts @@ -0,0 +1,3 @@ +export enum CryptoWithdrawalErrorCodes { + InvalidToken = 'InvalidToken', +} diff --git a/packages/wallets/src/features/cashier/flows/WalletWithdrawal/WalletWithdrawal.tsx b/packages/wallets/src/features/cashier/flows/WalletWithdrawal/WalletWithdrawal.tsx index e6b8ffbfc81c..1e704f046403 100644 --- a/packages/wallets/src/features/cashier/flows/WalletWithdrawal/WalletWithdrawal.tsx +++ b/packages/wallets/src/features/cashier/flows/WalletWithdrawal/WalletWithdrawal.tsx @@ -1,13 +1,17 @@ import React, { useEffect, useState } from 'react'; import { useActiveWalletAccount, useAuthorize } from '@deriv/api-v2'; +import type { TSocketError } from '@deriv/api-v2/types'; import { Loader } from '../../../../components'; +import { isServerError } from '../../../../utils/utils'; import { WithdrawalCryptoModule, WithdrawalFiatModule, WithdrawalVerificationModule } from '../../modules'; -import { WithdrawalNoBalance } from '../../screens'; +import { WithdrawalErrorScreen, WithdrawalNoBalance } from '../../screens'; const WalletWithdrawal = () => { const { switchAccount } = useAuthorize(); const { data: activeWallet } = useActiveWalletAccount(); const [verificationCode, setVerificationCode] = useState(''); + const [resendEmail, setResendEmail] = useState(false); + const [error, setError] = useState['error'] | undefined>(); useEffect(() => { const queryParams = new URLSearchParams(location.search); @@ -33,6 +37,17 @@ const WalletWithdrawal = () => { const isCrypto = activeWallet?.currency_config?.is_crypto; + const onCloseHandler = () => setVerificationCode(''); + + const resetError = () => { + onCloseHandler(); + setError(undefined); + }; + + if (isServerError(error)) { + return ; + } + if (!activeWallet) return ; if (activeWallet.balance <= 0) return ; @@ -43,14 +58,15 @@ const WalletWithdrawal = () => { onClose={() => { setVerificationCode(''); }} + setError={setError} verificationCode={verificationCode} /> ) : ( - + ); } - return ; + return ; }; export default WalletWithdrawal; diff --git a/packages/wallets/src/features/cashier/modules/DepositFiat/DepositFiat.tsx b/packages/wallets/src/features/cashier/modules/DepositFiat/DepositFiat.tsx index 50f923e92a2a..06918a963141 100644 --- a/packages/wallets/src/features/cashier/modules/DepositFiat/DepositFiat.tsx +++ b/packages/wallets/src/features/cashier/modules/DepositFiat/DepositFiat.tsx @@ -16,7 +16,7 @@ const DepositFiat = () => { }, [isAuthorizeSuccess, mutate]); if (isError && isServerError(depositError.error)) - return ; + return window.location.reload()} />; return ( diff --git a/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/WithdrawalCrypto.tsx b/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/WithdrawalCrypto.tsx index 184ff0dbb1d0..b67c59e5e41c 100644 --- a/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/WithdrawalCrypto.tsx +++ b/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/WithdrawalCrypto.tsx @@ -1,18 +1,35 @@ import React from 'react'; -import { WalletText } from '../../../../components'; +import { Loader, WalletText } from '../../../../components'; import { TransactionStatus } from '../TransactionStatus'; -import { WithdrawalCryptoProvider, useWithdrawalCryptoContext } from './provider'; import { WithdrawalCryptoDisclaimer, WithdrawalCryptoForm, WithdrawalCryptoReceipt } from './components'; +import { useWithdrawalCryptoContext, WithdrawalCryptoProvider } from './provider'; import './WithdrawalCrypto.scss'; type TWithdrawalCryptoProps = { onClose: () => void; + setError: React.Dispatch< + React.SetStateAction< + | { + code: string; + message: string; + } + | undefined + > + >; verificationCode: string; }; const WithdrawalCrypto: React.FC = () => { - const { activeWallet, getCurrencyConfig, isWithdrawalSuccess, onClose, withdrawalReceipt } = - useWithdrawalCryptoContext(); + const { + activeWallet, + getCurrencyConfig, + isTokenValidationLoading, + isWithdrawalSuccess, + onClose, + withdrawalReceipt, + } = useWithdrawalCryptoContext(); + + if (isTokenValidationLoading) return ; if (isWithdrawalSuccess) return ; @@ -34,9 +51,9 @@ const WithdrawalCrypto: React.FC = () => { ); }; -const WithdrawalCryptoModule: React.FC = ({ onClose, verificationCode }) => { +const WithdrawalCryptoModule: React.FC = ({ onClose, setError, verificationCode }) => { return ( - + ); diff --git a/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/__tests__/WithdrawalCrypto.spec.tsx b/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/__tests__/WithdrawalCrypto.spec.tsx index cb751f97fd7f..7195e2137b35 100644 --- a/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/__tests__/WithdrawalCrypto.spec.tsx +++ b/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/__tests__/WithdrawalCrypto.spec.tsx @@ -41,7 +41,7 @@ describe('WithdrawalCrypto', () => { render( - + ); @@ -64,7 +64,7 @@ describe('WithdrawalCrypto', () => { render( - + ); @@ -89,7 +89,7 @@ describe('WithdrawalCrypto', () => { render( - + ); diff --git a/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/components/WithdrawalCryptoForm/__tests__/WithdrawalCryptoForm.spec.tsx b/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/components/WithdrawalCryptoForm/__tests__/WithdrawalCryptoForm.spec.tsx index be0e28bd4507..3c94a9a6f895 100644 --- a/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/components/WithdrawalCryptoForm/__tests__/WithdrawalCryptoForm.spec.tsx +++ b/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/components/WithdrawalCryptoForm/__tests__/WithdrawalCryptoForm.spec.tsx @@ -29,7 +29,7 @@ const mockUseWithdrawalCryptoContext = useWithdrawalCryptoContext as jest.Mocked const wrapper = ({ children }: PropsWithChildren) => ( - jest.fn()} verificationCode='Abcd1234'> + {children} diff --git a/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/provider/WithdrawalCryptoProvider.spec.tsx b/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/provider/WithdrawalCryptoProvider.spec.tsx index c52ddfe88f6b..1f0ce618bc2e 100644 --- a/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/provider/WithdrawalCryptoProvider.spec.tsx +++ b/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/provider/WithdrawalCryptoProvider.spec.tsx @@ -9,6 +9,7 @@ import { usePOA, usePOI, } from '@deriv/api-v2'; +import { act } from '@testing-library/react'; import { renderHook } from '@testing-library/react-hooks'; import WithdrawalCryptoProvider, { useWithdrawalCryptoContext } from './WithdrawalCryptoProvider'; @@ -33,11 +34,13 @@ const mockUsePOA = usePOA as jest.Mock; const mockUsePOI = usePOI as jest.Mock; describe('useWithdrawalCryptoContext', () => { + const setError = jest.fn(); + beforeEach(() => { mockUseAccountLimits.mockReturnValue({}); mockUseActiveWalletAccount.mockReturnValue({}); mockUseCryptoConfig.mockReturnValue({}); - mockUseCryptoWithdrawal.mockReturnValue({}); + mockUseCryptoWithdrawal.mockReturnValue({ mutateAsync: jest.fn().mockResolvedValueOnce({}) }); mockUseCurrencyConfig.mockReturnValue({ getConfig: () => ({ fractionalDigits: 2, @@ -50,12 +53,12 @@ describe('useWithdrawalCryptoContext', () => { }); const wrapper = ({ children }: { children: React.ReactNode }) => ( - jest.fn()} verificationCode='Abcd1234'> + jest.fn()} setError={setError} verificationCode='Abcd1234'> {children} ); - it('should check whether the client is verified', () => { + it('should check whether the client is verified', async () => { mockUsePOA.mockReturnValue({ data: { is_verified: true, @@ -68,10 +71,13 @@ describe('useWithdrawalCryptoContext', () => { }); const { result } = renderHook(() => useWithdrawalCryptoContext(), { wrapper }); - expect(result.current.isClientVerified).toBe(true); + + await act(async () => { + expect(result.current.isClientVerified).toBe(true); + }); }); - it('should check whether the client is not verified', () => { + it('should check whether the client is not verified', async () => { mockUsePOA.mockReturnValue({ data: { is_verified: false, @@ -84,7 +90,10 @@ describe('useWithdrawalCryptoContext', () => { }); const { rerender, result } = renderHook(() => useWithdrawalCryptoContext(), { wrapper }); - expect(result.current.isClientVerified).toBe(false); + + await act(async () => { + expect(result.current.isClientVerified).toBe(false); + }); mockUsePOA.mockReturnValue({ data: { @@ -99,7 +108,10 @@ describe('useWithdrawalCryptoContext', () => { }); rerender(); - expect(result.current.isClientVerified).toBe(false); + + await act(async () => { + expect(result.current.isClientVerified).toBe(false); + }); mockUsePOA.mockReturnValue({ data: { @@ -112,7 +124,10 @@ describe('useWithdrawalCryptoContext', () => { is_verified: false, }, }); - expect(result.current.isClientVerified).toBe(false); + + await act(async () => { + expect(result.current.isClientVerified).toBe(false); + }); rerender(); }); diff --git a/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/provider/WithdrawalCryptoProvider.tsx b/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/provider/WithdrawalCryptoProvider.tsx index 06eb16ef2cb6..521c0b162d60 100644 --- a/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/provider/WithdrawalCryptoProvider.tsx +++ b/packages/wallets/src/features/cashier/modules/WithdrawalCrypto/provider/WithdrawalCryptoProvider.tsx @@ -9,6 +9,7 @@ import { usePOA, usePOI, } from '@deriv/api-v2'; +import { TSocketError } from '@deriv/api-v2/types'; import { THooks } from '../../../../../types'; import { TWithdrawalReceipt } from '../types'; @@ -25,14 +26,25 @@ export type TWithdrawalCryptoContext = { getConvertedFiatAmount: (cryptoInput: number | string) => string; getCurrencyConfig: ReturnType['getConfig']; isClientVerified: boolean | undefined; + isTokenValidationLoading: boolean; isWithdrawalSuccess: ReturnType['isSuccess']; onClose: () => void; requestCryptoWithdrawal: (values: Parameters[0]) => void; + setError: React.Dispatch< + React.SetStateAction< + | { + code: string; + message: string; + } + | undefined + > + >; withdrawalReceipt: TWithdrawalReceipt; }; type TWithdrawalCryptoContextProps = { onClose: TWithdrawalCryptoContext['onClose']; + setError: TWithdrawalCryptoContext['setError']; verificationCode: string; }; @@ -52,6 +64,7 @@ export const useWithdrawalCryptoContext = () => { const WithdrawalCryptoProvider: React.FC> = ({ children, onClose, + setError, verificationCode, }) => { const { data: accountLimits } = useAccountLimits(); @@ -61,6 +74,7 @@ const WithdrawalCryptoProvider: React.FC({}); const { data: exchangeRates, subscribe, unsubscribe } = useExchangeRateSubscription(); const FRACTIONAL_DIGITS_CRYPTO = activeWallet?.currency_config?.fractional_digits; @@ -76,6 +90,16 @@ const WithdrawalCryptoProvider: React.FC unsubscribe(); }, [activeWallet?.currency, activeWallet?.loginid, subscribe, unsubscribe]); + useEffect(() => { + if (verificationCode) { + mutateAsync({ dry_run: 1, verification_code: verificationCode }) + .catch((error: TSocketError<'cashier'> | null) => { + if (error?.error.code === 'InvalidToken') setError(error?.error); + }) + .finally(() => setIsTokenValidationLoading(false)); + } + }, [mutateAsync, setError, verificationCode]); + const getClientVerificationStatus = () => { const isVerified = poaStatus?.is_verified && poiStatus?.is_verified; return isVerified; @@ -106,14 +130,18 @@ const WithdrawalCryptoProvider: React.FC - setWithdrawalReceipt({ - address, - amount: amount?.toFixed(activeWallet?.currency_config?.fractional_digits), - currency: activeWallet?.currency, - landingCompany: activeWallet?.landing_company_name, - }) - ); + }) + .then(() => + setWithdrawalReceipt({ + address, + amount: amount?.toFixed(activeWallet?.currency_config?.fractional_digits), + currency: activeWallet?.currency, + landingCompany: activeWallet?.landing_company_name, + }) + ) + .catch((error: TSocketError<'cashier'>) => { + setError(error.error); + }); }; const value = { @@ -133,9 +161,11 @@ const WithdrawalCryptoProvider: React.FC { + setError: React.Dispatch< + React.SetStateAction< + | { + code: string; + message: string; + } + | undefined + > + >; verificationCode?: string; } -const WithdrawalFiat: React.FC = ({ verificationCode }) => { - const { data: iframeUrl, error: withdrawalFiatError, isError, isLoading, mutate } = useCashierFiatAddress(); +const WithdrawalFiat: React.FC = ({ setError, verificationCode }) => { + const { data: iframeUrl, isLoading, mutateAsync } = useCashierFiatAddress(); useEffect(() => { if (verificationCode) { - mutate('withdraw', { + mutateAsync('withdraw', { verification_code: verificationCode, + }).catch((error: TSocketError<'cashier'>) => { + setError(error.error); }); } - }, [mutate, verificationCode]); - - if (isError && isServerError(withdrawalFiatError.error)) { - return ; - } + }, [mutateAsync, setError, verificationCode]); return ( diff --git a/packages/wallets/src/features/cashier/modules/WithdrawalFiat/__tests__/WithdrawalFiat.spec.tsx b/packages/wallets/src/features/cashier/modules/WithdrawalFiat/__tests__/WithdrawalFiat.spec.tsx index 7de4cc3f4429..11449fb0e607 100644 --- a/packages/wallets/src/features/cashier/modules/WithdrawalFiat/__tests__/WithdrawalFiat.spec.tsx +++ b/packages/wallets/src/features/cashier/modules/WithdrawalFiat/__tests__/WithdrawalFiat.spec.tsx @@ -8,19 +8,18 @@ jest.mock('@deriv/api-v2', () => ({ })); describe('', () => { + const verificationCode = 'abcd1234'; + const setError = jest.fn(); + it('should render the iframe with the withdrawal url from API response', async () => { - const verificationCode = 'abcd1234'; (useCashierFiatAddress as jest.Mock).mockReturnValue({ data: 'https://example.com', - error: null, - isError: false, - isLoading: false, - mutate: jest.fn(), + mutateAsync: jest.fn().mockResolvedValueOnce({}), }); await act(async () => { - render(); + render(); await waitFor(() => { expect(screen.queryByTestId('dt_wallets_loader')).not.toBeInTheDocument(); }); @@ -30,30 +29,33 @@ describe('', () => { }); it('should render the loader while the iframe is loading', () => { - const verificationCode = 'abcd1234'; - (useCashierFiatAddress as jest.Mock).mockReturnValue({ isLoading: true, - mutate: jest.fn(), + mutateAsync: jest.fn().mockResolvedValueOnce({}), }); - render(); + render(); + expect(screen.getByTestId('dt_wallets_loader')).toBeInTheDocument(); }); - it('should render the error screen when server responds with error', () => { - (useCashierFiatAddress as jest.Mock).mockReturnValue({ + it('should trigger setError callback with proper arguments when there is an API error', async () => { + const error = { error: { - error: { - code: '500', - message: 'Server Error', - }, + code: '500', + message: 'Server Error', }, - isError: true, - mutate: jest.fn(), + }; + + (useCashierFiatAddress as jest.Mock).mockReturnValue({ + isLoading: false, + mutateAsync: jest.fn().mockRejectedValueOnce(error), }); - render(); - expect(screen.getByText('Server Error')).toBeInTheDocument(); + render(); + + await waitFor(() => { + expect(setError).toHaveBeenCalledWith(error.error); + }); }); }); diff --git a/packages/wallets/src/features/cashier/modules/WithdrawalVerification/WithdrawalVerification.tsx b/packages/wallets/src/features/cashier/modules/WithdrawalVerification/WithdrawalVerification.tsx index cdd3510c760b..d13b1c57ab58 100644 --- a/packages/wallets/src/features/cashier/modules/WithdrawalVerification/WithdrawalVerification.tsx +++ b/packages/wallets/src/features/cashier/modules/WithdrawalVerification/WithdrawalVerification.tsx @@ -1,10 +1,14 @@ -import React, { useState } from 'react'; +import React, { useCallback, useEffect, useState } from 'react'; import { useCountdown } from 'usehooks-ts'; import { useSettings, useVerifyEmail } from '@deriv/api-v2'; import { WithdrawalVerificationRequest } from './WithdrawalVerificationRequest'; import { WithdrawalVerificationSent } from './WithdrawalVerificationSent'; -const WithdrawalVerification = () => { +type TProps = { + resendEmail?: boolean; +}; + +const WithdrawalVerification: React.FC = ({ resendEmail = false }) => { const [emailSent, setEmailSent] = useState(false); const { data } = useSettings(); const { mutate } = useVerifyEmail(); @@ -13,7 +17,7 @@ const WithdrawalVerification = () => { intervalMs: 1000, }); - const handleSendEmail = async () => { + const handleSendEmail = useCallback(async () => { if (data.email) { await mutate({ type: 'payment_withdraw', @@ -23,7 +27,13 @@ const WithdrawalVerification = () => { resetCountdown(); startCountdown(); } - }; + }, [data.email, mutate, resetCountdown, startCountdown]); + + useEffect(() => { + if (resendEmail && !emailSent) { + handleSendEmail(); + } + }, [emailSent, handleSendEmail, resendEmail]); if (emailSent) return ; return ; diff --git a/packages/wallets/src/features/cashier/modules/WithdrawalVerification/__tests_/WithdrawalVerification.spec.tsx b/packages/wallets/src/features/cashier/modules/WithdrawalVerification/__tests_/WithdrawalVerification.spec.tsx index 570f4fff1529..dcc9a57af202 100644 --- a/packages/wallets/src/features/cashier/modules/WithdrawalVerification/__tests_/WithdrawalVerification.spec.tsx +++ b/packages/wallets/src/features/cashier/modules/WithdrawalVerification/__tests_/WithdrawalVerification.spec.tsx @@ -2,7 +2,6 @@ import React from 'react'; import { useSettings, useVerifyEmail } from '@deriv/api-v2'; import { fireEvent, render, screen, waitFor } from '@testing-library/react'; import WithdrawalVerification from '../WithdrawalVerification'; -import '@testing-library/jest-dom'; jest.mock('@deriv/api-v2', () => ({ useSettings: jest.fn(() => ({ data: { email: null } })), @@ -54,4 +53,18 @@ describe('WithdrawalVerification', () => { ).not.toBeInTheDocument(); }); }); + + it('should trigger mutate callback when `resendEmail` is equal to `true`', async () => { + const mockMutate = jest.fn(); + (useSettings as jest.Mock).mockImplementation(() => ({ data: { email: 'test@example.com' } })); + (useVerifyEmail as jest.Mock).mockImplementation(() => ({ + mutate: mockMutate, + })); + + render(); + + await waitFor(() => { + expect(mockMutate).toHaveBeenCalledTimes(1); + }); + }); }); diff --git a/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/WithdrawalErrorScreen.tsx b/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/WithdrawalErrorScreen.tsx new file mode 100644 index 000000000000..9209cb4aa07c --- /dev/null +++ b/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/WithdrawalErrorScreen.tsx @@ -0,0 +1,39 @@ +import React from 'react'; +import { TSocketError } from '@deriv/api-v2/types'; +import { WalletsErrorScreen } from '../../../../components'; +import { CryptoWithdrawalErrorCodes } from '../../../../constants/errorCodes'; + +type TProps = { + error: TSocketError<'cashier'>['error']; + resetError: VoidFunction; + setResendEmail: React.Dispatch>; +}; + +const WithdrawalErrorScreen: React.FC = ({ error, resetError, setResendEmail }) => { + if (error.code === CryptoWithdrawalErrorCodes.InvalidToken) { + return ( + { + resetError(); + setResendEmail(true); + }} + title='Email verification failed' + /> + ); + } + + return ( + + ); +}; + +export default WithdrawalErrorScreen; diff --git a/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/__tests__/WithdrawalErrorScreen.spec.tsx b/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/__tests__/WithdrawalErrorScreen.spec.tsx new file mode 100644 index 000000000000..db935a539f9d --- /dev/null +++ b/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/__tests__/WithdrawalErrorScreen.spec.tsx @@ -0,0 +1,70 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import WithdrawalErrorScreen from '../WithdrawalErrorScreen'; + +describe('WithdrawalErrorScreen', () => { + let resetError: jest.Mock, setResendEmail: jest.Mock; + + beforeEach(() => { + resetError = jest.fn(); + setResendEmail = jest.fn(); + }); + + describe('InvalidToken', () => { + const error = { + code: 'InvalidToken', + message: 'Error message', + }; + + it('should show proper error for `InvalidToken` error code', () => { + render(); + + expect(screen.getByText('Email verification failed')).toBeInTheDocument(); + expect( + screen.getByText('The verification link you used is invalid or expired. Please request for a new one.') + ).toBeInTheDocument(); + expect(screen.getByRole('button', { name: 'Resend email' })).toBeInTheDocument(); + }); + + it('should trigger proper callbacks when the user is clicking on `Resend email` button', () => { + render(); + + const resendEmailBtn = screen.getByRole('button', { name: 'Resend email' }); + + userEvent.click(resendEmailBtn); + + expect(resetError).toHaveBeenCalledTimes(1); + expect(setResendEmail).toHaveBeenCalledTimes(1); + expect(setResendEmail).toHaveBeenCalledWith(true); + }); + }); + + it('should show default error', () => { + const error = { + code: 'MyError', + message: 'Error message', + }; + + render(); + + expect(screen.getByText('Error')).toBeInTheDocument(); + expect(screen.getByText('Error message')).toBeInTheDocument(); + expect(screen.getByRole('button', { name: 'OK' })).toBeInTheDocument(); + }); + + it('should trigger `resetError` callback whe the user is clicking on `OK` button', () => { + const error = { + code: 'MyError', + message: 'Error message', + }; + + render(); + + const OKBtn = screen.getByRole('button', { name: 'OK' }); + + userEvent.click(OKBtn); + + expect(resetError).toHaveBeenCalledTimes(1); + }); +}); diff --git a/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/index.ts b/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/index.ts new file mode 100644 index 000000000000..1512378e115d --- /dev/null +++ b/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/index.ts @@ -0,0 +1 @@ +export { default as WithdrawalErrorScreen } from './WithdrawalErrorScreen'; diff --git a/packages/wallets/src/features/cashier/screens/index.ts b/packages/wallets/src/features/cashier/screens/index.ts index 0f81fdcfb9ad..1d32ab74fef2 100644 --- a/packages/wallets/src/features/cashier/screens/index.ts +++ b/packages/wallets/src/features/cashier/screens/index.ts @@ -1,2 +1,3 @@ export * from './TransferNotAvailable'; +export * from './WithdrawalErrorScreen'; export * from './WithdrawalNoBalance'; From 0d87485c97ab5adbcaf07564970e79385d57b209 Mon Sep 17 00:00:00 2001 From: Farrah Mae Ochoa <82315152+farrah-deriv@users.noreply.github.com> Date: Wed, 15 May 2024 13:07:17 +0400 Subject: [PATCH 05/95] fix: remove disclaimer modal (#15076) --- packages/p2p/src/components/app-content.jsx | 31 ------ .../__tests__/disclaimer-modal.spec.tsx | 74 ------------- .../disclaimer-modal/disclaimer-modal.scss | 33 ------ .../disclaimer-modal/disclaimer-modal.tsx | 103 ------------------ .../modals/disclaimer-modal/index.ts | 4 - packages/p2p/src/constants/modals.ts | 3 - packages/p2p/src/utils/date-time.ts | 15 --- 7 files changed, 263 deletions(-) delete mode 100644 packages/p2p/src/components/modal-manager/modals/disclaimer-modal/__tests__/disclaimer-modal.spec.tsx delete mode 100644 packages/p2p/src/components/modal-manager/modals/disclaimer-modal/disclaimer-modal.scss delete mode 100644 packages/p2p/src/components/modal-manager/modals/disclaimer-modal/disclaimer-modal.tsx delete mode 100644 packages/p2p/src/components/modal-manager/modals/disclaimer-modal/index.ts diff --git a/packages/p2p/src/components/app-content.jsx b/packages/p2p/src/components/app-content.jsx index 6e2ea345b15f..4792e0251191 100644 --- a/packages/p2p/src/components/app-content.jsx +++ b/packages/p2p/src/components/app-content.jsx @@ -12,49 +12,18 @@ import { useModalManagerContext } from 'Components/modal-manager/modal-manager-c import TemporarilyBarredHint from 'Components/temporarily-barred-hint'; import { buy_sell } from 'Constants/buy-sell'; import { useStores } from 'Stores'; -import { getHoursDifference } from 'Utils/date-time'; import { localize } from './i18next'; -const INTERVAL_DURATION = 24; // 24 hours - const AppContent = ({ order_id }) => { const { buy_sell_store, general_store } = useStores(); const { showModal, hideModal } = useModalManagerContext(); - let timeout; const { notifications: { setP2POrderProps }, - client: { loginid }, } = useStore(); const notification_count = useP2PNotificationCount(); const is_system_maintenance = useIsSystemMaintenance(); const history = useHistory(); - const handleDisclaimerTimeout = time_lapsed => { - timeout = setTimeout(() => { - showModal({ key: 'DisclaimerModal', props: { handleDisclaimerTimeout } }); - // Display the disclaimer modal again after 24 hours - }, (INTERVAL_DURATION - time_lapsed) * 3600000); - }; - - React.useEffect(() => { - if ( - !general_store.should_show_dp2p_blocked && - !is_system_maintenance && - !general_store.counterparty_advert_id - ) { - const time_lapsed = getHoursDifference(localStorage.getItem(`p2p_${loginid}_disclaimer_shown`)); - if (time_lapsed === undefined || time_lapsed > INTERVAL_DURATION) { - showModal({ key: 'DisclaimerModal', props: { handleDisclaimerTimeout } }); - } else { - handleDisclaimerTimeout(time_lapsed); - } - } - - return () => { - clearTimeout(timeout); - }; - }, []); - React.useEffect(() => { buy_sell_store.setTableType(buy_sell.BUY); return reaction( diff --git a/packages/p2p/src/components/modal-manager/modals/disclaimer-modal/__tests__/disclaimer-modal.spec.tsx b/packages/p2p/src/components/modal-manager/modals/disclaimer-modal/__tests__/disclaimer-modal.spec.tsx deleted file mode 100644 index efe335161e2e..000000000000 --- a/packages/p2p/src/components/modal-manager/modals/disclaimer-modal/__tests__/disclaimer-modal.spec.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import React from 'react'; -import { render, screen } from '@testing-library/react'; -import userEvent from '@testing-library/user-event'; -import { StoreProvider, mockStore } from '@deriv/stores'; -import DisclaimerModal from '../disclaimer-modal'; - -const mock_modal_manager_context = { - hideModal: jest.fn(), - is_modal_open: true, - showModal: jest.fn(), -}; - -const mock = { - client: { - loginid: 'MX12345', - }, - ui: { - is_mobile: false, - }, -}; - -const handleDisclaimerTimeout = jest.fn(); - -jest.mock('Components/modal-manager/modal-manager-context', () => ({ - useModalManagerContext: () => mock_modal_manager_context, -})); - -describe('DisclaimerModal', () => { - let modal_root_el: HTMLElement; - beforeAll(() => { - modal_root_el = document.createElement('div'); - modal_root_el.setAttribute('id', 'modal_root'); - document.body.appendChild(modal_root_el); - Object.defineProperty(window, 'localStorage', { - value: { - getItem: jest.fn(), - setItem: jest.fn(), - }, - }); - }); - - afterAll(() => { - document.body.removeChild(modal_root_el); - }); - - const wrapper = ({ children }: { children: JSX.Element }) => ( - {children} - ); - - it('should render the modal with the correct title and content', () => { - render(, { wrapper }); - expect(screen.getByText('For your safety:')).toBeInTheDocument(); - }); - - it('should disable button when checkbox is not clicked', () => { - render(, { wrapper }); - expect(screen.getByRole('button', { name: 'Confirm' })).toBeDisabled(); - }); - - it('should enable button when checkbox is clicked', () => { - render(, { wrapper }); - userEvent.click(screen.getByRole('checkbox', { name: 'I’ve read and understood the above reminder.' })); - expect(screen.getByRole('button', { name: 'Confirm' })).toBeEnabled(); - }); - - it('should set value in local storage when confirm button is clicked', () => { - render(, { wrapper }); - userEvent.click(screen.getByRole('checkbox', { name: 'I’ve read and understood the above reminder.' })); - userEvent.click(screen.getByRole('button', { name: 'Confirm' })); - expect(localStorage.setItem).toHaveBeenCalledWith('p2p_MX12345_disclaimer_shown', expect.any(String)); - expect(handleDisclaimerTimeout).toHaveBeenCalledWith(0); - expect(mock_modal_manager_context.hideModal).toHaveBeenCalled(); - }); -}); diff --git a/packages/p2p/src/components/modal-manager/modals/disclaimer-modal/disclaimer-modal.scss b/packages/p2p/src/components/modal-manager/modals/disclaimer-modal/disclaimer-modal.scss deleted file mode 100644 index a7122e0dbce4..000000000000 --- a/packages/p2p/src/components/modal-manager/modals/disclaimer-modal/disclaimer-modal.scss +++ /dev/null @@ -1,33 +0,0 @@ -.dc-modal { - &__container_disclaimer-modal { - .disclaimer-modal { - &__body { - padding: 0 2.4rem; - - &-icon { - margin: 1.6rem auto; - } - - &-list { - list-style-type: disc; - padding-inline-start: 2rem; - margin-bottom: 1.6rem; - } - - .dc-checkbox__box { - margin-inline-start: 0; - } - } - } - .dc-modal-header { - &__title { - display: flex; - flex-direction: column; - padding-bottom: 0; - } - @include mobile { - height: 15rem; - } - } - } -} diff --git a/packages/p2p/src/components/modal-manager/modals/disclaimer-modal/disclaimer-modal.tsx b/packages/p2p/src/components/modal-manager/modals/disclaimer-modal/disclaimer-modal.tsx deleted file mode 100644 index 01ff19410cf7..000000000000 --- a/packages/p2p/src/components/modal-manager/modals/disclaimer-modal/disclaimer-modal.tsx +++ /dev/null @@ -1,103 +0,0 @@ -import React from 'react'; -import { Button, Checkbox, Icon, Modal, Text } from '@deriv/components'; -import { useStore } from '@deriv/stores'; -import { Localize } from 'Components/i18next'; -import { useModalManagerContext } from 'Components/modal-manager/modal-manager-context'; - -const ModalTitle = () => { - const { ui } = useStore(); - const { is_mobile } = ui; - return ( - - - - - - - ); -}; -const disclaimer_statements = [ - , - , - , - , - , -]; - -type TDisclaimerModalProps = { - handleDisclaimerTimeout: (time_left: number) => void; -}; - -const DisclaimerModal = ({ handleDisclaimerTimeout }: TDisclaimerModalProps) => { - const [is_checked, setIsChecked] = React.useState(false); - const { hideModal, is_modal_open } = useModalManagerContext(); - const { client, ui } = useStore(); - const { loginid } = client; - const { is_mobile } = ui; - - const onClickConfirm = () => { - const current_date = new Date().toISOString(); - localStorage.setItem(`p2p_${loginid}_disclaimer_shown`, current_date); - hideModal(); - handleDisclaimerTimeout(0); - }; - - const onToggleCheckbox = React.useCallback(() => { - setIsChecked(prev_state => !prev_state); - }, []); - - return ( - } - is_title_centered - > - -
    - {disclaimer_statements.map((statement, idx) => ( -
  • - - {statement} - -
  • - ))} -
- - - - } - /> -
- - - -
- ); -}; - -export default DisclaimerModal; diff --git a/packages/p2p/src/components/modal-manager/modals/disclaimer-modal/index.ts b/packages/p2p/src/components/modal-manager/modals/disclaimer-modal/index.ts deleted file mode 100644 index 36dd4accee62..000000000000 --- a/packages/p2p/src/components/modal-manager/modals/disclaimer-modal/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -import DisclaimerModal from './disclaimer-modal'; -import './disclaimer-modal.scss'; - -export default DisclaimerModal; diff --git a/packages/p2p/src/constants/modals.ts b/packages/p2p/src/constants/modals.ts index 415644725c85..04a99c203a23 100644 --- a/packages/p2p/src/constants/modals.ts +++ b/packages/p2p/src/constants/modals.ts @@ -91,9 +91,6 @@ export const Modals = { /* webpackChunkName: "delete-payment-method-error-modal" */ 'Components/modal-manager/modals/delete-payment-method-error-modal' ) ), - DisclaimerModal: React.lazy( - () => import(/* webpackChunkName: "disclaimer-modal" */ 'Components/modal-manager/modals/disclaimer-modal') - ), EmailLinkBlockedModal: React.lazy( () => import( diff --git a/packages/p2p/src/utils/date-time.ts b/packages/p2p/src/utils/date-time.ts index ef4e40bd29ae..64dbd4f74422 100644 --- a/packages/p2p/src/utils/date-time.ts +++ b/packages/p2p/src/utils/date-time.ts @@ -77,18 +77,3 @@ export const millisecondsToTimer = (distance: number): string => { return `${toDoubleDigits(hours)}:${toDoubleDigits(minutes)}:${toDoubleDigits(seconds)}`; }; - -/** - * Calculate the difference in hours between the current time and a given time. - * - * @param {string} time_set - The time to compare against. - * @returns {number|undefined} The difference in hours between the current time and the given time. Returns `undefined` if the input is invalid. - */ -export const getHoursDifference = (time_set: string): number | undefined => { - if (!time_set) return undefined; - const current_time = new Date(); - const updated_time = new Date(time_set); - const difference = current_time.getTime() - updated_time.getTime(); - const hours_difference = Math.floor(difference / 1000 / 60 / 60); - return hours_difference; -}; From e30aec77527da2c8bede6fde4d12a029627066b1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 13:25:11 +0400 Subject: [PATCH 06/95] =?UTF-8?q?translations:=20=F0=9F=93=9A=20sync=20tra?= =?UTF-8?q?nslations=20with=20crowdin=20(#15168)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: DerivFE --- packages/p2p/crowdin/messages.json | 2 +- packages/p2p/src/translations/ar.json | 7 -- packages/p2p/src/translations/bn.json | 7 -- packages/p2p/src/translations/de.json | 7 -- packages/p2p/src/translations/en.json | 7 -- packages/p2p/src/translations/es.json | 7 -- packages/p2p/src/translations/fr.json | 7 -- packages/p2p/src/translations/it.json | 7 -- packages/p2p/src/translations/ko.json | 7 -- packages/p2p/src/translations/pl.json | 7 -- packages/p2p/src/translations/pt.json | 7 -- packages/p2p/src/translations/ru.json | 7 -- packages/p2p/src/translations/si.json | 7 -- packages/p2p/src/translations/sw.json | 7 -- packages/p2p/src/translations/th.json | 7 -- packages/p2p/src/translations/tr.json | 7 -- packages/p2p/src/translations/vi.json | 7 -- packages/p2p/src/translations/zh_cn.json | 7 -- packages/p2p/src/translations/zh_tw.json | 7 -- .../translations/src/translations/mn.json | 10 +-- .../translations/src/translations/sw.json | 68 +++++++++---------- 21 files changed, 40 insertions(+), 166 deletions(-) diff --git a/packages/p2p/crowdin/messages.json b/packages/p2p/crowdin/messages.json index 6654b04f6af5..889e8d1d0bb4 100644 --- a/packages/p2p/crowdin/messages.json +++ b/packages/p2p/crowdin/messages.json @@ -1 +1 @@ -{"3215342":"Last 30 days","4276410":"One last step before we close this order","6794664":"Ads that match your Deriv P2P balance and limit.","19789721":"Nobody has blocked you. Yay!","24711354":"Total orders <0>30d | <1>lifetime","47573834":"Fixed rate (1 {{account_currency}})","50672601":"Bought","55916349":"All","68867477":"Order ID {{ id }}","81450871":"We couldn’t find that page","97214671":"Hi! I'd like to exchange {{first_currency}} for {{second_currency}} at {{rate_display}}{{rate_type}} on Deriv P2P.nnIf you're interested, check out my ad 👉nn{{- advert_url}}nnThanks!","106063661":"Share this ad","111718006":"End date","121738739":"Send","122280248":"Avg release time <0>30d","134205943":"Your ads with fixed rates have been deactivated. Set floating rates to reactivate them.","140800401":"Float","150156106":"Save changes","159757877":"You won't see {{advertiser_name}}'s ads anymore and they won't be able to place orders on your ads.","170072126":"Seen {{ duration }} days ago","173939998":"Avg. pay time <0>30d","179083332":"Date","192859167":"{{avg_buy_time_in_minutes}} min","197477687":"Edit {{ad_type}} ad","203271702":"Try again","231473252":"Preferred currency","233677840":"of the market rate","257637860":"Upload documents to verify your address.","276261353":"Avg pay time <0>30d","277542386":"Please use <0>live chat to contact our Customer Support team for help.","316725580":"You can no longer rate this transaction.","323002325":"Post ad","324970564":"Seller's contact details","358133589":"Unblock {{advertiser_name}}?","364681129":"Contact details","367579676":"Blocked","390890891":"Last quarter","392469164":"You have blocked {{advertiser_name}}.","416167062":"You'll receive","424668491":"expired","450016951":"Hello! This is where you can chat with the counterparty to confirm the order details.
Note: In case of a dispute, we'll use this chat as a reference.","452752527":"Rate (1 {{ currency }})","459886707":"E-wallets","460477293":"Enter message","464044457":"Buyer's nickname","473688701":"Enter a valid amount","488150742":"Resend email","498500965":"Seller's nickname","498743422":"For your safety:","500514593":"Hide my ads","501523417":"You have no orders.","514948272":"Copy link","517202770":"Set fixed rate","523301614":"Release {{amount}} {{currency}}","525380157":"Buy {{offered_currency}} order","531912261":"Bank name, account number, beneficiary name","554135844":"Edit","555447610":"You won't be able to change your buy and sell limits again after this. Do you want to continue?","560402954":"User rating","565060416":"Exchange rate","574961698":"45 minutes","587882987":"Advertisers","611376642":"Clear","612069973":"Would you recommend this buyer?","625563394":"Only numbers are allowed.","625586185":"Deposits via cards and the following payment methods aren’t included: Maestro, Diners Club, ZingPay, Skrill, Neteller, Ozow, and UPI QR.","628581263":"The {{local_currency}} market rate has changed.","639382772":"Please upload supported file type.","649549724":"I’ve not received any payment.","654193846":"The verification link appears to be invalid. Hit the button below to request for a new one","655733440":"Others","661808069":"Resend email {{remaining_time}}","662578726":"Available","668309975":"Others will see this on your profile, ads, and chats.","683273691":"Rate (1 {{ account_currency }})","720104538":"Fixed Rate","723172934":"Looking to buy or sell USD? You can post your own ad for others to respond.","728383001":"I’ve received more than the agreed amount.","733311523":"P2P transactions are locked. This feature is not available for payment agents.","767789372":"Wait for payment","782834680":"Time left","783454335":"Yes, remove","784839262":"Share","830703311":"My profile","834075131":"Blocked advertisers","838024160":"Bank details","842911528":"Don’t show this message again.","846659545":"Your ad is not listed on <0>Buy/Sell because the amount exceeds your daily limit of {{limit}} {{currency}}.\n <1 /><1 />You can still see your ad on <0>My ads. If you’d like to increase your daily limit, please contact us via <2>live chat.","858027714":"Seen {{ duration }} minutes ago","873437248":"Instructions (optional)","876086855":"Complete the financial assessment form","881351325":"Would you recommend this seller?","886126850":"This ad is not listed on Buy/Sell because its maximum order is lower than the minimum amount you can specify for orders in your ads.","887667868":"Order","892431976":"If you cancel your order {{cancellation_limit}} times in {{cancellation_period}} hours, you will be blocked from using Deriv P2P for {{block_duration}} hours.
({{number_of_cancels_remaining}} cancellations remaining)","926446466":"Please set a different minimum and/or maximum order limit. nnThe range of your ad should not overlap with any of your active ads.","931661826":"Download this QR code","947389294":"We need your documents","949859957":"Submit","954233511":"Sold","957807235":"Blocking wasn't possible as {{name}} is not using Deriv P2P anymore.","988380202":"Your instructions","993198283":"The file you uploaded is not supported. Upload another.","1001160515":"Sell","1002264993":"Seller's real name","1009032439":"All time","1020552673":"You're creating an ad to buy <0>{{ target_amount }} {{ target_currency }}...","1030390916":"You already have an ad with this range","1035893169":"Delete","1040596075":"Address verification failed. Please try again.","1042690536":"I’ve read and understood the above reminder.","1052094244":"Max order","1056821534":"Are you sure?","1057127276":"{{- avg_release_time_in_minutes}} min","1065551550":"Set floating rate","1077515534":"Date to","1080990424":"Confirm","1089110190":"You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).","1091533736":"Don't risk your funds with cash transactions. Use bank transfers or e-wallets instead.","1106073960":"You've created an ad","1106485202":"Available Deriv P2P balance","1109217274":"Success!","1119887091":"Verification","1121630246":"Block","1137964885":"Can only contain letters, numbers, and special characters .- _ @.","1142686040":"Nickname added successfully!","1151608942":"Total amount","1157877436":"{{field_name}} should not exceed Amount","1162965175":"Buyer","1163072833":"<0>ID verified","1164771858":"I’ve received payment from 3rd party.","1168689876":"Your ad is not listed","1184609483":"Create a similar ad","1191941618":"Enter a value that's within -{{limit}}% to +{{limit}}%","1192337383":"Seen {{ duration }} hour ago","1202500203":"Pay now","1228352589":"Not rated yet","1229976478":"You will be able to see {{ advertiser_name }}'s ads. They'll be able to place orders on your ads, too.","1236083813":"Your payment details","1258285343":"Oops, something went wrong","1286797620":"Active","1287051975":"Nickname is too long","1300767074":"{{name}} is no longer on Deriv P2P","1303016265":"Yes","1313218101":"Rate this transaction","1314266187":"Joined today","1320670806":"Leave page","1326475003":"Activate","1328352136":"Sell {{ account_currency }}","1330528524":"Seen {{ duration }} month ago","1337027601":"You sold {{offered_amount}} {{offered_currency}}","1347322213":"How would you rate this transaction?","1347724133":"I have paid {{amount}} {{currency}}.","1366244749":"Limits","1370999551":"Floating rate","1371193412":"Cancel","1376329801":"Last 60 days","1378388952":"Promote your ad by sharing the QR code and link.","1381949324":"<0>Address verified","1385570445":"Upload documents to verify your identity.","1398938904":"We can't deliver the email to this address (usually because of firewalls or filtering).","1422356389":"No results for \"{{text}}\".","1426213515":"If you’ve received {{amount}} {{local_currency}} from {{name}} in your bank account or e-wallet, hit the button below to complete the order.","1430413419":"Maximum is {{value}} {{currency}}","1438103743":"Floating rates are enabled for {{local_currency}}. Ads with fixed rates will be deactivated. Switch to floating rates by {{end_date}}.","1448855725":"Add payment methods","1452260922":"Too many failed attempts","1467483693":"Past orders","1474532322":"Sort by","1480915523":"Skip","1497156292":"No ads for this currency 😞","1505293001":"Trade partners","1543377906":"This ad is not listed on Buy/Sell because you have paused all your ads.","1568512719":"Your daily limits have been increased to {{daily_buy_limit}} {{currency}} (buy) and {{daily_sell_limit}} {{currency}} (sell).","1583335572":"If the ad doesn't receive an order for {{adverts_archive_period}} days, it will be deactivated.","1587250288":"Ad ID {{advert_id}} ","1587507924":"Or copy this link","1607051458":"Search by nickname","1615530713":"Something's not right","1620858613":"You're editing an ad to sell <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","1622662457":"Date from","1623916605":"I wasn’t able to make full payment.","1654365787":"Unknown","1660278694":"The advertiser changed the rate before you confirmed the order.","1671725772":"If you choose to cancel, the edited details will be lost.","1675716253":"Min limit","1678804253":"Buy {{ currency }}","1685888862":"An internal error occurred","1686592014":"To place an order, add one of the advertiser's preferred payment methods:","1691540875":"Edit payment method","1699829275":"Cannot upload a file over 5MB","1702855414":"Your ad isn’t listed on Buy/Sell due to the following reason(s):","1703154819":"You're editing an ad to sell <0>{{ target_amount }} {{ target_currency }}...","1721422292":"Show my real name","1734661732":"Your DP2P balance is {{ dp2p_balance }}","1740434340":"Orders will expire if they aren’t completed within this time.","1747523625":"Go back","1752096323":"{{field_name}} should not be below Min limit","1767817594":"Buy completion <0>30d","1782514544":"This ad is not listed on Buy/Sell because its minimum order is higher than {{maximum_order_amount}} {{currency}}.","1784151356":"at","1791767028":"Set a fixed rate for your ad.","1794470010":"I’ve made full payment, but the seller hasn’t released the funds.","1794474847":"I've received payment","1798116519":"Available amount","1799384587":"Has the buyer paid you?","1809099720":"Expand all","1810217569":"Please refresh this page to continue.","1842172737":"You've received {{offered_amount}} {{offered_currency}}","1858251701":"minute","1859308030":"Give feedback","1874956952":"Hit the button below to add payment methods.","1881018702":"hour","1881201992":"Your Deriv P2P balance only includes deposits that can’t be reversed.","1902229457":"Unable to block advertiser","1908023954":"Sorry, an error occurred while processing your request.","1914014145":"Today","1923443894":"Inactive","1928240840":"Sell {{ currency }}","1929119945":"There are no ads yet","1976156928":"You'll send","1992961867":"Rate (1 {{currency}})","1994023526":"The email address you entered had a mistake or typo (happens to the best of us).","2020104747":"Filter","2027742762":"Review your settings and create a new ad. Every ad must have unique limits and rates.","2029375371":"Payment instructions","2032274854":"Recommended by {{recommended_count}} traders","2039361923":"You're creating an ad to sell...","2040110829":"Increase my limits","2060873863":"Your order {{order_id}} is complete","2063890788":"Cancelled","2064304887":"We accept JPG, PDF, or PNG (up to 5MB).","2091671594":"Status","2096014107":"Apply","2104905634":"No one has recommended this trader yet","2121837513":"Minimum is {{value}} {{currency}}","2142425493":"Ad ID","2145292295":"Rate","-1540251249":"Buy {{ account_currency }}","-1267880283":"{{field_name}} is required","-2019083683":"{{field_name}} can only include letters, numbers, spaces, and any of these symbols: -+.,'#@():;","-222920564":"{{field_name}} has exceeded maximum length","-2093768906":"{{name}} has released your funds.
Would you like to give your feedback?","-1101273282":"Nickname is required","-919203928":"Nickname is too short","-1907100457":"Cannot start, end with, or repeat special characters.","-270502067":"Cannot repeat a character more than 4 times.","-499872405":"You have open orders for this ad. Complete all open orders before deleting this ad.","-2125702445":"Instructions","-1274358564":"Max limit","-1995606668":"Amount","-1965472924":"Fixed rate","-1081775102":"{{field_name}} should not be below Max limit","-991345852":"Only up to 2 decimals are allowed.","-885044836":"{{field_name}} should not exceed Max limit","-1921077416":"All ({{list_value}})","-608125128":"Blocked ({{list_value}})","-1764050750":"Payment details","-2021135479":"This field is required.","-2005205076":"{{field_name}} has exceeded maximum length of 200 characters.","-1837059346":"Buy / Sell","-494667560":"Orders","-679691613":"My ads","-412680608":"Add payment method","-984140537":"Add","-1220275347":"You may choose up to 3 payment methods for this ad.","-510341549":"I’ve received less than the agreed amount.","-650030360":"I’ve paid more than the agreed amount.","-1192446042":"If your complaint isn't listed here, please contact our Customer Support team.","-573132778":"Complaint","-792338456":"What's your complaint?","-418870584":"Cancel order","-1392383387":"I've paid","-727273667":"Complain","-2016990049":"Sell {{offered_currency}} order","-811190405":"Time","-961632398":"Collapse all","-415476028":"Not rated","-26434257":"You have until {{remaining_review_time}} GMT to rate this transaction.","-768709492":"Your transaction experience","-652933704":"Recommended","-84139378":"Not Recommended","-2139303636":"You may have followed a broken link, or the page has moved to a new address.","-1448368765":"Error code: {{error_code}} page not found","-1660552437":"Return to P2P","-137444201":"Buy","-1306639327":"Payment methods","-904197848":"Limits {{min_order_amount_limit_display}}-{{max_order_amount_limit_display}} {{currency}}","-464361439":"{{- avg_buy_time_in_minutes}} min","-2109576323":"Sell completion <0>30d","-165392069":"Avg. release time <0>30d","-1154208372":"Trade volume <0>30d","-2017825013":"Got it","-1845037007":"Advertiser's page","-1070228546":"Joined {{days_since_joined}}d","-2015102262":"({{number_of_ratings}} rating)","-1412298133":"({{number_of_ratings}} ratings)","-260332243":"{{user_blocked_count}} person has blocked you","-117094654":"{{user_blocked_count}} people have blocked you","-329713179":"Ok","-1689905285":"Unblock","-1148912768":"If the market rate changes from the rate shown here, we won't be able to process your order.","-55126326":"Seller","-92830427":"Seller's instructions","-1940034707":"Buyer's instructions","-631576120":"Orders must be completed in","-835196958":"Receive payment to","-1218007718":"You may choose up to 3.","-1933432699":"Enter {{transaction_type}} amount","-2021730616":"{{ad_type}}","-490637584":"Limit: {{min}}–{{max}} {{currency}}","-1974067943":"Your bank details","-892663026":"Your contact details","-1285759343":"Search","-1657433201":"There are no matching ads.","-1862812590":"Limits {{ min_order }}–{{ max_order }} {{ currency }}","-375836822":"Buy {{account_currency}}","-1035421133":"Sell {{account_currency}}","-1876891031":"Currency","-1503997652":"No ads for this currency.","-1048001140":"No results for \"{{value}}\".","-254484597":"You have no ads 😞","-1179827369":"Create new ad","-73663931":"Create ad","-141315849":"No ads for this currency at the moment 😞","-1889014820":"<0>Don’t see your payment method? <1>Add new.","-1406830100":"Payment method","-1561775203":"Buy {{currency}}","-1527285935":"Sell {{currency}}","-592818187":"Your Deriv P2P balance is {{ dp2p_balance }}","-1654157453":"Fixed rate (1 {{currency}})","-379708059":"Min order","-1459289144":"This information will be visible to everyone.","-207756259":"You may tap and choose up to 3.","-1282343703":"You're creating an ad to buy <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","-2139632895":"You're creating an ad to sell <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","-40669120":"You're creating an ad to sell <0>{{ target_amount }} {{ target_currency }}...","-514789442":"You're creating an ad to buy...","-1571737200":"Don't cancel","-1601971804":"Cancel your edits?","-230677679":"{{text}}","-1914431773":"You're editing an ad to buy <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","-107996509":"You're editing an ad to buy <0>{{ target_amount }} {{ target_currency }}...","-863580260":"You're editing an ad to buy...","-1396464057":"You're editing an ad to sell...","-309848900":"Copy","-1318334333":"Deactivate","-372210670":"Rate (1 {{account_currency}})","-87612148":"Ad not listed","-466964809":"Manage ad","-1667041441":"Rate (1 {{ offered_currency }})","-792015701":"Deriv P2P cashier is unavailable in your country.","-1983512566":"This conversation is closed.","-283017497":"Retry","-360975483":"You've made no transactions of this type during this period.","-979459594":"Buy/Sell","-2052184983":"Order ID","-2096350108":"Counterparty","-1597110099":"Receive","-750202930":"Active orders","-1626659964":"I've received {{amount}} {{currency}}.","-526636259":"Error 404","-480724783":"You already have an ad with this rate","-2040406318":"You already have an ad with the same exchange rate for this currency pair and order type. nnPlease set a different rate for your ad.","-1117584385":"Seen more than 6 months ago","-1766199849":"Seen {{ duration }} months ago","-591593016":"Seen {{ duration }} day ago","-1586918919":"Seen {{ duration }} hours ago","-664781013":"Seen {{ duration }} minute ago","-1717650468":"Online","-1887970998":"Unblocking wasn't possible as {{name}} is not using Deriv P2P anymore.","-1207312691":"Completed","-688728873":"Expired","-1951641340":"Under dispute","-1738697484":"Confirm payment","-1611857550":"Waiting for the seller to confirm","-1452684930":"Buyer's real name","-1875343569":"Seller's payment details","-1977959027":"hours","-1603581277":"minutes","-1792280476":"Choose your payment method","-520142572":"Cashier is currently down for maintenance","-1552080215":"Please check back in a few minutes.<0>Thank you for your patience.","-684271315":"OK","-130601012":"Please select duration","-232254547":"Custom","-1577570698":"Start date","-1251526905":"Last 7 days","-1638172550":"To enable this feature you must complete the following:","-1086586743":"Please submit your <0>proof of address. You can use Deriv P2P after we’ve verified your documents.","-559300364":"Your Deriv P2P cashier is blocked","-740038242":"Your rate is","-1072444041":"Update ad","-2085839488":"This ad is not listed on Buy/Sell because its minimum order is higher than the ad’s remaining amount ({{remaining_amount}} {{currency}}).","-987612578":"This ad is not listed on Buy/Sell because its minimum order is higher than your Deriv P2P available balance ({{balance}} {{currency}}).","-84644774":"This ad is not listed on Buy/Sell because its minimum order is higher than your remaining daily limit ({{remaining_limit}} {{currency}}).","-452142075":"You’re not allowed to use Deriv P2P to advertise. Please contact us via live chat for more information.","-1886565882":"Your ads with floating rates have been deactivated. Set fixed rates to reactivate them.","-971817673":"Your ad isn't visible to others","-1735126907":"This could be because your account balance is insufficient, your ad amount exceeds your daily limit, or both. You can still see your ad on <0>My ads.","-674715853":"Your ad exceeds the daily limit","-1530773708":"Block {{advertiser_name}}?","-2035037071":"Your Deriv P2P balance isn't enough. Please increase your balance before trying again.","-293182503":"Cancel adding this payment method?","-1850127397":"If you choose to cancel, the details you’ve entered will be lost.","-146021156":"Delete {{payment_method_name}}?","-1846700504":"Are you sure you want to remove this payment method?","-231863107":"No","-471384801":"Sorry, we're unable to increase your limits right now. Please try again in a few minutes.","-150224710":"Yes, continue","-1422779483":"That payment method cannot be deleted","-1103095341":"If you’re selling, only release funds to the buyer after you’ve received payment.","-1918928746":"We’ll never ask you to release funds on behalf of anyone.","-1641698637":"Read the instructions in the ad carefully before making your order. If there's anything unclear, check with the advertiser first.","-1815993311":"Only discuss your P2P order details within the in-app chatbox, and nowhere else.","-7572501":"All P2P transactions are final and cannot be reversed.","-1088454544":"Get new link","-1327607310":"Releasing funds before receiving payment may result in losses. Check your email and follow the instructions <0>within 10 minutes to release the funds.","-1632557686":"I didn’t receive the email","-142727028":"The email is in your spam folder (sometimes things get lost there).","-75934135":"Matching ads","-1856204727":"Reset","-227512949":"Check your spelling or use a different term.","-1554938377":"Search payment method","-1728351486":"Invalid verification link","-433946201":"Leave page?","-818345434":"Are you sure you want to leave this page? Changes made will not be saved.","-392043307":"Do you want to delete this ad?","-854930519":"You will NOT be able to restore it.","-1600783504":"Set a floating rate for your ad.","-1907448242":"Available Deriv P2P Balance","-268565332":"What’s your nickname?","-532709160":"Your nickname","-1016461467":"Your nickname cannot be changed later.","-2008992756":"Do you want to cancel this order?","-1618084450":"If you cancel this order, you'll be blocked from using Deriv P2P for {{block_duration}} hours.","-2026176944":"Please do not cancel if you have already made payment.","-1989544601":"Cancel this order","-492996224":"Do not cancel","-1447732068":"Payment confirmation","-1951344681":"Please make sure that you've paid {{amount}} {{currency}} to {{other_user_name}}, and upload the receipt as proof of your payment","-637818525":"Sending forged documents will result in an immediate and permanent ban.","-670364940":"Upload receipt here","-937707753":"Go Back","-1340125291":"Done","-1854199094":"{{type}} {{account_currency}}","-788469106":"ID number","-574559641":"Scan this code to order via Deriv P2P","-1078665050":"Share link","-354026679":"Share via","-229543460":"{{- link}}","-1388977563":"Copied!","-237014436":"Recommended by {{recommended_count}} trader","-849068301":"Loading...","-2061807537":"Something’s not right","-1354983065":"Refresh","-2054589794":"You've been temporarily barred from using our services due to multiple cancellation attempts. Try again after {{date_time}} GMT.","-1079963355":"trades","-609070622":"Identity verification in progress.","-1269954557":"Identity verification failed. Please try again.","-1507102231":"Identity verification complete.","-670039668":"Address verification in progress.","-23313647":"Address verification complete.","-1483008038":"Verify your P2P account","-792476552":"Verify your identity and address to use Deriv P2P.","-2094684686":"If you choose to cancel, the details you've entered will be lost.","-1281511784":"Cancel ad creation?","-2144449586":"Ad type","-1307206495":"Order must be completed in","-293628675":"1 hour","-1978767852":"30 minutes","-999492762":"15 minutes","-1908692350":"Filter by","-992568889":"No one to show here","-1241719539":"When you block someone, you won't see their ads, and they can't see yours. Your ads will be hidden from their search results, too.","-1007339977":"There are no matching name.","-1298666786":"My counterparties","-179005984":"Save","-2059312414":"Ad details","-1769584466":"Stats","-2090878601":"Daily limit","-474123616":"Want to increase your daily limits to <0>{{max_daily_buy}} {{currency}} (buy) and <1>{{max_daily_sell}} {{currency}} (sell)?","-133982971":"{{avg_release_time_in_minutes}} min","-130547447":"Trade volume <0>30d | <1>lifetime","-383030149":"You haven’t added any payment methods yet","-1156559889":"Bank Transfers","-1269362917":"Add new"} \ No newline at end of file +{"3215342":"Last 30 days","4276410":"One last step before we close this order","6794664":"Ads that match your Deriv P2P balance and limit.","19789721":"Nobody has blocked you. Yay!","24711354":"Total orders <0>30d | <1>lifetime","47573834":"Fixed rate (1 {{account_currency}})","50672601":"Bought","55916349":"All","68867477":"Order ID {{ id }}","81450871":"We couldn’t find that page","97214671":"Hi! I'd like to exchange {{first_currency}} for {{second_currency}} at {{rate_display}}{{rate_type}} on Deriv P2P.nnIf you're interested, check out my ad 👉nn{{- advert_url}}nnThanks!","106063661":"Share this ad","111718006":"End date","121738739":"Send","122280248":"Avg release time <0>30d","134205943":"Your ads with fixed rates have been deactivated. Set floating rates to reactivate them.","140800401":"Float","150156106":"Save changes","159757877":"You won't see {{advertiser_name}}'s ads anymore and they won't be able to place orders on your ads.","170072126":"Seen {{ duration }} days ago","173939998":"Avg. pay time <0>30d","179083332":"Date","192859167":"{{avg_buy_time_in_minutes}} min","197477687":"Edit {{ad_type}} ad","203271702":"Try again","231473252":"Preferred currency","233677840":"of the market rate","257637860":"Upload documents to verify your address.","276261353":"Avg pay time <0>30d","277542386":"Please use <0>live chat to contact our Customer Support team for help.","316725580":"You can no longer rate this transaction.","323002325":"Post ad","324970564":"Seller's contact details","358133589":"Unblock {{advertiser_name}}?","364681129":"Contact details","367579676":"Blocked","390890891":"Last quarter","392469164":"You have blocked {{advertiser_name}}.","416167062":"You'll receive","424668491":"expired","450016951":"Hello! This is where you can chat with the counterparty to confirm the order details.
Note: In case of a dispute, we'll use this chat as a reference.","452752527":"Rate (1 {{ currency }})","459886707":"E-wallets","460477293":"Enter message","464044457":"Buyer's nickname","473688701":"Enter a valid amount","488150742":"Resend email","498500965":"Seller's nickname","500514593":"Hide my ads","501523417":"You have no orders.","514948272":"Copy link","517202770":"Set fixed rate","523301614":"Release {{amount}} {{currency}}","525380157":"Buy {{offered_currency}} order","531912261":"Bank name, account number, beneficiary name","554135844":"Edit","555447610":"You won't be able to change your buy and sell limits again after this. Do you want to continue?","560402954":"User rating","565060416":"Exchange rate","574961698":"45 minutes","587882987":"Advertisers","611376642":"Clear","612069973":"Would you recommend this buyer?","625563394":"Only numbers are allowed.","625586185":"Deposits via cards and the following payment methods aren’t included: Maestro, Diners Club, ZingPay, Skrill, Neteller, Ozow, and UPI QR.","628581263":"The {{local_currency}} market rate has changed.","639382772":"Please upload supported file type.","649549724":"I’ve not received any payment.","654193846":"The verification link appears to be invalid. Hit the button below to request for a new one","655733440":"Others","661808069":"Resend email {{remaining_time}}","662578726":"Available","668309975":"Others will see this on your profile, ads, and chats.","683273691":"Rate (1 {{ account_currency }})","720104538":"Fixed Rate","723172934":"Looking to buy or sell USD? You can post your own ad for others to respond.","728383001":"I’ve received more than the agreed amount.","733311523":"P2P transactions are locked. This feature is not available for payment agents.","767789372":"Wait for payment","782834680":"Time left","783454335":"Yes, remove","784839262":"Share","830703311":"My profile","834075131":"Blocked advertisers","838024160":"Bank details","842911528":"Don’t show this message again.","846659545":"Your ad is not listed on <0>Buy/Sell because the amount exceeds your daily limit of {{limit}} {{currency}}.\n <1 /><1 />You can still see your ad on <0>My ads. If you’d like to increase your daily limit, please contact us via <2>live chat.","858027714":"Seen {{ duration }} minutes ago","873437248":"Instructions (optional)","876086855":"Complete the financial assessment form","881351325":"Would you recommend this seller?","886126850":"This ad is not listed on Buy/Sell because its maximum order is lower than the minimum amount you can specify for orders in your ads.","887667868":"Order","892431976":"If you cancel your order {{cancellation_limit}} times in {{cancellation_period}} hours, you will be blocked from using Deriv P2P for {{block_duration}} hours.
({{number_of_cancels_remaining}} cancellations remaining)","926446466":"Please set a different minimum and/or maximum order limit. nnThe range of your ad should not overlap with any of your active ads.","931661826":"Download this QR code","947389294":"We need your documents","949859957":"Submit","954233511":"Sold","957807235":"Blocking wasn't possible as {{name}} is not using Deriv P2P anymore.","988380202":"Your instructions","993198283":"The file you uploaded is not supported. Upload another.","1001160515":"Sell","1002264993":"Seller's real name","1009032439":"All time","1020552673":"You're creating an ad to buy <0>{{ target_amount }} {{ target_currency }}...","1030390916":"You already have an ad with this range","1035893169":"Delete","1040596075":"Address verification failed. Please try again.","1052094244":"Max order","1056821534":"Are you sure?","1057127276":"{{- avg_release_time_in_minutes}} min","1065551550":"Set floating rate","1077515534":"Date to","1080990424":"Confirm","1089110190":"You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).","1091533736":"Don't risk your funds with cash transactions. Use bank transfers or e-wallets instead.","1106073960":"You've created an ad","1106485202":"Available Deriv P2P balance","1109217274":"Success!","1119887091":"Verification","1121630246":"Block","1137964885":"Can only contain letters, numbers, and special characters .- _ @.","1142686040":"Nickname added successfully!","1151608942":"Total amount","1157877436":"{{field_name}} should not exceed Amount","1162965175":"Buyer","1163072833":"<0>ID verified","1164771858":"I’ve received payment from 3rd party.","1168689876":"Your ad is not listed","1184609483":"Create a similar ad","1191941618":"Enter a value that's within -{{limit}}% to +{{limit}}%","1192337383":"Seen {{ duration }} hour ago","1202500203":"Pay now","1228352589":"Not rated yet","1229976478":"You will be able to see {{ advertiser_name }}'s ads. They'll be able to place orders on your ads, too.","1236083813":"Your payment details","1258285343":"Oops, something went wrong","1286797620":"Active","1287051975":"Nickname is too long","1300767074":"{{name}} is no longer on Deriv P2P","1303016265":"Yes","1313218101":"Rate this transaction","1314266187":"Joined today","1320670806":"Leave page","1326475003":"Activate","1328352136":"Sell {{ account_currency }}","1330528524":"Seen {{ duration }} month ago","1337027601":"You sold {{offered_amount}} {{offered_currency}}","1347322213":"How would you rate this transaction?","1347724133":"I have paid {{amount}} {{currency}}.","1366244749":"Limits","1370999551":"Floating rate","1371193412":"Cancel","1376329801":"Last 60 days","1378388952":"Promote your ad by sharing the QR code and link.","1381949324":"<0>Address verified","1385570445":"Upload documents to verify your identity.","1398938904":"We can't deliver the email to this address (usually because of firewalls or filtering).","1422356389":"No results for \"{{text}}\".","1426213515":"If you’ve received {{amount}} {{local_currency}} from {{name}} in your bank account or e-wallet, hit the button below to complete the order.","1430413419":"Maximum is {{value}} {{currency}}","1438103743":"Floating rates are enabled for {{local_currency}}. Ads with fixed rates will be deactivated. Switch to floating rates by {{end_date}}.","1448855725":"Add payment methods","1452260922":"Too many failed attempts","1467483693":"Past orders","1474532322":"Sort by","1480915523":"Skip","1497156292":"No ads for this currency 😞","1505293001":"Trade partners","1543377906":"This ad is not listed on Buy/Sell because you have paused all your ads.","1568512719":"Your daily limits have been increased to {{daily_buy_limit}} {{currency}} (buy) and {{daily_sell_limit}} {{currency}} (sell).","1583335572":"If the ad doesn't receive an order for {{adverts_archive_period}} days, it will be deactivated.","1587250288":"Ad ID {{advert_id}} ","1587507924":"Or copy this link","1607051458":"Search by nickname","1615530713":"Something's not right","1620858613":"You're editing an ad to sell <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","1622662457":"Date from","1623916605":"I wasn’t able to make full payment.","1654365787":"Unknown","1660278694":"The advertiser changed the rate before you confirmed the order.","1671725772":"If you choose to cancel, the edited details will be lost.","1675716253":"Min limit","1678804253":"Buy {{ currency }}","1685888862":"An internal error occurred","1686592014":"To place an order, add one of the advertiser's preferred payment methods:","1691540875":"Edit payment method","1699829275":"Cannot upload a file over 5MB","1702855414":"Your ad isn’t listed on Buy/Sell due to the following reason(s):","1703154819":"You're editing an ad to sell <0>{{ target_amount }} {{ target_currency }}...","1721422292":"Show my real name","1734661732":"Your DP2P balance is {{ dp2p_balance }}","1740434340":"Orders will expire if they aren’t completed within this time.","1747523625":"Go back","1752096323":"{{field_name}} should not be below Min limit","1767817594":"Buy completion <0>30d","1782514544":"This ad is not listed on Buy/Sell because its minimum order is higher than {{maximum_order_amount}} {{currency}}.","1784151356":"at","1791767028":"Set a fixed rate for your ad.","1794470010":"I’ve made full payment, but the seller hasn’t released the funds.","1794474847":"I've received payment","1798116519":"Available amount","1799384587":"Has the buyer paid you?","1809099720":"Expand all","1810217569":"Please refresh this page to continue.","1842172737":"You've received {{offered_amount}} {{offered_currency}}","1858251701":"minute","1859308030":"Give feedback","1874956952":"Hit the button below to add payment methods.","1881018702":"hour","1881201992":"Your Deriv P2P balance only includes deposits that can’t be reversed.","1902229457":"Unable to block advertiser","1908023954":"Sorry, an error occurred while processing your request.","1914014145":"Today","1923443894":"Inactive","1928240840":"Sell {{ currency }}","1929119945":"There are no ads yet","1976156928":"You'll send","1992961867":"Rate (1 {{currency}})","1994023526":"The email address you entered had a mistake or typo (happens to the best of us).","2020104747":"Filter","2027742762":"Review your settings and create a new ad. Every ad must have unique limits and rates.","2029375371":"Payment instructions","2032274854":"Recommended by {{recommended_count}} traders","2039361923":"You're creating an ad to sell...","2040110829":"Increase my limits","2060873863":"Your order {{order_id}} is complete","2063890788":"Cancelled","2064304887":"We accept JPG, PDF, or PNG (up to 5MB).","2091671594":"Status","2096014107":"Apply","2104905634":"No one has recommended this trader yet","2121837513":"Minimum is {{value}} {{currency}}","2142425493":"Ad ID","2145292295":"Rate","-1540251249":"Buy {{ account_currency }}","-1267880283":"{{field_name}} is required","-2019083683":"{{field_name}} can only include letters, numbers, spaces, and any of these symbols: -+.,'#@():;","-222920564":"{{field_name}} has exceeded maximum length","-2093768906":"{{name}} has released your funds.
Would you like to give your feedback?","-1101273282":"Nickname is required","-919203928":"Nickname is too short","-1907100457":"Cannot start, end with, or repeat special characters.","-270502067":"Cannot repeat a character more than 4 times.","-499872405":"You have open orders for this ad. Complete all open orders before deleting this ad.","-2125702445":"Instructions","-1274358564":"Max limit","-1995606668":"Amount","-1965472924":"Fixed rate","-1081775102":"{{field_name}} should not be below Max limit","-991345852":"Only up to 2 decimals are allowed.","-885044836":"{{field_name}} should not exceed Max limit","-1921077416":"All ({{list_value}})","-608125128":"Blocked ({{list_value}})","-1764050750":"Payment details","-2021135479":"This field is required.","-2005205076":"{{field_name}} has exceeded maximum length of 200 characters.","-1837059346":"Buy / Sell","-494667560":"Orders","-679691613":"My ads","-412680608":"Add payment method","-984140537":"Add","-1220275347":"You may choose up to 3 payment methods for this ad.","-510341549":"I’ve received less than the agreed amount.","-650030360":"I’ve paid more than the agreed amount.","-1192446042":"If your complaint isn't listed here, please contact our Customer Support team.","-573132778":"Complaint","-792338456":"What's your complaint?","-418870584":"Cancel order","-1392383387":"I've paid","-727273667":"Complain","-2016990049":"Sell {{offered_currency}} order","-811190405":"Time","-961632398":"Collapse all","-415476028":"Not rated","-26434257":"You have until {{remaining_review_time}} GMT to rate this transaction.","-768709492":"Your transaction experience","-652933704":"Recommended","-84139378":"Not Recommended","-2139303636":"You may have followed a broken link, or the page has moved to a new address.","-1448368765":"Error code: {{error_code}} page not found","-1660552437":"Return to P2P","-137444201":"Buy","-1306639327":"Payment methods","-904197848":"Limits {{min_order_amount_limit_display}}-{{max_order_amount_limit_display}} {{currency}}","-464361439":"{{- avg_buy_time_in_minutes}} min","-2109576323":"Sell completion <0>30d","-165392069":"Avg. release time <0>30d","-1154208372":"Trade volume <0>30d","-2017825013":"Got it","-1845037007":"Advertiser's page","-1070228546":"Joined {{days_since_joined}}d","-2015102262":"({{number_of_ratings}} rating)","-1412298133":"({{number_of_ratings}} ratings)","-260332243":"{{user_blocked_count}} person has blocked you","-117094654":"{{user_blocked_count}} people have blocked you","-329713179":"Ok","-1689905285":"Unblock","-1148912768":"If the market rate changes from the rate shown here, we won't be able to process your order.","-55126326":"Seller","-92830427":"Seller's instructions","-1940034707":"Buyer's instructions","-631576120":"Orders must be completed in","-835196958":"Receive payment to","-1218007718":"You may choose up to 3.","-1933432699":"Enter {{transaction_type}} amount","-2021730616":"{{ad_type}}","-490637584":"Limit: {{min}}–{{max}} {{currency}}","-1974067943":"Your bank details","-892663026":"Your contact details","-1285759343":"Search","-1657433201":"There are no matching ads.","-1862812590":"Limits {{ min_order }}–{{ max_order }} {{ currency }}","-375836822":"Buy {{account_currency}}","-1035421133":"Sell {{account_currency}}","-1876891031":"Currency","-1503997652":"No ads for this currency.","-1048001140":"No results for \"{{value}}\".","-254484597":"You have no ads 😞","-1179827369":"Create new ad","-73663931":"Create ad","-141315849":"No ads for this currency at the moment 😞","-1889014820":"<0>Don’t see your payment method? <1>Add new.","-1406830100":"Payment method","-1561775203":"Buy {{currency}}","-1527285935":"Sell {{currency}}","-592818187":"Your Deriv P2P balance is {{ dp2p_balance }}","-1654157453":"Fixed rate (1 {{currency}})","-379708059":"Min order","-1459289144":"This information will be visible to everyone.","-207756259":"You may tap and choose up to 3.","-1282343703":"You're creating an ad to buy <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","-2139632895":"You're creating an ad to sell <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","-40669120":"You're creating an ad to sell <0>{{ target_amount }} {{ target_currency }}...","-514789442":"You're creating an ad to buy...","-1571737200":"Don't cancel","-1601971804":"Cancel your edits?","-230677679":"{{text}}","-1914431773":"You're editing an ad to buy <0>{{ target_amount }} {{ target_currency }} for <0>{{ local_amount }} {{ local_currency }} <1>({{ price_rate }} {{local_currency}}/{{ target_currency }})","-107996509":"You're editing an ad to buy <0>{{ target_amount }} {{ target_currency }}...","-863580260":"You're editing an ad to buy...","-1396464057":"You're editing an ad to sell...","-309848900":"Copy","-1318334333":"Deactivate","-372210670":"Rate (1 {{account_currency}})","-87612148":"Ad not listed","-466964809":"Manage ad","-1667041441":"Rate (1 {{ offered_currency }})","-792015701":"Deriv P2P cashier is unavailable in your country.","-1983512566":"This conversation is closed.","-283017497":"Retry","-360975483":"You've made no transactions of this type during this period.","-979459594":"Buy/Sell","-2052184983":"Order ID","-2096350108":"Counterparty","-1597110099":"Receive","-750202930":"Active orders","-1626659964":"I've received {{amount}} {{currency}}.","-526636259":"Error 404","-480724783":"You already have an ad with this rate","-2040406318":"You already have an ad with the same exchange rate for this currency pair and order type. nnPlease set a different rate for your ad.","-1117584385":"Seen more than 6 months ago","-1766199849":"Seen {{ duration }} months ago","-591593016":"Seen {{ duration }} day ago","-1586918919":"Seen {{ duration }} hours ago","-664781013":"Seen {{ duration }} minute ago","-1717650468":"Online","-1887970998":"Unblocking wasn't possible as {{name}} is not using Deriv P2P anymore.","-1207312691":"Completed","-688728873":"Expired","-1951641340":"Under dispute","-1738697484":"Confirm payment","-1611857550":"Waiting for the seller to confirm","-1452684930":"Buyer's real name","-1875343569":"Seller's payment details","-1977959027":"hours","-1603581277":"minutes","-1792280476":"Choose your payment method","-520142572":"Cashier is currently down for maintenance","-1552080215":"Please check back in a few minutes.<0>Thank you for your patience.","-684271315":"OK","-130601012":"Please select duration","-232254547":"Custom","-1577570698":"Start date","-1251526905":"Last 7 days","-1638172550":"To enable this feature you must complete the following:","-1086586743":"Please submit your <0>proof of address. You can use Deriv P2P after we’ve verified your documents.","-559300364":"Your Deriv P2P cashier is blocked","-740038242":"Your rate is","-1072444041":"Update ad","-2085839488":"This ad is not listed on Buy/Sell because its minimum order is higher than the ad’s remaining amount ({{remaining_amount}} {{currency}}).","-987612578":"This ad is not listed on Buy/Sell because its minimum order is higher than your Deriv P2P available balance ({{balance}} {{currency}}).","-84644774":"This ad is not listed on Buy/Sell because its minimum order is higher than your remaining daily limit ({{remaining_limit}} {{currency}}).","-452142075":"You’re not allowed to use Deriv P2P to advertise. Please contact us via live chat for more information.","-1886565882":"Your ads with floating rates have been deactivated. Set fixed rates to reactivate them.","-971817673":"Your ad isn't visible to others","-1735126907":"This could be because your account balance is insufficient, your ad amount exceeds your daily limit, or both. You can still see your ad on <0>My ads.","-674715853":"Your ad exceeds the daily limit","-1530773708":"Block {{advertiser_name}}?","-2035037071":"Your Deriv P2P balance isn't enough. Please increase your balance before trying again.","-293182503":"Cancel adding this payment method?","-1850127397":"If you choose to cancel, the details you’ve entered will be lost.","-146021156":"Delete {{payment_method_name}}?","-1846700504":"Are you sure you want to remove this payment method?","-231863107":"No","-471384801":"Sorry, we're unable to increase your limits right now. Please try again in a few minutes.","-150224710":"Yes, continue","-1422779483":"That payment method cannot be deleted","-1088454544":"Get new link","-1327607310":"Releasing funds before receiving payment may result in losses. Check your email and follow the instructions <0>within 10 minutes to release the funds.","-1632557686":"I didn’t receive the email","-142727028":"The email is in your spam folder (sometimes things get lost there).","-75934135":"Matching ads","-1856204727":"Reset","-227512949":"Check your spelling or use a different term.","-1554938377":"Search payment method","-1728351486":"Invalid verification link","-433946201":"Leave page?","-818345434":"Are you sure you want to leave this page? Changes made will not be saved.","-392043307":"Do you want to delete this ad?","-854930519":"You will NOT be able to restore it.","-1600783504":"Set a floating rate for your ad.","-1907448242":"Available Deriv P2P Balance","-268565332":"What’s your nickname?","-532709160":"Your nickname","-1016461467":"Your nickname cannot be changed later.","-2008992756":"Do you want to cancel this order?","-1618084450":"If you cancel this order, you'll be blocked from using Deriv P2P for {{block_duration}} hours.","-2026176944":"Please do not cancel if you have already made payment.","-1989544601":"Cancel this order","-492996224":"Do not cancel","-1447732068":"Payment confirmation","-1951344681":"Please make sure that you've paid {{amount}} {{currency}} to {{other_user_name}}, and upload the receipt as proof of your payment","-637818525":"Sending forged documents will result in an immediate and permanent ban.","-670364940":"Upload receipt here","-937707753":"Go Back","-1340125291":"Done","-1854199094":"{{type}} {{account_currency}}","-788469106":"ID number","-574559641":"Scan this code to order via Deriv P2P","-1078665050":"Share link","-354026679":"Share via","-229543460":"{{- link}}","-1388977563":"Copied!","-237014436":"Recommended by {{recommended_count}} trader","-849068301":"Loading...","-2061807537":"Something’s not right","-1354983065":"Refresh","-2054589794":"You've been temporarily barred from using our services due to multiple cancellation attempts. Try again after {{date_time}} GMT.","-1079963355":"trades","-609070622":"Identity verification in progress.","-1269954557":"Identity verification failed. Please try again.","-1507102231":"Identity verification complete.","-670039668":"Address verification in progress.","-23313647":"Address verification complete.","-1483008038":"Verify your P2P account","-792476552":"Verify your identity and address to use Deriv P2P.","-2094684686":"If you choose to cancel, the details you've entered will be lost.","-1281511784":"Cancel ad creation?","-2144449586":"Ad type","-1307206495":"Order must be completed in","-293628675":"1 hour","-1978767852":"30 minutes","-999492762":"15 minutes","-1908692350":"Filter by","-992568889":"No one to show here","-1241719539":"When you block someone, you won't see their ads, and they can't see yours. Your ads will be hidden from their search results, too.","-1007339977":"There are no matching name.","-1298666786":"My counterparties","-179005984":"Save","-2059312414":"Ad details","-1769584466":"Stats","-2090878601":"Daily limit","-474123616":"Want to increase your daily limits to <0>{{max_daily_buy}} {{currency}} (buy) and <1>{{max_daily_sell}} {{currency}} (sell)?","-133982971":"{{avg_release_time_in_minutes}} min","-130547447":"Trade volume <0>30d | <1>lifetime","-383030149":"You haven’t added any payment methods yet","-1156559889":"Bank Transfers","-1269362917":"Add new"} \ No newline at end of file diff --git a/packages/p2p/src/translations/ar.json b/packages/p2p/src/translations/ar.json index c5f817b7f224..c7bee3c4aaa1 100644 --- a/packages/p2p/src/translations/ar.json +++ b/packages/p2p/src/translations/ar.json @@ -47,7 +47,6 @@ "473688701": "أدخل مبلغًا صالحًا", "488150742": "إعادة إرسال البريد الإلكتروني", "498500965": "لقب البائع", - "498743422": "من أجل سلامتك:", "500514593": "إخفاء إعلاناتي", "501523417": "ليس لديك أوامر.", "514948272": "انسخ الرابط", @@ -109,7 +108,6 @@ "1030390916": "لديك بالفعل إعلان بهذا النطاق", "1035893169": "حذف", "1040596075": "فشل التحقق من العنوان. يرجى المحاولة مرة أخرى.", - "1042690536": "لقد قرأت وفهمت التذكير أعلاه.", "1052094244": "الحد الأقصى للطلب", "1056821534": "هل أنت متأكد؟", "1057127276": "{{- avg_release_time_in_minutes}} دقيقة", @@ -410,11 +408,6 @@ "-471384801": "عذرًا، لا يمكننا زيادة حدودك الآن. يرجى المحاولة مرة أخرى بعد بضع دقائق.", "-150224710": "نعم، استمر", "-1422779483": "لا يمكن حذف طريقة الدفع هذه", - "-1103095341": "إذا كنت تبيع، فلا تفرج عن الأموال للمشتري إلا بعد استلام الدفعة.", - "-1918928746": "لن نطلب منك أبدًا الإفراج عن الأموال نيابة عن أي شخص.", - "-1641698637": "اقرأ التعليمات الواردة في الإعلان بعناية قبل تقديم طلبك. إذا كان هناك أي شيء غير واضح، تحقق مع المعلن أولاً.", - "-1815993311": "ناقش فقط تفاصيل طلب P2P الخاص بك داخل مربع الدردشة داخل التطبيق، وليس في أي مكان آخر.", - "-7572501": "جميع معاملات P2P نهائية ولا يمكن عكسها.", "-1088454544": "احصل على رابط جديد", "-1327607310": "قد يؤدي تحرير الأموال قبل استلام الدفعة إلى خسائر. تحقق من بريدك الإلكتروني واتبع التعليمات <0>في غضون 10 دقائق للإفراج عن الأموال.", "-1632557686": "لم أتلق البريد الإلكتروني", diff --git a/packages/p2p/src/translations/bn.json b/packages/p2p/src/translations/bn.json index 448dc4c61673..c83cbf440815 100644 --- a/packages/p2p/src/translations/bn.json +++ b/packages/p2p/src/translations/bn.json @@ -47,7 +47,6 @@ "473688701": "একটি বৈধ পরিমাণ লিখুন", "488150742": "ইমেইল পুনরায় পাঠান", "498500965": "বিক্রেতার ডাক নাম", - "498743422": "আপনার নিরাপত্তার জন্য:", "500514593": "আমার বিজ্ঞাপন লুকান", "501523417": "আপনার কোন অর্ডার নেই।", "514948272": "লিংক কপি", @@ -109,7 +108,6 @@ "1030390916": "আপনি ইতিমধ্যে এই পরিসীমা সঙ্গে একটি বিজ্ঞাপন আছে", "1035893169": "মুছে ফেলুন", "1040596075": "ঠিকানা যাচাই ব্যর্থ। দয়া করে আবার চেষ্টা করুন।", - "1042690536": "আমি উপরের অনুস্মারকটি পড়েছি এবং বুঝেছি।", "1052094244": "সর্বোচ্চ অর্ডার", "1056821534": "আপনি কি নিশ্চিত?", "1057127276": "{{- avg_release_time_in_minutes}} মিনিট", @@ -410,11 +408,6 @@ "-471384801": "দুঃখিত, আমরা এখনই আপনার সীমা বৃদ্ধি করতে পারছি না। দয়া করে কয়েক মিনিটের মধ্যে আবার চেষ্টা করুন।", "-150224710": "হ্যাঁ, চালিয়ে যান", "-1422779483": "যে পেমেন্ট পদ্ধতি মুছে ফেলা যাবে না", - "-1103095341": "আপনি যদি বিক্রি করছেন তবে পেমেন্ট পাওয়ার পরে কেবল ক্রেতাকে তহবিল প্রকাশ করুন।", - "-1918928746": "আমরা আপনাকে কখনই কারও পক্ষে তহবিল প্রকাশ করতে বলবো না।", - "-1641698637": "আপনার অর্ডার করার পূর্বে বিজ্ঞাপনের নির্দেশাবলী সাবধানে পড়ুন। যদি কিছু অস্পষ্ট থাকে তবে প্রথমে বিজ্ঞাপনদাতার সাথে চেক করুন।", - "-1815993311": "শুধুমাত্র অ্যাপ-মধ্যস্থ চ্যাটবক্সের মধ্যে আপনার P2P অর্ডারের বিবরণ নিয়ে আলোচনা করুন, অন্য কোথাও নয়।", - "-7572501": "সমস্ত P2P লেনদেন চূড়ান্ত এবং বিপরীতমুখী করা যায় না।", "-1088454544": "নতুন লিংক পান", "-1327607310": "পেমেন্ট পাওয়ার আগে তহবিল প্রকাশের ফলে ক্ষতি হতে পারে। আপনার ইমেল পরীক্ষা করুন এবং তহবিল প্রকাশ <0>করতে 10 মিনিটের মধ্যে নির্দেশাবলী অনুসরণ করুন।", "-1632557686": "আমি ইমেল পাইনি", diff --git a/packages/p2p/src/translations/de.json b/packages/p2p/src/translations/de.json index ae5cfde40e96..c54fcb93db7c 100644 --- a/packages/p2p/src/translations/de.json +++ b/packages/p2p/src/translations/de.json @@ -47,7 +47,6 @@ "473688701": "Geben Sie einen gültigen Betrag ein", "488150742": "E-Mail erneut senden", "498500965": "Spitzname des Verkäufers", - "498743422": "Zu Ihrer Sicherheit:", "500514593": "Meine Anzeigen verstecken", "501523417": "Sie haben keine Befehle.", "514948272": "Link kopieren", @@ -109,7 +108,6 @@ "1030390916": "Sie haben bereits eine Anzeige mit dieser Reichweite", "1035893169": "Löschen", "1040596075": "Die Adressüberprüfung ist fehlgeschlagen. Bitte versuchen Sie es erneut.", - "1042690536": "Ich habe die obige Mahnung gelesen und verstanden.", "1052094244": "Maximale Bestellung", "1056821534": "Bist du sicher?", "1057127276": "{{- avg_release_time_in_minutes}} Minuten", @@ -410,11 +408,6 @@ "-471384801": "Leider können wir Ihre Limits derzeit nicht erhöhen. Bitte versuchen Sie es in ein paar Minuten erneut.", "-150224710": "Ja, weiter", "-1422779483": "Diese Zahlungsmethode kann nicht gelöscht werden", - "-1103095341": "Wenn Sie verkaufen, geben Sie das Geld erst dann an den Käufer frei, wenn Sie die Zahlung erhalten haben.", - "-1918928746": "Wir werden Sie niemals darum bitten, Gelder im Namen von jemandem freizugeben.", - "-1641698637": "Lesen Sie die Anweisungen in der Anzeige sorgfältig durch, bevor Sie Ihre Bestellung aufgeben. Wenn etwas unklar ist, fragen Sie zuerst den Inserenten.", - "-1815993311": "Besprechen Sie die Details Ihrer P2P-Bestellung nur in der In-App-Chatbox und nirgendwo sonst.", - "-7572501": "Alle P2P-Transaktionen sind endgültig und können nicht rückgängig gemacht werden.", "-1088454544": "Holen Sie sich einen neuen Link", "-1327607310": "Die Freigabe von Geldern vor Erhalt der Zahlung kann zu Verlusten führen. Prüfen Sie Ihre E-Mail und befolgen Sie die Anweisungen <0>innerhalb von 10 Minuten um das Geld freizugeben.", "-1632557686": "Ich habe die E-Mail nicht erhalten", diff --git a/packages/p2p/src/translations/en.json b/packages/p2p/src/translations/en.json index 3812379de375..ef13611b3778 100644 --- a/packages/p2p/src/translations/en.json +++ b/packages/p2p/src/translations/en.json @@ -47,7 +47,6 @@ "473688701": "Enter a valid amount", "488150742": "Resend email", "498500965": "Seller's nickname", - "498743422": "For your safety:", "500514593": "Hide my ads", "501523417": "You have no orders.", "514948272": "Copy link", @@ -109,7 +108,6 @@ "1030390916": "You already have an ad with this range", "1035893169": "Delete", "1040596075": "Address verification failed. Please try again.", - "1042690536": "I’ve read and understood the above reminder.", "1052094244": "Max order", "1056821534": "Are you sure?", "1057127276": "{{- avg_release_time_in_minutes}} min", @@ -410,11 +408,6 @@ "-471384801": "Sorry, we're unable to increase your limits right now. Please try again in a few minutes.", "-150224710": "Yes, continue", "-1422779483": "That payment method cannot be deleted", - "-1103095341": "If you’re selling, only release funds to the buyer after you’ve received payment.", - "-1918928746": "We’ll never ask you to release funds on behalf of anyone.", - "-1641698637": "Read the instructions in the ad carefully before making your order. If there's anything unclear, check with the advertiser first.", - "-1815993311": "Only discuss your P2P order details within the in-app chatbox, and nowhere else.", - "-7572501": "All P2P transactions are final and cannot be reversed.", "-1088454544": "Get new link", "-1327607310": "Releasing funds before receiving payment may result in losses. Check your email and follow the instructions <0>within 10 minutes to release the funds.", "-1632557686": "I didn’t receive the email", diff --git a/packages/p2p/src/translations/es.json b/packages/p2p/src/translations/es.json index 326b4326f5f0..74dacc021fcd 100644 --- a/packages/p2p/src/translations/es.json +++ b/packages/p2p/src/translations/es.json @@ -47,7 +47,6 @@ "473688701": "Introduzca una cantidad válida", "488150742": "Reenviar correo", "498500965": "Alias del vendedor", - "498743422": "Para su seguridad:", "500514593": "Ocultar mis anuncios", "501523417": "No tiene pedidos.", "514948272": "Copiar enlace", @@ -109,7 +108,6 @@ "1030390916": "Ya tiene un anuncio con este rango", "1035893169": "Borrar", "1040596075": "Fallo en la verificación de la dirección. Por favor, inténtelo de nuevo.", - "1042690536": "He leído y comprendido el recordatorio anterior.", "1052094244": "Pedido máx.", "1056821534": "¿Está seguro?", "1057127276": "{{- avg_release_time_in_minutes}} min", @@ -410,11 +408,6 @@ "-471384801": "Lo sentimos, no podemos aumentar sus límites en este momento. Por favor vuelva a intentarlo en unos minutos.", "-150224710": "Sí, continúe", "-1422779483": "No se puede eliminar ese método de pago", - "-1103095341": "Si está vendiendo, sólo libere fondos al comprador después de haber recibido el pago.", - "-1918928746": "Nunca le pediremos que libere fondos en nombre de nadie.", - "-1641698637": "Lea atentamente las instrucciones del anuncio antes de hacer su pedido. Si hay algo poco claro, consulte primero con el anunciante.", - "-1815993311": "Hable de los detalles de su pedido P2P únicamente en el chat de la aplicación, y en ningún otro lugar.", - "-7572501": "Todas las transacciones P2P son definitivas y no pueden anularse.", "-1088454544": "Obtener nuevo enlace", "-1327607310": "Liberar los fondos antes de recibir el pago puede ocasionar pérdidas. Revise su correo electrónico y sigue las instrucciones <0>en un plazo de 10 minutos para liberar los fondos.", "-1632557686": "No he recibido el correo electrónico", diff --git a/packages/p2p/src/translations/fr.json b/packages/p2p/src/translations/fr.json index db5c7e99d7e9..7b1dd826b9f9 100644 --- a/packages/p2p/src/translations/fr.json +++ b/packages/p2p/src/translations/fr.json @@ -47,7 +47,6 @@ "473688701": "Saisissez un montant valide", "488150742": "Renvoyer l'e-mail", "498500965": "Pseudo du vendeur", - "498743422": "Pour votre sécurité :", "500514593": "Cacher mes annonces", "501523417": "Vous n'avez aucun ordre.", "514948272": "Copier le lien", @@ -109,7 +108,6 @@ "1030390916": "Vous avez déjà une annonce comportant cette gamme", "1035893169": "Supprimer", "1040596075": "La vérification du justificatif de domicile a échoué. Veuillez réessayer.", - "1042690536": "J'ai lu et je comprends le rappel ci-dessus.", "1052094244": "Ordre max.", "1056821534": "Confirmez-vous ?", "1057127276": "{{- avg_release_time_in_minutes}} min", @@ -410,11 +408,6 @@ "-471384801": "Désolé, nous ne sommes pas en mesure d'augmenter vos limites pour le moment. Veuillez réessayer dans quelques minutes.", "-150224710": "Oui, continuer", "-1422779483": "Cette méthode de paiement ne peut pas être supprimé", - "-1103095341": "Si vous êtes un vendeur, ne débloquez les fonds à l'acheteur qu'après reçu le paiement.", - "-1918928746": "Nous ne vous demanderons jamais de débloquer des fonds au nom d'une personne.", - "-1641698637": "Lisez attentivement les instructions de l'annonce avant d'effectuer votre ordre. Si vous avez des zones d'ombre, veuillez d'abord vous en référer à l'annonceur.", - "-1815993311": "Discutez des détails de votre ordre P2P uniquement à partir de la boîte de discussion de l'application.", - "-7572501": "Toutes les transactions P2P sont irréversibles.", "-1088454544": "Obtenir un nouveau lien", "-1327607310": "Débloquer des fonds avant de recevoir le paiement peut entraîner des pertes. Vérifiez vos e-mails et suivez les instructions <0>dans un délai de 10 minutes pour débloquer les fonds.", "-1632557686": "Je n'ai pas reçu l'e-mail", diff --git a/packages/p2p/src/translations/it.json b/packages/p2p/src/translations/it.json index eabd15d8dee6..775b3bdb3633 100644 --- a/packages/p2p/src/translations/it.json +++ b/packages/p2p/src/translations/it.json @@ -47,7 +47,6 @@ "473688701": "Inserisci un importo valido", "488150742": "Invia di nuovo e-mail", "498500965": "Soprannome del venditore", - "498743422": "Per la tua sicurezza:", "500514593": "Nascondi i miei annunci", "501523417": "Non hai ordini.", "514948272": "Copia link", @@ -109,7 +108,6 @@ "1030390916": "Esiste già un annuncio con questa gamma", "1035893169": "Elimina", "1040596075": "Verifica dell'indirizzo non riuscita. Riprova.", - "1042690536": "Ho letto e compreso il promemoria sopra.", "1052094244": "Ordine max", "1056821534": "Sei sicuro?", "1057127276": "{{- avg_release_time_in_minutes}} min", @@ -410,11 +408,6 @@ "-471384801": "Siamo spiacenti, ma al momento non possiamo aumentare i tuoi limiti. Riprova tra qualche minuto.", "-150224710": "Sì, continua", "-1422779483": "Quel metodo di pagamento non può essere eliminato", - "-1103095341": "Se stai vendendo, rilascia i fondi all'acquirente solo dopo aver ricevuto il pagamento.", - "-1918928746": "Non ti chiederemo mai di rilasciare fondi per conto di qualcuno.", - "-1641698637": "Leggi attentamente le istruzioni dell'annuncio prima di effettuare l'ordine. Se c'è qualcosa di poco chiaro, chiedi prima all'inserzionista.", - "-1815993311": "Discuti i dettagli dell'ordine P2P solo all'interno della chatbox in-app e in nessun altro luogo.", - "-7572501": "Tutte le transazioni P2P sono definitive e non possono essere annullate.", "-1088454544": "Ricevi un nuovo link", "-1327607310": "Il rilascio di fondi prima di ricevere il pagamento può comportare perdite. Controlla la tua email e segui le istruzioni <0>entro 10 minuti per sbloccare i fondi.", "-1632557686": "Non ho ricevuto l'e-mail", diff --git a/packages/p2p/src/translations/ko.json b/packages/p2p/src/translations/ko.json index d561b3f821ab..def71470a92a 100644 --- a/packages/p2p/src/translations/ko.json +++ b/packages/p2p/src/translations/ko.json @@ -47,7 +47,6 @@ "473688701": "유효한 금액을 입력하세요", "488150742": "이메일 재전송", "498500965": "판매자 닉네임", - "498743422": "안전을 위해:", "500514593": "내 광고 숨기기", "501523417": "주문이 없습니다.", "514948272": "링크 복사", @@ -109,7 +108,6 @@ "1030390916": "이 범위를 표시하는 광고가 이미 있습니다", "1035893169": "삭제", "1040596075": "주소 확인에 실패했습니다. 다시 시도해 주세요.", - "1042690536": "위의 주의 사항을 읽고 이해했습니다.", "1052094244": "최대 주문", "1056821534": "확실한가요?", "1057127276": "{{- avg_release_time_in_minutes}}분", @@ -410,11 +408,6 @@ "-471384801": "죄송합니다. 지금은 한도를 늘릴 수 없습니다. 몇 분 후에 다시 시도해 주세요.", "-150224710": "예, 계속 진행하겠습니다", "-1422779483": "해당 결제 수단은 삭제될 수 없습니다", - "-1103095341": "판매하는 경우에는 대금을 받은 후에만 구매자에게 자금을 지급하세요.", - "-1918928746": "당사는 절대 다른 사람을 대신하여 귀하께서 자금을 지급하도록 요청하지 않습니다.", - "-1641698637": "주문하기 전에 광고의 지침을 주의 깊게 읽으세요. 불분명한 부분이 있다면 먼저 광고주에게 문의하세요.", - "-1815993311": "귀하의 P2P 주문 세부 정보는 앱 내 채팅창 내에서만 논의할 수 있으며, 다른 곳에서는 논의할 수 없습니다.", - "-7572501": "모든 P2P 거래는 최종적이며 되돌릴 수 없습니다.", "-1088454544": "새 링크 받기", "-1327607310": "지불을 받기 전에 자금을 인출하면 손실이 발생할 수 있습니다.이메일을 확인하고 <0>10분 이내에 안내에 따라 자금을 인출하십시오.", "-1632557686": "이메일을 받지 못했습니다", diff --git a/packages/p2p/src/translations/pl.json b/packages/p2p/src/translations/pl.json index 0c03e7bc5603..2a2604f505b2 100644 --- a/packages/p2p/src/translations/pl.json +++ b/packages/p2p/src/translations/pl.json @@ -47,7 +47,6 @@ "473688701": "Podaj prawidłową kwotę", "488150742": "Wyślij e-mail ponownie", "498500965": "Pseudonim sprzedającego", - "498743422": "Dla Twojego bezpieczeństwa:", "500514593": "Proszę ukryć moje reklamy", "501523417": "Nie masz żadnych zleceń.", "514948272": "Kopiuj link", @@ -109,7 +108,6 @@ "1030390916": "Masz już ogłoszenie z tym zakresem", "1035893169": "Usuń", "1040596075": "Weryfikacja adresu nie powiodła się. Spróbuj ponownie.", - "1042690536": "Przeczytałem i zrozumiałem powyższe przypomnienie.", "1052094244": "Maks. zlecenie", "1056821534": "Jesteś pewna?", "1057127276": "{{- avg_release_time_in_minutes}} min", @@ -410,11 +408,6 @@ "-471384801": "Przepraszam, nie możemy teraz zwiększyć Twoich limitów. Spróbuj ponownie za kilka minut.", "-150224710": "Tak, kontynuuj", "-1422779483": "Ta metoda płatności nie może zostać usunięta", - "-1103095341": "Jeśli sprzedajesz, przekazuj kupującemu środki dopiero po otrzymaniu płatności.", - "-1918928746": "Nigdy nie poprosimy Cię o uwolnienie funduszy w imieniu kogokolwiek.", - "-1641698637": "Przeczytaj uważnie instrukcje w reklamie przed złożeniem zamówienia. Jeśli jest coś niejasnego, najpierw skontaktuj się z reklamodawcą.", - "-1815993311": "Omawiaj szczegóły zamówienia P2P tylko w czacie w aplikacji i nigdzie indziej.", - "-7572501": "Wszystkie transakcje P2P są ostateczne i nie można ich odwrócić.", "-1088454544": "Pobierz nowy link", "-1327607310": "Uwolnienie środków przed otrzymaniem płatności może spowodować straty. Sprawdź swój adres e-mail i postępuj zgodnie z instrukcjami <0>w ciągu 10 minut, aby zwolnić fundusze.", "-1632557686": "Nie otrzymałem e-maila", diff --git a/packages/p2p/src/translations/pt.json b/packages/p2p/src/translations/pt.json index cfe35b228fe4..cc958b6e377a 100644 --- a/packages/p2p/src/translations/pt.json +++ b/packages/p2p/src/translations/pt.json @@ -47,7 +47,6 @@ "473688701": "Digite um valor válido", "488150742": "Reenviar email", "498500965": "Nome alternativo do vendedor", - "498743422": "Para sua segurança:", "500514593": "Ocultar os meus anúncios", "501523417": "Você não tem anúncios.", "514948272": "Copiar link", @@ -109,7 +108,6 @@ "1030390916": "Você já tem um anúncio com esta extensão", "1035893169": "Excluir", "1040596075": "A validação da morada falhou. Por favor, tente novamente.", - "1042690536": "Li e compreendi o aviso acima.", "1052094244": "Pedido máx", "1056821534": "Você tem certeza?", "1057127276": "{{- avg_release_time_in_minutes}} min", @@ -410,11 +408,6 @@ "-471384801": "Desculpe, no momento, não foi possível aumentar os seus limites. Por favor, tente novamente em alguns minutos.", "-150224710": "Sim, continar", "-1422779483": "O método de pagamento não pode ser eliminado", - "-1103095341": "Se estiver a vender, só disponibilize os fundos ao comprador após ter recebido o pagamento.", - "-1918928746": "Nunca iremos solicitar que liberte fundos em nome de alguém.", - "-1641698637": "Leia atentamente as instruções do anúncio antes de realizar a ordem. Em caso de dúvidas, contacte primeiro o anunciante.", - "-1815993311": "Discuta os detalhes da sua ordem P2P apenas no chat da aplicação e nunca noutro local.", - "-7572501": "Todas as transações P2P são definitivas e não podem ser revertidas.", "-1088454544": "Obter novo link", "-1327607310": "Libertar os fundos antes de receber o pagamento pode resultar em perdas. Por favor, verifique o seu e-mail e siga as instruções <0>no prazo de 10 minutos para proceder à libertação dos fundos.", "-1632557686": "Não recebi o e-mail", diff --git a/packages/p2p/src/translations/ru.json b/packages/p2p/src/translations/ru.json index eb1f69924967..c399e68df483 100644 --- a/packages/p2p/src/translations/ru.json +++ b/packages/p2p/src/translations/ru.json @@ -47,7 +47,6 @@ "473688701": "Введите действительную сумму", "488150742": "Отправить еще раз", "498500965": "Псевдоним продавца", - "498743422": "Для Вашей безопасности:", "500514593": "Скрыть мои объявления", "501523417": "У вас нет ордеров.", "514948272": "Копировать ссылку", @@ -109,7 +108,6 @@ "1030390916": "У вас уже есть объявление с таким диапазоном", "1035893169": "Удалить", "1040596075": "Не удалось подтвердить адрес. Пожалуйста, попробуйте еще раз.", - "1042690536": "Я ознакомился(лась) и понял(а) напоминание.", "1052094244": "Макс. ордер", "1056821534": "Вы уверены?", "1057127276": "{{- avg_release_time_in_minutes}} мин", @@ -410,11 +408,6 @@ "-471384801": "К сожалению, сейчас мы не можем увеличить ваши лимиты. Попробуйте еще раз через несколько минут.", "-150224710": "Да, продолжить", "-1422779483": "Этот платежный метод нельзя удалить", - "-1103095341": "Отправляйте средства только после получения оплаты от покупателя.", - "-1918928746": "Мы никогда не попросим отправлять средства за других.", - "-1641698637": "Прочтите инструкции в объявлении перед заказом. При вопросах обращайтесь к рекламодателю.", - "-1815993311": "Обсуждайте детали вашего P2P заказа только в чате приложения и нигде больше.", - "-7572501": "P2P транзакции окончательны и не подлежат отмене.", "-1088454544": "Получить новую ссылку", "-1327607310": "Отправка средств до получения платежа может привести к невосполнимым потерям. Мы отправили инструкции по транзакции на вашу электронную почту. Пожалуйста, выполните их <0>в течение 10 минут.", "-1632557686": "Я не получил письмо", diff --git a/packages/p2p/src/translations/si.json b/packages/p2p/src/translations/si.json index 3e696faf20fc..d3dbfc9e188a 100644 --- a/packages/p2p/src/translations/si.json +++ b/packages/p2p/src/translations/si.json @@ -47,7 +47,6 @@ "473688701": "වලංගු මුදලක් ඇතුලත් කරන්න", "488150742": "විද්යුත් තැපෑල නැවත යවන්න", "498500965": "විකුණුම්කරුගේ අන්වර්ථ නාමය", - "498743422": "ඔබේ ආරක්ෂාව සඳහා:", "500514593": "මගේ දැන්වීම් සඟවන්න", "501523417": "ඔබට ඇණවුම් නොමැත.", "514948272": "සබැඳිය පිටපත් කරන්න", @@ -109,7 +108,6 @@ "1030390916": "ඔබට දැනටමත් මෙම පරාසය සමඟ දැන්වීමක් තිබේ", "1035893169": "මකන්න", "1040596075": "ලිපින සත්යාපනය අසාර්ථක විය. කරුණාකර නැවත උත්සාහ කරන්න.", - "1042690536": "ඉහත මතක් කිරීම මම කියවා තේරුම් ගත්තා.", "1052094244": "උපරිම ඇණවුම", "1056821534": "ඔබට විශ්වාසද?", "1057127276": "මිනිත්තු {{- avg_release_time_in_minutes}} යි", @@ -410,11 +408,6 @@ "-471384801": "කණගාටුයි, අපට දැන් ඔබේ සීමාවන් වැඩි කිරීමට නොහැකි ය. කරුණාකර මිනිත්තු කිහිපයකින් නැවත උත්සාහ කරන්න.", "-150224710": "ඔව්, දිගටම", "-1422779483": "එම ගෙවීම් ක්රමය මකා දැමිය නොහැක", - "-1103095341": "ඔබ විකුණන්නේ නම්, ඔබට ගෙවීම් ලැබීමෙන් පසුව පමණක් ගැනුම්කරුට අරමුදල් නිකුත් කරන්න.", - "-1918928746": "කිසිවෙකු වෙනුවෙන් මුදල් නිදහස් කරන ලෙස අපි කිසිවිටෙකත් ඔබෙන් ඉල්ලා සිටින්නේ නැහැ.", - "-1641698637": "ඔබේ ඇණවුම කිරීමට පෙර දැන්වීමෙහි ඇති උපදෙස් හොඳින් කියවන්න. අපැහැදිලි දෙයක් තිබේ නම්, පළමුව දැන්වීම්කරු සමඟ පරීක්ෂා කරන්න.", - "-1815993311": "ඔබගේ P2P ඇණවුම් විස්තර පමණක් යෙදුම තුළ චැට් බොක්ස් තුළ සහ වෙනත් කොතැනක සාකච්ඡා කරන්න.", - "-7572501": "සියලුම P2P ගනුදෙනු අවසාන වන අතර ඒවා ආපසු හැරවිය නොහැක.", "-1088454544": "නව සබැඳියක් ලබා ගන්න", "-1327607310": "ගෙවීම් ලැබීමට පෙර අරමුදල් නිදහස් කිරීමෙන් පාඩු සිදුවිය හැකිය. ඔබේ විද්යුත් තැපෑල පරීක්ෂා කර අරමුදල් නිදහස් <0>කිරීම සඳහා විනාඩි 10 ක් ඇතුළත උපදෙස් අනුගමනය කරන්න.", "-1632557686": "මට විද්යුත් තැපෑල ලැබුණේ නැහැ", diff --git a/packages/p2p/src/translations/sw.json b/packages/p2p/src/translations/sw.json index 7908fe9d4b80..dca75db28a4a 100644 --- a/packages/p2p/src/translations/sw.json +++ b/packages/p2p/src/translations/sw.json @@ -47,7 +47,6 @@ "473688701": "Ingiza kiasi halali", "488150742": "Tuma tena barua pepe", "498500965": "Jina la utani la muuzaji", - "498743422": "Kwa usalama wako:", "500514593": "Ficha matangazo yangu", "501523417": "Hauna oda.", "514948272": "Nakili kiungo", @@ -109,7 +108,6 @@ "1030390916": "Tayari una tangazo la wigo huu", "1035893169": "Futa", "1040596075": "Uthibitishaji wa anwani umeshindikana. Tafadhali jaribu tena.", - "1042690536": "Nimesoma na kuelewa ukumbusho hapo juu.", "1052094244": "Oda ya juu", "1056821534": "Una uhakika?", "1057127276": "{{- avg_release_time_in_minutes}} dakika", @@ -410,11 +408,6 @@ "-471384801": "Samahani, hatuwezi kuongeza kikomo chako hivi sasa. Tafadhali jaribu tena katika dakika chache.", "-150224710": "Ndio, endelea", "-1422779483": "Njia hiyo ya malipo haiwezi kufutwa", - "-1103095341": "Ikiwa unauza, toa fedha tu kwa mnunuzi baada ya kupokea malipo.", - "-1918928746": "Hatutawahi kamwe kukwambia utoe fedha kwa niaba ya mtu yeyote.", - "-1641698637": "Soma maelekezo kwenye tangazo kwa uangalifu kabla ya kufanya oda yako. Ikiwa kama kuna kitu chochote hakiko sawa, wasiliana na mtangazaji kwanza.", - "-1815993311": "Jadili tu taarifa zako za oda ya P2P katika sanduku la mazungumzo ndani ya app, na sio mahali pengine popote.", - "-7572501": "Miamala yote ya P2P haiwezi kurejeshwa.", "-1088454544": "Pata kiungo kipya", "-1327607310": "Kutoa fedha kabla ya kupokea malipo kunaweza kusababisha hasara. Angalia barua pepe yako na ufuate maelekezo <0>ndani ya dakika 10 ili kutoa fedha.", "-1632557686": "Sikupokea barua pepe", diff --git a/packages/p2p/src/translations/th.json b/packages/p2p/src/translations/th.json index dce58502da9c..36804a339b38 100644 --- a/packages/p2p/src/translations/th.json +++ b/packages/p2p/src/translations/th.json @@ -47,7 +47,6 @@ "473688701": "โปรดใส่จำนวนที่ถูกต้อง", "488150742": "ส่งอีเมล์อีกครั้ง", "498500965": "ชื่อเล่นของผู้ขาย", - "498743422": "เพื่อความปลอดภัยของคุณ:", "500514593": "ซ่อนโฆษณาของฉัน", "501523417": "คุณไม่มีรายการคำสั่งซื้อ", "514948272": "คัดลอกลิงก์", @@ -109,7 +108,6 @@ "1030390916": "คุณมีโฆษณาที่ใช้ช่วงนี้อยู่แล้ว", "1035893169": "ลบ", "1040596075": "การตรวจสอบยืนยันที่อยู่ล้มเหลว กรุณาลองอีกครั้ง", - "1042690536": "ฉันได้อ่านและเข้าใจคำเตือนข้างต้นแล้ว", "1052094244": "คำสั่งซื้อจำนวนสูงสุด", "1056821534": "คุณแน่ใจหรือไม่?", "1057127276": "{{- avg_release_time_in_minutes}} นาที", @@ -410,11 +408,6 @@ "-471384801": "ขออภัย เราไม่สามารถเพิ่มวงเงินของคุณได้ในขณะนี้ โปรดลองอีกครั้งในอีกสักครู่", "-150224710": "ใช่ ดำเนินการต่อ", "-1422779483": "วิธีการชำระเงินดังกล่าวไม่สามารถลบได้", - "-1103095341": "หากคุณกำลังขาย ให้ปล่อยเงินให้กับผู้ซื้อหลังจากที่คุณได้รับการชำระเงินแล้ว", - "-1918928746": "เราจะไม่ขอให้คุณปล่อยเงินในนามของใคร", - "-1641698637": "อ่านคำแนะนำในโฆษณาอย่างระมัดระวังก่อนทำการสั่งซื้อ หากมีอะไรที่ไม่ชัดเจนให้คุณตรวจสอบกับผู้โฆษณาก่อน", - "-1815993311": "พูดคุยรายละเอียดคำสั่งซื้อ P2P ของคุณภายในกล่องแชทในแอปเท่านั้น และไม่พูดคุยในที่อื่นใด", - "-7572501": "ธุรกรรม P2P ทั้งหมดนั้นถือเป็นอันสิ้นสุดและไม่สามารถย้อนกลับได้", "-1088454544": "รับลิงก์อันใหม่", "-1327607310": "การปล่อยเงินก่อนที่จะได้รับการชำระเงินนั้นอาจส่งผลให้เกิดการสูญเสีย โปรดตรวจเช็คอีเมล์ของคุณและทำตามคำแนะนำ <0>ภายใน 10 นาที เพื่อปล่อยเงิน", "-1632557686": "ฉันไม่ได้รับอีเมล์", diff --git a/packages/p2p/src/translations/tr.json b/packages/p2p/src/translations/tr.json index 19a7a191bf03..8cb6f33c6585 100644 --- a/packages/p2p/src/translations/tr.json +++ b/packages/p2p/src/translations/tr.json @@ -47,7 +47,6 @@ "473688701": "Geçerli bir tutar girin", "488150742": "E-postayı tekrar gönder", "498500965": "Satıcının takma adı", - "498743422": "Güvenliğiniz için:", "500514593": "İlanlarımı gizle", "501523417": "Hiç emriniz yok.", "514948272": "Bağlantıyı Kopyala", @@ -109,7 +108,6 @@ "1030390916": "Bu aralığa sahip bir ilanınız zaten var", "1035893169": "Sil", "1040596075": "Adres doğrulaması başarısız oldu. Lütfen tekrar deneyin.", - "1042690536": "Yukarıdaki hatırlatmayı okudum ve anladım.", "1052094244": "Maks. emir", "1056821534": "Emin misin?", "1057127276": "{{- avg_release_time_in_minutes}} dk", @@ -410,11 +408,6 @@ "-471384801": "Üzgünüm, şu anda limitlerinizi artıramıyoruz. Lütfen birkaç dakika içinde tekrar deneyin.", "-150224710": "Evet, devam", "-1422779483": "Bu ödeme yöntemi silinemez", - "-1103095341": "Eğer satış yapıyorsanız, alıcıya sadece ödemeyi aldıktan sonra para gönderin.", - "-1918928746": "Sizden asla kimse adına fonları serbest bırakmanızı istemeyeceğiz.", - "-1641698637": "Siparişinizi vermeden önce ilandaki talimatları dikkatlice okuyun. Anlaşılmayan bir şey varsa, önce reklamverene danışın.", - "-1815993311": "P2P sipariş detaylarınızı sadece uygulama içi sohbet kutusunda konuşun, başka hiçbir yerde konuşmayın.", - "-7572501": "Tüm P2P işlemleri nihaidir ve geri alınamaz.", "-1088454544": "Yeni bağlantı alın", "-1327607310": "Ödemeyi almadan önce fonları serbest bırakmak kayıplara neden olabilir. E-postanızı kontrol edin ve fonları serbest bırakmak <0>için 10 dakika içinde talimatları izleyin.", "-1632557686": "E-postayı almadım", diff --git a/packages/p2p/src/translations/vi.json b/packages/p2p/src/translations/vi.json index 91d1aca2376e..e25cf0eb60a5 100644 --- a/packages/p2p/src/translations/vi.json +++ b/packages/p2p/src/translations/vi.json @@ -47,7 +47,6 @@ "473688701": "Nhập một khoản hợp lệ", "488150742": "Gửi lại email", "498500965": "Tên người bán", - "498743422": "Vì sự an toàn của bạn:", "500514593": "Ẩn quảng cáo của tôi", "501523417": "Bạn không có lệnh đặt nào.", "514948272": "Sao chép đường liên kết", @@ -109,7 +108,6 @@ "1030390916": "Bạn đã có một quảng cáo với phạm vi này", "1035893169": "Xoá", "1040596075": "Xác minh địa chỉ không thành công. Vui lòng thử lại.", - "1042690536": "Tôi đã đọc và hiểu lời nhắc ở trên.", "1052094244": "Số tiền giao dịch tối đa", "1056821534": "Bạn có chắc không?", "1057127276": "{{- avg_release_time_in_minutes}} phút", @@ -410,11 +408,6 @@ "-471384801": "Xin lỗi, chúng tôi không thể tăng giới hạn của bạn ngay bây giờ. Vui lòng thử lại trong vài phút.", "-150224710": "Có, tiếp tục", "-1422779483": "Phương thức thanh toán đó không thể bị xóa", - "-1103095341": "Nếu bạn là người bán, chỉ nên xuất tiền cho người mua sau khi bạn đã nhận được khoản thanh toán.", - "-1918928746": "Chúng tôi sẽ không bao giờ yêu cầu bạn đại diện xuất tiền dùm cho bất kỳ ai.", - "-1641698637": "Hãy đọc kỹ hướng dẫn trong quảng cáo trước khi giao dịch. Nếu có bất cứ thông tin gì không rõ ràng, hãy kiểm tra với người đăng quảng cáo trước.", - "-1815993311": "Chỉ thảo luận thông tin giao dịch P2P của bạn trong chatbox của ứng dụng, không nên trao đổi ở nơi nào khác.", - "-7572501": "Tất cả các giao dịch P2P đều không thể đảo ngược.", "-1088454544": "Nhận link mới", "-1327607310": "Giải phóng tiền trước khi nhận thanh toán có thể dẫn đến thua lỗ. Kiểm tra email của bạn và làm theo hướng dẫn \n<0>trong vòng 10 phút để giải phóng tiền.", "-1632557686": "Tôi không nhận được email", diff --git a/packages/p2p/src/translations/zh_cn.json b/packages/p2p/src/translations/zh_cn.json index ccb44316d5e7..40a64f2f84a5 100644 --- a/packages/p2p/src/translations/zh_cn.json +++ b/packages/p2p/src/translations/zh_cn.json @@ -47,7 +47,6 @@ "473688701": "输入有效金额", "488150742": "重发邮件", "498500965": "卖者的昵称", - "498743422": "为了您的安全:", "500514593": "隐藏我的广告", "501523417": "无订单。", "514948272": "复制链接", @@ -109,7 +108,6 @@ "1030390916": "您已有此范围的广告", "1035893169": "删除", "1040596075": "地址验证失败。请再试一次。", - "1042690536": "我已阅读并理解上述提醒。", "1052094244": "最大订单", "1056821534": "是否确定?", "1057127276": "{{- avg_release_time_in_minutes}} 分钟", @@ -410,11 +408,6 @@ "-471384801": "抱歉,现在无法提高限额。几分钟后请重试。", "-150224710": "是的,继续", "-1422779483": "该付款方式无法删除", - "-1103095341": "如果要出售,请仅在收到付款后才向买方发放资金。", - "-1918928746": "我们绝不会要求您代表任何人发放资金。", - "-1641698637": "下订单前请仔细阅读广告中的说明。如果有任何不清楚的地方,请先向广告商咨询。", - "-1815993311": "只能在应用内聊天框中讨论 P2P 订单详情,不能在其他地方讨论。", - "-7572501": "所有 P2P 交易均为最终交易,不可撤销。", "-1088454544": "获取新链接", "-1327607310": "收到付款前发放资金可能会导致损失。查看电子邮件并<0>在 10 分钟内按照说明发放资金。", "-1632557686": "没有收到电子邮件", diff --git a/packages/p2p/src/translations/zh_tw.json b/packages/p2p/src/translations/zh_tw.json index e2cb2c02a9c0..e603c6a6f44d 100644 --- a/packages/p2p/src/translations/zh_tw.json +++ b/packages/p2p/src/translations/zh_tw.json @@ -47,7 +47,6 @@ "473688701": "輸入有效的金額", "488150742": "重新傳送郵件", "498500965": "賣者的昵稱", - "498743422": "為了您的安全:", "500514593": "隱藏我的廣告", "501523417": "無訂單.", "514948272": "複製連結", @@ -109,7 +108,6 @@ "1030390916": "您已有此範圍的廣告", "1035893169": "刪除", "1040596075": "地址驗證失敗。請再試一次。", - "1042690536": "我已經閱讀並理解上述提醒。", "1052094244": "最大訂單", "1056821534": "是否確定?", "1057127276": "{{- avg_release_time_in_minutes}} 分鐘", @@ -410,11 +408,6 @@ "-471384801": "抱歉,目前無法提高限額。請在幾分鐘後再試一次。", "-150224710": "是,繼續", "-1422779483": "無法刪除該付款方式", - "-1103095341": "如果要出售,請在收到付款後才將資金發放給買方。", - "-1918928746": "我們絕不會要求您代表任何人釋放資金。", - "-1641698637": "下訂單前請仔細閱讀廣告中的說明。如果有什麼不清楚,請先向廣告商查詢。", - "-1815993311": "只在應用的聊天框內而不在其他地方討論 P2P 訂單詳細資訊。", - "-7572501": "所有 P2P 交易均為最終交易,無法撤銷。", "-1088454544": "取得新連結", "-1327607310": "在收到付款前釋放資金可能會導致損失。檢查電子郵件並<0>在 10 分鐘內按照說明釋放資金。", "-1632557686": "沒收到電子郵件", diff --git a/packages/translations/src/translations/mn.json b/packages/translations/src/translations/mn.json index 1f3308b39f52..920284d0b011 100644 --- a/packages/translations/src/translations/mn.json +++ b/packages/translations/src/translations/mn.json @@ -25,14 +25,14 @@ "26596220": "Санхүү", "27582393": "Жишээ нь:", "27582767": "{{amount}} {{currency}}", - "27731356": "Таны данс түр хугацаагаар идэвхгүй болсон. Хадгаламж, зарлагын гүйлгээг дахин <0>идэвхж үүлэхийн тулд шууд чатаар дамжуулан бидэнтэй холбоо барина уу.", + "27731356": "Таны данс түр хугацаагаар идэвхгүй болсон. Мөнгө байршуулах болон татан авалтын гүйлгээг дахин идэвхжүүлэхийн тулд <0> шууд чатаар <0> дамжуулан бидэнтэй холбогдоно уу.", "27830635": "Deriv (V) ХХК", - "28581045": "Жинхэнэ MT5 данс нэмэх", - "33433576": "Мөнгөө авахын тулд цахим түрийвч ашиглана уу.", - "35089987": "Жолооны үнэмлэхнийхээ урд болон арын хэсгийг байршуулна уу.", + "28581045": "Бодит MT5 данс нэмэх", + "33433576": "Татан авалт хийхийн тулд e-wallet ашиглана уу.", + "35089987": "Жолооны үнэмлэхнийхээ урд болон арын хэсгийг зургыг авч байршуулна уу.", "41737927": "Баярлалаа", "44877997": "Оршин суух зөвшөөрөл", - "45453595": "Хоёртын зоос", + "45453595": "Binary Coin", "45821474": "Орлогын нотолгоо", "46523711": "Таны биеийн байцаалтын нотолгоо баталгаажсан", "49404821": "Хэрэв та \"<0>{{trade_type}}\" сонголтыг худалдаж авбал эцсийн үнэ нь ажил хаялтын үнэ {{payout_status}} бол хугацаа дуусах үед төлбөр авах болно. Үгүй бол таны “<0>{{trade_type}}” сонгол тын хугацаа үнэ цэнэгүй хугацаа дуусна.", diff --git a/packages/translations/src/translations/sw.json b/packages/translations/src/translations/sw.json index d6a54caf20a2..f19572c87344 100644 --- a/packages/translations/src/translations/sw.json +++ b/packages/translations/src/translations/sw.json @@ -235,7 +235,7 @@ "258912192": "Tathmini ya biashara", "260069181": "Hitilafu ilitokea wakati wa kujaribu kupakia URL", "260086036": "Weka vizuizi hapa ili kufanya kazi mara moja wakati bot yako inapoanza kuendesha.", - "260361841": "Nambari ya Kitambulisho cha Kodi haiwezi kuwa ndefu zaidi ya herufi 25.", + "260361841": "Nambari ya Utambulisho wa Kodi haiwezi kuwa ndefu zaidi ya herufi 25.", "260393332": "Huwezi kuweka pesa zaidi kwani hati zako bado zinakaguliwa. Tutakujulisha kwa barua pepe ndani ya siku 3 mara tu uthibitishaji wako utakapoidhinishwa.", "261074187": "4. Mara tu vitalu vimepakia kwenye nafasi ya kazi, rekebisha vigezo ikiwa unataka, au bonyeza Running ili kuanza biashara.", "261250441": "Buta kizu <0>izi cha Bi ashara tena na uiongeze kwenye sehemu <0>ya kufanya ya Kuru <0>dia hadi kiz uizi.", @@ -512,7 +512,7 @@ "566274201": "1. Soko", "567019968": "Tofauti ni kati ya vipengele muhimu na vya nguvu katika kuunda bot. Ni njia ya kuhifadhi habari, kama maandishi au nambari. Habari iliyohifadhiwa kama togezo inaweza kutumika na kubadilishwa kulingana na maagizo yaliyopewa. Vigawo vinaweza kupewa jina lolote, lakini kawaida hupewa majina muhimu, ya ishara ili iwe rahisi kuziita wakati wa utekelezaji wa maagizo.", "567163880": "Unda nenosiri la {{platform}}", - "567755787": "Nambari ya Utambulisho cha Kodi inahitajika.", + "567755787": "Nambari ya Utambulisho wa Kodi inahitajika.", "569057236": "Katika nchi gani hati yako ilitolewa?", "571921777": "Kiwango cha ulinzi wa fedha", "572576218": "Lugha", @@ -2049,12 +2049,12 @@ "2080829530": "Inauzwa kwa: {{sold_for}}", "2081622549": "Lazima iwe namba kubwa kuliko {{ min }}", "2082533832": "Ndio, futa", - "2084693624": "Hubadilisha kamba inayowakilisha kamba ya tareke/wakati kuwa sekunde tangu Epoch. Mfano: 2019-01-01 21:03:45 GMT+0800 itabadilishwa kuwa 1546347825. Kushirikiano wa wakati na eneo la wakati ni hiari.", + "2084693624": "Hubadilisha string inayowakilisha string ya tarehe/muda kuwa sekunde tangu Epoch. Mfano: 2019-01-01 21:03:45 GMT+0800 itabadilishwa kuwa 1546347825. Wakati na tofauti ya muda wa eneo ni hiari.", "2085387371": "Lazima iwe na nambari, herufi, na alama maalum., '-", "2085602195": "- Thamani ya kuingia: thamani ya tick ya kwanza ya mkataba", - "2086048243": "Cheti cha ushirika", + "2086048243": "Cheti cha usajili", "2086792088": "Vizuizi vyote vinapaswa kuwa wa kawaida au kamili", - "2088735355": "Kikao chako na mipaka ya kuingia", + "2088735355": "Kikomo cha kipindi na kuingia", "2089087110": "Faharisi za kikapu", "2089395053": "Uniti", "2089581483": "Unamalizika mnamo", @@ -2072,7 +2072,7 @@ "2100713124": "akaunti", "2100912278": "4. Ikiwa biashara inaisha kwa hasara, dau la biashara ifuatayo litarejeshwa kuwa kiasi cha dau la awali la USD 1.", "2101972779": "Hii ni sawa na mfano uliopo hapo juu, kwa kutumia orodha ya tick.", - "2102572780": "Urefu wa nambari ya tarakimu lazima uwe herufi 6.", + "2102572780": "Urefu wa nambari ya tarakimu lazima uwe na herufi 6.", "2104115663": "Mara ya mwisho kuingia", "2104364680": "Tafadhali nenda kwenye akaunti yako ya demo ili kuendesha Deriv Bot yako.", "2104397115": "Tafadhali nenda kwenye mipangilio ya akaunti yako na kamilisha taarifa zako binafsi ili kuwezesha uwekaji na utoaji pesa.", @@ -2227,8 +2227,8 @@ "-1543016582": "Ninathibitisha kwamba taarifa ya kodi niliyotoa ni ya kweli na kamili. Nitamjulisha pia {{legal_entity_name}} juu ya mabadiliko yoyote kwenye taarifa hii.", "-946282997": "Taarifa za ziada", "-1315571766": "Mahali pa kuzaliwa", - "-789291456": "Makazi ya ushari*", - "-1692219415": "Makazi ya ushuru", + "-789291456": "Nchi unayolipa Kodi*", + "-1692219415": "Nchi unayolipa Kodi", "-1903720068": "Nchi ambayo unakidhi vigezo vya kulipa kodi. Kawaida ni nchi ambayo unaishi kwa sasa.", "-651516152": "Nambari ya utambulisho wa kodi", "-1387062433": "Sababu ya kufungua akaunti", @@ -2490,25 +2490,25 @@ "-474419287": "Azimio la FATCA", "-1101737402": "Tafadhali chagua*", "-975118358": "Akaunti yako itafunguliwa kwa {{legal_entity_name}}, itadhibitiwa na Malta Financial Service Authority (MFSA), na itakuwa chini ya sheria za Malta.", - "-2073934245": "Huduma za biashara za kifedha zinazotolewa kwenye tovuti hii zinafaa tu kwa wateja ambao wanakubali uwezekano wa kupoteza pesa zote wanazowekeza na ambao wanaelewa na wana uzoefu wa hatari inayohusika katika ununuzi wa mikataba ya kifedha. Shughuli katika mikataba ya kifedha zina kiwango kikubwa cha hatari. Ikiwa mikataba uliyonunua itaisha kuwa haina thamani, utapoteza uwekezaji wako wote, ambao ni pamoja na malipo ya mkataba.", - "-1035494182": "Unakubali kwamba, kulingana na hiari ya Kampuni, kanuni zinazotumika, na ukaguzi wa ndani zinazotamizwa, tutakufungua akaunti na kukuruhusu kuweka pesa wakati wa utaratibu wa kukubali mteja. Walakini, hadi uthibitishaji wa akaunti yako utakapokamilika, hautaweza kufanya biashara, kuondoa au kufanya amana zaidi. Ikiwa hutatoa hati zinazofaa ndani ya siku 30, tutarejea kiasi kilichowekwa kupitia njia ile ile ile ya malipo uliyokuwa umeweka kuweka.", + "-2073934245": "Huduma za biashara ya kifedha zinazotolewa kwenye tovuti hii zinafaa tu kwa wateja ambao wanakubali uwezekano wa kupoteza pesa zote wanazowekeza na ambao wanaelewa na wana uzoefu wa hatari inayohusika katika ununuzi wa mikataba ya kifedha. Miamala katika mikataba ya kifedha ina kiwango kikubwa cha hatari. Ikiwa mikataba uliyonunua itaisha bila thamani, utapoteza uwekezaji wako wote, ikiwa ni pamoja na mkataba wa premium.", + "-1035494182": "Unakubali kwamba, kulingana na uamuzi wa Kampuni, kanuni zinazotumika, na ukaguzi wa ndani ukitimizwa, tutakufungulia akaunti na kukuruhusu kuweka pesa wakati wa utaratibu wa kukubalika kwa mteja. Hata hivyo, hadi uthibitishaji wa akaunti yako utakapokamilika, hautaweza kufanya biashara, kutoa au kuweka pesa zaidi. Ikiwa hutatoa hati muhimu za uthibitishaji ndani ya siku 30, tutarejesha kiasi kilichowekwa kupitia njia ile ile ya malipo uliyotumia kuweka pesa.", "-1125193491": "Ongeza akaunti", "-2068229627": "Mimi sio PEP, na sikuwa PEP katika kipindi cha miezi 12 iliyopita.", - "-1209644365": "Ninathibitisha kwamba ombi langu la kufungua akaunti na Deriv Investments (Europe) Ltd linafanywa kwa mpango wangu mwenyewe.", - "-740157281": "Utathmini wa Uzoefu", - "-1720468017": "Katika kutoa huduma zetu kwako, tunahitajika kupata habari kutoka kwako ili kutathmini ikiwa bidhaa au huduma fulani inafaa kwako.", + "-1209644365": "Ninathibitisha kwamba ombi langu la kufungua akaunti na Deriv Investments (Europe) Ltd nimelifanya kwa hiari yangu mwenyewe.", + "-740157281": "Tathmini ya Uzoefu wa Biashara", + "-1720468017": "Katika kutoa huduma zetu kwako, tunahitajika kupata taarifa kutoka kwako ili tuweze kufanya tathmini ya ikiwa bidhaa au huduma fulani inakufaa.", "-1685104463": "* Hii inahitajika", - "-186841084": "Badili barua pepe yako ya kuingia", + "-186841084": "Badilisha barua pepe yako ya kuingia", "-907403572": "Ili kubadilisha anwani yako ya barua pepe, kwanza utahitaji kuondoa anwani yako ya barua pepe kutoka kwa akaunti yako ya {{identifier_title}} .", "-1850792730": "Ondoa kutoka {{identifier_title}}", "-428335668": "Utahitaji kuweka nenosiri ili kukamilisha mchakato.", - "-1232613003": "<0>Uthibitishaji ushindwa. <1>Kwa nini?", - "-805775852": "<0>Inahitaji uthibitishaji. <1>Thibi", + "-1232613003": "<0>Uthibitishaji haukufaulu. <1>Kwa nini?", + "-805775852": "<0>Inahitaji uthibitishaji. <1>Thibitisha sasa", "-1983989074": "<0>Hakuna nafasi mpya", - "-1196936955": "Pakia skrini ya jina lako na anwani ya barua pepe kutoka sehemu ya habari ya kibinafsi.", - "-1286823855": "Pakia taarifa yako ya bili ya rununu inaonyesha jina lako na nambari ya simu.", - "-1309548471": "Pakia taarifa yako ya benki inaonyesha jina lako na maelezo ya akaunti.", - "-1410396115": "Pakia picha inayoonyesha jina lako na tarakimu sita za kwanza na nne za mwisho za nambari yako ya kadi. Ikiwa kadi haionyeshi jina lako, pakia taarifa ya benki inayoonyesha jina lako na nambari ya kadi katika historia ya shughuli.", + "-1196936955": "Pakia picha ya skrini (screenshot) ya jina lako na anwani ya barua pepe kutoka sehemu ya taarifa binafsi.", + "-1286823855": "Pakia taarifa yako ya bili ya simu inayoonyesha jina lako na nambari ya simu.", + "-1309548471": "Pakia taarifa yako ya benki inayoonyesha jina lako na maelezo ya akaunti.", + "-1410396115": "Pakia picha inayoonyesha jina lako na tarakimu sita za kwanza na nne za mwisho za nambari yako ya kadi. Ikiwa kadi haionyeshi jina lako, pakia taarifa ya benki inayoonyesha jina lako na nambari ya kadi katika historia ya muamala.", "-3805155": "Pakia picha ya skrini (screenshot) ya mojawapo ya yafuatayo ili kushughulikia muamala:", "-1523487566": "- sehemu ya wasifu wa akaunti yako kwenye wavuti", "-613062596": "- ukurasa wa Taarifa ya Akaunti kwenye app", @@ -2533,7 +2533,7 @@ "-506083843": "Kama mtumiaji, una jukumu la kushiriki ufikiaji na kwa vitendo vinavyotokea kwenye akaunti yako (hata ikiwa vilianzishwa na app za wahusika wengine kwa niaba yako).", "-831752682": "Tafadhali kumbuka kuwa app za wahusika wengine tu ndio zitaonyeshwa kwenye ukurasa huu. App rasmi za Deriv hazitaonekana hapa.", "-915844096": "Uraia wa Marekani au hadhi halali ya mkazi wa kudumu (kadi ya kijani)", - "-208714573": "Anwani ya “kutunza” au anwani ya “kushikilia barua” ambayo ndio anwani pekee kuhusu mteja", + "-208714573": "Anwani “katika huduma ya” au anwani ya “kushikilia barua” ambayo ni anwani pekee kwa mteja", "-1082633433": "Uwezo wa wakili au mamlaka ya saini inayotolewa kwa mtu aliye na anwani ya Marekani.", "-231863107": "Hapana", "-1858215754": "Hati lazima iwe ya sasa na iwe imetiwa saini na mamlaka ya utoaji.", @@ -2551,9 +2551,9 @@ "-456863190": "Weka nafasi kwenye mwenendo wa bei ya mali ambapo matokeo ni mapato ya kudumu au hasara.", "-1314683258": "Fanya uwekezaji wa muda mrefu kwa faida ya uhakika.", "-1546090184": "Je! Ufanisi huathiri biashara ya CFD?", - "-1636427115": "Ufanisi husaidia kupunguza hatari.", - "-800221491": "Ufanisi inahakikisha faida.", - "-811839563": "Ufanisi hukuruhusu kufungua nafasi kubwa kwa sehemu ya thamani ya biashara, ambayo inaweza kusababisha kuongezeka kwa faida au hasara.", + "-1636427115": "Mkopo husaidia kupunguza hatari.", + "-800221491": "Mkopo huhakikisha faida.", + "-811839563": "Mkopo hukuruhusu kufungua nafasi kubwa kwa sehemu ya thamani ya biashara, ambayo inaweza kusababisha kuongezeka kwa faida au hasara.", "-1185193552": "Funga biashara yako otomatiki wakati faida ni sawa na au zaidi ya kiasi maalum, maadamu kuna ukwasi wa kutosha wa soko.", "-1046354": "Funga biashara yako otomatiki wakati faida ni sawa na au zaidi ya kiasi maalum, maadamu kuna ukwasi wa kutosha wa soko.", "-1842858448": "Pata faida ya uhakika kwenye biashara yako.", @@ -2576,8 +2576,8 @@ "-1026468600": "Mzunguko wa vyombo vingine vya biashara", "-1743024217": "Chagua Lugha", "-136976514": "Nchi ya makazi*", - "-1124948631": "Mteja wa Kitaalamu", - "-259515058": "Kwa chaguo-msingi, wateja wote wa {{brand_website_name}} ni wateja wa rejareja lakini mtu yeyote anaweza kuomba kutibiwa kama mteja wa kitaalam.", + "-1124948631": "Mteja wa Mtaalamu", + "-259515058": "Kwa kawaida, wateja wote wa {{brand_website_name}} ni wateja wa rejareja lakini mtu yeyote anaweza kuomba kuhudumiwa kama mteja wa mtaalamu.", "-1463348492": "Ningependa kuhudumiwa kama mteja mtaalamu.", "-1958764604": "Mapendeleo ya barua pepe", "-2068064150": "Pata taarifa kuhusu bidhaa, huduma na matukio ya Deriv.", @@ -2591,7 +2591,7 @@ "-2125635811": "Tafadhali toa fedha zako kutoka kwa akaunti zifuatazo za {{platform_name}}:", "-577445413": "Tafadhali funga nafasi zako katika akaunti zifuatazo za {{platform_name}}:", "-1219849101": "Tafadhali chagua angalau sababu moja", - "-9323953": "Wahusika waliobaki: {{remaining_characters}}", + "-9323953": "Herufi ziliobaki: {{remaining_characters}}", "-484540402": "Hitilafu imetokea", "-1911549768": "Akaunti za MT5 zisizoweza kufikiwa", "-1869355019": "Hatua inayohitajika", @@ -2643,9 +2643,9 @@ "-1031006762": "Max. kikomo cha kuweka pesa zaidi ya siku 30", "-1116871438": "Max. jumla ya hasara ya zaidi ya siku 30", "-2134714205": "Kikomo cha muda kwa kila kipindi", - "-1884271702": "Muda mpaka", - "-1265825026": "Muda wa muda lazima uwe mkubwa kuliko wakati wa sasa.", - "-1332882202": "Muda wa muda hauwezi kuwa zaidi ya wiki 6.", + "-1884271702": "Muda wa kukamilika ni hadi", + "-1265825026": "Muda wa kukamilika lazima uwe mkubwa kuliko muda wa sasa.", + "-1332882202": "Muda wa kukamilika hauwezi kuwa zaidi ya wiki 6.", "-1635977118": "Muda wa kuondolewa hauwezi kuwa chini ya miezi 6.", "-2131200819": "Zima", "-200487676": "Wezesha", @@ -2662,11 +2662,11 @@ "-2021135479": "Eneo hili linahitajika kujazwa.", "-1002044401": "Chagua hati yako*", "-1272489896": "Tafadhali kamilisha kujaza eneo hili.", - "-721346138": "Chaguzi na jukwaa la biashara ya viongezeka.", - "-1874136267": "Jukwaa la mwisho la biashara ya bot.", - "-415943890": "Jukwaa la biashara la chaguzi za urithi.", + "-721346138": "Jukwaa la biashara ya chaguzi na multipliers.", + "-1874136267": "Jukwaa la hatima ya biashara ya bot.", + "-415943890": "Jukwaa la urithi la biashara ya chaguzi.", "-673722343": "Jukwaa la biashara la bot la urithi.", - "-897826065": "Jukwaa la biashara la viongezeka.", + "-897826065": "Jukwaa la biashara la multipliers.", "-2115275974": "CFDs", "-1585707873": "Financial Commission", "-199154602": "Vanuatu Financial Service Commission", From be99e058d94d11aad2f044db00522240c9974117 Mon Sep 17 00:00:00 2001 From: Rostik Kayko <119863957+rostislav-deriv@users.noreply.github.com> Date: Wed, 15 May 2024 12:37:25 +0300 Subject: [PATCH 07/95] refactor: revert temp workaround (#14797) --- .../src/hooks/useInfiniteTransactions.ts | 2 -- packages/api-v2/src/hooks/useTransactions.ts | 2 -- .../TransactionsCompletedRow.tsx | 30 ++++--------------- 3 files changed, 5 insertions(+), 29 deletions(-) diff --git a/packages/api-v2/src/hooks/useInfiniteTransactions.ts b/packages/api-v2/src/hooks/useInfiniteTransactions.ts index e58f3b463974..ec2ffdbe09ff 100644 --- a/packages/api-v2/src/hooks/useInfiniteTransactions.ts +++ b/packages/api-v2/src/hooks/useInfiniteTransactions.ts @@ -32,8 +32,6 @@ const useInfiniteTransactions = () => { }, payload: { action_type: filter, - // TODO: remove this once backend adds `to` and `from` for Deriv X transfers - description: 1, }, }); diff --git a/packages/api-v2/src/hooks/useTransactions.ts b/packages/api-v2/src/hooks/useTransactions.ts index 80834b9c2822..f263f9a0cb8c 100644 --- a/packages/api-v2/src/hooks/useTransactions.ts +++ b/packages/api-v2/src/hooks/useTransactions.ts @@ -32,8 +32,6 @@ const useTransactions = () => { }, payload: { action_type: filter, - // TODO: remove this once backend adds `to` and `from` for Deriv X transfers - description: 1, }, }); diff --git a/packages/wallets/src/features/cashier/modules/Transactions/components/TransactionsCompletedRow/TransactionsCompletedRow.tsx b/packages/wallets/src/features/cashier/modules/Transactions/components/TransactionsCompletedRow/TransactionsCompletedRow.tsx index b5b856e8d14c..8bb322c5fd8e 100644 --- a/packages/wallets/src/features/cashier/modules/Transactions/components/TransactionsCompletedRow/TransactionsCompletedRow.tsx +++ b/packages/wallets/src/features/cashier/modules/Transactions/components/TransactionsCompletedRow/TransactionsCompletedRow.tsx @@ -1,4 +1,4 @@ -import React, { useMemo } from 'react'; +import React from 'react'; import { WalletText } from '../../../../../../components/Base'; import { THooks } from '../../../../../../types'; import { TransactionsCompletedRowAccountDetails } from './components/TransactionsCompletedRowAccountDetails'; @@ -12,23 +12,6 @@ type TProps = { }; const TransactionsCompletedRow: React.FC = ({ accounts, transaction, wallet }) => { - // TODO: remove this once backend adds `to` and `from` for Deriv X and CTrader transfers - const dxtradeOrCtraderToFrom = useMemo(() => { - if (transaction?.action_type !== 'transfer' || !transaction.longcode) return null; - const longcodeMessageTokens = transaction.longcode.split(' '); - const direction = longcodeMessageTokens[4] === 'cTrader' ? 'to' : longcodeMessageTokens[1]; - const dxtradeOrCtraderLoginid = longcodeMessageTokens.find( - token => token.startsWith('DX') || token.startsWith('CT') - ); - return dxtradeOrCtraderLoginid - ? { - from: { loginid: wallet.loginid }, - to: { loginid: wallet.loginid }, - ...(direction && { [direction]: { loginid: dxtradeOrCtraderLoginid } }), - } - : null; - }, [transaction?.action_type, transaction.longcode, wallet.loginid]); - if (!transaction.action_type || !transaction.amount) return null; const displayCurrency = wallet?.currency_config?.display_code || 'USD'; @@ -52,14 +35,11 @@ const TransactionsCompletedRow: React.FC = ({ accounts, transaction, wal ) : ( loginid !== wallet?.loginid) ?? '' + [transaction.from?.loginid, transaction.to?.loginid].find( + loginid => loginid !== wallet?.loginid + ) ?? '' } /> )} From c0783d7319ce36c2b63fa4c228d601194ea6cf57 Mon Sep 17 00:00:00 2001 From: Rostik Kayko <119863957+rostislav-deriv@users.noreply.github.com> Date: Wed, 15 May 2024 12:49:13 +0300 Subject: [PATCH 08/95] [WALL] Rostislav / WALL-3931 / Wrap wallet migration logic behind feature flag (#15036) * refactor: make `has_wallets` shadow `is_next_wallet_enabled` when `true` * refactor: extra changes re prev commit * refactor: e2e tests upd * refactor: e2e mock upd * refactor: hide wallets migration stuff behind feature flag * refactor: revert changes causing integration tests to fail * refactor: remove typo * refactor: correct update to client store * refactor: `` * refactor: dont use `useStoreWalletAccountsList` when unnecessary * fix: tests * refactor: revert `` conditional render * refactor: logic * refactor: remove flag for * refactor: `client-store` correction * fix: revert a bad refactor * fix: tests * refactor: remove unused imports * refactor: remove unused import --- .../Account/__tests__/account.spec.tsx | 5 ----- .../account/src/Containers/Account/account.tsx | 3 +-- .../Account/page-overlay-wrapper.tsx | 8 +++----- .../__tests__/language-settings.spec.tsx | 8 +------- .../LanguageSettings/language-settings.tsx | 9 ++++----- .../src/components/main-title-bar/index.tsx | 9 ++++++--- .../src/components/modals/modal-manager.tsx | 13 +++++++++---- .../appstore/src/components/routes/routes.tsx | 13 +++++-------- packages/core/src/App/AppContent.tsx | 6 ++---- .../Components/ToggleMenu/menu-title.tsx | 5 ++--- .../__tests__/toggle-menu-drawer.spec.jsx | 4 ---- .../Components/Layout/Header/menu-links.jsx | 7 +++---- .../Layout/Header/toggle-menu-drawer.jsx | 13 +++++-------- .../App/Containers/Layout/default-footer.jsx | 4 +--- .../__tests__/default-mobile-links.spec.tsx | 7 +++---- .../Layout/header/__tests__/header.spec.tsx | 1 - .../__tests__/traders-hub-header.spec.tsx | 9 ++++----- .../__tests__/traders-hub-onboarding.spec.tsx | 7 ------- .../Layout/header/default-mobile-links.tsx | 8 +++++--- .../App/Containers/Layout/header/header.tsx | 18 +++++++----------- .../Layout/header/traders-hub-home-button.tsx | 11 ++++++----- .../Layout/header/traders-hub-onboarding.tsx | 9 ++++----- .../Containers/Layout/trading-hub-footer.jsx | 4 +--- .../src/App/Containers/Modals/app-modals.jsx | 7 +++---- .../src/App/Containers/Redirect/redirect.jsx | 5 ++--- packages/core/src/Stores/client-store.js | 3 +-- .../__tests__/contract-replay.spec.tsx | 10 +++++----- 27 files changed, 83 insertions(+), 123 deletions(-) diff --git a/packages/account/src/Containers/Account/__tests__/account.spec.tsx b/packages/account/src/Containers/Account/__tests__/account.spec.tsx index ff80af3729c8..b844d6b39177 100644 --- a/packages/account/src/Containers/Account/__tests__/account.spec.tsx +++ b/packages/account/src/Containers/Account/__tests__/account.spec.tsx @@ -8,11 +8,6 @@ import Account from '../account'; jest.mock('../../Account/page-overlay-wrapper', () => jest.fn(() =>
MockPageOverlayWrapper
)); -jest.mock('@deriv/hooks', () => ({ - ...jest.requireActual('@deriv/hooks'), - useStoreWalletAccountsList: jest.fn(() => ({ has_wallet: false })), -})); - jest.mock('@deriv/components', () => ({ ...jest.requireActual('@deriv/components'), Loading: () =>
MockLoading
, diff --git a/packages/account/src/Containers/Account/account.tsx b/packages/account/src/Containers/Account/account.tsx index fd1bcc71aede..6a86cbe8e179 100644 --- a/packages/account/src/Containers/Account/account.tsx +++ b/packages/account/src/Containers/Account/account.tsx @@ -1,7 +1,6 @@ import React from 'react'; import { RouteComponentProps, withRouter } from 'react-router-dom'; import { FadeWrapper, Loading } from '@deriv/components'; -import { useStoreWalletAccountsList } from '@deriv/hooks'; import { flatten, matchRoute, routes as shared_routes } from '@deriv/shared'; import { observer, useStore } from '@deriv/stores'; import PageOverlayWrapper from './page-overlay-wrapper'; @@ -23,6 +22,7 @@ type TAccountProps = RouteComponentProps & { const Account = observer(({ history, location, routes }: TAccountProps) => { const { client, ui } = useStore(); const { + has_wallet, is_virtual, is_logged_in, is_logging_in, @@ -33,7 +33,6 @@ const Account = observer(({ history, location, routes }: TAccountProps) => { is_passkey_supported, } = client; const { toggleAccountSettings, is_account_settings_visible, is_mobile, is_desktop } = ui; - const { has_wallet } = useStoreWalletAccountsList(); // subroutes of a route is structured as an array of arrays const subroutes = flatten(routes.map(i => i.subroutes)); diff --git a/packages/account/src/Containers/Account/page-overlay-wrapper.tsx b/packages/account/src/Containers/Account/page-overlay-wrapper.tsx index 04dc7940d437..d288ff8469ce 100644 --- a/packages/account/src/Containers/Account/page-overlay-wrapper.tsx +++ b/packages/account/src/Containers/Account/page-overlay-wrapper.tsx @@ -2,7 +2,6 @@ import React from 'react'; import { useHistory } from 'react-router-dom'; import { Analytics } from '@deriv-com/analytics'; import { PageOverlay, VerticalTab } from '@deriv/components'; -import { useFeatureFlags } from '@deriv/hooks'; import { getOSNameWithUAParser, getSelectedRoute, getStaticUrl, routes as shared_routes } from '@deriv/shared'; import { observer, useStore } from '@deriv/stores'; import { Localize } from '@deriv/translations'; @@ -25,9 +24,8 @@ const PageOverlayWrapper = observer(({ routes, subroutes }: PageOverlayWrapperPr const history = useHistory(); const { client, common, ui } = useStore(); const { is_mobile } = ui; - const { logout } = client; + const { has_wallet, logout } = client; const { is_from_derivgo } = common; - const { is_next_wallet_enabled } = useFeatureFlags(); const passkeysMenuCloseActionEventTrack = React.useCallback(() => { Analytics.trackEvent('ce_passkey_account_settings_form', { @@ -48,8 +46,8 @@ const PageOverlayWrapper = observer(({ routes, subroutes }: PageOverlayWrapperPr passkeysMenuCloseActionEventTrack(); } - is_next_wallet_enabled ? history.push(shared_routes.wallets) : history.push(shared_routes.traders_hub); - }, [history, is_next_wallet_enabled]); + has_wallet ? history.push(shared_routes.wallets) : history.push(shared_routes.traders_hub); + }, [history, has_wallet]); const selected_route = getSelectedRoute({ routes: subroutes as Array, pathname: location.pathname }); diff --git a/packages/account/src/Sections/Profile/LanguageSettings/__tests__/language-settings.spec.tsx b/packages/account/src/Sections/Profile/LanguageSettings/__tests__/language-settings.spec.tsx index 29f531791e80..47c687767748 100644 --- a/packages/account/src/Sections/Profile/LanguageSettings/__tests__/language-settings.spec.tsx +++ b/packages/account/src/Sections/Profile/LanguageSettings/__tests__/language-settings.spec.tsx @@ -10,11 +10,6 @@ const mockedUseStoreWalletAccountsList = useStoreWalletAccountsList as jest.Mock typeof useStoreWalletAccountsList >; -jest.mock('@deriv/hooks', () => ({ - ...jest.requireActual('@deriv/hooks'), - useStoreWalletAccountsList: jest.fn(() => ({ has_wallet: false })), -})); - jest.mock('@deriv/shared', () => ({ ...jest.requireActual('@deriv/shared'), isMobile: jest.fn(() => false), @@ -99,8 +94,7 @@ describe('LanguageSettings', () => { }); it('should redirect when the user tries to reach `/account/languages` route having wallet accounts', () => { - //@ts-expect-error since this is a mock, we only need partial properties of useStoreWalletAccountsList data - mockedUseStoreWalletAccountsList.mockReturnValueOnce({ has_wallet: true }); + mockRootStore.client.has_wallet = true; Object.defineProperty(window, 'location', { configurable: true, value: { pathname: routes.languages }, diff --git a/packages/account/src/Sections/Profile/LanguageSettings/language-settings.tsx b/packages/account/src/Sections/Profile/LanguageSettings/language-settings.tsx index b8a698911e7d..0774b6a3cea2 100644 --- a/packages/account/src/Sections/Profile/LanguageSettings/language-settings.tsx +++ b/packages/account/src/Sections/Profile/LanguageSettings/language-settings.tsx @@ -1,17 +1,16 @@ import React from 'react'; import { Redirect } from 'react-router-dom'; -import { localize, getAllowedLanguages } from '@deriv/translations'; -import { useStoreWalletAccountsList } from '@deriv/hooks'; import { routes } from '@deriv/shared'; import { observer, useStore } from '@deriv/stores'; +import { localize, getAllowedLanguages } from '@deriv/translations'; import FormSubHeader from 'Components/form-sub-header'; import LanguageRadioButton from 'Components/language-settings'; const LanguageSettings = observer(() => { - const { common, ui } = useStore(); - const { is_mobile } = ui; + const { client, common, ui } = useStore(); + const { has_wallet } = client; const { changeSelectedLanguage, current_language } = common; - const { has_wallet } = useStoreWalletAccountsList(); + const { is_mobile } = ui; if (is_mobile || has_wallet) { return ; diff --git a/packages/appstore/src/components/main-title-bar/index.tsx b/packages/appstore/src/components/main-title-bar/index.tsx index afda0527277e..4003186cf44e 100644 --- a/packages/appstore/src/components/main-title-bar/index.tsx +++ b/packages/appstore/src/components/main-title-bar/index.tsx @@ -3,7 +3,7 @@ import { Text, DesktopWrapper, MobileWrapper, Tabs, Icon, Loading } from '@deriv import { ContentFlag, makeLazyLoader, moduleLoader } from '@deriv/shared'; import { observer, useStore } from '@deriv/stores'; import { Localize, localize } from '@deriv/translations'; -import { useWalletMigration } from '@deriv/hooks'; +import { useFeatureFlags, useWalletMigration } from '@deriv/hooks'; import RegulationsSwitcherLoader from 'Components/pre-loader/regulations-switcher-loader'; import BookBanner from 'Components/banners/book-banner'; import AccountTypeDropdown from './account-type-dropdown'; @@ -21,12 +21,15 @@ const WalletsBanner = makeLazyLoader( const MainTitleBar = () => { const { traders_hub, client } = useStore(); + const { is_landing_company_loaded, is_switching } = client; const { state: wallet_migration_state } = useWalletMigration(); const { selected_region, handleTabItemClick, toggleRegulatorsCompareModal, content_flag } = traders_hub; - const { is_landing_company_loaded, is_switching } = client; + const { is_next_wallet_enabled } = useFeatureFlags(); + const is_low_risk_cr_real_account = content_flag === ContentFlag.LOW_RISK_CR_NON_EU || content_flag === ContentFlag.LOW_RISK_CR_EU; - const show_wallets_banner = wallet_migration_state && wallet_migration_state !== 'ineligible'; + const show_wallets_banner = + is_next_wallet_enabled && wallet_migration_state && wallet_migration_state !== 'ineligible'; const [active_index, setActiveIndex] = React.useState(0); React.useEffect(() => { diff --git a/packages/appstore/src/components/modals/modal-manager.tsx b/packages/appstore/src/components/modals/modal-manager.tsx index fea9915c2aa2..3d737c2b2ccb 100644 --- a/packages/appstore/src/components/modals/modal-manager.tsx +++ b/packages/appstore/src/components/modals/modal-manager.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { observer } from 'mobx-react-lite'; -import { useWalletMigration } from '@deriv/hooks'; +import { useFeatureFlags, useWalletMigration } from '@deriv/hooks'; import { makeLazyLoader, moduleLoader } from '@deriv/shared'; import { Loading } from '@deriv/components'; import { TTradingPlatformAvailableAccount } from './account-type-modal/types'; @@ -178,6 +178,7 @@ type TCurrentList = DetailsOfEachMT5Loginid & { const ModalManager = () => { const { is_eligible, is_in_progress } = useWalletMigration(); + const { is_next_wallet_enabled } = useFeatureFlags(); const store = useStores(); const { common, client, modules, traders_hub, ui } = store; const { is_logged_in, is_eu, is_eu_country, is_populating_mt5_account_list, verification_code } = client; @@ -338,9 +339,13 @@ const ModalManager = () => { /> )} {is_failed_verification_modal_visible && } - {(is_real_wallets_upgrade_on || is_in_progress) && } - {is_wallet_migration_failed && } - {is_eligible && } + {is_next_wallet_enabled && ( + + {(is_real_wallets_upgrade_on || is_in_progress) && } + {is_wallet_migration_failed && } + {is_eligible && }{' '} + + )}
); }; diff --git a/packages/appstore/src/components/routes/routes.tsx b/packages/appstore/src/components/routes/routes.tsx index 9b128ad807dc..9532212afebe 100644 --- a/packages/appstore/src/components/routes/routes.tsx +++ b/packages/appstore/src/components/routes/routes.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import { Loading } from '@deriv/components'; -import { useFeatureFlags /*useWalletsList*/ } from '@deriv/hooks'; -import { observer } from '@deriv/stores'; +import { observer, useStore } from '@deriv/stores'; import { localize } from '@deriv/translations'; import { routes } from '@deriv/shared'; import { Switch, useHistory } from 'react-router-dom'; @@ -11,15 +10,13 @@ const Onboarding = React.lazy(() => import(/* webpackChunkName: "modules-onboard const TradersHub = React.lazy(() => import(/* webpackChunkName: "modules-traders-hub" */ 'Modules/traders-hub')); const Routes: React.FC = observer(() => { - //TODO: Uncomment once useWalletList hook is optimized for production release. - const { /*is_wallet_enabled,*/ is_next_wallet_enabled } = useFeatureFlags(); + const { client } = useStore(); + const { has_wallet } = client; const history = useHistory(); - // const { has_wallet, isLoading } = useWalletsList(); - // const should_show_wallets = is_wallet_enabled && has_wallet; React.useLayoutEffect(() => { - if (is_next_wallet_enabled) history.push(routes.wallets); - }, [history, is_next_wallet_enabled]); + if (has_wallet) history.push(routes.wallets); + }, [history, has_wallet]); return ( }> diff --git a/packages/core/src/App/AppContent.tsx b/packages/core/src/App/AppContent.tsx index 03f16b7fe60b..b5882cb80e57 100644 --- a/packages/core/src/App/AppContent.tsx +++ b/packages/core/src/App/AppContent.tsx @@ -2,7 +2,6 @@ import React from 'react'; import Cookies from 'js-cookie'; import { useRemoteConfig } from '@deriv/api'; import { DesktopWrapper } from '@deriv/components'; -import { useFeatureFlags, useStoreWalletAccountsList } from '@deriv/hooks'; import { getAppId, LocalStore, useIsMounted } from '@deriv/shared'; import { observer, useStore } from '@deriv/stores'; import { getLanguage } from '@deriv/translations'; @@ -23,9 +22,8 @@ import Devtools from './Devtools'; import initDatadog from '../Utils/Datadog'; const AppContent: React.FC<{ passthrough: unknown }> = observer(({ passthrough }) => { - const { is_next_wallet_enabled } = useFeatureFlags(); - const { has_wallet } = useStoreWalletAccountsList(); const store = useStore(); + const { has_wallet } = store.client; const isMounted = useIsMounted(); const { data } = useRemoteConfig(isMounted()); @@ -108,7 +106,7 @@ const AppContent: React.FC<{ passthrough: unknown }> = observer(({ passthrough } - {is_next_wallet_enabled && } + ); }); diff --git a/packages/core/src/App/Components/Layout/Header/Components/ToggleMenu/menu-title.tsx b/packages/core/src/App/Components/Layout/Header/Components/ToggleMenu/menu-title.tsx index e0ab5a84eab5..82395a4cb7f0 100644 --- a/packages/core/src/App/Components/Layout/Header/Components/ToggleMenu/menu-title.tsx +++ b/packages/core/src/App/Components/Layout/Header/Components/ToggleMenu/menu-title.tsx @@ -1,14 +1,13 @@ import React from 'react'; -import { useStoreWalletAccountsList } from '@deriv/hooks'; import { observer, useStore } from '@deriv/stores'; import { Icon, Text } from '@deriv/components'; import { localize, Localize } from '@deriv/translations'; const MenuTitle = observer(() => { - const { common, ui } = useStore(); + const { client, common, ui } = useStore(); + const { has_wallet } = client; const { current_language } = common; const { is_mobile_language_menu_open, setMobileLanguageMenuOpen } = ui; - const { has_wallet } = useStoreWalletAccountsList(); return ( diff --git a/packages/core/src/App/Components/Layout/Header/__tests__/toggle-menu-drawer.spec.jsx b/packages/core/src/App/Components/Layout/Header/__tests__/toggle-menu-drawer.spec.jsx index d5efb52b2d39..4131731341c0 100644 --- a/packages/core/src/App/Components/Layout/Header/__tests__/toggle-menu-drawer.spec.jsx +++ b/packages/core/src/App/Components/Layout/Header/__tests__/toggle-menu-drawer.spec.jsx @@ -12,10 +12,6 @@ jest.mock('@deriv/components', () => { MobileDrawer, }; }); -jest.mock('@deriv/hooks', () => ({ - ...jest.requireActual('@deriv/hooks'), - useFeatureFlags: jest.fn(() => ({ is_next_wallet_enabled: true })), -})); jest.mock('react-router-dom', () => ({ ...jest.requireActual('react-router-dom'), useLocation: jest.fn(() => ({ pathname: '/appstore/traders-hub' })), diff --git a/packages/core/src/App/Components/Layout/Header/menu-links.jsx b/packages/core/src/App/Components/Layout/Header/menu-links.jsx index 2765027bd79d..db17c7c07bc9 100644 --- a/packages/core/src/App/Components/Layout/Header/menu-links.jsx +++ b/packages/core/src/App/Components/Layout/Header/menu-links.jsx @@ -5,7 +5,7 @@ import { BinaryLink } from '../../Routes'; import { observer, useStore } from '@deriv/stores'; import { routes, startPerformanceEventTimer } from '@deriv/shared'; import { localize } from '@deriv/translations'; -import { useP2PNotificationCount, useIsRealAccountNeededForCashier, useFeatureFlags } from '@deriv/hooks'; +import { useP2PNotificationCount, useIsRealAccountNeededForCashier } from '@deriv/hooks'; import './menu-links.scss'; import { useHistory } from 'react-router'; @@ -91,16 +91,15 @@ const CashierTab = observer(() => { const MenuLinks = observer(({ is_traders_hub_routes = false }) => { const { i18n } = useTranslation(); const { client, ui } = useStore(); - const { is_logged_in } = client; + const { has_wallet, is_logged_in } = client; const { is_mobile } = ui; - const { is_next_wallet_enabled } = useFeatureFlags(); if (!is_logged_in) return <>; return (
{!is_traders_hub_routes && } - {!is_mobile && !is_next_wallet_enabled && } + {!has_wallet && !is_mobile && }
); }); diff --git a/packages/core/src/App/Components/Layout/Header/toggle-menu-drawer.jsx b/packages/core/src/App/Components/Layout/Header/toggle-menu-drawer.jsx index ab18f28f18b7..d2a66df685e2 100644 --- a/packages/core/src/App/Components/Layout/Header/toggle-menu-drawer.jsx +++ b/packages/core/src/App/Components/Layout/Header/toggle-menu-drawer.jsx @@ -7,12 +7,10 @@ import { Div100vhContainer, Icon, MobileDrawer, ToggleSwitch } from '@deriv/comp import { useAccountTransferVisible, useAuthorize, - useFeatureFlags, useIsP2PEnabled, useOnrampVisible, usePaymentAgentTransferVisible, useP2PSettings, - useStoreWalletAccountsList, } from '@deriv/hooks'; import { getOSNameWithUAParser, getStaticUrl, routes, useIsMounted, whatsapp_url } from '@deriv/shared'; import { observer, useStore } from '@deriv/stores'; @@ -40,6 +38,7 @@ const ToggleMenuDrawer = observer(({ platform_config }) => { } = ui; const { account_status, + has_wallet, is_logged_in, is_logging_in, is_virtual, @@ -62,8 +61,6 @@ const ToggleMenuDrawer = observer(({ platform_config }) => { const is_onramp_visible = useOnrampVisible(); const { data: is_payment_agent_transfer_visible } = usePaymentAgentTransferVisible(); const { is_p2p_enabled } = useIsP2PEnabled(); - const { is_next_wallet_enabled } = useFeatureFlags(); - const { has_wallet } = useStoreWalletAccountsList(); const { pathname: route } = useLocation(); @@ -90,7 +87,7 @@ const ToggleMenuDrawer = observer(({ platform_config }) => { } = useP2PSettings(); let TradersHubIcon; - if (is_next_wallet_enabled) { + if (has_wallet) { TradersHubIcon = 'IcAppstoreTradersHubHomeUpdated'; } else if (is_dark_mode) { TradersHubIcon = 'IcAppstoreHomeDark'; @@ -113,7 +110,7 @@ const ToggleMenuDrawer = observer(({ platform_config }) => { if (location === routes.traders_hub || is_trading_hub_category) { primary_routes = [routes.account, routes.cashier]; - } else if (location === routes.wallets || is_next_wallet_enabled) { + } else if (has_wallet || location === routes.wallets) { primary_routes = [routes.reports, routes.account]; } else { primary_routes = [routes.reports, routes.account, routes.cashier]; @@ -129,8 +126,8 @@ const ToggleMenuDrawer = observer(({ platform_config }) => { }, [ account_status, should_allow_authentication, + has_wallet, is_trading_hub_category, - is_next_wallet_enabled, is_mobile, is_passkey_supported, is_p2p_enabled, @@ -344,7 +341,7 @@ const ToggleMenuDrawer = observer(({ platform_config }) => { {is_logged_in && ( { const Footer = observer(() => { const { client, common, ui, traders_hub } = useStore(); - const { is_logged_in, landing_company_shortcode, is_eu, is_virtual } = client; + const { has_wallet, is_logged_in, landing_company_shortcode, is_eu, is_virtual } = client; const { current_language } = common; const { enableApp, @@ -53,7 +52,6 @@ const Footer = observer(() => { const { data } = useRemoteConfig(isMounted()); const { cs_chat_livechat, cs_chat_whatsapp } = data; const { show_eu_related_content } = traders_hub; - const { has_wallet } = useStoreWalletAccountsList(); let footer_extensions_left = []; let footer_extensions_right = []; diff --git a/packages/core/src/App/Containers/Layout/header/__tests__/default-mobile-links.spec.tsx b/packages/core/src/App/Containers/Layout/header/__tests__/default-mobile-links.spec.tsx index 6ac75f982491..ddc1a3b5aa11 100644 --- a/packages/core/src/App/Containers/Layout/header/__tests__/default-mobile-links.spec.tsx +++ b/packages/core/src/App/Containers/Layout/header/__tests__/default-mobile-links.spec.tsx @@ -14,10 +14,9 @@ jest.mock('../traders-hub-onboarding', () => jest.fn(() =>
MockedTradersHubOnboarding
) ); -jest.mock('@deriv/hooks', () => ({ - useFeatureFlags: () => ({ - is_next_wallet_enabled: false, - }), +jest.mock('@deriv/stores', () => ({ + ...jest.requireActual('@deriv/stores'), + useStore: jest.fn(() => ({ client: { has_wallet: false } })), })); describe('DefaultMobileLinks', () => { diff --git a/packages/core/src/App/Containers/Layout/header/__tests__/header.spec.tsx b/packages/core/src/App/Containers/Layout/header/__tests__/header.spec.tsx index 0ba1db00c2a6..a4c858816548 100644 --- a/packages/core/src/App/Containers/Layout/header/__tests__/header.spec.tsx +++ b/packages/core/src/App/Containers/Layout/header/__tests__/header.spec.tsx @@ -6,7 +6,6 @@ import Header from '../header'; jest.mock('@deriv/hooks', () => ({ ...jest.requireActual('@deriv/hooks'), - useFeatureFlags: jest.fn(() => ({ is_next_wallet_enabled: false })), useStoreWalletAccountsList: jest.fn(() => ({ data: [], has_wallet: false })), })); jest.mock('react-router-dom', () => ({ diff --git a/packages/core/src/App/Containers/Layout/header/__tests__/traders-hub-header.spec.tsx b/packages/core/src/App/Containers/Layout/header/__tests__/traders-hub-header.spec.tsx index 7f00e1e8e916..e2841b22b7eb 100644 --- a/packages/core/src/App/Containers/Layout/header/__tests__/traders-hub-header.spec.tsx +++ b/packages/core/src/App/Containers/Layout/header/__tests__/traders-hub-header.spec.tsx @@ -28,11 +28,10 @@ jest.mock('../../../CurrencySelectionModal', () => jest.fn(() =>
MockedCurr jest.mock('../show-notifications', () => jest.fn(() =>
MockedShowNotifications
)); jest.mock('@deriv/hooks', () => ({ - useFeatureFlags: () => ({ - is_next_wallet_enabled: false, - }), - useIsRealAccountNeededForCashier: () => false, - useHasSetCurrency: () => true, + ...jest.requireActual('@deriv/hooks'), + useFeatureFlags: jest.fn(() => ({})), + useHasSetCurrency: jest.fn(() => true), + useIsRealAccountNeededForCashier: jest.fn(() => false), })); describe('TradersHubHeader', () => { diff --git a/packages/core/src/App/Containers/Layout/header/__tests__/traders-hub-onboarding.spec.tsx b/packages/core/src/App/Containers/Layout/header/__tests__/traders-hub-onboarding.spec.tsx index f7cdb0d44e17..aa9f9a0795fc 100644 --- a/packages/core/src/App/Containers/Layout/header/__tests__/traders-hub-onboarding.spec.tsx +++ b/packages/core/src/App/Containers/Layout/header/__tests__/traders-hub-onboarding.spec.tsx @@ -8,13 +8,6 @@ import TradersHubOnboarding from '../traders-hub-onboarding'; import { routes } from '@deriv/shared'; import { TCoreStores } from '@deriv/stores/types'; -jest.mock('@deriv/hooks', () => ({ - ...jest.requireActual('@deriv/hooks'), - useFeatureFlags: jest.fn(() => ({ - is_next_wallet_enabled: false, - })), -})); - describe('TradersHubOnboarding', () => { const onboarding_icon_testid = 'dt_traders_hub_onboarding_icon'; const popover_wrapper_testid = 'dt_popover_wrapper'; diff --git a/packages/core/src/App/Containers/Layout/header/default-mobile-links.tsx b/packages/core/src/App/Containers/Layout/header/default-mobile-links.tsx index 814a1f0a972e..997fafba7116 100644 --- a/packages/core/src/App/Containers/Layout/header/default-mobile-links.tsx +++ b/packages/core/src/App/Containers/Layout/header/default-mobile-links.tsx @@ -2,20 +2,22 @@ import React from 'react'; import { Button, Icon } from '@deriv/components'; import { routes } from '@deriv/shared'; +import { useStore } from '@deriv/stores'; import { Localize } from '@deriv/translations'; import { BinaryLink } from 'App/Components/Routes'; import ShowNotifications from './show-notifications'; import TradersHubOnboarding from './traders-hub-onboarding'; -import { useFeatureFlags } from '@deriv/hooks'; type TDefaultMobileLinks = { handleClickCashier: () => void; }; const DefaultMobileLinks = React.memo(({ handleClickCashier }: TDefaultMobileLinks) => { - const { is_next_wallet_enabled } = useFeatureFlags(); + const { client } = useStore(); + const { has_wallet } = client; + return (
@@ -27,7 +29,7 @@ const DefaultMobileLinks = React.memo(({ handleClickCashier }: TDefaultMobileLin - {!is_next_wallet_enabled && ( + {!has_wallet && (
- -
+

No transactions found

); }; diff --git a/packages/wallets/src/features/cashier/modules/Transactions/components/TransactionsNoDataState/__tests__/TransactionNoDataState.spec.tsx b/packages/wallets/src/features/cashier/modules/Transactions/components/TransactionsNoDataState/__tests__/TransactionNoDataState.spec.tsx index 03a19a60a1b1..2acbcbefe47b 100644 --- a/packages/wallets/src/features/cashier/modules/Transactions/components/TransactionsNoDataState/__tests__/TransactionNoDataState.spec.tsx +++ b/packages/wallets/src/features/cashier/modules/Transactions/components/TransactionsNoDataState/__tests__/TransactionNoDataState.spec.tsx @@ -1,46 +1,15 @@ import React from 'react'; -import { useHistory } from 'react-router-dom'; -import { fireEvent, render, screen } from '@testing-library/react'; +import { render, screen } from '@testing-library/react'; import TransactionsNoDataState from '../TransactionsNoDataState'; jest.mock('react-router-dom', () => ({ useHistory: jest.fn(), })); -const mockUseHistory = useHistory as jest.Mock; describe('TransactionsNoDataState', () => { test('should render contents of component correctly', () => { render(); - expect(screen.getByText('No recent transactions')).toBeInTheDocument(); - expect( - screen.getByText( - 'Make a deposit or transfer funds from your existing trading account(s) or other Wallet(s).' - ) - ).toBeInTheDocument(); - expect(screen.getByText('Transfer funds')).toBeInTheDocument(); - expect(screen.getByText('Deposit funds')).toBeInTheDocument(); - }); - - test('should navigate to transfer page on click of "Transfer funds" button', () => { - const pushMock = jest.fn(); - mockUseHistory.mockReturnValue({ push: pushMock }); - - render(); - - fireEvent.click(screen.getByText('Transfer funds')); - - expect(pushMock).toHaveBeenCalledWith('/wallets/cashier/transfer'); - }); - - test('should navigate to deposit page on click of "Deposit funds" button', () => { - const pushMock = jest.fn(); - mockUseHistory.mockReturnValue({ push: pushMock }); - - render(); - - fireEvent.click(screen.getByText('Deposit funds')); - - expect(pushMock).toHaveBeenCalledWith('/wallets/cashier/deposit'); + expect(screen.getByText('No transactions found')).toBeInTheDocument(); }); }); From 39b53dae0eb141f8b6b7526cd5048f6f5730c5c7 Mon Sep 17 00:00:00 2001 From: Likhith Kolayari <98398322+likhith-deriv@users.noreply.github.com> Date: Wed, 15 May 2024 19:15:41 +0400 Subject: [PATCH 14/95] [coj]/likhith/coj-775/added dependencies of accounts to externals to consume from core (#15106) * chore: added dependencies to externals to consume from core * fix: repnamed js to TS extension --- packages/account/build/webpack.config.js | 9 ++++++++- packages/account/package.json | 1 - .../account-limits/account-limits-article.tsx | 2 +- .../account-limits/account-limits-context.tsx | 2 +- .../account-limits/account-limits-extra-info.tsx | 2 +- .../account-limits/account-limits-footer.tsx | 2 +- .../account-limits/account-limits-overlay.tsx | 2 +- .../account-limits/account-limits-table-cell.tsx | 2 +- .../account-limits/account-limits-table-header.tsx | 2 +- .../account-limits-turnover-limit-row.tsx | 2 +- .../Components/address-details/address-details.tsx | 1 - .../address-details/{index.js => index.ts} | 0 .../src/Components/api-token/api-token-context.ts | 2 +- .../account/src/Components/api-token/api-token.tsx | 12 +----------- .../leave-confirm/{index.js => index.ts} | 0 .../personal-details/{index.js => index.ts} | 0 .../poa-address-mismatch-hint-box.spec.tsx | 14 -------------- .../unsupported/card-details/input-field.tsx | 5 ----- .../self-exclusion-article-content.tsx | 7 +------ .../self-exclusion/self-exclusion-article.tsx | 2 +- .../self-exclusion-confirm-limits.tsx | 2 +- .../self-exclusion/self-exclusion-confirm-page.tsx | 2 +- .../self-exclusion/self-exclusion-footer.tsx | 2 +- .../self-exclusion/self-exclusion-inputs.tsx | 2 +- .../self-exclusion/self-exclusion-modal.tsx | 2 +- .../self-exclusion/self-exclusion-wrapper.tsx | 2 +- .../Security/SelfExclusion/self-exclusion.tsx | 2 +- packages/account/src/Sections/Security/vpn.jsx | 8 -------- 28 files changed, 27 insertions(+), 64 deletions(-) rename packages/account/src/Components/address-details/{index.js => index.ts} (100%) rename packages/account/src/Components/leave-confirm/{index.js => index.ts} (100%) rename packages/account/src/Components/personal-details/{index.js => index.ts} (100%) delete mode 100644 packages/account/src/Components/poa-address-mismatch-hint-box/__test__/poa-address-mismatch-hint-box.spec.tsx delete mode 100644 packages/account/src/Sections/Security/vpn.jsx diff --git a/packages/account/build/webpack.config.js b/packages/account/build/webpack.config.js index d4e8d6b2e42c..81c41c24fba7 100644 --- a/packages/account/build/webpack.config.js +++ b/packages/account/build/webpack.config.js @@ -91,12 +91,19 @@ module.exports = function (env) { 'react-dom': 'react-dom', 'react-router-dom': 'react-router-dom', 'react-router': 'react-router', + 'react-i18next': 'react-i18next', mobx: 'mobx', + formik: 'formik', + classnames: 'classnames', + 'js-cookie': 'js-cookie', 'mobx-react': 'mobx-react', '@deriv/shared': '@deriv/shared', '@deriv/components': '@deriv/components', '@deriv/translations': '@deriv/translations', - '@deriv-com/analytics': `@deriv-com/analytics`, + '@deriv-com/analytics': '@deriv-com/analytics', + '@deriv/api': '@deriv/api', + '@deriv/hooks': '@deriv/hooks', + '@deriv/stores': '@deriv/stores', }, /^@deriv\/shared\/.+$/, /^@deriv\/components\/.+$/, diff --git a/packages/account/package.json b/packages/account/package.json index ad91e890c116..fec5d4465cec 100644 --- a/packages/account/package.json +++ b/packages/account/package.json @@ -46,7 +46,6 @@ "js-cookie": "^2.2.1", "mobx": "^6.6.1", "mobx-react": "^7.5.1", - "prop-types": "^15.7.2", "qrcode.react": "^3.1.0", "react": "^17.0.2", "react-dom": "^17.0.2", diff --git a/packages/account/src/Components/account-limits/account-limits-article.tsx b/packages/account/src/Components/account-limits/account-limits-article.tsx index a3649d0c822e..7f787a1db86b 100644 --- a/packages/account/src/Components/account-limits/account-limits-article.tsx +++ b/packages/account/src/Components/account-limits/account-limits-article.tsx @@ -1,4 +1,4 @@ -import * as React from 'react'; +import React from 'react'; import { Localize, localize } from '@deriv/translations'; import AccountArticle from 'Components/article'; diff --git a/packages/account/src/Components/account-limits/account-limits-context.tsx b/packages/account/src/Components/account-limits/account-limits-context.tsx index 3ee0a4067ad8..65423704ad3d 100644 --- a/packages/account/src/Components/account-limits/account-limits-context.tsx +++ b/packages/account/src/Components/account-limits/account-limits-context.tsx @@ -1,4 +1,4 @@ -import * as React from 'react'; +import React from 'react'; export type TAccountLimitsContext = { currency: string; diff --git a/packages/account/src/Components/account-limits/account-limits-extra-info.tsx b/packages/account/src/Components/account-limits/account-limits-extra-info.tsx index a6241670fd7a..9fa3e8e8b456 100644 --- a/packages/account/src/Components/account-limits/account-limits-extra-info.tsx +++ b/packages/account/src/Components/account-limits/account-limits-extra-info.tsx @@ -1,4 +1,4 @@ -import * as React from 'react'; +import React from 'react'; import { Popover, Text } from '@deriv/components'; import { isMobile } from '@deriv/shared'; diff --git a/packages/account/src/Components/account-limits/account-limits-footer.tsx b/packages/account/src/Components/account-limits/account-limits-footer.tsx index 3392df6f9d64..8b598e33af10 100644 --- a/packages/account/src/Components/account-limits/account-limits-footer.tsx +++ b/packages/account/src/Components/account-limits/account-limits-footer.tsx @@ -1,4 +1,4 @@ -import * as React from 'react'; +import React from 'react'; import { createPortal } from 'react-dom'; import { Text } from '@deriv/components'; import { Localize } from '@deriv/translations'; diff --git a/packages/account/src/Components/account-limits/account-limits-overlay.tsx b/packages/account/src/Components/account-limits/account-limits-overlay.tsx index 49fae5007e85..4fd3c6547b76 100644 --- a/packages/account/src/Components/account-limits/account-limits-overlay.tsx +++ b/packages/account/src/Components/account-limits/account-limits-overlay.tsx @@ -1,4 +1,4 @@ -import * as React from 'react'; +import React from 'react'; import { Popup, StaticUrl } from '@deriv/components'; import { Localize, localize } from '@deriv/translations'; import AccountLimitsContext from './account-limits-context'; diff --git a/packages/account/src/Components/account-limits/account-limits-table-cell.tsx b/packages/account/src/Components/account-limits/account-limits-table-cell.tsx index c712096bc1f0..b904ae71decb 100644 --- a/packages/account/src/Components/account-limits/account-limits-table-cell.tsx +++ b/packages/account/src/Components/account-limits/account-limits-table-cell.tsx @@ -1,4 +1,4 @@ -import * as React from 'react'; +import React from 'react'; import classNames from 'classnames'; import { Text } from '@deriv/components'; diff --git a/packages/account/src/Components/account-limits/account-limits-table-header.tsx b/packages/account/src/Components/account-limits/account-limits-table-header.tsx index ce78bed50735..00e69fe4c1de 100644 --- a/packages/account/src/Components/account-limits/account-limits-table-header.tsx +++ b/packages/account/src/Components/account-limits/account-limits-table-header.tsx @@ -1,4 +1,4 @@ -import * as React from 'react'; +import React from 'react'; import classNames from 'classnames'; import { Text } from '@deriv/components'; diff --git a/packages/account/src/Components/account-limits/account-limits-turnover-limit-row.tsx b/packages/account/src/Components/account-limits/account-limits-turnover-limit-row.tsx index 2fd4b11e538f..b373710362f2 100644 --- a/packages/account/src/Components/account-limits/account-limits-turnover-limit-row.tsx +++ b/packages/account/src/Components/account-limits/account-limits-turnover-limit-row.tsx @@ -1,4 +1,4 @@ -import * as React from 'react'; +import React from 'react'; import { formatMoney } from '@deriv/shared'; import AccountLimitsTableCell from './account-limits-table-cell'; import AccountLimitsContext, { TAccountLimitsContext } from './account-limits-context'; diff --git a/packages/account/src/Components/address-details/address-details.tsx b/packages/account/src/Components/address-details/address-details.tsx index 49cbb36eb598..2f5dcbc550f5 100644 --- a/packages/account/src/Components/address-details/address-details.tsx +++ b/packages/account/src/Components/address-details/address-details.tsx @@ -16,7 +16,6 @@ import { ThemedScrollbars, } from '@deriv/components'; import { useStatesList } from '@deriv/hooks'; -import { getLocation } from '@deriv/shared'; import { observer, useStore } from '@deriv/stores'; import { localize, Localize } from '@deriv/translations'; import InlineNoteWithIcon from '../inline-note-with-icon'; diff --git a/packages/account/src/Components/address-details/index.js b/packages/account/src/Components/address-details/index.ts similarity index 100% rename from packages/account/src/Components/address-details/index.js rename to packages/account/src/Components/address-details/index.ts diff --git a/packages/account/src/Components/api-token/api-token-context.ts b/packages/account/src/Components/api-token/api-token-context.ts index f6adb5bdec80..1df0606c43ff 100644 --- a/packages/account/src/Components/api-token/api-token-context.ts +++ b/packages/account/src/Components/api-token/api-token-context.ts @@ -1,4 +1,4 @@ -import * as React from 'react'; +import React from 'react'; import { TApiContext } from 'Types'; const ApiTokenContext = React.createContext({ diff --git a/packages/account/src/Components/api-token/api-token.tsx b/packages/account/src/Components/api-token/api-token.tsx index 61be3faa8e6d..7f66e93bdcd9 100644 --- a/packages/account/src/Components/api-token/api-token.tsx +++ b/packages/account/src/Components/api-token/api-token.tsx @@ -8,8 +8,6 @@ import { localize } from '@deriv/translations'; import LoadErrorMessage from 'Components/load-error-message'; import ApiTokenArticle from './api-token-article'; import ApiTokenCard from './api-token-card'; -import ApiTokenFooter from './api-token-footer'; -import ApiTokenOverlay from './api-token-overlay'; import ApiTokenTable from './api-token-table'; import ApiTokenContext from './api-token-context'; import { TToken } from 'Types'; @@ -33,14 +31,8 @@ type AptTokenState = { export type TApiToken = { footer_ref: Element | DocumentFragment | undefined; is_app_settings: boolean; - overlay_ref: - | undefined - | ((...args: unknown[]) => unknown) - | import('prop-types').InferProps<{ - current: import('prop-types').Requireable; - }>; + overlay_ref: undefined | ((...args: unknown[]) => unknown); setIsOverlayShown: (is_overlay_shown: boolean | undefined) => void; - // eslint-disable-next-line @typescript-eslint/no-explicit-any }; const ApiToken = ({ footer_ref, is_app_settings, overlay_ref, setIsOverlayShown }: TApiToken) => { @@ -349,8 +341,6 @@ const ApiToken = ({ footer_ref, is_app_settings, overlay_ref, setIsOverlayShown {!is_app_settings && isDesktop() && }
- {footer_ref && } - {overlay_ref && is_overlay_shown && }
); diff --git a/packages/account/src/Components/leave-confirm/index.js b/packages/account/src/Components/leave-confirm/index.ts similarity index 100% rename from packages/account/src/Components/leave-confirm/index.js rename to packages/account/src/Components/leave-confirm/index.ts diff --git a/packages/account/src/Components/personal-details/index.js b/packages/account/src/Components/personal-details/index.ts similarity index 100% rename from packages/account/src/Components/personal-details/index.js rename to packages/account/src/Components/personal-details/index.ts diff --git a/packages/account/src/Components/poa-address-mismatch-hint-box/__test__/poa-address-mismatch-hint-box.spec.tsx b/packages/account/src/Components/poa-address-mismatch-hint-box/__test__/poa-address-mismatch-hint-box.spec.tsx deleted file mode 100644 index 0ec9d82c3d99..000000000000 --- a/packages/account/src/Components/poa-address-mismatch-hint-box/__test__/poa-address-mismatch-hint-box.spec.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import React from 'react'; -import { screen, render } from '@testing-library/react'; -import POAAddressMismatchHintBox from '../poa-address-mismatch-hint-box'; - -describe('POAAddressMismatchHintBox', () => { - it('should render POAAddressMismatchHintBox', () => { - render(); - expect( - screen.getByText( - /it appears that the address in your document doesn’t match the address in your deriv profile\. please update your personal details now with the correct address\./i - ) - ).toBeInTheDocument(); - }); -}); diff --git a/packages/account/src/Components/poi/status/unsupported/card-details/input-field.tsx b/packages/account/src/Components/poi/status/unsupported/card-details/input-field.tsx index 245b0eec9c6a..0b9c558a4b33 100644 --- a/packages/account/src/Components/poi/status/unsupported/card-details/input-field.tsx +++ b/packages/account/src/Components/poi/status/unsupported/card-details/input-field.tsx @@ -1,5 +1,4 @@ import React from 'react'; -import PropTypes from 'prop-types'; import { Field, FormikValues } from 'formik'; import { DatePicker, Input } from '@deriv/components'; import { toMoment } from '@deriv/shared'; @@ -46,8 +45,4 @@ const InputField = ({ data }: FormikValues) => { } }; -InputField.propTypes = { - data: PropTypes.object, -}; - export default InputField; diff --git a/packages/account/src/Components/self-exclusion/self-exclusion-article-content.tsx b/packages/account/src/Components/self-exclusion/self-exclusion-article-content.tsx index 8f25a7cd264d..2a02e0aab9e7 100644 --- a/packages/account/src/Components/self-exclusion/self-exclusion-article-content.tsx +++ b/packages/account/src/Components/self-exclusion/self-exclusion-article-content.tsx @@ -1,6 +1,5 @@ import classNames from 'classnames'; -import * as React from 'react'; -import PropTypes from 'prop-types'; +import React from 'react'; import { getStaticUrl } from '@deriv/shared'; import { Localize, localize } from '@deriv/translations'; import { Button, Icon, OpenLiveChatLink, Popup, Text } from '@deriv/components'; @@ -174,8 +173,4 @@ const SelfExclusionArticleContent = ({ is_in_overlay }: Partial

VPN

; - -// Vpn.propTypes = {}; - -export default Vpn; From da03b12ab9dbda0bc44044d4c1fa8e66780b844f Mon Sep 17 00:00:00 2001 From: Aum Bhatt <125039206+aum-deriv@users.noreply.github.com> Date: Wed, 15 May 2024 22:53:34 +0400 Subject: [PATCH 15/95] [WALL] aum / WALL-3808 / show-latest-balance-wallet-cashier-overlay-and-wallet-header (#15014) * feat: added useBalanceSubscription hook * feat: replaced balance in the header with subscribable balance * feat: added balance subscription for wallet header balance * feat: added unit tests for balance for WalletCashierHeader * chore: fix sonarcloud issues * chore: added data-testid for the real/demo wallet switcher * chore: fix integration test for balance * fix: added subscribed balance call to wallet card in mobile carousel * fix: fix integration tests * fix: balance glitching on switching wallet in carousel --- packages/api-v2/src/hooks/index.ts | 1 + .../src/hooks/useBalanceSubscription.ts | 29 +++++++ .../component-tests/mocks/mockBalance.ts | 14 +++- .../WalletListCardBalance.tsx | 17 ++-- .../__tests__/WalletListCardBalance.spec.tsx | 57 ++++++++++--- .../WalletListHeader/WalletListHeader.tsx | 1 + .../WalletsCarouselContent.tsx | 32 +++++++- .../WalletCashierHeader.tsx | 17 +++- .../__tests__/WalletCashierHeader.spec.tsx | 82 ++++++++++++++----- 9 files changed, 208 insertions(+), 42 deletions(-) create mode 100644 packages/api-v2/src/hooks/useBalanceSubscription.ts diff --git a/packages/api-v2/src/hooks/index.ts b/packages/api-v2/src/hooks/index.ts index 3059b41378aa..cd5013e1d01e 100644 --- a/packages/api-v2/src/hooks/index.ts +++ b/packages/api-v2/src/hooks/index.ts @@ -13,6 +13,7 @@ export { default as useAccesiblePlatforms } from './useAccesiblePlatforms'; export { default as useAvailableMT5Accounts } from './useAvailableMT5Accounts'; export { default as useAvailableWallets } from './useAvailableWallets'; export { default as useBalance } from './useBalance'; +export { default as useBalanceSubscription } from './useBalanceSubscription'; export { default as useCashierValidation } from './useCashierValidation'; export { default as useCloseDerivAccount } from './useCloseDerivAccount'; export { default as useCFDAccountsList } from './useCFDAccountsList'; diff --git a/packages/api-v2/src/hooks/useBalanceSubscription.ts b/packages/api-v2/src/hooks/useBalanceSubscription.ts new file mode 100644 index 000000000000..b9224cfc9629 --- /dev/null +++ b/packages/api-v2/src/hooks/useBalanceSubscription.ts @@ -0,0 +1,29 @@ +import { useCallback, useMemo } from 'react'; +import useSubscription from '../useSubscription'; + +type TPayload = NonNullable>['subscribe']>[0]>['payload']; + +/** A custom hook that subscribes to the balance call and continuously gets the balance for the user account(s) provided. */ +const useBalanceSubscription = () => { + const { data: balance_data, subscribe: _subscribe, ...rest } = useSubscription('balance'); + + const subscribe = useCallback( + (payload: TPayload) => { + _subscribe({ payload }); + }, + [_subscribe] + ); + + // Add additional information to the balance data. + const modified_balance = useMemo(() => ({ ...balance_data?.balance }), [balance_data?.balance]); + + return { + /** The balance response. */ + data: modified_balance, + /** Function to subscribe to balance */ + subscribe, + ...rest, + }; +}; + +export default useBalanceSubscription; diff --git a/packages/wallets/component-tests/mocks/mockBalance.ts b/packages/wallets/component-tests/mocks/mockBalance.ts index a8780a8c6299..fe85177cb2b7 100644 --- a/packages/wallets/component-tests/mocks/mockBalance.ts +++ b/packages/wallets/component-tests/mocks/mockBalance.ts @@ -88,7 +88,7 @@ export function mockBalance(context: Context) { return; } - if (!context.request.account) { + if (!context.request.account && !context.request.loginid) { return; } @@ -102,6 +102,18 @@ export function mockBalance(context: Context) { return; } + if (context.request.subscribe === 1) { + context.response = { + balance: TEMP_DATA.accounts[context.request.loginid], + echo_req: context.request, + msg_type: 'balance', + req_id: context.req_id, + subscription: { id: '88790cc1-7281-6a55-936e-c3de3d67c022' }, + }; + + return; + } + context.response = { balance: TEMP_DATA.accounts[context.request.account], echo_req: context.request, diff --git a/packages/wallets/src/components/WalletListCardBalance/WalletListCardBalance.tsx b/packages/wallets/src/components/WalletListCardBalance/WalletListCardBalance.tsx index 3cff21e25795..d624415f603d 100644 --- a/packages/wallets/src/components/WalletListCardBalance/WalletListCardBalance.tsx +++ b/packages/wallets/src/components/WalletListCardBalance/WalletListCardBalance.tsx @@ -1,12 +1,17 @@ -import React from 'react'; -import { useActiveWalletAccount, useBalance } from '@deriv/api-v2'; +import React, { useEffect } from 'react'; +import { useActiveWalletAccount, useBalanceSubscription } from '@deriv/api-v2'; +import { displayMoney } from '@deriv/api-v2/src/utils'; import { WalletText } from '../Base'; import './WalletListCardBalance.scss'; const WalletListCardBalance = () => { - const { isLoading: isBalanceLoading } = useBalance(); + const { data: balanceData, isLoading: isBalanceLoading, subscribe, unsubscribe } = useBalanceSubscription(); const { data: activeWallet, isInitializing: isActiveWalletInitializing } = useActiveWalletAccount(); - const balance = activeWallet?.display_balance; + + useEffect(() => { + subscribe({ loginid: activeWallet?.loginid }); + return () => unsubscribe(); + }, [activeWallet?.loginid, subscribe, unsubscribe]); // ideally we should have one specific hook to use data & loading state together // as right now, we are using useBalance just to figure out if account data is complete @@ -23,7 +28,9 @@ const WalletListCardBalance = () => { /> ) : ( - {balance} + {displayMoney?.(balanceData?.balance ?? 0, activeWallet?.currency ?? '', { + fractional_digits: activeWallet?.currency_config?.fractional_digits, + })} )} diff --git a/packages/wallets/src/components/WalletListCardBalance/__tests__/WalletListCardBalance.spec.tsx b/packages/wallets/src/components/WalletListCardBalance/__tests__/WalletListCardBalance.spec.tsx index 6cfb17f650b1..67d6f972f997 100644 --- a/packages/wallets/src/components/WalletListCardBalance/__tests__/WalletListCardBalance.spec.tsx +++ b/packages/wallets/src/components/WalletListCardBalance/__tests__/WalletListCardBalance.spec.tsx @@ -1,6 +1,6 @@ import React from 'react'; -import { APIProvider, useBalance } from '@deriv/api-v2'; -import { render, screen } from '@testing-library/react'; +import { APIProvider, useBalanceSubscription } from '@deriv/api-v2'; +import { render, screen, waitFor } from '@testing-library/react'; import WalletsAuthProvider from '../../../AuthProvider'; import WalletListCardBalance from '../WalletListCardBalance'; @@ -8,13 +8,11 @@ jest.mock('@deriv/api-v2', () => ({ ...jest.requireActual('@deriv/api-v2'), useActiveWalletAccount: jest.fn(() => ({ data: { - display_balance: '100 USD', + currency: 'USD', + loginid: 'CR1', }, })), - useBalance: jest.fn(() => ({ - ...jest.requireActual('@deriv/api-v2').useBalance(), - isLoading: false, - })), + useBalanceSubscription: jest.fn(), })); describe('WalletListCardBalance', () => { @@ -25,15 +23,52 @@ describe('WalletListCardBalance', () => { ); it('should show account balance', () => { + (useBalanceSubscription as jest.Mock).mockReturnValue({ + data: { + balance: '100', + }, + isLoading: false, + subscribe: jest.fn(), + unsubscribe: jest.fn(), + }); + render(, { wrapper }); + expect(screen.getByText('100.00 USD')).toBeInTheDocument(); + }); + + it('should subscribe to the balance call with for the correct account when the component mounts', () => { + const mockSubscribe = jest.fn(); + + (useBalanceSubscription as jest.Mock).mockReturnValue({ + isLoading: false, + subscribe: mockSubscribe, + unsubscribe: jest.fn(), + }); render(, { wrapper }); - expect(screen.getByText('100 USD')).toBeInTheDocument(); + expect(mockSubscribe).toBeCalledWith({ loginid: 'CR1' }); + }); + + it('should unsubscribe to the balance call when the component unmounts', async () => { + const mockUnsubscribe = jest.fn(); + + (useBalanceSubscription as jest.Mock).mockReturnValue({ + isLoading: false, + subscribe: jest.fn(), + unsubscribe: mockUnsubscribe, + }); + const { unmount } = render(, { wrapper }); + unmount(); + + await waitFor(() => { + expect(mockUnsubscribe).toBeCalled(); + }); }); it('should show loader when balance has not been loaded', () => { - (useBalance as jest.Mock).mockImplementationOnce(() => ({ - ...jest.requireActual('@deriv/api-v2').useBalance(), + (useBalanceSubscription as jest.Mock).mockReturnValue({ isLoading: true, - })); + subscribe: jest.fn(), + unsubscribe: jest.fn(), + }); render(, { wrapper }); expect(screen.queryByText('100 USD')).not.toBeInTheDocument(); expect(screen.getByTestId('dt_wallet_list_card_balance_loader')).toBeInTheDocument(); diff --git a/packages/wallets/src/components/WalletListHeader/WalletListHeader.tsx b/packages/wallets/src/components/WalletListHeader/WalletListHeader.tsx index 6e06ce33275b..5a12da25e250 100644 --- a/packages/wallets/src/components/WalletListHeader/WalletListHeader.tsx +++ b/packages/wallets/src/components/WalletListHeader/WalletListHeader.tsx @@ -50,6 +50,7 @@ const WalletListHeader: React.FC = () => { = ({ onWalletSettled }) => { const { data: walletAccountsList, isLoading: isWalletAccountsListLoading } = useMobileCarouselWalletsList(); const { data: activeWallet, isLoading: isActiveWalletLoading } = useActiveWalletAccount(); + const { + data: balanceData, + isLoading: isBalanceLoading, + isSubscribed, + subscribe, + unsubscribe, + } = useBalanceSubscription(); const { isLoading: isCurrencyConfigLoading } = useCurrencyConfig(); const [selectedLoginId, setSelectedLoginId] = useState(''); @@ -177,11 +190,18 @@ const WalletsCarouselContent: React.FC = ({ onWalletSettled }) => { if (index !== -1) { walletsCarouselEmblaApi?.scrollTo(index); } + if (isSubscribed) unsubscribe(); + subscribe({ loginid: selectedLoginId }); }); } // eslint-disable-next-line react-hooks/exhaustive-deps }, [selectedLoginId, walletAccountsList]); + // unsubscribe to the balance call if the whole component unmounts + useEffect(() => { + return () => unsubscribe(); + }, [unsubscribe]); + // initial loading useEffect(() => { if (walletsCarouselEmblaApi && isInitialDataLoaded) { @@ -235,7 +255,15 @@ const WalletsCarouselContent: React.FC = ({ onWalletSettled }) => {
{walletAccountsList?.map((account, index) => ( = ({ hideWalletDetails }) => { const { data: activeWallet } = useActiveWalletAccount(); + const { data: balanceData, subscribe, unsubscribe } = useBalanceSubscription(); const { isMobile } = useDevice(); const activeTabRef = useRef(null); const history = useHistory(); @@ -76,6 +78,15 @@ const WalletCashierHeader: React.FC = ({ hideWalletDetails }) => { } }, [location.pathname, isMobile]); + useEffect(() => { + subscribe({ + loginid: activeWallet?.loginid, + }); + return () => { + unsubscribe(); + }; + }, [activeWallet?.loginid, subscribe, unsubscribe]); + return ( = ({ hideWalletDetails }) => { )}
- {activeWallet?.display_balance} + {displayMoney?.(balanceData?.balance ?? 0, activeWallet?.currency || '', { + fractional_digits: activeWallet?.currency_config?.fractional_digits, + })}
diff --git a/packages/wallets/src/features/cashier/components/WalletCashierHeader/__tests__/WalletCashierHeader.spec.tsx b/packages/wallets/src/features/cashier/components/WalletCashierHeader/__tests__/WalletCashierHeader.spec.tsx index d96414c9f881..b068c2cffc1c 100644 --- a/packages/wallets/src/features/cashier/components/WalletCashierHeader/__tests__/WalletCashierHeader.spec.tsx +++ b/packages/wallets/src/features/cashier/components/WalletCashierHeader/__tests__/WalletCashierHeader.spec.tsx @@ -1,17 +1,18 @@ import React from 'react'; -import { APIProvider } from '@deriv/api-v2'; -import { render, screen } from '@testing-library/react'; +import { APIProvider, useBalanceSubscription } from '@deriv/api-v2'; +import { render, screen, waitFor } from '@testing-library/react'; import WalletsAuthProvider from '../../../../../AuthProvider'; import WalletCashierHeader from '../WalletCashierHeader'; -const DISPLAY_BALANCE = 'RM42'; jest.mock('@deriv/api-v2', () => ({ ...jest.requireActual('@deriv/api-v2'), useActiveWalletAccount: jest.fn().mockReturnValue({ data: { - display_balance: DISPLAY_BALANCE, + currency: 'USD', + loginid: 'CR1', }, }), + useBalanceSubscription: jest.fn(), })); jest.mock('react-router-dom', () => ({ @@ -20,30 +21,69 @@ jest.mock('react-router-dom', () => ({ useLocation: () => ({ pathname: '/wallets' }), })); +const wrapper: React.FC = ({ children }) => ( + + {children} + +); + describe('', () => { - it('renders', () => { - render( - - - - - - ); + beforeEach(() => { + (useBalanceSubscription as jest.Mock).mockReturnValue({ + data: { + balance: 10, + }, + subscribe: jest.fn(), + unsubscribe: jest.fn(), + }); + }); + + it('should test if header renders', () => { + render(, { wrapper }); const divElement = screen.getByTestId('dt_wallet_gradient_background'); expect(divElement).toBeInTheDocument(); }); - it('displays balance', () => { - render( - - - - - - ); + it('should test if correct balance displays', () => { + render(, { wrapper }); - const balanceElement = screen.getByText(DISPLAY_BALANCE); + const balanceElement = screen.getByText('10.00 USD'); expect(balanceElement).toBeInTheDocument(); }); + + it('should test if the balance call is subscribed with the correct account when the header mounts', () => { + const mockSubscribe = jest.fn(); + + (useBalanceSubscription as jest.Mock).mockReturnValue({ + data: { + balance: 10, + }, + subscribe: mockSubscribe, + unsubscribe: jest.fn(), + }); + + render(, { wrapper }); + + expect(mockSubscribe).toBeCalledWith({ loginid: 'CR1' }); + }); + + it('should test if the balance call is unsubscribed when the header mounts', async () => { + const mockUnsubscribe = jest.fn(); + + (useBalanceSubscription as jest.Mock).mockReturnValue({ + data: { + balance: 10, + }, + subscribe: jest.fn(), + unsubscribe: mockUnsubscribe, + }); + + const { unmount } = render(, { wrapper }); + + unmount(); + await waitFor(() => { + expect(mockUnsubscribe).toBeCalled(); + }); + }); }); From 87e9f298a1e4baaf515c3f02d0e75e6cef6f8f4e Mon Sep 17 00:00:00 2001 From: Farhan Ahmad Nurzi <125247833+farhan-nurzi-deriv@users.noreply.github.com> Date: Thu, 16 May 2024 10:17:02 +0800 Subject: [PATCH 16/95] [DTRA] Farhan/WEBREL-2/Test coverage: error-component & Page404 in Reports (#15109) * chore: test cases for error and page404 component * chore: add test case --- .../Errors/__tests__/error-component.spec.tsx | 102 ++++++++++++++++++ .../Components/__tests__/Page404.spec.tsx | 29 +++++ 2 files changed, 131 insertions(+) create mode 100644 packages/reports/src/Components/Errors/__tests__/error-component.spec.tsx create mode 100644 packages/reports/src/Modules/Page404/Components/__tests__/Page404.spec.tsx diff --git a/packages/reports/src/Components/Errors/__tests__/error-component.spec.tsx b/packages/reports/src/Components/Errors/__tests__/error-component.spec.tsx new file mode 100644 index 000000000000..8e0109ecd0f8 --- /dev/null +++ b/packages/reports/src/Components/Errors/__tests__/error-component.spec.tsx @@ -0,0 +1,102 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import ErrorComponent from '../error-component'; +import { BrowserRouter } from 'react-router-dom'; + +describe('ErrorComponent', () => { + const original = window.location; + let modalRootElement: HTMLDivElement; + + beforeAll(() => { + modalRootElement = document.createElement('div'); + modalRootElement.setAttribute('id', 'modal_root'); + document.body.appendChild(modalRootElement); + Object.defineProperty(window, 'location', { + configurable: true, + value: { reload: jest.fn() }, + }); + }); + + afterAll(() => { + document.body.removeChild(modalRootElement); + Object.defineProperty(window, 'location', { configurable: true, value: original }); + }); + + it('should render error component in dialog', () => { + render( + + + + ); + expect(screen.getByRole('dialog')).toBeInTheDocument(); + expect(screen.getByText('There was an error')).toBeInTheDocument(); + expect(screen.getByText('Sorry, an error occured while processing your request.')).toBeInTheDocument(); + }); + + it('should render error component with custom header and message', () => { + render( + + + + ); + expect(screen.getByText('header')).toBeInTheDocument(); + expect(screen.getByText('message')).toBeInTheDocument(); + }); + + it('should render error component in page error container', () => { + render( + + + + ); + expect(screen.getByText('Error!')).toBeInTheDocument(); + expect(screen.getByText('Error message')).toBeInTheDocument(); + }); + + it('should refresh page on clicking refresh button', () => { + render( + + + + ); + const refresh_button = screen.getByText('Refresh'); + expect(refresh_button).toBeInTheDocument(); + refresh_button.click(); + expect(location.reload).toHaveBeenCalled(); + }); + + it('should refresh the page on clicking ok button on dialog modal', () => { + render( + + + + ); + const ok_button = screen.getByText('Ok'); + expect(ok_button).toBeInTheDocument(); + ok_button.click(); + expect(location.reload).toHaveBeenCalled(); + }); + + it('should show error modal with custom message', () => { + // @ts-expect-error type mismatch + jest.spyOn(React, 'useState').mockImplementationOnce(() => React.useState(true)); + render( + + + + ); + expect(screen.getByText('Error message')).toBeInTheDocument(); + }); + + it('should show unhandled error modal', async () => { + // @ts-expect-error type mismatch + jest.spyOn(React, 'useState').mockImplementationOnce(() => React.useState(true)); + render( + + + + ); + expect(screen.getByText('Sorry for the interruption')).toBeInTheDocument(); + expect(screen.getByText('Refresh')).toBeInTheDocument(); + }); +}); diff --git a/packages/reports/src/Modules/Page404/Components/__tests__/Page404.spec.tsx b/packages/reports/src/Modules/Page404/Components/__tests__/Page404.spec.tsx new file mode 100644 index 000000000000..ee49172a2219 --- /dev/null +++ b/packages/reports/src/Modules/Page404/Components/__tests__/Page404.spec.tsx @@ -0,0 +1,29 @@ +import React from 'react'; +import { Router } from 'react-router'; +import { createBrowserHistory } from 'history'; +import { render, screen } from '@testing-library/react'; +import Page404 from '../Page404'; +import { routes } from '@deriv/shared'; + +describe('Page404', () => { + const history = createBrowserHistory(); + const renderWithRouter = (component: React.ReactNode) => render({component}); + + it('should render Page404', () => { + renderWithRouter(); + expect(screen.getByText('We couldn’t find that page')).toBeInTheDocument(); + expect( + screen.getByText('You may have followed a broken link, or the page has moved to a new address.') + ).toBeInTheDocument(); + expect(screen.getByText('Error code: 404 page not found')).toBeInTheDocument(); + expect(screen.getByText('Return to trade')).toBeInTheDocument(); + }); + + it('should redirect to trade page on clicking return to trade button', () => { + renderWithRouter(); + const returnToTradeButoon = screen.getByText('Return to trade'); + expect(returnToTradeButoon).toBeInTheDocument(); + returnToTradeButoon.click(); + expect(history.location.pathname).toBe(routes.trade); + }); +}); From 3635eaff6a1977721475abaafdd028a85e900b97 Mon Sep 17 00:00:00 2001 From: henry-deriv <118344354+henry-deriv@users.noreply.github.com> Date: Thu, 16 May 2024 10:17:33 +0800 Subject: [PATCH 17/95] fix: add tests (#15136) --- .../__tests__/currency-wrapper.spec.tsx | 10 ++++++ .../__tests__/filter-component.spec.tsx | 35 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 packages/reports/src/Components/__tests__/currency-wrapper.spec.tsx create mode 100644 packages/reports/src/Components/__tests__/filter-component.spec.tsx diff --git a/packages/reports/src/Components/__tests__/currency-wrapper.spec.tsx b/packages/reports/src/Components/__tests__/currency-wrapper.spec.tsx new file mode 100644 index 000000000000..94b3fad0ad09 --- /dev/null +++ b/packages/reports/src/Components/__tests__/currency-wrapper.spec.tsx @@ -0,0 +1,10 @@ +import React from 'react'; +import CurrencyWrapper from 'Components/currency-wrapper'; +import { render, screen } from '@testing-library/react'; + +describe('', () => { + it('should render currency prop', () => { + render(); + expect(screen.getByText('USD')).toBeInTheDocument(); + }); +}); diff --git a/packages/reports/src/Components/__tests__/filter-component.spec.tsx b/packages/reports/src/Components/__tests__/filter-component.spec.tsx new file mode 100644 index 000000000000..1fc2630b6f39 --- /dev/null +++ b/packages/reports/src/Components/__tests__/filter-component.spec.tsx @@ -0,0 +1,35 @@ +import { mockStore } from '@deriv/stores'; +import { render, screen } from '@testing-library/react'; +import FilterComponent from 'Components/filter-component'; +import React from 'react'; +import ReportsProviders from '../../reports-providers'; + +jest.mock('../Form/CompositeCalendar/composite-calendar', () => jest.fn(() => 'MockedCalender')); +jest.mock('@deriv/components', () => ({ + ...jest.requireActual('@deriv/components'), + FilterDropdown: jest.fn(() => MockedFilterDropdown), +})); + +describe('', () => { + const mock_store = mockStore({ + modules: { + statement: { + action_type: 'buy', + date_from: 123, + date_to: 124, + handleFilterChange: jest.fn(), + handleDateChange: jest.fn(), + }, + }, + }); + it('Should render calender and dropdown', () => { + const mockFilterComponent = ( + + + + ); + render(mockFilterComponent); + expect(screen.getByText('MockedCalender')).toBeInTheDocument(); + expect(screen.getByText('MockedFilterDropdown')).toBeInTheDocument(); + }); +}); From 16af5ecb770a830b62f6dd4d1facfff5e1e57a74 Mon Sep 17 00:00:00 2001 From: kate-deriv <121025168+kate-deriv@users.noreply.github.com> Date: Thu, 16 May 2024 05:20:00 +0300 Subject: [PATCH 18/95] DTRA/ Kate / WEBREL-5 / Add tests for loader component (#15104) * refactor: add tests for loader component * chore: empty commit for checks retriggering --- .../components/__tests__/loading.spec.tsx | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 packages/reports/src/_common/components/__tests__/loading.spec.tsx diff --git a/packages/reports/src/_common/components/__tests__/loading.spec.tsx b/packages/reports/src/_common/components/__tests__/loading.spec.tsx new file mode 100644 index 000000000000..a3a41cbfa705 --- /dev/null +++ b/packages/reports/src/_common/components/__tests__/loading.spec.tsx @@ -0,0 +1,37 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import Loading from '../loading'; + +const dataTestID = 'dt_loading'; +const className = 'mockedClassName'; +const defaultClassName = 'barspinner barspinner--dark'; +const mockedDefaultProps: React.ComponentProps = { + id: 'mockedId', + data_testid: dataTestID, +}; + +describe('', () => { + it('should render component with default props', () => { + render(); + + const loader = screen.getByTestId(dataTestID); + expect(loader).toBeInTheDocument(); + expect(loader).toHaveClass(defaultClassName); + }); + + it('should apply passed className to the component', () => { + render(); + + expect(screen.getByTestId(dataTestID)).toHaveClass(`${defaultClassName} ${className}`); + }); + it('should apply invisible className if is_invisible is true', () => { + render(); + + expect(screen.getByTestId(dataTestID)).toHaveClass(`${defaultClassName} invisible`); + }); + it('should apply theme className if theme was passed', () => { + render(); + + expect(screen.getByTestId(dataTestID)).toHaveClass(`barspinner barspinner--light`); + }); +}); From 061755f02f1c910ad88a6af0902ad85b69e8bf8a Mon Sep 17 00:00:00 2001 From: Maryia <103177211+maryia-deriv@users.noreply.github.com> Date: Thu, 16 May 2024 05:21:14 +0300 Subject: [PATCH 19/95] fix: do not ignore locales when switching between languages (#15043) --- packages/shared/src/utils/date/date-time.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/shared/src/utils/date/date-time.ts b/packages/shared/src/utils/date/date-time.ts index b57e66272801..1aa6d0644297 100644 --- a/packages/shared/src/utils/date/date-time.ts +++ b/packages/shared/src/utils/date/date-time.ts @@ -13,11 +13,11 @@ type TExtendedMoment = typeof moment & { // Localize moment instance with specific object export const initMoment = (lang: string) => { - const ignored_language = ['EN', 'AR', 'BN', 'SI']; - if (!lang || ignored_language.includes(lang)) return moment; - return import(`moment/locale/${lang.toLowerCase().replace('_', '-')}`) - .then(() => moment.locale(lang.toLocaleLowerCase().replace('_', '-'))) - .catch(() => moment); + const hasEnMomentLocale = ['EN', 'AR', 'BN', 'SI']; // 'AR', 'BN' & 'SI' langs have non-numeric dates ('২০২৪-০৫-০৭'), our current usage of moment requires us to make all dates numeric + if (!lang) return moment; + let locale = lang.toLowerCase().replace('_', '-'); + if (hasEnMomentLocale.includes(lang)) locale = 'en-gb'; + return import(`moment/locale/${locale}`).then(() => moment.locale(locale)).catch(() => moment); }; /** From ef9d55e79a5432d53ad8889229f61aedc9683985 Mon Sep 17 00:00:00 2001 From: Shahzaib Date: Thu, 16 May 2024 12:00:46 +0800 Subject: [PATCH 20/95] chore: disclaimer update (#15150) --- packages/appstore/src/modules/traders-hub/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/appstore/src/modules/traders-hub/index.tsx b/packages/appstore/src/modules/traders-hub/index.tsx index dc7ed80b13c3..5b8a804330af 100644 --- a/packages/appstore/src/modules/traders-hub/index.tsx +++ b/packages/appstore/src/modules/traders-hub/index.tsx @@ -176,7 +176,7 @@ const TradersHub = observer(() => { {is_eu_user && (
- +
From bb1b2e839a723ce77a188ea54ec1ef8666d8203d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 16 May 2024 12:05:11 +0800 Subject: [PATCH 21/95] =?UTF-8?q?translations:=20=F0=9F=93=9A=20sync=20tra?= =?UTF-8?q?nslations=20with=20crowdin=20(#15191)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: DerivFE --- packages/translations/crowdin/messages.json | 2 +- .../translations/src/translations/ach.json | 2 +- .../translations/src/translations/ar.json | 2 +- .../translations/src/translations/bn.json | 20 ++--- .../translations/src/translations/de.json | 2 +- .../translations/src/translations/es.json | 2 +- .../translations/src/translations/fr.json | 2 +- .../translations/src/translations/it.json | 2 +- .../translations/src/translations/ko.json | 2 +- .../translations/src/translations/mn.json | 10 +-- .../translations/src/translations/pl.json | 2 +- .../translations/src/translations/pt.json | 2 +- .../translations/src/translations/ru.json | 2 +- .../translations/src/translations/si.json | 2 +- .../translations/src/translations/sw.json | 80 +++++++++---------- .../translations/src/translations/th.json | 2 +- .../translations/src/translations/tr.json | 2 +- .../translations/src/translations/vi.json | 4 +- .../translations/src/translations/zh_cn.json | 2 +- .../translations/src/translations/zh_tw.json | 2 +- 20 files changed, 73 insertions(+), 73 deletions(-) diff --git a/packages/translations/crowdin/messages.json b/packages/translations/crowdin/messages.json index 26022976d8cf..3ca165b1a258 100644 --- a/packages/translations/crowdin/messages.json +++ b/packages/translations/crowdin/messages.json @@ -1 +1 @@ -{"1485191":"1:1000","2082741":"additional document number","2091451":"Deriv Bot - your automated trading partner","3125515":"Your Deriv MT5 password is for logging in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","3215342":"Last 30 days","3420069":"To avoid delays, enter your <0>name and <0>date of birth exactly as they appear on your identity document.","4547840":"<0>Verify your account to transfer funds. <1>Verify now","5149403":"Learn more about trade types","7100308":"Hour must be between 0 and 23.","9488203":"Deriv Bot is a web-based strategy builder for trading digital options. It’s a platform where you can build your own automated trading bot using drag-and-drop 'blocks'.","9757544":"Please submit your proof of address","11539750":"set {{ variable }} to Relative Strength Index Array {{ dummy }}","11706633":"Loss threshold: The bot will stop trading if your total loss exceeds this amount.","11872052":"Yes, I'll come back later","14365404":"Request failed for: {{ message_type }}, retrying in {{ delay }}s","15377251":"Profit amount: {{profit}}","17843034":"Check proof of identity document verification status","19424289":"Username","19552684":"USD Basket","21035405":"Please tell us why you’re leaving. (Select up to {{ allowed_reasons }} reasons.)","24900606":"Gold Basket","25854018":"This block displays messages in the developer’s console with an input that can be either a string of text, a number, boolean, or an array of data.","26566655":"Summary","26596220":"Finance","27582393":"Example :","27582767":"{{amount}} {{currency}}","27731356":"Your account is temporarily disabled. Please contact us via <0>live chat to enable deposits and withdrawals again.","27830635":"Deriv (V) Ltd","28581045":"Add a real MT5 account","33433576":"Please use an e-wallet to withdraw your funds.","35089987":"Upload the front and back of your driving licence.","41737927":"Thank you","44877997":"Residence permit","45453595":"Binary Coin","45821474":"Proof of income","46523711":"Your proof of identity is verified","49404821":"If you buy a \"<0>{{trade_type}}\" option, you receive a payout at expiry if the final price is {{payout_status}} the strike price. Otherwise, your “<0>{{trade_type}}” option will expire worthless.","53801223":"Hong Kong 50","53964766":"5. Hit Save to download your bot. You can choose to download your bot to your device or your Google Drive.","54185751":"Less than $100,000","55340304":"Keep your current contract?","55916349":"All","57362642":"Closed","58254854":"Scopes","59169515":"If you select \"Asian Rise\", you will win the payout if the last tick is higher than the average of the ticks.","59341501":"Unrecognized file format","59662816":"Stated limits are subject to change without prior notice.","62748351":"List Length","63869411":"This block tests a given number according to the selection","64402604":"Check transfer information","65185694":"Fiat onramp","65982042":"Total","66519591":"Investor password","66610627":"We were unable to verify your selfie because it’s not clear. Please take a clearer photo and try again. Ensure that there’s enough light where you are and that your entire face is in the frame.","67923436":"No, Deriv Bot will stop running when your web browser is closed.","68885999":"Repeats the previous trade when an error is encountered.","69005593":"The example below restarts trading after 30 or more seconds after 1 minute candle was started.","71016232":"OMG/USD","71232823":"Manage funds","71445658":"Open","71563326":"A fast and secure fiat-to-crypto payment service. Deposit cryptocurrencies from anywhere in the world using your credit/debit cards and bank transfers.","71853457":"$100,001 - $500,000","72500774":"Please fill in Tax residence.","73086872":"You have self-excluded from trading","73326375":"The low is the lowest point ever reached by the market during the contract period.","74963864":"Under","76635112":"To proceed, resubmit these documents","76916358":"You have reached the withdrawal limit.<0/>Please upload your proof of identity and address to lift the limit to continue your withdrawal.","76925355":"Check your bot’s performance","77982950":"Vanilla options allow you to predict an upward (bullish) or downward (bearish) direction of the underlying asset by purchasing a \"Call\" or a \"Put\".","81091424":"To complete the upgrade, please log out and log in again to add more accounts and make transactions with your Wallets.","81450871":"We couldn’t find that page","82839270":"Upload the page of your passport that contains your photo.","83202647":"Collapse Block","84402478":"Where do I find the blocks I need?","84924586":"To trade options and multipliers, get a Deriv Apps account first.","85343079":"Financial assessment","85359122":"40 or more","85389154":"Steps required to continue verification on your mobile","90266322":"2. Start a chat with your newly created Telegram bot and make sure to send it some messages before proceeding to the next step. (e.g. Hello Bot!)","91993812":"The Martingale Strategy is a classic trading technique that has been used for more than a hundred years, popularised by the French mathematician Paul Pierre Levy in the 18th century.","93154671":"1. Hit Reset at the bottom of stats panel.","96381225":"ID verification failed","98473502":"We’re not obliged to conduct an appropriateness test, nor provide you with any risk warnings.","98972777":"random item","100239694":"Upload front of card from your computer","102226908":"Field cannot be empty","105871033":"Your age in the document you provided appears to be below 18 years. We’re only allowed to offer our services to clients above 18 years old, so we’ll need to close your account. If you have a balance in your account, contact us via live chat and we’ll help to withdraw your funds before your account is closed.","107537692":"These limits apply to your options trades only. For example, <0>maximum total loss refers to the losses on all your trades on options trading platforms.","108916570":"Duration: {{duration}} days","109073671":"Please use an e-wallet that you have used for deposits previously. Ensure the e-wallet supports withdrawal. See the list of e-wallets that support withdrawals <0>here.","111215238":"Move away from direct light","111718006":"End date","111931529":"Max. total stake over 7 days","112152170":"Your passkey is successfully removed. To avoid sign-in prompts, also remove the passkey from your password manager. ","113378532":"ETH/USD","115032488":"Buy price and P/L","116005488":"Indicators","117056711":"We’re updating our site","117318539":"Password should have lower and uppercase English letters with numbers.","117366356":"Turbo options allow you to predict the direction of the underlying asset’s movements.","118727646":"{{new_account_title}}","119261701":"Prediction:","119446122":"Contract type is not selected","120340777":"Complete your personal details","122617359":"View tutorial","122993457":"This is to confirm that it's you making the withdrawal request.","123454801":"{{withdraw_amount}} {{currency_symbol}}","124723298":"Upload a proof of address to verify your address","125354367":"An example of D’Alembert's Grind strategy","125443840":"6. Restart last trade on error","125842960":"{{name}} is required.","127307725":"A politically exposed person (PEP) is someone appointed with a prominent public position. Close associates and family members of a PEP are also considered to be PEPs.","129005644":"The idea is that successful trades may recoup previous losses. However, it is crucial to exercise caution as the risk can quickly increase with this strategy. With Deriv Bot, you can minimise your risk by setting a maximum stake. This is an optional risk management feature. Let’s say a maximum stake of 3 USD. If your stake for the next trade is set to exceed 3 USD, your stake will reset to the initial stake of 1 USD. If you didn't set a maximum stake, it would have increased beyond 3 USD.","129137937":"You decide how much and how long to trade. You can take a break from trading whenever you want. This break can be from 6 weeks to 5 years. When it’s over, you can extend it or resume trading after a 24-hour cooling-off period. If you don’t want to set a specific limit, leave the field empty.","129729742":"Tax Identification Number*","130567238":"THEN","132596476":"In providing our services to you, we are required to ask you for some information to assess if a given product or service is appropriate for you and whether you have the experience and knowledge to understand the risks involved.<0/><0/>","132689841":"Trade on web terminal","133523018":"Please go to the Deposit page to get an address.","133536621":"and","133655768":"Note: If you wish to learn more about the Bot Builder, you can proceed to the <0>Tutorials tab.","137589354":"To assess your trading experience and if our products are suitable for you. Please provide accurate and complete answers, as they may affect the outcome of this assessment.","138055021":"Synthetic indices","139454343":"Confirm my limits","141265840":"Funds transfer information","141626595":"Make sure your device has a working camera","142050447":"set {{ variable }} to create text with","142390699":"Connected to your mobile","143970826":"Payment problems?","145511192":"s is the initial stake.","145633981":"Unavailable as your documents are still under review","145736466":"Take a selfie","150156106":"Save changes","150486954":"Token name","151279367":"2. Set the Purchase conditions. In this example, your bot will purchase a Rise contract when it starts and after a contract closes.","151646545":"Unable to read file {{name}}","152415091":"Math","152524253":"Trade the world’s markets with our popular user-friendly platform.","157593038":"random integer from {{ start_number }} to {{ end_number }}","157871994":"Link expired","158355408":"Some services may be temporarily unavailable.","160746023":"Tether as an Omni token (USDT) is a version of Tether that is hosted on the Omni layer on the Bitcoin blockchain.","160863687":"Camera not detected","164112826":"This block allows you to load blocks from a URL if you have them stored on a remote server, and they will be loaded only when your bot runs.","164564432":"Deposits are temporarily unavailable due to system maintenance. You can make your deposits when the maintenance is complete.","165294347":"Please set your country of residence in your account settings to access the cashier.","165312615":"Continue on phone","165682516":"If you don’t mind sharing, which other trading platforms do you use?","167094229":"• Current stake: Use this variable to store the stake amount. You can assign any amount you want, but it must be a positive number.","170185684":"Ignore","170244199":"I’m closing my account for other reasons.","171307423":"Recovery","171579918":"Go to Self-exclusion","171638706":"Variables","173991459":"We’re sending your request to the blockchain.","174793462":"Strike","176078831":"Added","176319758":"Max. total stake over 30 days","176654019":"$100,000 - $250,000","177099483":"Your address verification is pending, and we’ve placed some restrictions on your account. The restrictions will be lifted once your address is verified.","178413314":"First name should be between 2 and 50 characters.","179083332":"Date","181107754":"Your new <0>{{platform}} {{eligible_account_to_migrate}} account(s) are ready for trading.","181346014":"Notes ","181881956":"Contract Type: {{ contract_type }}","182630355":"Thank you for submitting your information.","184024288":"lower case","189705706":"This block uses the variable \"i\" to control the iterations. With each iteration, the value of \"i\" is determined by the items in a given list.","189759358":"Creates a list by repeating a given item","190834737":"Guide","191372501":"Accumulation of Income/Savings","192436105":"No need for symbols, digits, or uppercase letters","192573933":"Verification complete","195136585":"Trading View Chart","195972178":"Get character","196810983":"If the duration is more than 24 hours, the Cut-off time and Expiry date will apply instead.","196998347":"We hold customer funds in bank accounts separate from our operational accounts which would not, in the event of insolvency, form part of the company's assets. This meets the <0>Gambling Commission's requirements for the segregation of customer funds at the level: <1>medium protection.","197190401":"Expiry date","201091938":"30 days","203179929":"<0>You can open this account once your submitted documents have been verified.","203271702":"Try again","203297887":"The Quick Strategy you just created will be loaded to the workspace.","203924654":"Hit the <0>Start button to begin and follow the tutorial.","204797764":"Transfer to client","204863103":"Exit time","206010672":"Delete {{ delete_count }} Blocks","207521645":"Reset Time","207824122":"Please withdraw your funds from the following Deriv account(s):","209533725":"You’ve transferred {{amount}} {{currency}}","210385770":"If you have an active account, please log in to continue. Otherwise, please sign up.","210872733":"The verification status is not available, provider says: Malformed JSON.","211224838":"Investment","211461880":"Common names and surnames are easy to guess","211487193":"Document number (e.g. identity card, passport, driver's license)","211847965":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable withdrawals.","216650710":"You are using a demo account","217377529":"5. If the next trades are profitable, the stake for the following trade will be reduced by 2 USD. This can be shown above where the stake of 3 USD is reduced to 1 USD. See A3.","217403651":"St. Vincent & Grenadines","217504255":"Financial assessment submitted successfully","218441288":"Identity card number","220014242":"Upload a selfie from your computer","220186645":"Text Is empty","221261209":"A Deriv account will allow you to fund (and withdraw from) your CFDs account(s).","223120514":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 50 days.","223607908":"Last digit stats for latest 1000 ticks for {{underlying_name}}","224650827":"IOT/USD","225887649":"This block is mandatory. It's added to your strategy by default when you create new strategy. You can not add more than one copy of this block to the canvas.","227591929":"To timestamp {{ input_datetime }} {{ dummy }}","227903202":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts.","228521812":"Tests whether a string of text is empty. Returns a boolean value (true or false).","233500222":"- High: the highest price","235583807":"SMA is a frequently used indicator in technical analysis. It calculates the average market price over a specified period, and is usually used to identify market trend direction: up or down. For example, if the SMA is moving upwards, it means the market trend is up. ","235994721":"Forex (standard/exotic) and cryptocurrencies","236642001":"Journal","238496287":"Leverage trading is high-risk, so it's a good idea to use risk management features such as stop loss. Stop loss allows you to","241546739":"Please choose the correct Deriv company and server name when logging in, as shown on Trader’s Hub.","243537306":"1. Under the Blocks menu, go to Utility > Variables.","243614144":"This is only available for existing clients.","245005091":"lower","245187862":"The DRC will make a <0>decision on the complaint (please note that the DRC mentions no timeframe for announcing its decision).","245812353":"if {{ condition }} return {{ value }}","246428134":"Step-by-step guides","248153700":"Reset your password","248565468":"Check your {{ identifier_title }} account email and click the link in the email to proceed.","248909149":"Send a secure link to your phone","251134918":"Account Information","251445658":"Dark theme","251882697":"Thank you! Your response has been recorded into our system.<0/><0/>Please click ‘OK’ to continue.","254912581":"This block is similar to EMA, except that it gives you the entire EMA line based on the input list and the given period.","256031314":"Cash Business","256602726":"If you close your account:","258448370":"MT5","258912192":"Trading assessment","260069181":"An error occured while trying to load the URL","260086036":"Place blocks here to perform tasks once when your bot starts running.","260361841":"Tax Identification Number can't be longer than 25 characters.","260393332":"You cannot make further deposits as your documents are still under review. We will notify you by email within 3 days once your verification is approved.","261074187":"4. Once the blocks are loaded onto the workspace, tweak the parameters if you want, or hit Run to start trading.","261250441":"Drag the <0>Trade again block and add it into the <0>do part of the <0>Repeat until block.","262095250":"If you select <0>\"Put\", you’ll earn a payout if the final price is below the strike price at expiry. Otherwise, you won’t receive a payout.","264976398":"3. 'Error' displays a message in red to highlight something that needs to be resolved immediately.","265644304":"Trade types","267992618":"The platforms lack key features or functionality.","268940240":"Your balance ({{format_balance}} {{currency}}) is less than the current minimum withdrawal allowed ({{format_min_withdraw_amount}} {{currency}}). Please top up your account to continue with your withdrawal.","269322978":"Deposit with your local currency via peer-to-peer exchange with fellow traders in your country.","269607721":"Upload","270339490":"If you select \"Over\", you will win the payout if the last digit of the last tick is greater than your prediction.","270396691":"<0>Your Wallets are ready!","270610771":"In this example, the open price of a candle is assigned to the variable \"candle_open_price\".","270712176":"descending","270780527":"You've reached the limit for uploading your documents.","271637055":"Download is unavailable while your bot is running.","272179372":"This block is commonly used to adjust the parameters of your next trade and to implement stop loss/take profit logic.","273350342":"Copy and paste the token into the app.","273728315":"Should not be 0 or empty","274268819":"Volatility 100 Index","275116637":"Deriv X","276770377":"New MT5 account(s) under the {{to_account}} jurisdiction will be created for new trades.","277469417":"Exclude time cannot be for more than five years.","278684544":"get sub-list from # from end","280021988":"Use these shortcuts","281110034":"Effective trading with the D'Alembert system requires careful consideration of its stake progression and risk management. Traders can automate this approach using Deriv Bot, setting profit and loss thresholds to ensure balanced and controlled trading. However, it is crucial for traders to assess their risk appetite, test strategies on a demo account, and align with their own trading style before transitioning to real money trading. This optimization process helps strike a balance between potential gains and losses while managing risk prudently.","282319001":"Check your image","282564053":"Next, we'll need your proof of address.","283830551":"Your address doesn’t match your profile","284527272":"antimode","284772879":"Contract","284809500":"Financial Demo","287934290":"Are you sure you want to cancel this transaction?","291344459":"The table illustrates this principle in the second session. After a trade resulting in loss in round 4 followed by a successful trade in round 5, the stake will increase to 2 USD for round 6. This is in line with the strategy's rule of raising the stake only after a loss is followed by a successful trade.","291744889":"<0>1. Trade parameters:<0>","291817757":"Go to our Deriv community and learn about APIs, API tokens, ways to use Deriv APIs, and more.","292526130":"Tick and candle analysis","292589175":"This will display the SMA for the specified period, using a candle list.","292887559":"Transfer to {{selected_value}} is not allowed, Please choose another account from dropdown","293250845":"Are you sure you want to continue?","294043810":"I confirm that my tax information is accurate and complete.","294305803":"Manage account settings","294335229":"Sell at market price","296017162":"Back to Bot","301441673":"Select your citizenship/nationality as it appears on your passport or other government-issued ID.","304309961":"We're reviewing your withdrawal request. You may still cancel this transaction if you wish. Once we start processing, you won't be able to cancel.","304506198":"Total balance:","310234308":"Close all your positions.","312142140":"Save new limits?","312300092":"Trims the spaces within a given string or text.","313741895":"This block returns “True” if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","315306603":"You have an account that do not have currency assigned. Please choose a currency to trade with this account.","316694303":"Is candle black?","318865860":"close","318984807":"This block repeats the instructions contained within for a specific number of times.","321457615":"Oops, something went wrong!","323179846":"The time interval for each candle can be set from one minute to one day.","323209316":"Select a Deriv Bot Strategy","323360883":"Baskets","325662004":"Expand Block","325763347":"result","326770937":"Withdraw {{currency}} ({{currency_symbol}}) to your wallet","327534692":"Duration value is not allowed. To run the bot, please enter {{min}}.","328539132":"Repeats inside instructions specified number of times","329353047":"Malta Financial Services Authority (MFSA) (licence no. IS/70156)","329404045":"<0>Switch to your real account<1> to create a {{platform}} {{account_title}} account.","330384187":"Enable trading with your first transfer.","333456603":"Withdrawal limits","333807745":"Click on the block you want to remove and press Delete on your keyboard.","334942497":"Buy time","337023006":"Start time cannot be in the past.","339449279":"Remaining time","339610914":"Spread Up/Spread Down","339879944":"GBP/USD","340807218":"Description not found.","342181776":"Cancel transaction","343873723":"This block displays a message. You can specify the color of the message and choose from 6 different sound options.","344418897":"These trading limits and self-exclusion help you control the amount of money and time you spend on {{brand_website_name}} and exercise <0>responsible trading.","345320063":"Invalid timestamp","345818851":"Sorry, an internal error occurred. Hit the above checkbox to try again.","346843343":"CFDs on financial and derived instruments with copy trading.","347029309":"Forex: standard/micro","347039138":"Iterate (2)","348951052":"Your cashier is currently locked","349047911":"Over","349110642":"<0>{{payment_agent}}<1>'s contact details","350602311":"Stats show the history of consecutive tick counts, i.e. the number of ticks the price remained within range continuously.","351744408":"Tests if a given text string is empty","352363702":"You may see links to websites with a fake Deriv login page where you’ll get scammed for your money.","353731490":"Job done","354945172":"Submit document","357477280":"No face found","357672069":"Income verification failed","359053005":"Please enter a token name.","359649435":"Given candle list is not valid","359809970":"This block gives you the selected candle value from a list of candles within the selected time interval. You can choose from open price, close price, high price, low price, and open time.","360224937":"Logic","360773403":"Bot Builder","363576009":"- High price: the highest price","363738790":"Browser","363990763":"Sell price:","367801124":"Total assets in your Deriv accounts.","368160866":"in list","369035361":"<0>•Your account number","371151609":"Last used","371710104":"This scope will allow third-party apps to buy and sell contracts for you, renew your expired purchases, and top up your demo accounts.","372291654":"Exclude time must be after today.","372645383":"True if the market direction matches the selection","372805409":"You should enter 9-35 characters.","373021397":"random","373306660":"{{label}} is required.","373495360":"This block returns the entire SMA line, containing a list of all values for a given period.","374537470":"No results for \"{{text}}\"","375714803":"Deal Cancellation Error","377231893":"Deriv Bot is unavailable in the EU","377538732":"Key parameters","379523479":"To avoid loss of funds, do not share tokens with the Admin scope with unauthorised parties.","380606668":"tick","380694312":"Maximum consecutive trades","381972464":"Your document has expired.","384303768":"This block returns \"True\" if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","384707870":"CRS confirmation","386278304":"Install the {{platform_name_trader}} web app","386502387":"Bot is not running","389923099":"Zoom in","390890891":"Last quarter","391038015":"The mobile trading app for multipliers.","391915203":"Hedging","392582370":"Fall Equals","393789743":"Letters, spaces, periods, hyphens, apostrophes only.","396418990":"Offline","398816980":"Launch {{platform_name_trader}} in seconds the next time you want to trade.","401339495":"Verify address","401345454":"Head to the Tutorials tab to do so.","403456289":"The formula for SMA is:","406359555":"Contract details","406497323":"Sell your active contract if needed (optional)","411482865":"Add {{deriv_account}} account","412433839":"I agree to the <0>terms and conditions.","413594348":"Only letters, numbers, space, hyphen, period, and forward slash are allowed.","417864079":"You’ll not be able to change currency once you have made a deposit.","418265501":"Demo Derived","419485005":"Spot","419496000":"Your contract is closed automatically when your profit is more than or equals to this amount. This block can only be used with the multipliers trade type.","420072489":"CFD trading frequency","422055502":"From","424101652":"Quick strategy guides >","424272085":"We take your financial well-being seriously and want to ensure you are fully aware of the risks before trading.<0/><0/>","424897068":"Do you understand that you could potentially lose 100% of the money you use to trade?","426031496":"Stop","427134581":"Try using another file type.","427617266":"Bitcoin","429970999":"To avoid delays, enter your <0>name exactly as it appears on your {{document_name}}.","431267979":"Here’s a quick guide on how to use Deriv Bot on the go.","432273174":"1:100","432508385":"Take Profit: {{ currency }} {{ take_profit }}","432519573":"Document uploaded","433348384":"Real accounts are not available to politically exposed persons (PEPs).","433616983":"2. Investigation phase","434548438":"Highlight function definition","434896834":"Custom functions","436364528":"Your account will be opened with {{legal_entity_name}}, and will be subject to the laws of Saint Vincent and the Grenadines.","436534334":"<0>We've sent you an email.","437138731":"Create a new {{platform}} password","437453244":"Choose your preferred cryptocurrency","437485293":"File type not supported","437904704":"Maximum open positions","438067535":"Over $500,000","439398769":"This strategy is currently not compatible with Deriv Bot.","442281706":"You’ve just deleted a block.","442520703":"$250,001 - $500,000","443559872":"Financial SVG","444484637":"Logic negation","445419365":"1 - 2 years","450983288":"Your deposit is unsuccessful due to an error on the blockchain. Please contact your crypto wallet service provider for more info.","451852761":"Continue on your phone","452054360":"Similar to RSI, this block gives you a list of values for each entry in the input list.","452949978":"The 1-3-2-6 strategy is designed to capitalise on consecutive successful trades while minimising losses during losing streaks. The rationale behind this strategy lies in statistical probabilities, with adjustments to stake sizes based on the perceived likelihood of success. There is a higher likelihood of success in the second trade after one successful trade. Hence the stake adjusts to 3 in the second trade. In the third trade, the stake adjusts to 2 units due to a lower probability of a successful trade. If the third trade is also successful, the strategy then allocates all the previous gains (a total of 6 units of initial stake) into the fourth trade with the aim of doubling the potential profits. If the fourth trade results in a positive outcome, the strategy helps achieve a total gain of 12 units. However, it is crucial to exercise caution, as the risk can escalate quickly with this strategy, and any loss in the fourth trade forfeits all previous gains.","453175851":"Your MT5 Financial STP account will be opened through {{legal_entity_name}}. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","454196938":"Regulation:","456746157":"Grant access to your camera from your browser settings","457020083":"It’ll take longer to verify you if we can’t read it","457494524":"1. From the block library, enter a name for the new variable and click Create.","459612953":"Select account","459817765":"Pending","460070238":"Congratulations","460975214":"Complete your Appropriateness Test","461795838":"Please contact us via live chat to unlock it.","462079779":"Resale not offered","463361726":"Select an item","465993338":"Oscar's Grind","466424460":"Oscar’s Grind","466837068":"Yes, increase my limits","467839232":"I trade forex CFDs and other complex financial instruments regularly on other platforms.","471402292":"Your bot uses a single trade type for each run.","473154195":"Settings","474306498":"We’re sorry to see you leave. Your account is now closed.","475492878":"Try Synthetic Indices","476023405":"Didn't receive the email?","477557241":"Remote blocks to load must be a collection.","478280278":"This block displays a dialog box that uses a customised message to prompt for an input. The input can be either a string of text or a number and can be assigned to a variable. When the dialog box is displayed, your strategy is paused and will only resume after you enter a response and click \"OK\".","478827886":"We calculate this based on the barrier you’ve selected.","479420576":"Tertiary","480356486":"*Boom 300 and Crash 300 Index","481276888":"Goes Outside","483279638":"Assessment Completed<0/><0/>","483591040":"Delete all {{ delete_count }} blocks?","485379166":"View transactions","487239607":"Converts a given True or False to the opposite value","488150742":"Resend email","489768502":"Change investor password","490053735":"If you select this feature, your trade will be closed automatically at the nearest available asset price when your loss reaches or exceeds the stop loss amount. Your loss may be more than the amount you entered depending on the market price at closing.","491603904":"Unsupported browser","492198410":"Make sure everything is clear","492566838":"Taxpayer identification number","497518317":"Function that returns a value","498562439":"or","499522484":"1. for \"string\": 1325.68 USD","500855527":"Chief Executives, Senior Officials and Legislators","500920471":"This block performs arithmetic operations between two numbers.","501401157":"You are only allowed to make deposits","501537611":"*Maximum number of open positions","502007051":"Demo Swap-Free SVG","502041595":"This block gives you a specific candle from within the selected time interval.","505793554":"last letter","508390614":"Demo Financial STP","511679687":"Accumulators allow you to express a view on the range of movement of an index and grow your stake exponentially at a fixed <0>growth rate.","514031715":"list {{ input_list }} is empty","514776243":"Your {{account_type}} password has been changed.","514948272":"Copy link","517631043":"We’ve sent your e-book. Check your email to download it.","517833647":"Volatility 50 (1s) Index","518955798":"7. Run Once at Start","519205761":"You can no longer open new positions with this account.","520136698":"Boom 500 Index","520458365":"Last used: ","521872670":"item","522703281":"divisible by","523123321":"- 10 to the power of a given number","524459540":"How do I create variables?","527329988":"This is a top-100 common password","529056539":"Options","531114081":"3. Contract Type","531675669":"Euro","532724086":"Employment contract","533403953":"Your existing <0>{{platform}} {{type}} {{from_account}} account(s) will remain accessible.","535041346":"Max. total stake per day","537788407":"Other CFDs Platform","538017420":"0.5 pips","538042340":"Principle 2: The stake only increases when a loss trade is followed by a successful trade","538228086":"Close-Low","541650045":"Manage {{platform}} password","541700024":"First, enter your driving licence number and the expiry date.","542038694":"Only letters, numbers, space, underscore, and hyphen are allowed for {{label}}.","542305026":"You must also submit a proof of identity.","543413346":"You have no open positions for this asset. To view other open positions, click Go to Reports","547029855":"If you select this feature, you can cancel your trade within a chosen time frame if the asset price moves against your favour. You will get your stake back without profit/loss. We charge a small fee for this. Take profit and stop loss are disabled when deal cancellation is active.","549479175":"Deriv Multipliers","549799607":"Go to LiveChat","551569133":"Learn more about trading limits","554135844":"Edit","554410233":"This is a top-10 common password","555351771":"After defining trade parameters and trade options, you may want to instruct your bot to purchase contracts when specific conditions are met. To do that you can use conditional blocks and indicators blocks to help your bot to make decisions.","555881991":"National Identity Number Slip","558866810":"Run your bot","559224320":"Our classic “drag-and-drop” tool for creating trading bots, featuring pop-up trading charts, for advanced users.","560759471":"You'll see these details once the contract starts.","561982839":"Change your currency","562599414":"This block returns the purchase price for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","563034502":"We shall try to resolve your complaint within 15 business days. We will inform you of the outcome together with an explanation of our position and propose any remedial measures we intend to take.","563166122":"We shall acknowledge receiving your complaint, review it carefully, and keep you updated on the handling process. We might request further information or clarifications to facilitate the resolution of the complaint.","563652273":"Go to block","565410797":"The below image illustrates how Simple Moving Average Array block works:","566274201":"1. Market","567019968":"A variable is among the most important and powerful components in creating a bot. It is a way to store information, either as text or numbers. The information stored as a variable can be used and changed according to the given instructions. Variables can be given any name, but usually they are given useful, symbolic names so that it is easier to call them during the execution of instructions.","567163880":"Create a {{platform}} password","567755787":"Tax Identification Number is required.","569057236":"In which country was your document issued?","571921777":"Funds protection level","572576218":"Languages","573173477":"Is candle {{ input_candle }} black?","575668969":"3. For trades that result in a profit, the stake for the next trade will be increased by 2 USD. Deriv Bot will continue to add 2 USD for every successful trade. See A1.","575702000":"Remember, selfies, pictures of houses, or non-related images will be rejected.","575968081":"Account created. Select payment method for deposit.","576355707":"Select your country and citizenship:","577215477":"count with {{ variable }} from {{ start_number }} to {{ end_number }} by {{ step_size }}","577779861":"Withdrawal","577883523":"4. Awards and orders","578640761":"Call Spread","579529868":"Show all details — including the bottom 2 lines","580431127":"Restart buy/sell on error (disable for better performance): {{ checkbox }}","580665362":"Stays In/Goes Out","580774080":"insert at","581168980":"Legal","582945649":"2 minutes","584028307":"Allow equals","587577425":"Secure my account","587856857":"Want to know more about APIs?","588609216":"Repeat tour","592087722":"Employment status is required.","592381383":"Passkey successfully removed","593459109":"Try a different currency","594937260":"Derived - BVI","595080994":"Example: CR123456789","595136687":"Save Strategy","597089493":"Here is where you can decide to sell your contract before it expires. Only one copy of this block is allowed.","597481571":"DISCLAIMER","597707115":"Tell us about your trading experience.","599469202":"{{secondPast}}s ago","602278674":"Verify identity","603849445":"Strike price","603849863":"Look for the <0>Repeat While/Until, and click the + icon to add the block to the workspace area.","603899222":"Distance to current spot","606240547":"- Natural log","606877840":"Back to today","607807243":"Get candle","609519227":"This is the email address associated with your Deriv account.","609650241":"Infinite loop detected","610537973":"Any information you provide is confidential and will be used for verification purposes only.","611020126":"View address on Blockchain","613418320":"<0>Setup unsuccessful","613877038":"Chart","615156635":"Your selfie does not match your document.","617345387":"If you select \"Reset-Up”, you win the payout if the exit spot is strictly higher than either the entry spot or the spot at reset time.","617910072":"Use your Deriv account email and password to login into the {{ platform }} platform.","618520466":"Example of a cut-off document","619268911":"<0>a.The Financial Commission will investigate the validity of the complaint within 5 business days.","619407328":"Are you sure you want to unlink from {{identifier_title}}?","621829484":"{{days_passed}}d ago","623192233":"Please complete the <0>Appropriateness Test to access your cashier.","623542160":"Exponential Moving Average Array (EMAA)","625571750":"Entry spot:","626175020":"Standard Deviation Up Multiplier {{ input_number }}","626809456":"Resubmit","627292452":"<0>Your Proof of Identity or Proof of Address did not meet our requirements. Please check your email for further instructions.","627814558":"This block returns a value when a condition is true. Use this block within either of the function blocks above.","628193133":"Account ID","629003252":"If your current password doesn't match these requirements, you'll need to create a new one in the next step.","629145209":"In case if the \"AND\" operation is selected, the block returns \"True\" only if both given values are \"True\"","629395043":"All growth rates","632398049":"This block assigns a null value to an item or statement.","632897893":"If any of the above applies to you, select <0>Yes. Otherwise, select <0>No.","634219491":"You have not provided your tax identification number. This information is necessary for legal and regulatory requirements. Please go to <0>Personal details in your account settings, and fill in your latest tax identification number.","634274250":"How long each trade takes to expire.","636219628":"<0>c.If no settlement opportunity can be found, the complaint will proceed to the determination phase to be handled by the DRC.","636427296":"Need help with tax info? Let us know via <0>live chat.","636579615":"Number of unit(s) to be added to the next trade after a losing trade. One unit is equivalent to the amount of initial stake.","639382772":"Please upload supported file type.","640249298":"Normal","640596349":"You have yet to receive any notifications","640730141":"Refresh this page to restart the identity verification process","641420532":"We've sent you an email","642210189":"Please check your email for the verification link to complete the process.","642393128":"Enter amount","642546661":"Upload back of license from your computer","644150241":"The number of contracts you have won since you last cleared your stats.","645902266":"EUR/NZD","646773081":"Profit threshold: The bot will stop trading if your total profit exceeds this amount.","647039329":"Proof of address required","647745382":"Input List {{ input_list }}","648035589":"Other CFD Platforms","649317411":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><1/>","649923867":"Adds a sign to a number to create a barrier offset. (deprecated)","650836587":"This article explores the Martingale strategy integrated into Deriv Bot, a versatile trading bot designed to trade assets such as forex, commodities, and derived indices. We will delve into the strategy's core parameters, its application, and provide essential takeaways for traders looking to use the bot effectively.","651284052":"Low Tick","651684094":"Notify","652298946":"Date of birth","654422099":"CRS confirmation is required.","654507872":"True-False","654924603":"Martingale","655937299":"We’ll update your limits. Click <0>Accept to acknowledge that you are fully responsible for your actions, and we are not liable for any addiction or loss.","656893085":"Timestamp","657325150":"This block is used to define trade options within the Trade parameters root block. Some options are only applicable for certain trade types. Parameters such as duration and stake are common among most trade types. Prediction is used for trade types such as Digits, while barrier offsets are for trade types that involve barriers such as Touch/No Touch, Ends In/Out, etc.","659482342":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your account settings.","660481941":"To access your mobile apps and other third-party apps, you'll first need to generate an API token.","660991534":"Finish","661759508":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><0/>","662953503":"Your contract will be closed when the <0>stop out level is reached.","664779910":"3. If the first trade results in profit, the stake for the following trade will not reduce but remain at the initial stake. The strategy minimally trades at the initial stake of 1 USD. See A1.","665089217":"Please submit your <0>proof of identity to authenticate your account and access your Cashier.","665777772":"XLM/USD","665872465":"In the example below, the opening price is selected, which is then assigned to a variable called \"op\".","666724936":"Please enter a valid ID number.","669494711":"1.4 pips","671630762":"We accept only these types of documents as proof of your address. The document must be recent (issued within last {{expiry_in_months}} months) and include your name and address:","672008428":"ZEC/USD","673915530":"Jurisdiction and choice of law","674973192":"Use this password to log in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","676159329":"Could not switch to default account.","676675313":"Authy","677918431":"Market: {{ input_market }} > {{ input_submarket }} > {{ input_symbol }}","679199080":"Why passkeys?","680334348":"This block was required to correctly convert your old strategy.","681108680":"Additional information required for {{platform}} account(s)","681808253":"Previous spot price","681926004":"Example of a blurry document","682056402":"Standard Deviation Down Multiplier {{ input_number }}","685391401":"If you're having trouble signing in, let us know via <0>chat","686387939":"How do I clear my transaction log?","687193018":"Slippage risk","687212287":"Amount is a required field.","688510664":"You've {{two_fa_status}} 2FA on this device. You'll be logged out of your account on other devices (if any). Use your password and a 2FA code to log back in.","689137215":"Purchase price","691956534":"<0>You have added a {{currency}} account.<0> Make a deposit now to start trading.","692354762":"Please enter your {{document_name}}. {{example_format}}","693396140":"Deal cancellation (expired)","693933036":"Exploring the Oscar’s Grind strategy in Deriv Bot","694035561":"Trade options multipliers","696157141":"Low spot","696735942":"Enter your National Identification Number (NIN)","696870196":"- Open time: the opening time stamp","697630556":"This market is presently closed.","698037001":"National Identity Number","699159918":"1. Filing complaints","699646180":"A minimum deposit value of <0>{{minimum_deposit}} {{currency}} is required. Otherwise, the funds will be lost and cannot be recovered.","700259824":"Account currency","701034660":"We are still processing your withdrawal request.<0 />Please wait for the transaction to be completed before deactivating your account.","701462190":"Entry spot","701647434":"Search for string","702451070":"National ID (No Photo)","702561961":"Change theme","705262734":"Your Wallets are ready","705299518":"Next, upload the page of your passport that contains your photo.","705697927":"2. Set your preferred unit. In this example, it is 2 units or 2 USD.","705821926":"Learn about this trade type","706448499":"We'll send you a secure link to verify your request. Tap on it to confirm you want to remove the passkey. This protects your account from unauthorised requests.","706727320":"Binary options trading frequency","706755289":"This block performs trigonometric functions.","706960383":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price, duration, etc. However, we won’t offer a contract value if the remaining duration is below 60 seconds.","707189572":"Your email address has changed.<0/>Now, log in with your new email address.","707662672":"{{unblock_date}} at {{unblock_time}}","708055868":"Driving licence number","710123510":"repeat {{ while_or_until }} {{ boolean }}","711999057":"Successful","712101776":"Take a photo of your passport photo page","712635681":"This block gives you the selected candle value from a list of candles. You can choose from open price, close price, high price, low price, and open time.","713054648":"Sending","714080194":"Submit proof","714746816":"MetaTrader 5 Windows app","715841616":"Please enter a valid phone number (e.g. +15417541234).","716428965":"(Closed)","718504300":"Postal/ZIP code","718509613":"Maximum duration: {{ value }}","720293140":"Log out","720519019":"Reset my password","721011817":"- Raise the first number to the power of the second number","723045653":"You'll log in to your Deriv account with this email address.","723961296":"Manage password","724526379":"Learn more with our tutorials","728042840":"To continue trading with us, please confirm where you live.","728824018":"Spanish Index","729251105":"Range: {{min}} - {{max}} {{duration_unit_text}} ","729651741":"Choose a photo","730473724":"This block performs the \"AND\" or the \"OR\" logic operation with the given values.","731382582":"BNB/USD","732828463":"Standing instructions to transfer funds to an account maintained in the United States, or directions regularly received from a US address","734298230":"Just a reminder","734390964":"Insufficient balance","734881840":"false","735907651":"A US residence address or a US correspondence address (including a US PO box)","737751617":"<0>Explore our website to see what’s available.","739126643":"Indicative high spot","742469109":"Reset Balance","743623600":"Reference","744110277":"Bollinger Bands Array (BBA)","745656178":"Use this block to sell your contract at the market price.","745674059":"Returns the specific character from a given string of text according to the selected option. ","746112978":"Your computer may take a few seconds to update","749336930":"Secure alternative to passwords.","750886728":"Switch to your real account to submit your documents","751468800":"Start now","751692023":"We <0>do not guarantee a refund if you make a wrong transfer.","752024971":"Reached maximum number of digits","752992217":"This block gives you the selected constant values.","753088835":"Default","753184969":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you (that is, whether you possess the experience and knowledge to understand the risks involved).<0/><1/>","753727511":"Type","755138488":"We’re unable to verify the document you provided because it contains markings or text that should not be on your document. Please provide a clear photo or a scan of your original identity document.","756152377":"SMA places equal weight to the entire distribution of values.","758003269":"make list from text","760528514":"Please note that changing the value of \"i\" won't change the value of the original item in the list","761576760":"Fund your account to start trading.","762926186":"A quick strategy is a ready-made strategy that you can use in Deriv Bot. There are 3 quick strategies you can choose from: Martingale, D'Alembert, and Oscar's Grind.","764366329":"Trading limits","766317539":"Language","770171141":"Go to {{hostname}}","772520934":"You may sell the contract up to 24 hours before expiry. If you do, we’ll pay you the <0>contract value.","773091074":"Stake:","773309981":"Oil/USD","773336410":"Tether is a blockchain-enabled platform designed to facilitate the use of fiat currencies in a digital manner.","775679302":"{{pending_withdrawals}} pending withdrawal(s)","775706054":"Do you sell trading bots?","776085955":"Strategies","776432808":"Select the country where you currently live.","778172770":"Deriv CFDs","780009485":"About D'Alembert","781924436":"Call Spread/Put Spread","783974693":"Avoid recent years","784311461":"Exponential Moving Average (EMA)","784583814":"Linked to your computer","785969488":"Jump 75 Index","787727156":"Barrier","788005234":"NA","792164271":"This is when your contract will expire based on the Duration or End time you’ve selected.","792622364":"Negative balance protection","793526589":"To file a complaint about our service, send an email to <0>complaints@deriv.com and state your complaint in detail. Please submit any relevant screenshots of your trading or system for our better understanding.","793531921":"Our company is one of the oldest and most reputable online trading companies in the world. We are committed to treat our clients fairly and provide them with excellent service.<0/><1/>Please provide us with feedback on how we can improve our services to you. Rest assured that you will be heard, valued, and treated fairly at all times.","794682658":"Copy the link to your phone","795859446":"Password saved","797007873":"Follow these steps to recover camera access:","797500286":"negative","800228448":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_fx}}.","800521289":"Your personal details are incomplete","801430087":"A link can contain the word \"Deriv\" and still be fake.","802436811":"View transaction details","802438383":"New proof of address is needed","802556390":"seconds","802989607":"Drag your XML file here","803500173":"Initial stake","806165583":"Australia 200","807499069":"Financial commission complaints procedure","808323704":"You can also use \"Compare\" and \"Logic operation\" blocks to make test variables.","812430133":"Spot price on the previous tick.","815925952":"This block is mandatory. Only one copy of this block is allowed. It is added to the canvas by default when you open Deriv Bot.","816580787":"Welcome back! Your messages have been restored.","816738009":"<0/><1/>You may also raise your unresolved dispute to the <2>Office of the Arbiter for Financial Services.","818447476":"Switch account?","820877027":"Please verify your proof of identity","821163626":"Server maintenance occurs every first Saturday of the month from 7 to 10 GMT time. You may experience service disruption during this time.","823186089":"A block that can contain text.","824797920":"Is list empty?","825042307":"Let’s try again","825179913":"This document number was already submitted for a different account. It seems you have an account with us that doesn't need further verification. Please contact us via <0>live chat if you need help.","826511719":"USD/SEK","827688195":"Disable Block","828219890":"then","828602451":"Returns the list of tick values in string format","830164967":"Last name","830703311":"My profile","830993327":"No current transactions available","832053636":"Document submission","832217983":"40 transactions or more in the past 12 months","832398317":"Sell Error","832721563":"If you select \"Low Tick\", you win the payout if the selected tick is the lowest among the next five ticks.","834966953":"1551661986 seconds since Jan 01 1970 (UTC) translates to 03/04/2019 @ 1:13am (UTC).","835336137":"View Detail","835350845":"Add another word or two. Uncommon words are better.","836097457":"I am interested in trading but have very little experience.","837063385":"Do not send other currencies to this address.","837066896":"Your document is being reviewed, please check back in 1-3 days.","839158849":"4. If the second trade results in a loss, the Deriv Bot will automatically increase your stake for the next trade by 2 USD. Deriv Bot will continue to add 2 USD to the previous round’s stake after every losing trade. See A2.","839805709":"To smoothly verify you, we need a better photo","841434703":"Disable stack","841543189":"View transaction on Blockchain","843333337":"You can only make deposits. Please complete the <0>financial assessment to unlock withdrawals.","845304111":"Slow EMA Period {{ input_number }}","848083350":"Your payout is equal to the <0>payout per point multiplied by the difference between the final price and the strike price. You will only earn a profit if your payout is higher than your initial stake.","850582774":"Please update your personal info","851054273":"If you select \"Higher\", you win the payout if the exit spot is strictly higher than the barrier.","851264055":"Creates a list with a given item repeated for a specific number of times.","851508288":"This block constrains a given number within a set range.","852527030":"Step 2","852583045":"Tick List String","852627184":"document number","854178118":"Verify your request","854399751":"Digit code must only contain numbers.","854630522":"Choose a cryptocurrency account","857363137":"Volatility 300 (1s) Index","857445204":"Deriv currently supports withdrawals of Tether eUSDT to Ethereum wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","857986403":"do something","858663703":"For new trades, please transfer your funds into the new <0>{{platform}} {{eligible_account_to_migrate}} account(s).","860319618":"Tourism","862283602":"Phone number*","863023016":"For instance, if a trader has a loss threshold (B) of 100 USD, with an initial stake (s) of 1 USD and 2 units of increment (f), the calculation would be as follows:","863328851":"Proof of identity","864610268":"First, enter your {{label}} and the expiry date.","864655280":"You can continue to hold your current open positions in your existing MT5 account(s).","864957760":"Math Number Positive","865424952":"High-to-Low","865642450":"2. Logged in from a different browser","866496238":"Make sure your license details are clear to read, with no blur or glare","868826608":"Excluded from {{brand_website_name}} until","869068127":"The cashier is temporarily down due to maintenance. It will be available as soon as the maintenance is complete.","869823595":"Function","872661442":"Are you sure you want to update email <0>{{prev_email}} to <1>{{changed_email}}?","872721776":"2. Select your XML file and hit Select.","872817404":"Entry Spot Time","873166343":"1. 'Log' displays a regular message.","873387641":"If you have open positions","874461655":"Scan the QR code with your phone","874472715":"Your funds will remain in your existing MT5 account(s).","874484887":"Take profit must be a positive number.","875101277":"If I close my web browser, will Deriv Bot continue to run?","875532284":"Restart process on a different device","876086855":"Complete the financial assessment form","876292912":"Exit","879014472":"Reached maximum number of decimals","879647892":"You may sell the contract up until 60 seconds before expiry. If you do, we’ll pay you the <0>contract value.","881963105":"(XAUUSD, XAGUSD)","882423592":"The amount that you stake for the first trade. Note that this is the minimum stake amount.","885065431":"Get a Deriv account","888274063":"Town/City","888924866":"We don’t accept the following inputs for:","890299833":"Go to Reports","891337947":"Select country","893963781":"Close-to-Low","893975500":"You do not have any recent bots","894191608":"<0>c.We must award the settlement within 28 days of when the decision is reached.","896790627":"A US birthplace","898457777":"You have added a Deriv Financial account.","898904393":"Barrier:","900646972":"page.","902045490":"3 minutes","903429103":"In candles list read {{ candle_property }} # from end {{ input_number }}","904696726":"API token","905227556":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters and numbers.","905564365":"MT5 CFDs","906049814":"We’ll review your documents and notify you of its status within 5 minutes.","906789729":"Your verification documents were already used for another account.","907680782":"Proof of ownership verification failed","909272635":"Financial - SVG","910888293":"Too many attempts","911048905":"(BTCUSD, ETHUSD)","912257733":"The workspace will be reset to the default strategy and any unsaved changes will be lost. <0>Note: This will not affect your running bot.","912406629":"Follow these steps:","912967164":"Import from your computer","915735109":"Back to {{platform_name}}","918447723":"Real","920125517":"Add demo account","921857297":"Enter a value from 0 to {{ value }}.","921901739":"- your account details of the bank linked to your account","922313275":"You're back online","924046954":"Upload a document showing your name and bank account number or account details.","924912760":"Your document appears to be a digital document.","929608744":"You are unable to make withdrawals","930255747":"Please enter your {{document_name}}. ","930346117":"Capitalization doesn't help very much","930546422":"Touch","933126306":"Enter some text here","933193610":"Only letters, periods, hyphens, apostrophes, and spaces, please.","937237342":"Strategy name cannot be empty","937682366":"Upload both of these documents to prove your identity.","937831119":"Last name*","937992258":"Table","938500877":"{{ text }}. <0>You can view the summary of this transaction in your email.","938947787":"Withdrawal {{currency}}","938988777":"High barrier","944499219":"Max. open positions","945532698":"Contract sold","945753712":"Back to Trader’s Hub","946204249":"Read","946841802":"A white (or green) candle indicates that the open price is lower than the close price. This represents an upward movement of the market price.","947046137":"Your withdrawal will be processed within 24 hours","947363256":"Create list","947704973":"Reverse D’Alembert","947758334":"City is required","947914894":"Top up  <0>","948156236":"Create {{type}} password","948176566":"New!","949859957":"Submit","951404247":"Enjoy seamless transactions across multiple currencies and an intuitive user interface with funds segregation.","952927527":"Regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156)","956448295":"Cut-off image detected","957182756":"Trigonometric functions","958430760":"In/Out","959031082":"set {{ variable }} to MACD Array {{ dropdown }} {{ dummy }}","960201789":"3. Sell conditions","961266215":"140+","961327418":"My computer","961692401":"Bot","962251615":"If you want to adjust your self-exclusion limits, <0>contact us via live chat.","966457287":"set {{ variable }} to Exponential Moving Average {{ dummy }}","968576099":"Up/Down","969858761":"Principle 1: Strategy aims to potentially make one unit of profit per session","969987233":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between exit spot and lower barrier.","970915884":"AN","974888153":"High-Low","975608902":"To trade CFDs, get a Deriv Apps account first.","975668699":"I confirm and accept {{company}} 's <0>Terms and Conditions","975950139":"Country of Residence","977929335":"Go to my account settings","980050614":"Update now","981138557":"Redirect","981568830":"You have chosen to exclude yourself from trading on our website until {{exclude_until}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via <0>live chat.","981965437":"Scan the QR code below with your 2FA app. We recommend <0>Authy or <1>Google Authenticator.","982146443":"WhatsApp","982402892":"First line of address","982829181":"Barriers","983451828":"2. Select the asset and trade type.","986565137":"We've received your proof of income","987053672":"You can continue with the open positions on your current <0>{{platform}} {{existing_account}} account(s).","987224688":"How many trades have you placed with other financial instruments in the past 12 months?","988064913":"4. Come back to Deriv Bot and add the Notify Telegram block to the workspace. Paste the Telegram API token and chat ID into the block fields accordingly.","988361781":"You have no trading activity yet.","988934465":"When prompted, you must enable camera access to continue","989840364":"You’re under legal age.","990739582":"170+","992294492":"Your postal code is invalid","992677950":"Logging out on other devices","993827052":"Choosing this jurisdiction will give you a Financial STP account. Your trades will go directly to the market and have tighter spreads.","995563717":"not {{ boolean }}","997276809":"I confirm that the name and date of birth above match my chosen identity document","997311089":"Change my password","999008199":"text","1001160515":"Sell","1002392396":"CFDs on derived instruments.","1002989598":"iOS: iCloud keychain.","1003876411":"Should start with letter or number and may contain a hyphen, period and slash.","1004127734":"Send email","1006069082":"The objective of Martingale strategy is to take advantage of consecutive successful trades and maximise potential profits from them. This strategy is beneficial only if there are consecutive successful trades. Therefore, it is important to set a maximum stake to secure all the potential profits gained from a number of consecutive successful trades, or you could lose all the profits you have accumulated, including your initial stake. For example, if your goal is to maximise profits within 2 consecutive successful trades, you set a maximum stake of 2 USD, given your initial stake is 1 USD. Similarly, if your goal is to maximise profits within 3 consecutive successful trades, you set a maximum stake of 4 USD, given your initial stake is 1 USD.","1006458411":"Errors","1006664890":"Silent","1008151470":"Unit: The number of units that are added in the event of successful trades or the number of units removed in the event of losing trades. For example, if the unit is set at 2, the stake increases or decreases by two times the initial stake of 1 USD, meaning it changes by 2 USD.","1009032439":"All time","1010198306":"This block creates a list with strings and numbers.","1010337648":"We were unable to verify your proof of ownership.","1011208051":"Congratulations, you have successfully created your <0/>{{category}} {{platform}} {{type}} {{jurisdiction_selected_shortcode}} account. ","1011424042":"{{text}}. stake<0/>","1012102263":"You will not be able to log in to your account until this date (up to 6 weeks from today).","1015201500":"Define your trade options such as duration and stake.","1016220824":"You need to switch to a real money account to use this feature.<0/>You can do this by selecting a real account from the <1>Account Switcher.","1018803177":"standard deviation","1019265663":"You have no transactions yet.","1019508841":"Barrier 1","1021090237":"Upgrade your <0>{{account_1}} <1/>and <0>{{account_2}} {{platform}} account(s)","1021679446":"Multipliers only","1022934784":"1 minute","1022971288":"Payout per pip","1023237947":"1. In the example below, the instructions are repeated as long as the value of x is less than or equal to 10. Once the value of x exceeds 10, the loop is terminated.","1023643811":"This block purchases contract of a specified type.","1023795011":"Even/Odd","1024205076":"Logic operation","1026046972":"Please enter a payout amount that's lower than {{max_payout}}.","1026289179":"Trade on the go","1028211549":"All fields are required","1028758659":"Citizenship*","1029164365":"We presume that you possess the experience, knowledge, and expertise to make your own investment decisions and properly assess the risk involved.","1029641567":"{{label}} must be less than 30 characters.","1030021206":"change {{ variable }} by {{ number }}","1031602624":"We've sent a secure link to %{number}","1031731167":"Pound Sterling","1032173180":"Deriv","1032907147":"AUD/NZD","1033253221":"Confirm your identity to make a withdrawal.","1035893169":"Delete","1036116144":"Speculate on the price movement of an asset without actually owning it.","1036867749":"The desired duration, stake, prediction, and/or barrier(s) for the contract is defined here.","1038575777":"Change password","1039428638":"EU regulation","1039476188":"The size used to multiply the stake after a losing trade for the next trade.","1039755542":"Use a few words, avoid common phrases","1040472990":"1. Go to Bot Builder.","1040677897":"To continue trading, you must also submit a proof of address.","1041001318":"This block performs the following operations on a given list: sum, minimum, maximum, average, median, mode, antimode, standard deviation, random item.","1041620447":"If you are unable to scan the QR code, you can manually enter this code instead:","1042659819":"You have an account that needs action","1043790274":"There was an error","1044599642":"<0> has been credited into your {{platform}} {{title}} account.","1045704971":"Jump 150 Index","1045782294":"Click the <0>Change password button to change your Deriv password.","1047389068":"Food Services","1047644783":"Enable screen lock on your device.","1047881477":"Unfortunately, your browser does not support the video.","1048687543":"Labuan Financial Services Authority","1048947317":"Sorry, this app is unavailable in {{clients_country}}.","1049384824":"Rise","1050063303":"Videos on Deriv Bot","1050128247":"I confirm that I have verified the payment agent’s transfer information.","1050844889":"Reports","1052779010":"You are on your demo account","1052921318":"{{currency}} Wallet","1053153674":"Jump 50 Index","1053159279":"Level of education","1053556481":"Once you submit your complaint, we will send you an acknowledgement email to confirm that we have received it.","1055313820":"No document detected","1056381071":"Return to trade","1056821534":"Are you sure?","1057216772":"text {{ input_text }} is empty","1057519018":"4. If a trade ends in a profit, the stake for the following trade will be reset to the initial stake amount of 1 USD.","1057749183":"Two-factor authentication (2FA)","1057904606":"The concept of the D’Alembert Strategy is said to be similar to the Martingale Strategy where you will increase your contract size after a loss. With the D’Alembert Strategy, you will also decrease your contract size after a successful trade.","1058804653":"Expiry","1058905535":"Tutorial","1060231263":"When are you required to pay an initial margin?","1061308507":"Purchase {{ contract_type }}","1062423382":"Explore the video guides and FAQs to build your bot in the tutorials tab.","1062536855":"Equals","1062569830":"The <0>name on your identity document doesn't match your profile.","1065275078":"cTrader is only available on desktop for now.","1065498209":"Iterate (1)","1065766135":"You have {{remaining_transfers}} {{transfer_text}} remaining for today.","1066235879":"Transferring funds will require you to create a second account.","1066459293":"4.3. Acknowledging your complaint","1069347258":"The verification link you used is invalid or expired. Please request for a new one.","1070323991":"6. If consecutive successful trades were to happen, the stake would follow a sequence of adjustment from 1 to 3, then 2, and 6 units of initial stake. After 4 consecutive successful trades, it completes one cycle and then the strategy will repeat itself for another cycle. If any trade results in a loss, your stake will reset back to the initial stake for the next trade.","1070624871":"Check proof of address document verification status","1073261747":"Verifications","1073611269":"A copy of your identity document (e.g. identity card, passport, driver's license)","1073711308":"Trade closed","1076006913":"Profit/loss on the last {{item_count}} contracts","1077515534":"Date to","1078189922":"You can make a new deposit once the verification of your account is complete.","1078221772":"Leverage prevents you from opening large positions.","1078303105":"Stop out","1080068516":"Action","1080990424":"Confirm","1082158368":"*Maximum account cash balance","1082406746":"Please enter a stake amount that's at least {{min_stake}}.","1083781009":"Tax identification number*","1083826534":"Enable Block","1087112394":"You must select the strike price before entering the contract.","1088031284":"Strike:","1088138125":"Tick {{current_tick}} - ","1089085289":"Mobile number","1089436811":"Tutorials","1089687322":"Stop your current bot?","1090041864":"The {{block_type}} block is mandatory and cannot be deleted/disabled.","1095295626":"<0>•The Arbiter for Financial Services will determine whether the complaint can be accepted and is in accordance with the law.","1096078516":"We’ll review your documents and notify you of its status within 3 days.","1096175323":"You’ll need a Deriv account","1098147569":"Purchase commodities or shares of a company.","1098622295":"\"i\" starts with the value of 1, and it will be increased by 2 at every iteration. The loop will repeat until \"i\" reaches the value of 12, and then the loop is terminated.","1100133959":"National ID","1100870148":"To learn more about account limits and how they apply, please go to the <0>Help Centre.","1101560682":"stack","1101712085":"Buy Price","1102420931":"Next, upload the front and back of your driving licence.","1102995654":"Calculates Exponential Moving Average (EMA) list from a list of values with a period","1103309514":"Target","1103452171":"Cookies help us to give you a better experience and personalised content on our site.","1104912023":"Pending verification","1107474660":"Submit proof of address","1107555942":"To","1109217274":"Success!","1110102997":"Statement","1112582372":"Interval duration","1113119682":"This block gives you the selected candle value from a list of candles.","1113292761":"Less than 8MB","1114679006":"You have successfully created your bot using a simple strategy.","1117281935":"Sell conditions (optional)","1117863275":"Security and safety","1118294625":"You have chosen to exclude yourself from trading on our website until {{exclusion_end}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via live chat.","1119887091":"Verification","1119986999":"Your proof of address was submitted successfully","1120985361":"Terms & conditions updated","1122910860":"Please complete your <0>financial assessment.","1123927492":"You have not selected your account currency","1124382808":"Please enter the expiry time in the format \"HH:MM\".","1125090693":"Must be a number","1126075317":"Add your Deriv MT5 <0>{{account_type_name}} STP account under Deriv (FX) Ltd regulated by Labuan Financial Services Authority (Licence no. MB/18/0024).","1126934455":"Length of token name must be between 2 and 32 characters.","1127224297":"Sorry for the interruption","1127884488":"cTrader MacOS app","1128139358":"How many CFD trades have you placed in the past 12 months?","1128321947":"Clear All","1128404172":"Undo","1129124569":"If you select \"Under\", you will win the payout if the last digit of the last tick is less than your prediction.","1129842439":"Please enter a take profit amount.","1130791706":"N","1133651559":"Live chat","1134879544":"Example of a document with glare","1134883120":"Use your Deriv account email and password to log in to cTrader.","1139483178":"Enable stack","1143730031":"Direction is {{ direction_type }}","1144028300":"Relative Strength Index Array (RSIA)","1145927365":"Run the blocks inside after a given number of seconds","1146064568":"Go to Deposit page","1147269948":"Barrier cannot be zero.","1150637063":"*Volatility 150 Index and Volatility 250 Index","1151964318":"both sides","1152294962":"Upload the front of your driving licence.","1154021400":"list","1154239195":"Title and name","1155011317":"This block converts the date and time to the number of seconds since the Unix Epoch (1970-01-01 00:00:00).","1155143434":"By clicking on <0>Next you agree to move your {{platform}} {{type}} {{from_account}} account(s) under <2/>Deriv {{account_to_migrate}} Ltd’s <1>terms and conditions.","1155626418":"below","1158678321":"<0>b.The Head of the Dispute Resolution Committee (DRC) will contact both you and us within 5 business days to obtain all necessary information and see if there is a chance to settle the complaint during the investigation phase.","1160761178":"No payout if exit spot is below or equal to the lower barrier.","1161924555":"Please select an option","1163771266":"The third block is <0>optional. You may use this block if you want to sell your contract before it expires. For now, leave the block as it is. ","1163836811":"Real Estate","1164773983":"Take profit and/or stop loss are not available while deal cancellation is active.","1166023941":"New password","1166128807":"Choose one of your accounts or add a new cryptocurrency account","1166377304":"Increment value","1168029733":"Win payout if exit spot is also equal to entry spot.","1169201692":"Create {{platform}} password","1170228717":"Stay on {{platform_name_trader}}","1171765024":"Step 3","1171961126":"trade parameters","1172230903":"• Stop loss threshold: Use this variable to store your loss limit. You can assign any amount you want. Your bot will stop when your losses hits or exceeds this amount.","1172524677":"CFDs Demo","1173957529":"Go to ‘Account Settings’ on Deriv.","1174542625":"- Find the chat ID property in the response, and copy the value of the id property","1174689133":"3. Set your trade parameters and hit Run.","1174748431":"Payment channel","1175183064":"Vanuatu","1177396776":"If you select \"Asian Fall\", you will win the payout if the last tick is lower than the average of the ticks.","1177723589":"There are no transactions to display","1178582280":"The number of contracts you have lost since you last cleared your stats.","1178800778":"Take a photo of the back of your license","1178942276":"Please try again in a minute.","1179704370":"Please enter a take profit amount that's higher than the current potential profit.","1181396316":"This block gives you a random number from within a set range","1181770592":"Profit/loss from selling","1183007646":"- Contract type: the name of the contract type such as Rise, Fall, Touch, No Touch, etс.","1183448523":"<0>We're setting up your Wallets","1184968647":"Close your contract now or keep it running. If you decide to keep it running, you can check and close it later on the ","1186687280":"Question {{ current }} of {{ total }}","1188316409":"To receive your funds, contact the payment agent with the details below","1188980408":"5 minutes","1189249001":"4.1. What is considered a complaint?","1189368976":"Please complete your personal details before you verify your identity.","1191429031":"Please click on the link in the email to change your <0>{{platform_name_dxtrade}} password.","1192598228":"Wallets will become your dedicated fund management tool, allowing you to transfer funds between Wallets and trading accounts instantly.","1195393249":"Notify {{ notification_type }} with sound: {{ notification_sound }} {{ input_message }}","1196006480":"Profit threshold","1198368641":"Relative Strength Index (RSI)","1199281499":"Last Digits List","1201533528":"Contracts won","1201773643":"numeric","1203297580":"This block sends a message to a Telegram channel.","1203380736":"The D’Alembert strategy is less risky than Martingale, but you can still determine how long your funds will last with this strategy before trading. Simply use this formula.","1204223111":"In this example, the open prices from a list of candles are assigned to a variable called \"candle_list\".","1204459171":"Your existing <0>{{platform}} {{type_1}} <1/>and <0>{{type_2}} {{from_account}} account(s) will remain accessible.","1206227936":"How to mask your card?","1206821331":"Armed Forces","1208729868":"Ticks","1208903663":"Invalid token","1211912982":"Bot is starting","1214893428":"Account creation is currently unavailable for mobile. Please log in with your computer to create a new account.","1216408337":"Self-Employed","1217159705":"Bank account number","1217481729":"Tether as an ERC20 token (eUSDT) is a version of Tether that is hosted on Ethereum.","1218546232":"What is Fiat onramp?","1219844088":"do %1","1221250438":"To enable withdrawals, please submit your <0>Proof of Identity (POI) and <1>Proof of Address (POA) and also complete the <2>financial assessment in your account settings.","1222096166":"Deposit via bank wire, credit card, and e-wallet","1222521778":"Making deposits and withdrawals is difficult.","1222544232":"We’ve sent you an email","1225874865":"The stake adjustment: target session profit (1 USD) - current session profit (0 USD) = 1 USD","1227074958":"random fraction","1227132397":"4. For trades that result in a loss, there are two outcomes. If it was traded at the initial stake, the next trade will remain at the same amount as the strategy trades minimally at the initial stake, see A2. If it was traded with a higher amount, the stake for the next trade would be reduced by 2 USD, see A3.","1227240509":"Trim spaces","1228534821":"Some currencies may not be supported by payment agents in your country.","1229883366":"Tax identification number","1230884443":"State/Province (optional)","1231282282":"Use only the following special characters: {{permitted_characters}}","1232291311":"Maximum withdrawal remaining","1232353969":"0-5 transactions in the past 12 months","1233300532":"Payout","1233910495":"If you select \"<0>Down\", your total profit/loss will be the percentage decrease in the underlying asset price, times the multiplier and stake, minus commissions.","1234292259":"Source of wealth","1234764730":"Upload a screenshot of your name and email address from the personal details section.","1234889964":"Better funds segregation","1237330017":"Pensioner","1238311538":"Admin","1239752061":"In your cryptocurrency wallet, make sure to select the <0>{{network_name}} network when you transfer funds to Deriv.","1239760289":"Complete your trading assessment","1239940690":"Restarts the bot when an error is encountered.","1240027773":"Please Log in","1240688917":"Glossary","1241238585":"You may transfer between your Deriv fiat, cryptocurrency, and {{platform_name_mt5}} accounts.","1242288838":"Hit the checkbox above to choose your document.","1242994921":"Click here to start building your Deriv Bot.","1243064300":"Local","1243287470":"Transaction status","1246207976":"Enter the authentication code generated by your 2FA app:","1246880072":"Select issuing country","1247280835":"Our cryptocurrency cashier is temporarily down due to system maintenance. You can make cryptocurrency deposits and withdrawals in a few minutes when the maintenance is complete.","1248018350":"Source of income","1248940117":"<0>a.The decisions made by the DRC are binding on us. DRC decisions are binding on you only if you accept them.","1250113042":"This device doesn't support passkeys.","1250495155":"Token copied!","1252669321":"Import from your Google Drive","1253531007":"Confirmed","1253636052":"MetaTrader5 web terminal","1254565203":"set {{ variable }} to create list with","1255827200":"You can also import or build your bot using any of these shortcuts.","1255909792":"last","1255963623":"To date/time {{ input_timestamp }} {{ dummy }}","1258097139":"What could we do to improve?","1258198117":"positive","1259145708":"Let’s try again. Choose another document and enter the corresponding details.","1259598687":"GBP/JPY","1260259925":"Phone is not in a proper format.","1264096613":"Search for a given string","1264842111":"You can switch between real and demo accounts.","1265317149":"A recent utility bill (e.g. electricity, water or gas) or recent bank statement or government-issued letter with your name and address.","1265704976":"","1266728508":"Proof of income verification passed","1269296089":"Let's build a Bot!","1270581106":"If you select \"No Touch\", you win the payout if the market never touches the barrier at any time during the contract period.","1272012156":"GBP/CHF","1272337240":"Days","1272681097":"Hours","1274380814":"Your payout is equal to the <0>payout per pip multiplied by the difference, <1>in pips, between the final price and the strike price. You will only earn a profit if your payout is higher than your initial stake.","1274819385":"3. Complaints and Disputes","1276660852":"Submit your proof of identity","1281045211":"Sorts the items in a given list, by their numeric or alphabetical value, in either ascending or descending order.","1281290230":"Select","1282951921":"Only Downs","1284522768":"If \"Loss\" is selected, it will return \"True\" if your last trade was unsuccessful. Otherwise, it will return an empty string.","1286094280":"Withdraw","1286507651":"Close identity verification screen","1288965214":"Passport","1289146554":"British Virgin Islands Financial Services Commission","1289650867":"The Oscar’s Grind strategy is designed to potentially gain a modest yet steady profit in each trading session. This strategy splits trades into sessions and has three principles.","1290525720":"Example: ","1291997417":"Contracts will expire at exactly 23:59:59 GMT on your selected expiry date.","1292188546":"Reset Deriv MT5 investor password","1292891860":"Notify Telegram","1293660048":"Max. total loss per day","1294553728":"We’re unable to verify the document you provided because it appears to be a blank image. Please try again or upload another document.","1294756261":"This block creates a function, which is a group of instructions that can be executed at any time. Place other blocks in here to perform any kind of action that you need in your strategy. When all the instructions in a function have been carried out, your bot will continue with the remaining blocks in your strategy. Click the “do something” field to give it a name of your choice. Click the plus icon to send a value (as a named variable) to your function.","1295284664":"Please accept our <0>updated Terms and Conditions to proceed.","1296380713":"Close my contract","1299479533":"8 hours","1300576911":"Please resubmit your proof of address or we may restrict your account.","1302691457":"Occupation","1303016265":"Yes","1303530014":"We’re processing your withdrawal.","1304083330":"copy","1304272843":"Please submit your proof of address.","1304620236":"Enable camera","1305217290":"Upload the back of your identity card.","1308625834":"Sets the default time interval for blocks that read list of candles.","1309017029":"Enabling this allows you to save your blocks as one collection which can be easily integrated into other bots.","1309044871":"Returns the value of the latest tick in string format","1310483610":"Results for \"{{ search_term }}\"","1311680770":"payout","1313167179":"Please log in","1313302450":"The bot will stop trading if your total loss exceeds this amount.","1314572331":"Your document failed our verification checks.","1316216284":"You can use this password for all your {{platform}} accounts.","1319217849":"Check your mobile","1320715220":"<0>Account closed","1320750775":"Front and back","1322804930":"Restart the process on the latest version of Google Chrome","1323327633":"Our complaints process comprises the following 4 steps:","1323476617":"Changes the capitalisation of a string of text to Upper case, Lower case, Title case.","1323996051":"Profile","1324922837":"2. The new variable will appear as a block under Set variable.","1325514262":"(licence no. MB/18/0024)","1327181172":"Financial Vanuatu","1327494533":"{{sell_value}} (Sell)","1329136554":"Jump 200 Index","1329325646":"The content of this block is called on every tick","1331199417":"Please enter the correct format. ","1331367811":"Client account number","1332168410":"Learn more","1332168769":"Disconnect","1333576137":"Please update your {{details}} to continue.","1333839457":"Submit identity card (front)","1334326985":"It may take a few minutes to arrive","1335967988":"Notice","1336052175":"Switch accounts","1337846406":"This block gives you the selected candle value from a list of candles within the selected time interval.","1337864666":"Photo of your document","1338496204":"Ref. ID","1339613797":"Regulator/External dispute resolution","1340286510":"The bot has stopped, but your trade may still be running. You can check it on the Reports page.","1341840346":"View in Journal","1341921544":"Trading accounts and funds","1344696151":"Forex, stocks, stock indices, commodities, cryptocurrencies and synthetic indices.","1346038489":"Should be less than 70.","1346204508":"Take profit","1346339408":"Managers","1346947293":"We were unable to verify your selfie because it’s not clear. Please take a clearer photo and try again. Ensure that there's enough light where you are and that your entire face is in the frame.","1347037687":"Trader’s Hub V2","1347071802":"{{minutePast}}m ago","1349133669":"Try changing your search criteria.","1349289354":"Great, that's everything we need","1349295677":"in text {{ input_text }} get substring from {{ position1 }} {{ index1 }} to {{ position2 }} {{ index2 }}","1351906264":"This feature is not available for payment agents.","1353197182":"Please select","1354288636":"Based on your answers, it looks like you have insufficient knowledge and experience in trading CFDs. CFD trading is risky and you could potentially lose all of your capital.<0/><0/>","1355250245":"{{ calculation }} of list {{ input_list }}","1356574493":"Returns a specific portion of a given string of text.","1356607862":"Deriv password","1357010670":"I acknowledge and confirm that I would like to upgrade to Wallets.","1357213116":"Identity card","1358543466":"Not available","1358543748":"enabled","1360929368":"Add a Deriv account","1362029761":"Exploring the Reverse Martingale strategy in Deriv Bot","1362578283":"High","1363645836":"Derived FX","1363675688":"Duration is a required field.","1364045306":"Account V2","1364879837":"The verification is passed but the personal info is not available to compare.","1364958515":"Stocks","1366244749":"Limits","1367488817":"4. Restart trading conditions","1367990698":"Volatility 10 Index","1370647009":"Enjoy higher daily limits","1371193412":"Cancel","1371555192":"Choose your preferred payment agent and enter your withdrawal amount. If your payment agent is not listed, <0>search for them using their account number.","1371641641":"Open the link on your mobile","1371911731":"Financial products in the EU are offered by {{legal_entity_name}}, licensed as a Category 3 Investment Services provider by the Malta Financial Services Authority (<0>Licence no. IS/70156).","1373949314":"The Reverse Martingale strategy involves increasing your stake after each successful trade and resets to the initial stake for every losing trade as it aims to secure potential profits from consecutive wins.","1374627690":"Max. account balance","1374902304":"Your document appears to be damaged or cropped.","1375884086":"Financial, legal, or government document: recent bank statement, affidavit, or government-issued letter.","1376329801":"Last 60 days","1378419333":"Ether","1380349261":"Range","1383017005":"You have switched accounts.","1384127719":"You should enter {{min}}-{{max}} numbers.","1384222389":"Please submit valid identity documents to unlock the cashier.","1385418910":"Please set a currency for your existing real account before creating another account.","1387503299":"Log in","1388770399":"Proof of identity required","1389197139":"Import error","1390792283":"Trade parameters","1391174838":"Potential payout:","1392985917":"This is similar to a commonly used password","1393559748":"Invalid date/time: {{ datetime_string }}","1393901361":"There’s an app for that","1393903598":"if true {{ return_value }}","1396179592":"Commission","1396417530":"Bear Market Index","1397628594":"Insufficient funds","1400341216":"We’ll review your documents and notify you of its status within 1 to 3 days.","1400732866":"View from camera","1400962248":"High-Close","1402208292":"Change text case","1402224124":"Hit the button below, and we'll email you a verification link.","1402300547":"Lets get your address verified","1403376207":"Update my details","1405584799":"with interval: {{ candle_interval_type }}","1407191858":"DTrader","1408844944":"Click the plus icon to extend the functionality of this block.","1408852678":"Trade bigger positions with less capital across diverse financial and derived instruments. <0>Learn more","1411373212":"Strong passwords contain at least 8 characters. combine uppercase and lowercase letters, numbers, and symbols.","1412405902":"See important notes","1412535872":"You can check the result of the last trade with this block. It can only be placed within the \"Restart trading conditions\" root block.","1413047745":"Assigns a given value to a variable","1413359359":"Make a new transfer","1414205271":"prime","1414366321":"An uppercase letter","1414918420":"We'll review your proof of identity again and will give you an update as soon as possible.","1415006332":"get sub-list from first","1415513655":"Download cTrader on your phone to trade with the Deriv cTrader account","1415974522":"If you select \"Differs\", you will win the payout if the last digit of the last tick is not the same as your prediction.","1417558007":"Max. total loss over 7 days","1417907460":"No problem! Your passkey still works.","1417914636":"Login ID","1418115525":"This block repeats instructions as long as a given condition is true.","1419330165":"Forex, stocks, stock indices, commodities, cryptocurrencies, ETFs and synthetic indices","1421046084":"Setup your account","1421749665":"Simple Moving Average (SMA)","1422060302":"This block replaces a specific item in a list with another given item. It can also insert the new item in the list at a specific position.","1422129582":"All details must be clear — nothing blurry","1423082412":"Last Digit","1423296980":"Enter your SSNIT number","1424741507":"See more","1424763981":"1-3-2-6","1424779296":"If you've recently used bots but don't see them in this list, it may be because you:","1428657171":"You can only make deposits. Please contact us via <0>live chat for more information.","1430221139":"Verify now","1430396558":"5. Restart buy/sell on error","1430632931":"To get trading, please confirm who you are, and where you live.","1433367863":"Sorry, an error occured while processing your request.","1433468641":"We offer our services in all countries, except for the ones mentioned in our terms and conditions.","1434382099":"Displays a dialog window with a message","1434767075":"Get started on Deriv Bot","1434976996":"Announcement","1435363248":"This block converts the number of seconds since the Unix Epoch to a date and time format such as 2019-08-01 00:00:00.","1437396005":"Add comment","1437529196":"Payslip","1438247001":"A professional client receives a lower degree of client protection due to the following.","1438340491":"else","1439168633":"Stop loss:","1441208301":"Total<0 />profit/loss","1442747050":"Loss amount: <0>{{profit}}","1442840749":"Random integer","1443478428":"Selected proposal does not exist","1444843056":"Corporate Affairs Commission","1445592224":"You accidentally gave us another email address (Usually a work or a personal one instead of the one you meant).","1446742608":"Click here if you ever need to repeat this tour.","1449462402":"In review","1452260922":"Too many failed attempts","1452941569":"This block delays execution for a given number of seconds. You can place any blocks within this block. The execution of other blocks in your strategy will be paused until the instructions in this block are carried out.","1453317405":"This block gives you the balance of your account either as a number or a string of text.","1454406889":"Choose <0>until as the repeat option.","1454648764":"deal reference id","1454865058":"Do not enter an address linked to an ICO purchase or crowdsale. If you do, the ICO tokens will not be credited into your account.","1455741083":"Upload the back of your driving licence.","1457341530":"Your proof of identity verification has failed","1457603571":"No notifications","1458160370":"Enter your {{platform}} password to add a {{platform_name}} {{account}} {{jurisdiction_shortcode}} account.","1459761348":"Submit proof of identity","1461323093":"Display messages in the developer’s console.","1462238858":"By purchasing the \"High-to-Close\" contract, you'll win the multiplier times the difference between the high and close over the duration of the contract.","1464190305":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract without manually stopping and restarting your bot.","1464253511":"You already have an account for each of the cryptocurrencies available on {{deriv}}.","1465084972":"How much experience do you have with other financial instruments?","1465919899":"Pick an end date","1466430429":"Should be between {{min_value}} and {{max_value}}","1466900145":"Doe","1467017903":"This market is not yet available on {{platform_name_trader}}, but it is on {{platform_name_smarttrader}}.","1467421920":"with interval: %1","1467880277":"3. General queries","1468308734":"This block repeats instructions as long as a given condition is true","1468419186":"Deriv currently supports withdrawals of Tether USDT to Omni wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","1468508098":"Slippage happens when the asset price changes by the time it reaches our servers.","1469133110":"cTrader Windows app","1469150826":"Take Profit","1469764234":"Cashier Error","1469814942":"- Division","1470319695":"Returns either True or False","1470565177":"Article of association","1471008053":"Deriv Bot isn't quite ready for real accounts","1471070549":"Can contract be sold?","1471741480":"Severe error","1473369747":"Synthetics only","1475513172":"Size","1476301886":"Similar to SMA, this block gives you the entire SMA line containing a list of all values for a given period.","1478030986":"Create or delete API tokens for trading and withdrawals","1480915523":"Skip","1484336612":"This block is used to either terminate or continue a loop, and can be placed anywhere within a loop block.","1487086154":"Your documents were submitted successfully","1488548367":"Upload again","1490509675":"Options accounts","1491392301":"<0>Sold for: {{sold_for}}","1492686447":"Your MT5 Financial STP account will be opened through Deriv (FX) Ltd. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","1493673429":"Change email","1493866481":"Run Deriv X on your browser","1496810530":"GBP/AUD","1497773819":"Deriv MT5 accounts","1499080621":"Tried to perform an invalid operation.","1501691227":"Add Your Deriv MT5 <0>{{account_type_name}} account under Deriv (V) Ltd, regulated by the Vanuatu Financial Services Commission.","1502039206":"Over {{barrier}}","1502325741":"Your password cannot be the same as your email address.","1503419760":"Swap-free CFDs on selected financial and derived instruments.","1503618738":"- Deal reference ID: the reference ID of the contract","1505420815":"No payment agents found for your search","1505898522":"Download stack","1505927599":"Our servers hit a bump. Let’s refresh to move on.","1506251760":"Wallets","1507554225":"Submit your proof of address","1509559328":"cTrader","1509570124":"{{buy_value}} (Buy)","1509678193":"Education","1510075920":"Gold/USD","1510357015":"Tax residence is required.","1510735345":"This block gives you a list of the last digits of the last 1000 tick values.","1512469749":"In the above example it is assumed that variable candle_open_price is processed somewhere within other blocks.","1513771077":"We're processing your withdrawal.","1516559721":"Please select one file only","1516676261":"Deposit","1517503814":"Drop file or click here to upload","1519124277":"Derived SVG","1520332426":"Net annual income","1524636363":"Authentication failed","1526012495":"This could be because:","1526483456":"2. Enter a name for your variable, and hit Create. New blocks containing your new variable will appear below.","1527251898":"Unsuccessful","1527664853":"Your payout is equal to the payout per point multiplied by the difference between the final price and the strike price.","1527906715":"This block adds the given number to the selected variable.","1531017969":"Creates a single text string from combining the text value of each attached item, without spaces in between. The number of items can be added accordingly.","1533177906":"Fall","1534796105":"Gets variable value","1537192641":"Unable to process your request","1537711064":"You need to make a quick identity verification before you can access the Cashier. Please go to your account settings to submit your proof of identity.","1540585098":"Decline","1541508606":"Looking for CFDs? Go to Trader's Hub","1541770236":"The 1-3-2-6 strategy aims to maximise potential profits with four consecutive successful trades. One unit is equal to the amount of the initial stake. The stake will adjust from 1 unit to 3 units after the first successful trade, then to 2 units after your second successful trade, and to 6 units after the third successful trade. The stake for the next trade will reset to the initial stake if there is a losing trade or a completion of the trade cycle.","1541969455":"Both","1542742708":"Synthetics, Forex, Stocks, Stock indices, Commodities, and Cryptocurrencies","1544642951":"If you select \"Only Ups\", you win the payout if consecutive ticks rise successively after the entry spot. No payout if any tick falls or is equal to any of the previous ticks.","1547148381":"That file is too big (only up to 8MB allowed). Please upload another file.","1549098835":"Total withdrawn","1549645155":"Your passkey is successfully removed. To avoid sign-in prompts, also remove the passkey from your iCloud keychain. ","1551172020":"AUD Basket","1551689907":"Enhance your trading experience by upgrading your <0/><1>{{platform}} {{type}} {{from_account}} account(s).","1555345325":"User Guide","1556391770":"You cannot make a withdrawal as your documents are still under review. We will notify you by email within 3 days once your verification is approved.","1557426040":"Demo Derived SVG","1557682012":"Account Settings","1558972889":"set {{ variable }} to Simple Moving Average {{ dummy }}","1560302445":"Copied","1562374116":"Students","1566037033":"Bought: {{longcode}} (ID: {{transaction_id}})","1566717687":"We also provide a guide on the Tutorial tab to show you how you can build and execute a simple strategy.","1567076540":"Only use an address for which you have proof of residence - ","1567745852":"Bot name","1569527365":"Verification failed. Resubmit your details.","1569624004":"Dismiss alert","1570484627":"Ticks list","1571575776":"Accepted formats: pdf, jpeg, jpg, and png. Max file size: 8MB","1572504270":"Rounding operation","1572982976":"Server","1573429525":"Call/Put","1575556189":"Tether on the Ethereum blockchain, as an ERC20 token, is a newer transport layer, which now makes Tether available in Ethereum smart contracts. As a standard ERC20 token, it can also be sent to any Ethereum address.","1577480486":"Your mobile link will expire in one hour","1577527507":"Account opening reason is required.","1577612026":"Select a folder","1579839386":"Appstore","1580498808":"Multiple faces found","1584109614":"Ticks String List","1584936297":"XML file contains unsupported elements. Please check or modify file.","1587046102":"Documents from that country are not currently supported — try another document type","1589148299":"Start","1589640950":"Resale of this contract is not offered.","1589702653":"Proof of address","1589863913":"These are the trade parameters used for D’Alembert strategy in Deriv Bot.","1590400723":"Total assets in all your accounts","1591933071":"Resubmit document","1593010588":"Login now","1594147169":"Please come back in","1594322503":"Sell is available","1595295238":"3. Use a logic block to check if Total profit/loss is more than the Stop loss threshold amount. You can find the Total profit/loss variable under Analysis > Stats on the Blocks menu on the left. Your bot will continue to purchase new contracts until the Total profit/loss amount exceeds the Stop loss threshold amount.","1597672660":"Deriv MT5 Password","1598009247":"<0>a.You may file a complaint with the Financial Commission up to 45 days after the incident.","1598386296":"Town/City is required.","1598443642":"Transaction hash","1599743312":"An example of Reverse Martingale strategy","1602894348":"Create a password","1604916224":"Absolute","1605222432":"I have no knowledge and experience in trading at all.","1605292429":"Max. total loss","1612105450":"Get substring","1612638396":"Cancel your trade at any time within a specified timeframe.","1615897837":"Signal EMA Period {{ input_number }}","1618652381":"For instance, if a trader has a loss threshold (B) is 1000 USD, with an initial stake (s) is 1 USD, and the Martingale multiplier (m) is 2, the calculation would be as follows:","1619070150":"You are being redirected to an external website.","1620278321":"Names and surnames by themselves are easy to guess","1620346110":"Set currency","1621024661":"Tether as a TRC20 token (tUSDT) is a version of Tether that is hosted on Tron.","1622662457":"Date from","1622944161":"Now, go to the <0>Restart trading conditions block.","1623706874":"Use this block when you want to use multipliers as your trade type.","1628981793":"Can I trade cryptocurrencies on Deriv Bot?","1630417358":"Please go to your account settings and complete your personal details to enable withdrawals.","1631281562":"GBP Basket","1633661992":"Tick {{current_tick}}/{{tick_count}}","1634016345":"2. If the trade is successful, this strategy will automatically adjust your stake to 3 units of your initial stake for the next trade. In this case, the stake adjustment is 3 units and the initial stake is 1 USD, hence the next trade will start at 3 USD.","1634903642":"Only your face can be in the selfie","1634969163":"Change currency","1635266650":"It seems that your name in the document is not the same as your Deriv profile. Please update your name in the <0>Personal details page to solve this issue.","1635628424":"An envelope with your name and address.","1636605481":"Platform settings","1636782601":"Multipliers","1638321777":"Your demo account balance is low. Reset your balance to continue trading from your demo account.","1639262461":"Pending withdrawal request:","1639304182":"Please click on the link in the email to reset your password.","1641395634":"Last digits list","1641635657":"New proof of identity document needed","1641980662":"Salutation is required.","1644636153":"Transaction hash: <0>{{value}}","1644703962":"Looking for CFD accounts? Go to Trader's Hub","1644864436":"You’ll need to authenticate your account before requesting to become a professional client. <0>Authenticate my account","1644908559":"Digit code is required.","1647186767":"The bot encountered an error while running.","1648938920":"Netherlands 25","1649239667":"2. Under the Blocks menu, you'll see a list of categories. Blocks are grouped within these categories. Choose the block you want and drag them to the workspace.","1650963565":"Introducing Wallets","1651513020":"Display remaining time for each interval","1651951220":"Repeats like \"abcabcabc\" are only slightly harder to guess than \"abc\"","1652366857":"get and remove","1652968048":"Define your trade options such as multiplier and stake.","1652976865":"In this example, this block is used with another block to get the open prices from a list of candles. The open prices are then assigned to the variable called \"cl\".","1653136377":"copied!","1653180917":"We cannot verify you without using your camera","1653999225":"Forex: major/minor","1654365787":"Unknown","1654529197":"Purchase condition","1654721858":"Upload anyway","1655372864":"Your contract will expire on this date (in GMT), based on the end time you’ve selected.","1655627840":"UPPER CASE","1656155124":"Resend in <0 /> seconds","1658954996":"Plant and Machine Operators and Assemblers","1659074761":"Reset Put","1659352235":"Add your Deriv MT5 CFDs account under Deriv Investments (Europe) Limited, regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156).","1665272539":"Remember: You cannot log in to your account until the selected date.","1665718170":"The document must contain a letterhead.","1665738338":"Balance","1665756261":"Go to live chat","1668138872":"Modify account settings","1669062316":"The payout at expiry is equal to the payout per pip multiplied by the difference, <0>in pips, between the final price and the strike price.","1670016002":"Multiplier: {{ multiplier }}","1670426231":"End Time","1671232191":"You have set the following limits:","1675030608":"To create this account first we need you to resubmit your proof of address.","1676549796":"Dynamic Leverage","1677027187":"Forex","1679743486":"1. Go to Quick strategy and select the strategy you want.","1680666439":"Upload your bank statement showing your name, account number, and transaction history.","1681765749":"Martingale formula 2","1682409128":"Untitled Strategy","1682636566":"Resend email in","1683963454":"Your contract will be closed automatically at the next available asset price on {{date}} at {{timestamp}}.","1684419981":"What's this?","1686800117":"{{error_msg}}","1689103988":"Second Since Epoch","1689258195":"We were unable to verify your address with the details you provided. Please check and resubmit or choose a different document type.","1690746575":"Enhance your trading experience by upgrading your <0>{{platform}} {{type_1}} <1/>and <0>{{type_2}} {{from_account}} account(s).","1691335819":"To continue trading with us, please confirm who you are.","1691536201":"If you choose your duration in number of ticks, you won’t be able to terminate your contract early.","1691765860":"- Negation","1692912479":"Deriv MT5, Deriv X","1693614409":"Start time","1694517345":"Enter a new email address","1696190747":"Trading inherently involves risks, and actual profits can fluctuate due to various factors, including market volatility and other unforeseen variables. As such, exercise caution and conduct thorough research before engaging in any trading activities.","1698624570":"2. Hit Ok to confirm.","1699606318":"You've reached the limit of uploading your documents.","1700233813":"Transfer from {{selected_value}} is not allowed, Please choose another account from dropdown","1701447705":"Please update your address","1702339739":"Common mistakes","1703091957":"We collect information about your employment as part of our due diligence obligations, as required by anti-money laundering legislation.","1703712522":"Your payout is equal to the payout per pip multiplied by the difference, <0>in pips, between the final price and the strike price.","1704656659":"How much experience do you have in CFD trading?","1708413635":"For your {{currency_name}} ({{currency}}) account","1709859601":"Exit Spot Time","1711013665":"Anticipated account turnover","1711016273":"<0>This may take up to 2 minutes. During this time, some services may be unavailable.","1711676335":"square root","1711929663":"Your funds have been transferred","1712357617":"Invalid email address.","1713633297":"3. If the second trade is also successful, your stake will adjust to 2 USD or 2 units of the initial stake for the next trade.","1714255392":"To enable withdrawals, please complete your financial assessment.","1715011380":"Jump 25 Index","1715630945":"Returns the total profit in string format","1715680813":"Your contract will expire at exactly 23:59:59 GMT +0 on your selected expiry date.","1717023554":"Resubmit documents","1717474982":"CFDs on financial and derived instruments via a customisable platform.","1720451994":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv fiat and Deriv cryptocurrency accounts.","1720968545":"Upload passport photo page from your computer","1722056905":"The document you provided is not supported for your country. Please provide a supported document for your country.","1722888575":"{{mt5_migration_error}}","1723069433":"Your new Wallet","1723589564":"Represents the maximum number of outstanding contracts in your portfolio. Each line in your portfolio counts for one open position. Once the maximum is reached, you will not be able to open new positions without closing an existing position first.","1724367774":"You can make a funds transfer once the verification of your account is complete.","1724696797":"You are limited to one fiat account only.","1725958461":"Account number","1726472773":"Function with no return value","1726565314":"Close my account","1728183781":"About Tether","1729145421":"Risk warning","1731747596":"The block(s) highlighted in red are missing input values. Please update them and click \"Run bot\".","1733711201":"Regulators/external dispute resolution","1734185104":"Balance: %1","1734264460":"Disclaimer","1734521537":"The document you provided appears to be two different types. Please try again or provide another document.","1736292549":"Update postal code","1737352280":"Bot.init is not called","1738094481":"<0>Duration: Ticks 1","1738611950":"About Reverse Martingale","1738681493":"Remove your glasses, if necessary","1739086943":"Wall Street 30","1739384082":"Unemployed","1739668049":"Close your account","1740371444":"Underlying market is not selected","1742256256":"Please upload one of the following documents:","1743448290":"Payment agents","1743679873":"If you select <0>\"Call\", you’ll earn a <1>payout if the <1>final price is above the <1>strike price at <1>expiry. Otherwise, you won’t receive a payout.","1743902050":"Complete your financial assessment","1744509610":"Just drag the XML file from your computer onto the workspace, and your bot will be loaded accordingly. Alternatively, you can hit Import in Bot Builder, and choose to import your bot from your computer or from your Google Drive.","1745523557":"- Square root","1746051371":"Download the app","1746273643":"Moving Average Convergence Divergence","1747501260":"Sell conditions","1747674345":"Please use `.` as a decimal separator for fractional numbers.","1747682136":"Contract was cancelled.","1748754976":"Run","1753082252":"This article explores the strategy integrated into Deriv Bot, a versatile trading bot designed to trade assets such as Forex, Commodities, and Derived Indices. We will delve into the strategy's core parameters, its application, and provide essential takeaways for traders looking to use the bot effectively.","1753183432":"We take all complaints seriously and aim to resolve them as quickly and fairly as possible. If you are unhappy with any aspect of our service, please let us know by submitting a complaint using the guidance below:","1753226544":"remove","1753975551":"Upload passport photo page","1754256229":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts, up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts, up to {{ allowed_ctrader }} transfers between your Deriv and {{platform_name_ctrader}} accounts, and up to {{ allowed_dxtrade }} transfers between your Deriv and {{platform_name_dxtrade}} accounts.","1756678453":"break out","1758386013":"Do not get lured to fake \"Deriv\" pages!","1761038852":"Let’s continue with providing proofs of address and identity.","1761254001":"A number","1761762171":"Restart last trade on error (bot ignores the unsuccessful trade): {{ checkbox }}","1762707297":"Phone number","1763123662":"Upload your NIMC slip.","1766212789":"Server maintenance starts at 06:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.","1766993323":"Only letters, numbers, and underscores are allowed.","1768293340":"Contract value","1768861315":"Minute","1768918213":"Only letters, space, hyphen, period, and apostrophe are allowed.","1769068935":"Choose any of these exchanges to buy cryptocurrencies:","1770041368":"Experience safer logins","1771037549":"Add a Deriv real account","1771592738":"Conditional block","1772396880":"The date of birth on your document doesn’t match your profile.","1777847421":"This is a very common password","1778893716":"Click here","1779144409":"Account verification required","1779519903":"Should be a valid number.","1779801832":"Please update your password accordingly.","1779872677":"Download e-book","1780442963":"Scan the QR code to download {{ platform }}.","1780770384":"This block gives you a random fraction between 0.0 to 1.0.","1782308283":"Quick strategy","1782395995":"Last Digit Prediction","1782690282":"Blocks menu","1782703044":"Sign up","1783526986":"How do I build a trading bot?","1783740125":"Upload your selfie","1785298924":"D’Alembert formula 1","1786644593":"Supported formats: JPEG, JPG, PNG, PDF, and GIF only","1787492950":"Indicators on the chart tab are for indicative purposes only and may vary slightly from the ones on the {{platform_name_dbot}} workspace.","1788515547":"<0/>For more information on submitting a complaint with the Office of the Arbiter for Financial Services, please <1>see their guidance.","1788966083":"01-07-1999","1789273878":"Payout per point","1789497185":"Make sure your passport details are clear to read, with no blur or glare","1791432284":"Search for country","1791971912":"Recent","1792037169":"To avoid delays, enter your <0>name and <0>date of birth exactly as they appear on your {{document_name}}.","1793913365":"To deposit money, please switch to your {{currency_symbol}} account.","1794815502":"Download your transaction history.","1796787905":"Please upload the following document(s).","1798943788":"You can only make deposits.","1801093206":"Get candle list","1801270786":"Ready to automate your trading strategy without writing any code? You’ve come to the right place.","1801927731":"{{platform_name_dxtrade}} accounts","1803338729":"Choose what type of contract you want to trade. For example, for the Rise/Fall trade type you can choose one of three options: Rise, Fall, or Both. Selected option will determine available options for the Purchase block.","1804620701":"Expiration","1804789128":"{{display_value}} Ticks","1806017862":"Max. ticks","1808058682":"Blocks are loaded successfully","1808867555":"This block uses the variable “i” to control the iterations. With each iteration, the value of “i” is determined by the items in a given list.","1810217569":"Please refresh this page to continue.","1811109068":"Jurisdiction","1811138041":"Enter a value from {{ value }} to 9.","1811343027":"2. Select your Martingale multiplier. In this example, it is 2.","1811972349":"Market","1811973475":"Returns a specific character from a given string","1812006199":"Identity verification","1812582011":"Connecting to server","1813700208":"Boom 300 Index","1813958354":"Remove comment","1815034361":"alphabetic","1815905959":"DTrader, DBot, SmartTrader, and Binary Bot","1815995250":"Buying contract","1817154864":"This block gives you a random number from within a set range.","1820242322":"e.g. United States","1820332333":"Top up","1821818748":"Enter Driver License Reference number","1823177196":"Most popular","1824193700":"This block gives you the last digit of the latest tick value.","1824292864":"Call","1827607208":"File not uploaded.","1828370654":"Onboarding","1830520348":"{{platform_name_dxtrade}} Password","1831847842":"I confirm that the name and date of birth above match my chosen identity document (see below)","1833499833":"Proof of identity documents upload failed","1836767074":"Search payment agent name","1837762008":"Please submit your proof of identity and proof of address to verify your account in your account settings to access the cashier.","1839021527":"Please enter a valid account number. Example: CR123456789","1840721160":"Deriv MT5 latest password requirements","1840865068":"set {{ variable }} to Simple Moving Average Array {{ dummy }}","1841788070":"Palladium/USD","1841996888":"Daily loss limit","1842266423":"back","1843336754":"Select document","1843658716":"If you select \"Only Downs\", you win the payout if consecutive ticks fall successively after the entry spot. No payout if any tick rises or is equal to any of the previous ticks.","1845598565":"The second session concludes upon reaching the aim of one unit of potential profit per session, equivalent to 1 USD. If trading continues, a new session will commence again.","1845892898":"(min: {{min_stake}} - max: {{max_payout}})","1846266243":"This feature is not available for demo accounts.","1846587187":"You have not selected your country of residence","1846588117":"Your contract will be closed automatically when your loss reaches {{stop_out_percentage}}% of your stake.","1849484058":"Any unsaved changes will be lost.","1850031313":"- Low: the lowest price","1850132581":"Country not found","1850659345":"- Payout: the payout of the contract","1851052337":"Place of birth is required.","1851776924":"upper","1854480511":"Cashier is locked","1854874899":"Back to list","1854909245":"Multiplier:","1855566768":"List item position","1856485118":"Please <0>resubmit your proof of address to transfer funds between MT5 and Deriv accounts.","1856755117":"Pending action required","1858251701":"minute","1859308030":"Give feedback","1861688160":"Deposit, transfer, trade","1863053247":"Please upload your identity document.","1863731653":"To receive your funds, contact the payment agent","1865525612":"No recent transactions.","1866244589":"The entry spot is the first tick for High/Low Ticks.","1866811212":"Deposit in your local currency via an authorised, independent payment agent in your country.","1867217564":"Index must be a positive integer","1867783237":"High-to-Close","1869315006":"See how we protect your funds to unlock the cashier.","1869486036":"You receive a <0>payout at <0>expiry if the spot price never touches or breaches the <0>barrier during the contract period. If it does, your contract will be terminated early.","1869787212":"Even","1870933427":"Crypto","1871196637":"True if the result of the last trade matches the selection","1871377550":"Do you offer pre-built trading bots on Deriv Bot?","1871664426":"Note","1873376454":"This is a price level that you choose. If this barrier is ever crossed, your contract would be terminated.","1874481756":"Use this block to purchase the specific contract you want. You may add multiple Purchase blocks together with conditional blocks to define your purchase conditions. This block can only be used within the Purchase conditions block.","1874737957":"To trade multipliers, get a Deriv Apps account first.","1874756442":"BVI","1875702561":"Load or build your bot","1876015808":"Social Security and National Insurance Trust","1876325183":"Minutes","1876333357":"Tax Identification Number is invalid.","1877225775":"Your proof of address is verified","1877832150":"# from end","1878172674":"No, we don't. However, you'll find quick strategies on Deriv Bot that'll help you build your own trading bot for free.","1878189977":"The Martingale strategy involves increasing your stake after each loss to recoup prior losses with a single successful trade.","1879042430":"Appropriateness Test, WARNING:","1879412976":"Profit amount: <0>{{profit}}","1879651964":"<0>Pending verification","1880029566":"Australian Dollar","1880097605":"prompt for {{ string_or_number }} with message {{ input_text }}","1880227067":"Submit passport photo pages","1880377568":"An example of D’Alembert strategy","1880875522":"Create \"get %1\"","1881018702":"hour","1881380263":"Total assets in your account.","1881587673":"Total stake since you last cleared your stats.","1882825238":"Restart trading conditions","1883531976":"Clerks","1885708031":"#","1887257727":"R is the number of rounds a trader can sustain given a specific loss threshold.","1887925280":"The document must be recent and include your name and address:","1889357660":"Enter a value in minutes, up to 60480 minutes (equivalent to 6 weeks).","1890171328":"By clicking Accept below and proceeding with the Account Opening you should note that you may be exposing yourself to risks (which may be significant, including the risk of loss of the entire sum invested) that you may not have the knowledge and experience to properly assess or mitigate.","1890332321":"Returns the number of characters of a given string of text, including numbers, spaces, punctuation marks, and symbols.","1893869876":"(lots)","1894667135":"Please verify your proof of address","1896269665":"CFDs on derived and financial instruments.","1899898605":"Maximum size: 8MB","1902547203":"MetaTrader 5 MacOS app","1903437648":"Blurry photo detected","1904665809":"The Reverse Martingale strategy in trading may offer substantial gains but also comes with significant risks. With your selected strategy, Deriv Bot provides automated trading with risk management measures like setting initial stake, stake size, maximum stake, profit threshold and loss threshold. It's crucial for traders to assess their risk tolerance, practice in a demo account, and understand the strategy before trading with real money.","1905032541":"We're now ready to verify your identity","1905589481":"If you want to change your account currency, please contact us via <0>live chat.","1906213000":"Our system will finish any Deriv Bot trades that are running, and Deriv Bot will not place any new trades.","1906639368":"If this is the first time you try to create a password, or you have forgotten your password, please reset it.","1907423697":"Earn more with Deriv API","1908023954":"Sorry, an error occurred while processing your request.","1908239019":"Make sure all of the document is in the photo","1908686066":"Appropriateness Test Warning","1909647105":"TRX/USD","1909769048":"median","1913777654":"Switch account","1914014145":"Today","1914270645":"Default Candle Interval: {{ candle_interval_type }}","1914725623":"Upload the page that contains your photo.","1916129921":"Reverse Martingale","1917178459":"Bank Verification Number","1917523456":"This block sends a message to a Telegram channel. You will need to create your own Telegram bot to use this block.","1918796823":"Please enter a stop loss amount.","1918832194":"No experience","1919030163":"Tips to take a good selfie","1919296368":"2. Select your unit. In this example, it is 2 units or 2 USD.","1919594496":"{{website_name}} is not affiliated with any payment agents. Customers deal with payment agents at their sole risk. Customers are advised to check the credentials of payment agents and the accuracy of any information about payment agents (on {{website_name}} or elsewhere) before using their services.","1919694313":"To start trading, transfer funds from your Deriv account into this account.","1920217537":"Compare","1920468180":"How to use the SMA block","1921914669":"Deposit with Deriv P2P","1922529883":"Boom 1000 Index","1922955556":"Use a longer keyboard pattern with more turns","1924365090":"Maybe later","1924765698":"Place of birth*","1928930389":"GBP/NOK","1929694162":"Compare accounts","1930899934":"Tether","1931659123":"Run on every tick","1931884033":"It seems that your date of birth in the document is not the same as your Deriv profile. Please update your date of birth in the <0>Personal details page to solve this issue.","1934450653":"For <0>Contract type, set it to Both.","1938327673":"Deriv {{platform}} <0>{{is_demo}}","1939014728":"How do I remove blocks from the workspace?","1939902659":"Signal","1940408545":"Delete this token","1941915555":"Try later","1943440862":"Calculates Bollinger Bands (BB) list from a list with a period","1944204227":"This block returns current account balance.","1947527527":"1. This link was sent by you","1948092185":"GBP/CAD","1949719666":"Here are the possible reasons:","1950413928":"Submit identity documents","1955219734":"Town/City*","1957759876":"Upload identity document","1958788790":"This is the amount you’ll receive at expiry for every point of change in the underlying price, if the spot price never touches or breaches the barrier throughout the contract duration.","1958807602":"4. 'Table' takes an array of data, such as a list of candles, and displays it in a table format.","1959678342":"Highs & Lows","1960240336":"first letter","1964165648":"Connection lost","1965916759":"Asian options settle by comparing the last tick with the average spot over the period.","1966023998":"2FA enabled","1966281100":"Console {{ message_type }} value: {{ input_message }}","1968025770":"Bitcoin Cash","1968077724":"Agriculture","1968368585":"Employment status","1970060713":"You’ve successfully deleted a bot.","1971898712":"Add or manage account","1973536221":"You have no open positions yet.","1973910243":"Manage your accounts","1974273865":"This scope will allow third-party apps to view your account activity, settings, limits, balance sheets, trade purchase history, and more.","1974903951":"If you hit Yes, the info you entered will be lost.","1978218112":"Google Authenticator","1981940238":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_v}}.","1982790875":"Upgrade your <0/><1>{{account_title}} {{platform}} account(s)","1982796981":"Declarations","1982912252":"Relative Strength Index (RSI) from a list with a period","1983001416":"Define your trade options such as multiplier and stake. This block can only be used with the multipliers trade type. If you select another trade type, this block will be replaced with the Trade options block.","1983358602":"This policy, which may change from time to time, applies to your account registered with {{legal_entity_name}}.","1983387308":"Preview","1983480826":"Sign in","1983544897":"P.O. Box is not accepted in address","1983676099":"Please check your email for details.","1984700244":"Request an input","1984742793":"Uploading documents","1985366224":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts and up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts.","1985637974":"Any blocks placed within this block will be executed at every tick. If the default candle interval is set to 1 minute in the Trade Parameters root block, the instructions in this block will be executed once every minute. Place this block outside of any root block.","1986322868":"When your loss reaches or exceeds this amount, your trade will be closed automatically.","1986498784":"BTC/LTC","1987080350":"Demo","1987447369":"Your cashier is locked","1988153223":"Email address","1988302483":"Take profit:","1990331072":"Proof of ownership","1990735316":"Rise Equals","1991055223":"View the market price of your favourite assets.","1991448657":"Don't know your tax identification number? Click <0>here to learn more.","1991524207":"Jump 100 Index","1994023526":"The email address you entered had a mistake or typo (happens to the best of us).","1994558521":"The platforms aren’t user-friendly.","1994600896":"This block requires a list of candles as an input parameter.","1995023783":"First line of address*","1996767628":"Please confirm your tax information.","1997138507":"If the last tick is equal to the average of the ticks, you don't win the payout.","1997313835":"Your stake will continue to grow as long as the current spot price remains within a specified <0>range from the <0>previous spot price. Otherwise, you lose your stake and the trade is terminated.","1999213036":"Enhanced security is just a tap away.","1999346412":"For faster verification, input the same address here as in your proof of address document (see section below)","2001222130":"Check your spam or junk folder. If it's not there, try resending the email.","2001361785":"1. Start with the initial stake. Let’s say 1 USD.","2004052487":"Estimating the lifespan of your trades","2007028410":"market, trade type, contract type","2010759971":"Uploads successful","2010866561":"Returns the total profit/loss","2011609940":"Please input number greater than 0","2011808755":"Purchase Time","2012139674":"Android: Google password manager.","2014536501":"Card number","2014590669":"Variable '{{variable_name}}' has no value. Please set a value for variable '{{variable_name}}' to notify.","2017672013":"Please select the country of document issuance.","2018044371":"Multipliers let you trade with leverage and limit your risk to your stake. <0>Learn more","2019596693":"The document was rejected by the Provider.","2020545256":"Close your account?","2021037737":"Please update your details to continue.","2021161151":"Watch this video to learn how to build a trading bot on Deriv Bot. Also, check out this blog post on building a trading bot.","2023546580":"Your account will be available for trading once the verification of your account is complete.","2023659183":"Student","2023762268":"I prefer another trading website.","2025339348":"Move away from direct light — no glare","2027441253":"Why do we collect this?","2027625329":"Simple Moving Average Array (SMAA)","2027638150":"Upgrade","2027696535":"Tax information","2028163119":"EOS/USD","2029237955":"Labuan","2030018735":"RSI is a technical analysis tool that helps you identify the market trend. It will give you a value from 0 to 100. An RSI value of 70 and above means that the asset is overbought and the current trend may reverse, while a value of 30 and below means that the asset is oversold.","2030045667":"Message","2033648953":"This block gives you the specified candle value for a selected time interval.","2034803607":"You must be 18 years old and above.","2035258293":"Start trading with us","2035925727":"sort {{ sort_type }} {{ sort_direction }} {{ input_list }}","2036578466":"Should be {{value}}","2037665157":"Expand All Blocks","2037906477":"get sub-list from #","2038562422":"TIN is required.","2039198937":"Maximum stake: The maximum amount you are willing to pay to enter a single trade. The stake for your next trade will reset to the initial stake if it exceeds this value. This is an optional risk management parameter.","2042023623":"We’re reviewing your documents. This should take about 5 minutes.","2042050260":"- Purchase price: the purchase price (stake) of the contract","2042115724":"Upload a screenshot of your account and personal details page with your name, account number, phone number, and email address.","2044086432":"The close is the latest tick at or before the end time. If you selected a specific end time, the end time is the selected time.","2046273837":"Last tick","2046577663":"Import or choose your bot","2048110615":"Email address*","2048134463":"File size exceeded.","2049386104":"We need you to submit these in order to get this account:","2050170533":"Tick list","2051558666":"View transaction history","2052022586":"To enhance your MT5 account security we have upgraded our password policy.","2054889300":"Create \"%1\"","2055317803":"Copy the link to your mobile browser","2056369950":"<0>To complete your Wallet setup, log out and then log in again.","2057082550":"Accept our updated <0>terms and conditions","2057419639":"Exit Spot","2059365224":"Yes, you can get started with a pre-built bot using the Quick strategy feature. You’ll find some of the most popular trading strategies here: Martingale, D'Alembert, and Oscar's Grind. Just select the strategy, enter your trade parameters, and your bot will be created for you. You can always tweak the parameters later.","2059753381":"Why did my verification fail?","2060873863":"Your order {{order_id}} is complete","2062912059":"function {{ function_name }} {{ function_params }}","2063812316":"Text Statement","2063815003":"Ready to enable Wallets","2063890788":"Cancelled","2066978677":"{{formatted_opening_time}} (GMT) on {{opening_day}},<0 /> {{opening_date}}.","2067903936":"Driving licence","2070002739":"Don’t accept","2070345146":"When opening a leveraged CFD trade.","2070518923":"Import your bot or tap Quick Strategies to choose from the ready-to-use bot templates.","2070752475":"Regulatory Information","2070858497":"Your document appears to be a screenshot.","2071043849":"Browse","2074207096":"How to create a passkey?","2074235904":"Last name is required.","2074497711":"The Telegram notification could not be sent","2074713563":"4.2. Submission of a complaint","2079925695":"Unit: The number of units that are added in the event of a trade resulting in loss or the number of units removed in the event of a trade resulting in profit. For example, if the unit is set at 2, the stake increases or decreases by two times the initial stake of 1 USD, meaning it changes by 2 USD.","2080553498":"3. Get the chat ID using the Telegram REST API (read more: https://core.telegram.org/bots/api#getupdates)","2080829530":"Sold for: {{sold_for}}","2081622549":"Must be a number higher than {{ min }}","2082533832":"Yes, delete","2084693624":"Converts a string representing a date/time string into seconds since Epoch. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825. Time and time zone offset are optional.","2085387371":"Must be numbers, letters, and special characters . , ' -","2085602195":"- Entry value: the value of the first tick of the contract","2086048243":"Certificate of incorporation","2086792088":"Both barriers should be relative or absolute","2088735355":"Your session and login limits","2089087110":"Basket indices","2089395053":"Unit","2089581483":"Expires on","2090650973":"The spot price may change by the time your order reaches our servers. When this happens, your payout may be affected.","2091671594":"Status","2093675079":"- Close: the closing price","2096014107":"Apply","2096456845":"Date of birth*","2096603244":"Derived - Vanuatu","2097170986":"About Tether (Omni)","2097381850":"Calculates Simple Moving Average line from a list with a period","2097815211":"Number of rounds (R) = 10","2097932389":"Upload 2 separate screenshots from the personal details page and the account page via <0>https://app.astropay.com/profile","2099488590":"Changes to your Deriv MT5 login","2100713124":"account","2100912278":"4. If a trade ends in a loss, the stake for the following trade will be reset to the initial stake amount of 1 USD.","2101972779":"This is the same as the above example, using a tick list.","2102572780":"Length of digit code must be 6 characters.","2104115663":"Last login","2104364680":"Please switch to your demo account to run your Deriv Bot.","2104397115":"Please go to your account settings and complete your personal details to enable deposits and withdrawals.","2107381257":"Scheduled cashier system maintenance","2107882050":"The back of your document appears to be missing. Please include both sides of your identity document.","2110365168":"Maximum number of trades reached","2111015970":"This block helps you check if your contract can be sold. If your contract can be sold, it returns “True”. Otherwise, it returns an empty string.","2111528352":"Creating a variable","2112119013":"Take a selfie showing your face","2112175277":"with delimiter","2113321581":"Add a Deriv Gaming account","2114766645":"Some trade types are unavailable for {{symbol}}.","2115223095":"Loss","2117165122":"1. Create a Telegram bot and get your Telegram API token. Read more on how to create bots in Telegram here: https://core.telegram.org/bots#6-botfather","2117489390":"Auto update in {{ remaining }} seconds","2118292085":"<0>Note: You’ll receive an email when your deposit starts being processed.","2119449126":"Example output of the below example will be:","2119710534":"FAQ","2121227568":"NEO/USD","2122152120":"Assets","2127564856":"Withdrawals are locked","2128919448":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price. We won’t offer a contract value if the remaining duration is below 15 seconds or if the contract duration is in ticks.","2129807378":"Update profile","2133075559":"This means after 10 rounds of consecutive losses, this trader will lose 100 USD. This reaches the loss threshold of 100 USD, stopping the bot.","2133451414":"Duration","2133470627":"This block returns the potential payout for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","2135563258":"Forex trading frequency","2136246996":"Selfie uploaded","2136480755":"Some details in your document appear to be invalid, missing, or unclear.","2137901996":"This will clear all data in the summary, transactions, and journal panels. All counters will be reset to zero.","2137993569":"This block compares two values and is used to build a conditional structure.","2138861911":"Scans and photocopies are not accepted","2139171480":"Reset Up/Reset Down","2139362660":"left side","2141055709":"New {{type}} password","2143803283":"Purchase Error","2144609616":"If you select \"Reset-Down”, you win the payout if the exit spot is strictly lower than either the entry spot or the spot at reset time.","2145690912":"Income Earning","2145995536":"Create new account","2146336100":"in text %1 get %2","2146698770":"Pro tip: You can also click and drag out the desired block","2146892766":"Binary options trading experience","2147244655":"How do I import my own trading bot into Deriv Bot?","-931052769":"Submit verification","-1004605898":"Tips","-1938142055":"Documents uploaded","-448090287":"The link only works on mobile devices","-1244287721":"Something's gone wrong","-241258681":"You'll need to restart your verification on your computer","-929254273":"Get secure link","-2021867851":"Check back here to finish the submission","-1547069149":"Open the link and complete the tasks","-1767652006":"Here's how to do it:","-277611959":"You can now return to your computer to continue","-724178625":"Make sure full document is visible","-1519380038":"Glare detected","-1895280620":"Make sure your card details are clear to read, with no blur or glare","-1464447919":"Make sure your permit details are clear to read, with no blur or glare","-1436160506":"Make sure details are clear to read, with no blur or glare","-759124288":"Close","-759118956":"Redo","-753375398":"Enlarge image","-1042933881":"Driver's license","-1503134764":"Face photo page","-1335343167":"Sorry, no mobile phone bills","-699045522":"Documents you can use to verify your identity","-543666102":"It must be an official photo ID","-903877217":"These are the documents most likely to show your current home address","-1356835948":"Choose document","-1364375936":"Select a %{country} document","-401586196":"or upload photo – no scans or photocopies","-3110517":"Take a photo with your phone","-2033894027":"Submit identity card (back)","-20684738":"Submit license (back)","-1359585500":"Submit license (front)","-106779602":"Submit residence permit (back)","-1287247476":"Submit residence permit (front)","-1954762444":"Restart the process on the latest version of Safari","-261174676":"Must be under 10MB.","-685885589":"An error occurred while loading the component","-502539866":"Your face is needed in the selfie","-1377968356":"Please try again","-1226547734":"Try using a JPG or PNG file","-849068301":"Loading...","-1730346712":"Loading","-1849371752":"Check that your number is correct","-309848900":"Copy","-1424436001":"Send link","-1093833557":"How to scan a QR code","-1408210605":"Point your phone’s camera at the QR code","-1773802163":"If it doesn’t work, download a QR code scanner from Google Play or the App Store","-109026565":"Scan QR code","-1644436882":"Get link via SMS","-1667839246":"Enter mobile number","-1533172567":"Enter your mobile number:","-1352094380":"Send this one-time link to your phone","-28974899":"Get your secure link","-359315319":"Continue","-826420669":"Make sure","-1279080293":"2. Your desktop window stays open","-102776692":"Continue with the verification","-89152891":"Take a photo of the back of your card","-1646367396":"Take a photo of the front of your card","-1350855047":"Take a photo of the front of your license","-2119367889":"Take a photo using the basic camera mode instead","-342915396":"Take a photo","-419040068":"Passport photo page","-1354983065":"Refresh","-1925063334":"Recover camera access to continue face verification","-54784207":"Camera access is denied","-1392699864":"Allow camera access","-269477401":"Provide the whole document page for best results","-864639753":"Upload back of card from your computer","-1309771027":"Upload front of license from your computer","-1722060225":"Take photo","-565732905":"Selfie","-1703181240":"Check that it is connected and functional. You can also continue verification on your phone","-2043114239":"Camera not working?","-2029238500":"It may be disconnected. Try using your phone instead.","-468928206":"Make sure your device's camera works","-466246199":"Camera not working","-698978129":"Remember to press stop when you're done. Redo video actions","-538456609":"Looks like you took too long","-781816433":"Photo of your face","-1471336265":"Make sure your selfie clearly shows your face","-1375068556":"Check selfie","-1914530170":"Face forward and make sure your eyes are clearly visible","-776541617":"We'll compare it with your document","-478752991":"Your link will expire in one hour","-1859729380":"Keep this window open while using your mobile","-1283761937":"Resend link","-629011256":"Don't refresh this page","-1005231905":"Once you've finished we'll take you to the next step","-542134805":"Upload photo","-1462975230":"Document example","-1472844935":"The photo should clearly show your document","-1120954663":"First name*","-1659980292":"First name","-962979523":"Your {{ field_name }} as in your identity document","-1416797980":"Please enter your {{ field_name }} as in your official identity documents.","-1466268810":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your <0>account settings.","-32386760":"Name","-766265812":"first name","-1857534296":"John","-1282749116":"last name","-1485480657":"Other details","-1784741577":"date of birth","-1702919018":"Second line of address (optional)","-1315410953":"State/Province","-2040322967":"Citizenship","-344715612":"Employment status*","-1543016582":"I hereby confirm that the tax information I provided is true and complete. I will also inform {{legal_entity_name}} about any changes to this information.","-946282997":"Additional information","-1315571766":"Place of birth","-789291456":"Tax residence*","-1692219415":"Tax residence","-1903720068":"The country in which you meet the criteria for paying taxes. Usually the country in which you physically reside.","-651516152":"Tax Identification Number","-1387062433":"Account opening reason","-222283483":"Account opening reason*","-583925597":"For verification purposes as required by regulation. It’s your responsibility to provide accurate and complete answers. You can update personal details at any time in your account settings.","-1113902570":"Details","-71696502":"Previous","-1541554430":"Next","-307865807":"Risk Tolerance Warning","-690100729":"Yes, I understand the risk.","-2010628430":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, you must confirm that you understand your capital is at risk.","-863770104":"Please note that by clicking ‘OK’, you may be exposing yourself to risks. You may not have the knowledge or experience to properly assess or mitigate these risks, which may be significant, including the risk of losing the entire sum you have invested.","-684271315":"OK","-1292808093":"Trading Experience","-153346659":"Upload your selfie.","-602131304":"Passport number","-1051213440":"Upload the front and back of your identity card.","-1600807543":"First, enter your identity card number and the expiry date.","-1139923664":"Next, upload the front and back of your identity card.","-783705755":"Upload the front of your identity card.","-566750665":"NIMC slip and proof of age","-1465944279":"NIMC slip number","-429612996":"Next, upload both of the following documents.","-376981174":"Upload your proof of age: birth certificate or age declaration document.","-612174191":"First line of address is required","-242734402":"Only {{max}} characters, please.","-378415317":"State is required","-1784470716":"State is not in a proper format","-1699820408":"Please enter a {{field_name}} under {{max_number}} characters.","-1575567374":"postal/ZIP code","-816263501":"Only letters, numbers, space and hyphen are allowed.","-755626951":"Complete your address details","-1024240099":"Address","-1534917661":"Select your preferred currency","-1027595143":"Less than $25,000","-40491332":"$25,000 - $50,000","-1139806939":"$50,001 - $100,000","-996132458":"Construction","-915003867":"Health","-1430012453":"Information & Communications Technology","-987824916":"Science & Engineering","-146630682":"Social & Cultural","-761306973":"Manufacturing","-1631552645":"Professionals","-474864470":"Personal Care, Sales and Service Workers","-1129355784":"Agricultural, Forestry and Fishery Workers","-1242914994":"Craft, Metal, Electrical and Electronics Workers","-1317824715":"Cleaners and Helpers","-1592729751":"Mining, Construction, Manufacturing and Transport Workers","-1030759620":"Government Officers","-2137323480":"Company Ownership","-1590574533":"Divorce Settlement","-1667683002":"Inheritance","-1237843731":"Investment Income","-777506574":"Sale of Property","-654781670":"Primary","-1717373258":"Secondary","-1156937070":"$500,001 - $1,000,000","-315534569":"Over $1,000,000","-2068544539":"Salaried Employee","-531314998":"Investments & Dividends","-1235114522":"Pension","-1298056749":"State Benefits","-449943381":"Savings & Inheritance","-477761028":"Voter ID","-1466346630":"CPF","-1161338910":"First name is required.","-1161818065":"Last name should be between 2 and 50 characters.","-1281693513":"Date of birth is required.","-26599672":"Citizenship is required","-912174487":"Phone is required.","-673765468":"Letters, numbers, spaces, periods, hyphens and forward slashes only.","-212167954":"Tax Identification Number is not properly formatted.","-1823540512":"Personal details","-1227878799":"Speculative","-1174064217":"Mr","-855506127":"Ms","-204765990":"Terms of use","-189310067":"Account closed","-849320995":"Assessments","-773766766":"Email and passwords","-1144318594":"Passkeys","-1466827732":"Self exclusion","-1498206510":"Account limits","-241588481":"Login history","-966136867":"Connected apps","-213009361":"Two-factor authentication","-526636259":"Error 404","-739367071":"Employed","-626752657":"0-1 year","-532014689":"1-2 years","-1001024004":"Over 3 years","-790513277":"6-10 transactions in the past 12 months","-580085300":"11-39 transactions in the past 12 months","-1458676679":"You should enter 2-50 characters.","-1116008222":"You should enter 9-35 numbers.","-1995979930":"First line of address is required.","-703454156":"Please enter a Postal/ZIP code under 20 characters.","-2113555886":"Only letters, numbers, space, and hyphen are allowed.","-1103497546":"Tax return","-700600899":"Business proof of address","-1073862586":"Memorandum","-1823328095":"Authorization letter","-397487797":"Enter your full card number","-1376950117":"That file format isn't supported. Please upload .pdf, .png, .jpg, or .jpeg files only.","-612752984":"These are default limits that we apply to your accounts.","-1411635770":"Learn more about account limits","-1340125291":"Done","-1101543580":"Limit","-858297154":"Represents the maximum amount of cash that you may hold in your account. If the maximum is reached, you will be asked to withdraw funds.","-976258774":"Not set","-1182362640":"Represents the maximum aggregate payouts on outstanding contracts in your portfolio. If the maximum is attained, you may not purchase additional contracts without first closing out existing positions.","-1781293089":"Maximum aggregate payouts on open positions","-1412690135":"*Any limits in your Self-exclusion settings will override these default limits.","-1598751496":"Represents the maximum volume of contracts that you may purchase in any given trading day.","-173346300":"Maximum daily turnover","-138380129":"Total withdrawal allowed","-1502578110":"Your account is fully authenticated and your withdrawal limits have been lifted.","-506122621":"Please take a moment to update your information now.","-1106259572":"Don't know your tax identification number? <1 />Click <0>here to learn more.","-252665911":"Place of birth{{required}}","-859814496":"Tax residence{{required}}","-237940902":"Tax Identification number{{required}}","-919191810":"Please fill in tax residence.","-270569590":"Intended use of account{{required}}","-2120290581":"Intended use of account is required.","-1662154767":"a recent utility bill (e.g. electricity, water, gas, landline, or internet), bank statement, or government-issued letter with your name and this address.","-594456225":"Second line of address","-1964954030":"Postal/ZIP Code","-516397235":"Be careful who you share this token with. Anyone with this token can perform the following actions on your account behalf","-989216986":"Add accounts","-617480265":"Delete token","-316749685":"Are you sure you want to delete this token?","-955038366":"Copy this token","-1668692965":"Hide this token","-1661284324":"Show this token","-1076138910":"Trade","-1666909852":"Payments","-488597603":"Trading information","-605778668":"Never","-1628008897":"Token","-1238499897":"Last Used","-1171226355":"Length of token name must be between {{MIN_TOKEN}} and {{MAX_TOKEN}} characters.","-1803339710":"Maximum {{MAX_TOKEN}} characters.","-408613988":"Select scopes based on the access you need.","-5605257":"This scope will allow third-party apps to withdraw to payment agents and make inter-account transfers for you.","-1373485333":"This scope will allow third-party apps to view your trading history.","-758221415":"This scope will allow third-party apps to open accounts for you, manage your settings and token usage, and more. ","-807767876":"Note:","-1117963487":"Name your token and click on 'Create' to generate your token.","-2005211699":"Create","-1652683689":"Please note that you can only have 1 fiat account.","-1146960797":"Fiat currencies","-1959484303":"Cryptocurrencies","-2087317410":"Oops, something went wrong.","-184202848":"Upload file","-370334393":"Click here to browse your files.","-863586176":"Drag and drop a file or click to browse your files.","-723198394":"File size should be 8MB or less","-1948369500":"File uploaded is not supported","-1040865880":"Drop files here..","-1100235269":"Industry of employment","-684388823":"Estimated net worth","-509054266":"Anticipated annual turnover","-1117345066":"Choose the document type","-1634507018":"Enter your {{document_name}}","-1237846864":"Verify again","-39187636":"{{index}}.","-337620257":"Switch to real account","-2120454054":"Add a real account","-38915613":"Unsaved changes","-2137450250":"You have unsaved changes. Are you sure you want to discard changes and leave this page?","-1067082004":"Leave Settings","-1982432743":"It appears that the address in your document doesn’t match the address\n in your Deriv profile. Please update your personal details now with the\n correct address.","-1451334536":"Continue trading","-251603364":"Your document for proof of address is expired. <0/>Please submit again.","-1425489838":"Proof of address verification not required","-1008641170":"Your account does not need address verification at this time. We will inform you if address verification is required in the future.","-60204971":"We could not verify your proof of address","-1944264183":"To continue trading, you must also submit a proof of identity.","-1088324715":"We’ll review your documents and notify you of its status within 1 - 3 working days.","-329713179":"Ok","-2145244263":"This field is required","-1500958859":"Verify","-839094775":"Back","-1813671961":"Your identity verification failed because:","-2097808873":"We were unable to verify your ID with the details you provided. ","-1652371224":"Your profile is updated","-504784172":"Your document has been submitted","-1391934478":"Your ID is verified. You will also need to submit proof of your address.","-118547687":"ID verification passed","-200989771":"Go to personal details","-1358357943":"Please check and update your postal code before submitting proof of identity.","-1401994581":"Your personal details are missing","-2004327866":"Please select a valid country of document issuance.","-1664159494":"Country","-1044962593":"Upload Document","-749870311":"Please contact us via <0>live chat.","-1084991359":"Proof of identity verification not required","-1981334109":"Your account does not need identity verification at this time. We will inform you if identity verification is required in the future.","-182918740":"Your proof of identity submission failed because:","-155705811":"A clear colour photo or scanned image","-246893488":"JPEG, JPG, PNG, PDF, or GIF","-1454880310":"Must be valid for at least 6 months","-1949501500":"First, enter your {{label}}.","-100534371":"Before uploading, please ensure that you’re facing forward in the selfie, your face is within the frame, and your eyes are clearly visible even if you’re wearing glasses.","-1529523673":"Confirm and upload","-705047643":"Sorry, an error occured. Please select another file.","-1664309884":"Tap here to upload","-1725454783":"Failed","-856213726":"You must also submit a proof of address.","-552371330":"We were unable to verify your income. <0 /> Please check the email we've sent you for further information.","-841187054":"Try Again","-978467455":"Limit reached","-361316523":"You have reached the maximum number of allowed attempts for submitting proof of income. <0 /> Please check the email we've sent you for further information.","-1785967427":"We'll review your documents and notify you of its status within 7 working days.","-987011273":"Your proof of ownership isn't required.","-808299796":"You are not required to submit proof of ownership at this time. We will inform you if proof of ownership is required in the future.","-179726573":"We’ve received your proof of ownership.","-813779897":"Proof of ownership verification passed.","-1389323399":"You should enter {{min_number}}-{{max_number}} characters.","-47815161":"Please include at least 1 special character such as ( _ @ ? ! / # ) in your password.","-1313806160":"Please request a new password and check your email for the new token.","-1598167506":"Success","-1077809489":"You have a new {{platform}} password to log in to your {{platform}} accounts on the web and mobile apps.","-1108813179":"You can use this password for all your Deriv MT5 accounts.","-2068479232":"{{platform}} password","-507633532":"Your password must contain between 8-16 characters that include uppercase and lowercase letters, and at least one number and special character such as ( _ @ ? ! / # ).","-1597186502":"Reset {{platform}} password","-638756912":"Black out digits 7 to 12 of the card number that’s shown on the front of your debit/credit card.⁤","-996691262":"We’ve introduced these limits to encourage <0>responsible trading. They are optional, and you can adjust them anytime.","-2079276011":"These limits apply to your multipliers trades only. For example, <0>maximum total loss refers to the losses on your multipliers trades.","-2116570030":"If you want to adjust your limits, <0>contact us via live chat. We’ll make the adjustments within 24 hours.","-1389915983":"You decide how much and how long to trade. You can take a break from trading whenever you want. This break can be from 6 weeks to 5 years. When it’s over, you can extend it or log in to resume trading. If you don’t want to set a specific limit, leave the field empty.","-1031814119":"About trading limits and self-exclusion","-183468698":"Trading limits and self-exclusion","-1088698009":"These self-exclusion limits help you control the amount of money and time you spend trading on {{platform_name_trader}}, {{platform_name_dbot}}, {{platform_name_smarttrader}} and {{platform_name_bbot}} on Deriv. The limits you set here will help you exercise <0>responsible trading.","-933963283":"No, review my limits","-1759860126":"Yes, log me out immediately","-572347855":"{{value}} mins","-313333548":"You’ll be able to adjust these limits at any time. You can reduce your limits from the <0>self-exclusion page. To increase or remove your limits, please contact our <1>Customer Support team.","-1265833982":"Accept","-2123139671":"Your stake and loss limits","-1250802290":"24 hours","-2070080356":"Max. total stake","-1545823544":"7 days","-180147209":"You will be automatically logged out from each session after this time limit.","-374553538":"Your account will be excluded from the website until this date (at least 6 months, up to 5 years).","-2105708790":"Your maximum account balance and open positions","-1960600163":"Once your account balance reaches this amount, you will not be able to deposit funds into your account.","-1073845224":"No. of open position(s)","-288196326":"Your maximum deposit limit","-568749373":"Max. deposit limit","-1617352279":"The email is in your spam folder (Sometimes things get lost there).","-547557964":"We can’t deliver the email to this address (Usually because of firewalls or filtering).","-142444667":"Please click on the link in the email to change your Deriv MT5 password.","-742748008":"Check your email and click the link in the email to proceed.","-84068414":"Still didn't get the email? Please contact us via <0>live chat.","-474419287":"FATCA declaration","-1101737402":"Please select*","-975118358":"Your account will be opened with {{legal_entity_name}}, regulated by the Malta Financial Services Authority (MFSA), and will be subject to the laws of Malta.","-2073934245":"The financial trading services offered on this site are only suitable for customers who accept the possibility of losing all the money they invest and who understand and have experience of the risk involved in the purchase of financial contracts. Transactions in financial contracts carry a high degree of risk. If the contracts you purchased expire as worthless, you will lose all your investment, which includes the contract premium.","-1035494182":"You acknowledge that, subject to the Company's discretion, applicable regulations, and internal checks being fulfilled, we will open an account for you and allow you to deposit funds during the client acceptance procedure. However, until the verification of your account is completed, you will not be able to trade, withdraw or make further deposits. If you do not provide relevant documents within 30-days, we will refund the deposited amount through the same payment method you used to deposit.","-1125193491":"Add account","-2068229627":"I am not a PEP, and I have not been a PEP in the last 12 months.","-1209644365":"I hereby confirm that my request for opening an account with Deriv Investments (Europe) Ltd is made on my own initiative.","-740157281":"Trading Experience Assessment","-1720468017":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you.","-1685104463":"* This is required","-186841084":"Change your login email","-907403572":"To change your email address, you'll first need to unlink your email address from your {{identifier_title}} account.","-1850792730":"Unlink from {{identifier_title}}","-428335668":"You will need to set a password to complete the process.","-1232613003":"<0>Verification failed. <1>Why?","-805775852":"<0>Needs verification.<1>Verify now","-1983989074":"<0>No new positions","-1196936955":"Upload a screenshot of your name and email address from the personal information section.","-1286823855":"Upload your mobile bill statement showing your name and phone number.","-1309548471":"Upload your bank statement showing your name and account details.","-1410396115":"Upload a photo showing your name and the first six and last four digits of your card number. If the card does not display your name, upload the bank statement showing your name and card number in the transaction history.","-3805155":"Upload a screenshot of either of the following to process the transaction:","-1523487566":"- your account profile section on the website","-613062596":"- the Account Information page on the app","-1718304498":"User ID","-609424336":"Upload a screenshot of your name, account number, and email address from the personal details section of the app or profile section of your account on the website.","-1954436643":"Upload a screenshot of your username on the General Information page at <0>https://onlinenaira.com/members/index.htm","-79853954":"Upload a screenshot of your account number and phone number on the Bank Account/Mobile wallet page at <0>https://onlinenaira.com/members/bank.htm","-1192882870":"Upload a screenshot of your name and account number from the personal details section.","-818898181":"Name in document doesn’t match your Deriv profile.","-310316375":"Address in document doesn’t match address you entered above.","-485368404":"Document issued more than 6-months ago.","-91160765":"Document issued more than 12-months ago.","-367016488":"Blurry document. All information must be clear and visible.","-1957076143":"Cropped document. All information must be clear and visible.","-1576856758":"An account with these details already exists. Please make sure the details you entered are correct as only one real account is allowed per client. If this is a mistake, contact us via <0>live chat.","-1792723131":"To avoid delays, enter your <0>date of birth exactly as it appears on your {{document_name}}.","-1629894615":"I have other financial priorities.","-844051272":"I want to stop myself from trading.","-1113965495":"I’m no longer interested in trading.","-1224285232":"Customer service was unsatisfactory.","-1231402474":"Connected apps are authorised applications associated with your account through your API token or the OAuth authorisation process. They can act on your behalf within the limitations that you have set.","-506083843":"As a user, you are responsible for sharing access and for actions that occur in your account (even if they were initiated by a third-party app on your behalf).","-831752682":"Please note that only third-party apps will be displayed on this page. Official Deriv apps will not appear here.","-915844096":"US citizenship or lawful permanent resident (green card) status","-208714573":"An “in care of” address or a “hold mail” address that is the sole address with respect to the client","-1082633433":"A power of attorney or signatory authority granted to a person with a US address.","-231863107":"No","-1858215754":"The document must be up-to-date and signed by the issuance authority.","-718917527":"Invalid or incomplete documents shall be rejected.","-1526404112":"Utility bill: electricity, water, gas, or landline phone bill.","-537552700":"Home rental agreement: valid and current agreement.","-506510414":"Date and time","-1708927037":"IP address","-870902742":"How much knowledge and experience do you have in relation to online trading?","-1929477717":"I have an academic degree, professional certification, and/or work experience related to financial services.","-1540148863":"I have attended seminars, training, and/or workshops related to trading.","-922751756":"Less than a year","-542986255":"None","-1337206552":"In your understanding, CFD trading allows you to","-456863190":"Place a position on the price movement of an asset where the outcome is a fixed return or nothing at all.","-1314683258":"Make a long-term investment for a guaranteed profit.","-1546090184":"How does leverage affect CFD trading?","-1636427115":"Leverage helps to mitigate risk.","-800221491":"Leverage guarantees profits.","-811839563":"Leverage lets you open large positions for a fraction of trade value, which may result in increased profit or loss.","-1185193552":"Close your trade automatically when the loss is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1046354":"Close your trade automatically when the profit is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1842858448":"Make a guaranteed profit on your trade.","-860053164":"When trading multipliers.","-1250327770":"When buying shares of a company.","-1222388581":"All of the above.","-1592318047":"See example","-1694758788":"Enter your document number","-1176889260":"Please select a document type.","-1265050949":"identity document","-2139303636":"You may have followed a broken link, or the page has moved to a new address.","-1448368765":"Error code: {{error_code}} page not found","-254792921":"You can only make deposits at the moment. To enable withdrawals, please complete your financial assessment.","-1437017790":"Financial information","-70342544":"We’re legally obliged to ask for your financial information.","-39038029":"Trading experience","-601903492":"Forex trading experience","-1012699451":"CFD trading experience","-1894668798":"Other trading instruments experience","-1026468600":"Other trading instruments frequency","-1743024217":"Select Language","-136976514":"Country of residence*","-1124948631":"Professional Client","-259515058":"By default, all {{brand_website_name}} clients are retail clients but anyone can request to be treated as a professional client.","-1463348492":"I would like to be treated as a professional client.","-1958764604":"Email preference","-2068064150":"Get updates about Deriv products, services and events.","-1558679249":"Please make sure your information is correct or it may affect your trading experience.","-1822545742":"Ether Classic","-1334641066":"Litecoin","-1214036543":"US Dollar","-1782590355":"No currency has been set for this account","-2116332353":"Please close your positions in the following Deriv account(s):","-2048005267":"{{number_of_positions}} position(s)","-2125635811":"Please withdraw your funds from the following {{platform_name}} account(s):","-577445413":"Please close your positions in the following {{platform_name}} account(s):","-1219849101":"Please select at least one reason","-9323953":"Remaining characters: {{remaining_characters}}","-484540402":"An error occurred","-1911549768":"Inaccessible MT5 account(s)","-1869355019":"Action required","-1030102424":"You can't trade on Deriv.","-448385353":"You can't make transactions.","-1058447223":"Before closing your account:","-912764166":"Withdraw your funds.","-60139953":"We shall delete your personal information as soon as our legal obligations are met, as mentioned in the section on Data Retention in our <0>Security and privacy policy","-2061895474":"Closing your account will automatically log you out. We shall delete your personal information as soon as our legal obligations are met.","-203298452":"Close account","-937707753":"Go Back","-771109503":"Use our powerful, flexible, and free API to build a custom trading platform for yourself or for your business.","-1815044949":"You currently don't have any third-party authorised apps associated with your account.","-1699100421":"What are connected apps?","-536187647":"Confirm revoke access?","-1357606534":"Permission","-570222048":"Revoke access","-1468863262":"{{action}}","-727433417":"{{status}}","-1814836151":"What are passkeys?","-1275937234":"Unlock your account like your phone - with biometrics, face scan or PIN.","-587750445":"Extra security layer.","-642452561":"Shields against unauthorised access and phishing.","-1654043401":"You can create one passkey per device.","-1411242065":"Where are passkeys saved?","-258752017":"What happens if my Deriv account email is changed?","-634268263":"Sign in to Deriv with your existing passkey.","-1405679241":"Stored on: ","-1700177761":"Create passkey","-1729774899":"Sign in to your Google or iCloud account.","-1708254107":"Enable Bluetooth.","-613368504":"Tips:","-1897886029":"Before using passkey:","-592543249":"Add more passkeys","-585339315":"Your passkey is successfully removed. To avoid sign-in prompts, also remove the passkey from your Google password manager. ","-1728732301":"Effortless login with passkeys","-684009726":"Edit passkey","-1140319320":"Your account is now secured with a passkey.<0/>Manage your passkey through your<0/>Deriv account settings.","-1036903080":"We’re experiencing a temporary issue in processing your request. Please try again later.","-331060101":"Passkey setup failed","-713875531":"Enable bluetooth.","-80717068":"Apps you have linked to your <0>Deriv password:","-340060402":"Your Deriv X password is for logging in to your Deriv X accounts on the web and mobile apps.","-619126443":"Use the <0>Deriv password to log in to {{brand_website_name}} and {{platform_name_trader}}.","-623760979":"Use the <0>Deriv password to log in to {{brand_website_name}}, {{platform_name_trader}} and {{platform_name_go}}.","-459147994":"Use the <0>Deriv password to log in to {{brand_website_name}}, {{platform_name_go}}, {{platform_name_trader}}, {{platform_name_smarttrader}}, {{platform_name_dbot}} and {{platform_name_ctrader}}.","-1884902844":"Max. deposit limit per day","-545085253":"Max. deposit limit over 7 days","-1031006762":"Max. deposit limit over 30 days","-1116871438":"Max. total loss over 30 days","-2134714205":"Time limit per session","-1884271702":"Time out until","-1265825026":"Timeout time must be greater than current time.","-1332882202":"Timeout time cannot be more than 6 weeks.","-1635977118":"Exclude time cannot be less than 6 months.","-2131200819":"Disable","-200487676":"Enable","-1840392236":"That's not the right code. Please try again.","-2067796458":"Authentication code","-790444493":"Protect your account with 2FA. Each time you log in to your account, you will need to enter your password and an authentication code generated by a 2FA app on your smartphone.","-752939584":"How to set up 2FA for your Deriv account","-90649785":"Click here to copy key","-206376148":"Key copied!","-368010540":"You have enabled 2FA for your Deriv account.","-403552929":"To disable 2FA, please enter the six-digit authentication code generated by your 2FA app below:","-890084320":"Save and submit","-30772747":"Your personal details have been saved successfully.","-2021135479":"This field is required.","-1002044401":"Select your document*","-1272489896":"Please complete this field.","-721346138":"The options and multipliers trading platform.","-1874136267":"The ultimate bot trading platform.","-415943890":"The legacy options trading platform.","-673722343":"The legacy bot trading platform.","-897826065":"The multipliers trading platform.","-2115275974":"CFDs","-1585707873":"Financial Commission","-199154602":"Vanuatu Financial Services Commission","-191165775":"Malta Financial Services Authority","-194969520":"Counterparty company","-1089385344":"Deriv (SVG) LLC","-2019617323":"Deriv (BVI) Ltd","-112814932":"Deriv (FX) Ltd","-1131400885":"Deriv Investments (Europe) Limited","-1471207907":"All assets","-781132577":"Leverage","-1591882610":"Synthetics","-543177967":"Stock indices","-362324454":"Commodities","-1071336803":"Platform","-1879666853":"Deriv MT5","-820028470":"Options & Multipliers","-1210359945":"Transfer funds to your accounts","-1926387364":"We’ve sent your e-book to your email. You can also download it here.","-1057002564":"<0>We’re unable to upgrade you to Wallets at this time and are working to get this fixed as soon as we can. Please <1>try again<0>.","-1424352390":"<0>Wallets<1> — A smarter way to manage your funds","-280236366":"Enable now","-145462920":"Deriv cTrader","-982095728":"Get","-1790089996":"NEW!","-2134770229":"Total assets in your Deriv Apps and Deriv MT5 CFDs demo account.","-1277942366":"Total assets","-1255879419":"Trader's Hub","-493788773":"Non-EU","-673837884":"EU","-230566990":"The following documents you submitted did not pass our checks:","-846812148":"Proof of address.","-1146027991":"If you’d like to get the {{from_account}} account, resubmit these documents.","-710685402":"No new positions","-1445744852":"You can no longer open new positions with your {{from_account}} account. Please use your {{to_account}} account to open new positions.","-1699909965":"or ","-2127865736":"Your {{from_account}} account will be archived after 30 days of inactivity. You can still access your trade history until the account is archived.","-417529381":"Your current trading account(s)","-1543281897":"Instant transfers between Wallets and trading accounts","-1415400918":"Multiple currency support","-1712363879":"Why Wallets","-348452343":"Your open trading positions will not be affected while we are setting up your wallets.","-2055865877":"Non-EU regulation","-643108528":"Non-EU and EU regulation","-1002556560":"We’re unable to complete with the Wallet upgrade. Please try again later or contact us via live chat.","-1186807402":"Transfer","-655191265":"Buy or sell at a specific time for a specific price. <0>Learn more","-744999940":"Deriv account","-2146691203":"Choice of regulation","-249184528":"You can create real accounts under EU or non-EU regulation. Click the <0><0/> icon to learn more about these accounts.","-1505234170":"Trader's Hub tour","-1901718278":"The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 70.1% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.","-1870909526":"Our server cannot retrieve an address.","-582721696":"The current allowed withdraw amount is {{format_min_withdraw_amount}} to {{format_max_withdraw_amount}} {{currency}}","-1975494965":"Cashier","-42592103":"Deposit cryptocurrencies","-60779216":"Withdrawals are temporarily unavailable due to system maintenance. You can make your withdrawals when the maintenance is complete.","-520142572":"Cashier is currently down for maintenance","-1552080215":"Please check back in a few minutes.<0>Thank you for your patience.","-215186732":"You’ve not set your country of residence. To access Cashier, please update your country of residence in the Personal details section in your account settings.","-1392897508":"The identification documents you submitted have expired. Please submit valid identity documents to unlock Cashier. ","-954082208":"Your cashier is currently locked. Please contact us via <0>live chat to find out how to unlock it.","-929148387":"Please set your account currency to enable deposits and withdrawals.","-2027907316":"You can make a withdrawal once the verification of your account is complete.","-541392118":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and access your cashier.","-599998434":"You cannot make a fund transfer as your documents are still under review. We will notify you by email within 3 days once your verification is approved.","-247122507":"Your cashier is locked. Please complete the <0>financial assessment to unlock it.","-1443721737":"Your cashier is locked. See <0>how we protect your funds before you proceed.","-901712457":"Your access to Cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to <0>Self-exclusion and set your 30-day turnover limit.","-166472881":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits and withdrawals.","-666905139":"Deposits are locked","-378858101":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits.","-1318742415":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and request for withdrawals.","-1923809087":"Unfortunately, you can only make deposits. Please contact us via <0>live chat to enable withdrawals.","-172277021":"Cashier is locked for withdrawals","-1624999813":"It seems that you've no commissions to withdraw at the moment. You can make withdrawals once you receive your commissions.","-1077304626":"Amount ({{currency}})","-1559994981":"Approximate value","-1272778997":"We've sent you an email.","-89973258":"Resend email in {{seconds}}s","-1332236294":"Please verify your identity","-1675848843":"Error","-283017497":"Retry","-1294455996":"Deriv P2P unavailable","-1838982691":"UNKNOWN","-532693866":"Something went wrong. Please refresh the page and try again.","-1196049878":"First line of home address","-1326406485":"Postal Code/ZIP","-939625805":"Telephone","-442575534":"Email verification failed","-1459042184":"Update your personal details","-1603543465":"We can't validate your personal details because there is some information missing.","-614516651":"Need help? <0>Contact us.","-203002433":"Deposit now","-720315013":"You have no funds in your {{currency}} account","-2052373215":"Please make a deposit to use this feature.","-379487596":"{{selected_percentage}}% of available balance ({{format_amount}} {{currency__display_code}})","-1957498244":"more","-1059419768":"Notes","-285921910":"Learn more about <0>payment methods.","-190084602":"Transaction","-1995606668":"Amount","-2024290965":"Confirmations","-811190405":"Time","-728508487":"{{currency}} recent transactions","-1984478597":"The details of this transaction is available on CoinsPaid.","-316545835":"Please ensure <0>all details are <0>correct before making your transfer.","-949073402":"I confirm that I have verified the client’s transfer information.","-1752211105":"Transfer now","-1787304306":"Deriv P2P","-174976899":"P2P verification","-1705887186":"Your deposit is successful.","-142361708":"In process","-1582681840":"We’ve received your request and are waiting for more blockchain confirmations.","-1626218538":"You’ve cancelled your withdrawal request.","-1062841150":"Your withdrawal is unsuccessful due to an error on the blockchain. Please <0>contact us via live chat for more info.","-630780094":"We’re awaiting confirmation from the blockchain.","-1525882769":"Your withdrawal is unsuccessful. We've sent you an email with more information.","-298601922":"Your withdrawal is successful.","-922143389":"Deriv P2P is currently unavailable in this currency.","-1310327711":"Deriv P2P is currently unavailable in your country.","-1463156905":"Learn more about payment methods","-972283623":"Deriv P2P-V2","-685073712":"This is your <0>{{currency}} account {{loginid}}.","-1547606079":"We accept the following cryptocurrencies:","-1517325716":"Deposit via the following payment methods:","-639677539":"Buy cryptocurrencies","-1560098002":"Buy cryptocurrencies via fiat onramp","-541870313":"Deposit via payment agents","-197251450":"Don't want to trade in {{currency_code}}? You can open another cryptocurrency account.","-515809216":"Send only {{currency_name}} ({{currency_code}}) to this address.","-748636591":"A minimum deposit value of <0>{{minimum_deposit}} {{currency}} is required. Otherwise, a fee is applied.","-1589407981":"To avoid loss of funds:","-1042704302":"Make sure to copy your Deriv account address correctly into your crypto wallet.","-2108344100":"Looking for a way to buy cryptocurrencies? <0>Try Fiat onramp.","-598073640":"About Tether (Ethereum)","-275902914":"Tether on Ethereum (eUSDT)","-1188009792":"Tether on Omni Layer (USDT)","-1239329687":"Tether was originally created to use the bitcoin network as its transport protocol ‒ specifically, the Omni Layer ‒ to allow transactions of tokenised traditional currency.","-314177745":"Unfortunately, we couldn't get the address since our server was down. Please click Refresh to reload the address or try again later.","-91824739":"Deposit {{currency}}","-523804269":"{{amount}} {{currency}} on {{date}}","-494847428":"Address: <0>{{value}}","-1117977576":"Confirmations: <0>{{value}}","-1935946851":"View more","-1744490898":"Unfortunately, we cannot retrieve the information at this time. ","-338505133":"We do not charge a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts, between your Deriv fiat and {{platform_name_ctrader}} accounts, and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-2056016338":"You’ll not be charged a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts.","-599632330":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-1196994774":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency accounts.","-993556039":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts and between your Deriv cryptocurrency and {{platform_name_dxtrade}} accounts.","-1382702462":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts.","-1339063554":"You may transfer between your Deriv fiat, cryptocurrency, {{platform_name_mt5}}, {{platform_name_ctrader}}, and {{platform_name_dxtrade}} accounts.","-1151983985":"Transfer limits may vary depending on the exchange rates.","-1747571263":"Please bear in mind that some transfers may not be possible.","-757062699":"Transfers may be unavailable due to high volatility or technical issues and when the exchange markets are closed.","-855721928":"Needs verification","-908402700":"Verification failed","-1866405488":"Deriv cTrader accounts","-1344870129":"Deriv accounts","-1109729546":"You will be able to transfer funds between MT5 accounts and other accounts once your address is verified.","-1593609508":"Transfer between your accounts in Deriv","-1155970854":"You have reached the maximum daily transfers. Please try again tomorrow.","-464965808":"Transfer limits: <0 /> - <1 />","-553249337":"Transfers are locked","-1638172550":"To enable this feature you must complete the following:","-1949883551":"You only have one account","-1149845849":"Back to Trader's Hub","-1232852916":"We’re switching over to your {{currency}} account to view the transaction.","-1632668764":"I accept","-544232635":"Please go to the Deposit page to generate an address. Then come back here to continue with your transaction.","-1161069724":"Please copy the crypto address you see below. You'll need it to deposit your cryptocurrency.","-1388977563":"Copied!","-1962894999":"This address can only be used ONCE. Please copy a new one for your next transaction.","-451858550":"By clicking 'Continue' you will be redirected to {{ service }}, a third-party payment service provider. Please note that {{ website_name }} is not responsible for the content or services provided by {{ service }}. If you encounter any issues related to {{ service }} services, you must contact {{ service }} directly.","-2005265642":"Fiat onramp is a cashier service that allows you to convert fiat currencies to crypto to top up your Deriv crypto accounts. Listed here are third-party crypto exchanges. You’ll need to create an account with them to use their services.","-1593063457":"Select payment channel","-1309258714":"From account number","-1247676678":"To account number","-816476007":"Account holder name","-344403983":"Description","-922432739":"Please enter a valid client login ID.","-1024241603":"Insufficient balance.","-1979554765":"Please enter a valid description.","-1254233806":"You've transferred","-953082600":"Some payment methods may not be listed here but payment agents may still offer them. If you can’t find your favourite method, contact the payment agents directly to check further.","-1491457729":"All payment methods","-142563298":"Contact your preferred payment agent for payment instructions and make your deposit.","-352134412":"Transfer limit","-1023961762":"Commission on deposits","-552873274":"Commission on withdrawal","-880645086":"Withdrawal amount","-118683067":"Withdrawal limits: <0 />-<1 />","-1125090734":"Important notice to receive your funds","-1924707324":"View transaction","-1474202916":"Make a new withdrawal","-511423158":"Enter the payment agent account number","-2059278156":"Note: {{website_name}} does not charge any transfer fees.","-1201279468":"To withdraw your funds, please choose the same payment method you used to make your deposits.","-2004264970":"Your wallet address should have 25 to 64 characters.","-1707299138":"Your {{currency_symbol}} wallet address","-38063175":"{{account_text}} wallet","-705272444":"Upload a proof of identity to verify your identity","-130833284":"Please note that your maximum and minimum withdrawal limits aren’t fixed. They change due to the high volatility of cryptocurrency.","-1531269493":"We'll send you an email once your transaction has been processed.","-1373954791":"Should be a valid number","-1278608332":"Please enter a number between 0 and {{api_max_losses}}.","-287597204":"Enter limits to stop your bot from trading when any of these conditions are met.","-1445989611":"Limits your potential losses for the day across all Deriv platforms.","-152878438":"Maximum number of trades your bot will execute for this run.","-1490942825":"Apply and run","-2067572496":"You’ve just stopped the bot. Any open contracts can be viewed on the Reports page.","-992003496":"Changes you make will not affect your running bot.","-1778025545":"You’ve successfully imported a bot.","-1572746946":"Asian Up","-686840306":"Asian Down","-2141198770":"Higher","-816098265":"Lower","-1646655742":"Spread Up","-668987427":"Spread Down","-912577498":"Matches","-1862940531":"Differs","-808904691":"Odd","-556230215":"Ends Outside","-1268220904":"Ends Between","-703542574":"Up","-1127399675":"Down","-768425113":"No Touch","-1163058241":"Stays Between","-1354485738":"Reset Call","-376148198":"Only Ups","-1337379177":"High Tick","-328036042":"Please enter a stop loss amount that's higher than the current potential loss.","-2127699317":"Invalid stop loss. Stop loss cannot be more than stake.","-179005984":"Save","-610059687":"Exploring the D’Alembert strategy in Deriv Bot","-1226666341":"The D'Alembert strategy involves increasing your stake after a losing trade and reducing it after a successful trade by a predetermined number of units.","-312844882":"Initial stake: The amount that you are willing to place as a stake to enter a trade. This is the starting point for any changes in stake depending on the dynamic of the strategy being used.","-1173302981":"1. Start with the initial stake. In this example, we’ll use 1 USD.","-1540106116":"Profit and loss thresholds","-894905768":"With Deriv Bot, traders can set the profit and loss thresholds to secure potential profits and limit potential losses. This means that the trading bot will automatically stop when either the profit or loss thresholds are reached. It's a form of risk management that can potentially enhance returns. For example, if a trader sets the profit threshold at 100 USD and the strategy exceeds 100 USD of profit from all trades, then the bot will stop running.","-1946134465":"Where:","-248283982":"B is the loss threshold.","-1148521416":"f is the unit increment.","-211800490":"D’Alembert formula 2","-1772692202":"This formula helps you plan your trades by considering the amount of money you have and your comfort level with risk. It involves determining your loss threshold and the initial stake you want to trade with. Then, you use this formula to calculate the number of rounds you can trade. This process provides insight into stake sizing and expectations.","-2107238266":"The D'Alembert system offers more balanced trading through controlled stake progression. With prudent risk management like stake limits, it can be effectively automated in Deriv Bot. However, traders should thoroughly assess their risk appetite, test strategies on a demo account to align with their trading style before trading with real money. This allows optimising the approach and striking a balance between potential gains and losses whilst managing risk.","-500873566":"Disclaimer:","-344769349":"Please be aware that while we may use rounded figures for illustration, a stake of a specific amount does not guarantee an exact amount in successful trades. For example, a 1 USD stake does not necessarily equate to a 1 USD profit in successful trades.","-818800551":"Exploring the Martingale strategy in Deriv Bot","-533490374":"These are the trade parameters used in Deriv Bot with Martingale strategy.","-1507161059":"Multiplier: The multiplier used to increase your stake if you're losing a trade. The value must be greater than 1.","-1333404686":"An example of Martingale strategy","-1755877136":"3. If the first trade ends in a loss, Deriv Bot will automatically double your stake for the next trade to 2 USD. Deriv Bot will continue to double the stake after every losing trade.","-1297651002":"If you're about to start trading and haven't established a Maximum Stake as part of your risk management strategy, you can determine how long your funds will last by employing the Martingale strategy. Simply use this formula.","-46865201":"Martingale formula 1","-116397598":"m is the Martingale multiplier.","-658161609":"Number of rounds, R ≈ 9.965","-288082521":"This means that after 10 rounds of consecutive losses, this trader will lose 1023 USD which exceeds the loss threshold of 1000 USD, stopping the bot.","-770387160":"The Martingale strategy in trading may offer substantial gains but also comes with significant risks. With your selected strategy, Deriv Bot provides automated trading with risk management measures like setting initial stake, stake size, maximum stake, profit threshold and loss threshold. It's crucial for traders to assess their risk tolerance, practice in a demo account, and understand the strategy before trading with real money.","-1901073152":"These are the trade parameters used for Oscar’s Grind strategy in Deriv Bot.","-1575153036":"An example of Oscar’s Grind strategy","-732418614":"The table above demonstrates this principle by showing that when a successful trade occurs and meets the target of one unit of potential profit which is 1 USD in this example, the session ends. If trading continues, a new session will begin.","-106266344":"Principle 3: The stake adjusts to the gap size between current loss and the target profit for the session","-492908094":"In round 7, the stake is adjusted downwards from 2 USD to 1 USD, to meet the target profit of 1 USD.","-90079299":"With Deriv Bot, traders can set the profit and loss thresholds to secure potential profits and limit potential losses. This means that the trading bot will automatically stop when either the profit or loss threshold is reached. This is a form of risk management that can potentially boost successful trades whilst limiting the impact of loss. For example, if a trader sets the profit threshold at 100 USD and the strategy exceeds 100 USD of profit from all trades, then the bot will stop running.","-1549673884":"The Oscar's Grind strategy provides a disciplined approach for incremental gains through systematic stake progression. When integrated into Deriv Bot with proper risk management like profit or loss thresholds, it offers traders a potentially powerful automated trading technique. However, traders should first thoroughly assess their risk tolerance and first try trading on a demo account in order to familiarise with the strategy before trading with real funds.","-655650222":"Exploring the Reverse D’Alembert strategy in Deriv Bot","-1864807973":"The Reverse D'Alembert strategy involves increasing your stake after a successful trade and reducing it after a losing trade by a predetermined number of units.","-809681645":"These are the trade parameters used in Deriv Bot with Reverse D’Alembert strategy.","-1239374257":"An example of Reverse D’Alembert strategy","-309821442":"Please be aware that while we may use rounded figures for illustration, a stake of a specific amount does not guarantee an exact amount in successful trades. For example, a 1 USD stake does not necessarily equate to a 1 USD profit in successful trades.","-1576691912":"This article explores the Reverse Martingale strategy integrated into Deriv Bot, a versatile trading bot designed to trade assets such as forex, commodities, and derived indices. We will delve into the strategy's core parameters, its application, and provide essential takeaways for traders looking to use the bot effectively.","-1934849823":"These are the trade parameters used in Deriv Bot with Reverse Martingale strategy.","-1021919630":"Multiplier: The multiplier used to increase your stake if your trade is successful. The value must be greater than 1.","-760516362":"3. If the first trade is a successful trade, Deriv Bot will automatically double your stake for the next trade to 2 USD. Deriv Bot will continue to double the stake after every successful trade.","-1410950365":"Exploring the 1-3-2-6 strategy in Deriv Bot","-1175255072":"These are the trade parameters used in Deriv Bot with 1-3-2-6 strategy.","-183884527":"An example of 1-3-2-6 strategy","-275617819":"4. However, if any trade results in a loss, your stake will reset back to the initial stake of 1 USD for the next trade. The third trade results in a loss hence the stake resets to the initial stake of 1 USD for the next trade.","-719846465":"5. Upon reaching the initial stake, if the next trade still results in a loss, your stake will remain at the initial stake of 1 USD. This strategy will minimally trade at the initial stake. Refer to the fourth and fifth trade.","-1452746011":"The 1-3-2-6 strategy in trading may offer substantial gains but also comes with significant risks. Each stake is independent, and the strategy does not increase your chances of successful trades in the long run. If you encounter a series of losses, the strategy can lead to significant losses. Therefore, it is crucial for traders to assess their risk tolerance, practice in a demo account, utilise profit and loss thresholds, and fully comprehend the strategy before engaging in real-money trading.","-1016171176":"Asset","-138833194":"The underlying market your bot will trade with this strategy.","-621128676":"Trade type","-399349239":"Your bot will use this trade type for every run","-410856998":"The bot will stop trading if your total profit exceeds this amount.","-447853970":"Loss threshold","-33106112":"The size used to multiply the stake after a successful trade for the next trade.","-1503301801":"The value must be equal or greater than {{ min }}","-1596504046":"Number of unit(s) to be added to the next trade after a successful trade. One unit is equivalent to the amount of initial stake.","-1521098535":"Max stake","-1448426542":"The stake for your next trade will reset to the initial stake if it exceeds this value.","-993953307":"Your prediction of the last digit of the asset price.","-1305281529":"D’Alembert","-1842451303":"Welcome to Deriv Bot!","-1391310674":"Check out these guides and FAQs to learn more about building your bot:","-2066779239":"FAQs","-280324365":"What is Deriv Bot?","-155173714":"Let’s build a bot!","-1919212468":"3. You can also search for the blocks you want using the search bar above the categories.","-1520558271":"For more info, check out this blog post on the basics of building a trading bot.","-980360663":"3. Choose the block you want and drag it to the workspace.","-1493168314":"What is a quick strategy?","-1680391945":"Using a quick strategy","-1177914473":"How do I save my strategy?","-271986909":"In Bot Builder, hit Save on the toolbar at the top to download your bot. Give your bot a name, and choose to download your bot to your device or Google Drive. Your bot will be downloaded as an XML file.","-1149045595":"1. After hitting Import, select Local and click Continue.","-288041546":"2. Select your XML file and hit Open.","-2127548288":"3. Your bot will be loaded accordingly.","-1311297611":"1. After hitting Import, select Google Drive and click Continue.","-1549564044":"How do I reset the workspace?","-1127331928":"In Bot Builder, hit Reset on the toolbar at the top. This will clear the workspace. Please note that any unsaved changes will be lost.","-1720444288":"How do I control my losses with Deriv Bot?","-1142295124":"There are several ways to control your losses with Deriv Bot. Here’s a simple example of how you can implement loss control in your strategy:","-2129119462":"1. Create the following variables and place them under Run once at start:","-1918487001":"Example:","-468926787":"This is how your trade parameters, variables, and trade options should look like:","-1565344891":"Can I run Deriv Bot on multiple tabs in my web browser?","-90192474":"Yes, you can. However, there are limits on your account, such as maximum number of open positions and maximum aggregate payouts on open positions. So, just keep these limits in mind when opening multiple positions. You can find more info about these limits at Settings > Account limits.","-213872712":"No, we don't offer cryptocurrencies on Deriv Bot.","-2147346223":"In which countries is Deriv Bot available?","-352345777":"What are the most popular strategies for automated trading?","-552392096":"Three of the most commonly used strategies in automated trading are Martingale, D'Alembert, and Oscar's Grind — you can find them all ready-made and waiting for you in Deriv Bot.","-1630262763":"About Martingale","-413928457":"About Oscar's Grind","-1497015866":"About Reverse D’Alembert","-437005403":"About 1-3-2-6","-590765322":"Unfortunately, this trading platform is not available for EU Deriv account. Please switch to a non-EU account to continue trading.","-2110207996":"Deriv Bot is unavailable for this account","-971295844":"Switch to another account","-1194079833":"Deriv Bot is not available for EU clients","-746652890":"Notifications","-824109891":"System","-507620484":"Unsaved","-764102808":"Google Drive","-749186458":"Account switching is disabled while your bot is running. Please stop your bot before switching accounts.","-597939268":"Keep my contract","-1322453991":"You need to log in to run the bot.","-236548954":"Contract Update Error","-1428017300":"THE","-1450728048":"OF","-255051108":"YOU","-1845434627":"IS","-931434605":"THIS","-740712821":"A","-1223145005":"Loss amount: {{profit}}","-1206212388":"Welcome back! Your messages have been restored. You are using your {{current_currency}} account.","-1724342053":"You are using your {{current_currency}} account.","-187634388":"This block is mandatory. Here is where you can decide if your bot should continue trading. Only one copy of this block is allowed.","-2105473795":"The only input parameter determines how block output is going to be formatted. In case if the input parameter is \"string\" then the account currency will be added.","-1800436138":"2. for \"number\": 1325.68","-530632460":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of \"True\" or \"False\".","-1875717842":"Examples:","-890079872":"1. If the selected direction is \"Rise\", and the previous tick value is less than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-489739641":"2. If the selected direction is \"Fall\", and the previous tick value is more than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-2116076360":"There are 4 message types:","-1421941045":"2. 'Warn' displays a message in yellow to highlight something that needs attention.","-277850921":"If \"Win\" is selected, it will return \"True\" if your last trade was successful. Otherwise, it will return an empty string.","-2139916657":"1. In the below example the loop is terminated in case \"x\" is \"False\" even though only one iteration is complete","-1238900333":"2. In the below example the loop jumps to the next iteration without executing below block in case if \"x\" is \"False\"","-1729479576":"You can use \"i\" inside the loop, for example to access list items","-1474636594":"In this example, the loop will repeat three times, as that is the number of items in the given list. During each iteration, the variable \"i\" will be assigned a value from the list. ","-908772734":"This block evaluates a statement and will perform an action only when the statement is true.","-334040831":"2. In this example, the instructions are repeated as long as the value of x is greater than or equal to 10. Once the value of x drops below 10, the loop is terminated.","-444267958":"\"Seconds Since Epoch\" block returns the number of seconds since January 1st, 1970.","-447522129":"You might need it when you want to repeat an actions after certain amount of time.","-1488259879":"The term \"candle\" refers to each bar on the candlestick chart. Each candle represents four market prices for the selected time interval:","-2020693608":"Each candlestick on the chart represents 4 market prices for the selected time interval:","-62728852":"- Open price: the opening price","-1247744334":"- Low price: the lowest price","-1386365697":"- Close price: the closing price","-1498732382":"A black (or red) candle indicates that the open price is higher than the close price. This represents a downward movement of the market price.","-1871864755":"This block gives you the last digit of the latest tick value of the selected market. If the latest tick value is 1410.90, this block will return 0. It’s useful for digit-based contracts such as Even/Odd, Matches/Differs, or Higher/Lower.","-1029671512":"In case if the \"OR\" operation is selected, the block returns \"True\" in case if one or both given values are \"True\"","-210295176":"Available operations:","-1385862125":"- Addition","-983721613":"- Subtraction","-854750243":"- Multiplication","-1394815185":"In case if the given number is less than the lower boundary of the range, the block returns the lower boundary value. Similarly, if the given number is greater than the higher boundary, the block will return the higher boundary value. In case if the given value is between boundaries, the block will return the given value unchanged.","-1034564248":"In the below example the block returns the value of 10 as the given value (5) is less than the lower boundary (10)","-2009817572":"This block performs the following operations to a given number","-671300479":"Available operations are:","-514610724":"- Absolute","-1923861818":"- Euler’s number (2.71) to the power of a given number","-1556344549":"Here’s how:","-1061127827":"- Visit the following URL, make sure to replace with the Telegram API token you created in Step 1: https://api.telegram.org/bot/getUpdates","-311389920":"In this example, the open prices from a list of candles are assigned to a variable called \"cl\".","-1460794449":"This block gives you a list of candles within a selected time interval.","-1634242212":"Used within a function block, this block returns a value when a specific condition is true.","-2012970860":"This block gives you information about your last contract.","-1504783522":"You can choose to see one of the following:","-10612039":"- Profit: the profit you’ve earned","-555996976":"- Entry time: the starting time of the contract","-1391071125":"- Exit time: the contract expiration time","-1961642424":"- Exit value: the value of the last tick of the contract","-111312913":"- Barrier: the barrier value of the contract (applicable to barrier-based trade types such as stays in/out, touch/no touch, etc.)","-674283099":"- Result: the result of the last contract: \"win\" or \"loss\"","-704543890":"This block gives you the selected candle value such as open price, close price, high price, low price, and open time. It requires a candle as an input parameter.","-482281200":"In the example below, the open price is assigned to the variable \"op\".","-364621012":"This block gives you the specified candle value for a selected time interval. You can choose which value you want:","-232477769":"- Open: the opening price","-610736310":"Use this block to sell your contract at the market price. Selling your contract is optional. You may choose to sell if the market trend is unfavourable.","-1307657508":"This block gives you the potential profit or loss if you decide to sell your contract. It can only be used within the \"Sell conditions\" root block.","-1921072225":"In the example below, the contract will only be sold if the potential profit or loss is more than the stake.","-955397705":"SMA adds the market price in a list of ticks or candles for a number of time periods, and divides the sum by that number of time periods.","-1424923010":"where n is the number of periods.","-1835384051":"What SMA tells you","-749487251":"SMA serves as an indicator of the trend. If the SMA points up then the market price is increasing and vice versa. The larger the period number, the smoother SMA line is.","-1996062088":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 10 days.","-1866751721":"Input list accepts a list of ticks or candles, while period is the specified time period.","-1097076512":"You may compare SMA values calculated on every bot run to identify the market trend direction. Alternatively, you may also use a variation of the SMA block, the Simple Moving Average Array block. ","-1254849504":"If a period of 10 is entered, the Simple Moving Average Array block will return a list of SMA values calculated based on period of 10.","-1190046167":"This block displays a dialog box with a customised message. When the dialog box is displayed, your strategy is paused and will only resume after you click \"OK\".","-859028989":"In this example, the date and time will be displayed in a green notification box.","-1452086215":"In this example, a Rise contract will be purchased at midnight on 1 August 2019.","-2078588404":"Select your desired market and asset type. For example, Forex > Major pairs > AUD/JPY","-2037446013":"2. Trade Type","-533927844":"Select your desired trade type. For example, Up/Down > Rise/Fall","-1192411640":"4. Default Candle Interval","-485434772":"8. Trade Options","-1827646586":"This block assigns a given value to a variable, creating the variable if it doesn't already exist.","-254421190":"List: ({{message_length}})","-555886064":"Won","-529060972":"Lost","-1062922595":"Reference ID (buy)","-2068574600":"Reference ID (sell)","-994038153":"Start Time","-1979852400":"Entry Spot","-427802309":"Profit/Loss","-224804428":"Transactions","-287223248":"No transaction or activity yet.","-418247251":"Download your journal.","-2123571162":"Download","-1616649196":"results","-90107030":"No results found","-984140537":"Add","-870004399":"<0>Bought: {{longcode}} (ID: {{transaction_id}})","-1211474415":"Filters","-186972150":"There are no messages to display","-558594655":"The bot is not running","-478946875":"The stats are cleared","-999254545":"All messages are filtered out","-934909826":"Load strategy","-1121028020":"or, if you prefer...","-254025477":"Select an XML file from your device","-1131095838":"Please upload an XML file","-523928088":"Create one or upload one from your local drive or Google Drive.","-1684205190":"Why can't I see my recent bots?","-2050879370":"1. Logged in from a different device","-811857220":"3. Cleared your browser cache","-625024929":"Leaving already?","-584289785":"No, I'll stay","-1435060006":"If you leave, your current contract will be completed, but your bot will stop running immediately.","-783058284":"Total stake","-2077494994":"Total payout","-1073955629":"No. of runs","-1729519074":"Contracts lost","-42436171":"Total profit/loss","-1856204727":"Reset","-1137823888":"Total payout since you last cleared your stats.","-992662695":"The number of times your bot has run since you last cleared your stats. Each run includes the execution of all the root blocks.","-1382491190":"Your total profit/loss since you last cleared your stats. It is the difference between your total payout and your total stake.","-24780060":"When you’re ready to trade, hit ","-2147110353":". You’ll be able to track your bot’s performance here.","-1442034178":"Contract bought","-2020280751":"Bot is stopping","-1436403979":"Contract closed","-411060180":"TradingView Chart","-627895223":"Exit spot","-2140412463":"Buy price","-1299484872":"Account","-2004386410":"Win","-266502731":"Transactions detailed summary","-1711732508":"Reference IDs","-386141434":"(Buy)","-482272687":"(Sell)","-1983189496":"ticks","-694277729":"(High)","-2028564707":"(Low)","-596238067":"Entry/Exit spot","-1823621139":"Quick Strategy","-1782602933":"Choose a template below and set your trade parameters.","-315611205":"Strategy","-1524489375":"(optional)","-150224710":"Yes, continue","-475765963":"Edit the amount","-1349897832":"Do not show this message again.","-984512425":"Minimum duration: {{ value }}","-2084091453":"The value must be equal or greater than {{ value }}","-657364297":"The value must be equal or less than {{ value }}","-1696412885":"Import","-320197558":"Sort blocks","-939764287":"Charts","-1566369363":"Zoom out","-1285759343":"Search","-1291088318":"Purchase conditions","-112876186":"Analysis","-1769584466":"Stats","-1133736197":"Utility","-1682372359":"Text","-907562847":"Lists","-1646497683":"Loops","-251326965":"Miscellaneous","-1692205739":"Import a bot from your computer or Google Drive, build it from scratch, or start with a quick strategy.","-1545070554":"Delete bot","-1972599670":"Your bot will be permanently deleted when you hit ","-1692956623":"Yes, delete.","-573479616":"Are you sure you want to delete it?","-786915692":"You are connected to Google Drive","-1256971627":"To import your bot from your Google Drive, you'll need to sign in to your Google account.","-1233084347":"To know how Google Drive handles your data, please review Deriv’s <0>Privacy policy.","-1150107517":"Connect","-1150390589":"Last modified","-1393876942":"Your bots:","-767342552":"Enter your bot name, choose to save on your computer or Google Drive, and hit ","-1372891985":"Save.","-1003476709":"Save as collection","-636521735":"Save strategy","-1953880747":"Stop my bot","-1899230001":"Stopping the current bot will load the Quick Strategy you just created to the workspace.","-2131847097":"Any open contracts can be viewed on the ","-563774117":"Dashboard","-683790172":"Now, <0>run the bot to test out the strategy.","-1127164953":"Hi! Hit <0>Start for a quick tour.","-358288026":"Note: You can also find this tutorial in the <0>Tutorials tab.","-129587613":"Got it, thanks!","-1793577405":"Build from scratch","-358753028":"Create your bot using our drag-and-drop blocks or click Quick Strategy to choose from the ready-to-use bot templates.","-1212601535":"Monitor the market","-21136101":"See how your bot is doing in real-time.","-631097919":"Click <0>Run when you want to start trading, and click <0>Stop when you want to stop.","-1999747212":"Want to retake the tour?","-782992165":"Step 1 :","-1207872534":"First, set the <0>Trade parameters block.","-1656388044":"First, set <0>Market to Derived > Continuous Indices > Volatility 100 (1s) Index.","-1706298865":"Then, set <0>Trade type to Up/Down > Rise/Fall.","-1834358537":"For <0>Default candle interval, set it to 1 minute","-1940971254":"For <0>Trade options, set it as below:","-512839354":"<0>Stake: USD 10 (min: 0.35 - max: 50000)","-753745278":"Step 2 :","-1056713679":"Then, set the <0>Purchase conditions block.","-245497823":"<0>2. Purchase conditions:","-916770284":"<0>Purchase: Rise","-758077259":"Step 3 :","-677396944":"Step 4 :","-295975118":"Next, go to <0>Utility tab under the Blocks menu. Tap the drop-down arrow and hit <0>Loops.","-698493945":"Step 5 :","-1992994687":"Now, tap the <0>Analysis drop-down arrow and hit <0>Contract.","-1844492873":"Go to the <0>Last trade result block and click + icon to add the <0>Result is Win block to the workspace.","-1547091772":"Then, drag the <0>Result is win into the empty slot next to <0>repeat until block.","-736400802":"Step 6 :","-732067680":"Finally, drag and add the whole <0>Repeat block to the <0>Restart trading conditions block.","-1411787252":"Step 1","-1109392787":"Learn how to build your bot from scratch using a simple strategy.","-1263822623":"You can import a bot from your mobile device or from Google drive, see a preview in the bot builder, and start trading by running the bot.","-563921656":"Bot Builder guide","-1596172043":"Quick strategy guides","-1765276625":"Click the multiplier drop-down menu and choose the multiplier value you want to trade with.","-1872233077":"Your potential profit will be multiplied by the multiplier value you’ve chosen.","-614454953":"To learn more about multipliers, please go to the <0>Multipliers page.","-662836330":"Would you like to keep your current contract or close it? If you decide to keep it running, you can check and close it later on the <0>Reports page.","-1717650468":"Online","-1309011360":"Open positions","-1597214874":"Trade table","-1929724703":"Compare CFD accounts","-883103549":"Account deactivated","-45873457":"NEW","-1190972431":"P2P-V2","-1837059346":"Buy / Sell","-1845037007":"Advertiser's page","-494667560":"Orders","-679691613":"My ads","-821418875":"Trader","-679102561":"Contract Details","-430118939":"Complaints policy","-1308346982":"Derived","-579984289":"Derived Demo","-1596515467":"Derived BVI","-222394569":"Derived Vanuatu","-328128497":"Financial","-533935232":"Financial BVI","-565431857":"Financial Labuan","-659955365":"Swap-Free","-291535132":"Swap-Free Demo","-1472945832":"Swap-Free SVG","-144803045":"Only numbers and these special characters are allowed: {{permitted_characters}}","-1450516268":"Only letters, numbers, space, hyphen, period, and apostrophe are allowed.","-1966032552":"The length of token should be 8.","-2128137611":"Should start with letter or number, and may contain hyphen and underscore.","-1590869353":"Up to {{decimal_count}} decimal places are allowed.","-2061307421":"Should be more than {{min_value}}","-1099941162":"Should be less than {{max_value}}","-1528188268":"Straight rows of keys are easy to guess","-1339903234":"Short keyboard patterns are easy to guess","-23980798":"Repeats like \"aaa\" are easy to guess","-235760680":"Avoid repeated words and characters","-1568933154":"Sequences like abc or 6543 are easy to guess","-725663701":"Avoid sequences","-1450768475":"Recent years are easy to guess","-1804838610":"Avoid years that are associated with you","-64849469":"Dates are often easy to guess","-2006915194":"Avoid dates and years that are associated with you","-2124205211":"A word by itself is easy to guess","-1095202689":"All-uppercase is almost as easy to guess as all-lowercase","-2137856661":"Reversed words aren't much harder to guess","-1885413063":"Predictable substitutions like '@' instead of 'a' don't help very much","-369258265":"This password is on the blacklist","-577777971":"You have reached the rate limit of requests per second. Please try later.","-206321775":"Fiat","-522767852":"DEMO","-433761292":"Switching to default account.","-405439829":"Sorry, you can't view this contract because it doesn't belong to this account.","-1590712279":"Gaming","-16448469":"Virtual","-2093768906":"{{name}} has released your funds.
Would you like to give your feedback?","-705744796":"Your demo account balance has reached the maximum limit, and you will not be able to place new trades. Reset your balance to continue trading from your demo account.","-2063700253":"disabled","-1585069798":"Please click the following link to complete your Appropriateness Test.","-1287141934":"Find out more","-367759751":"Your account has not been verified","-596690079":"Enjoy using Deriv?","-265932467":"We’d love to hear your thoughts","-1815573792":"Drop your review on Trustpilot.","-823349637":"Go to Trustpilot","-1204063440":"Set my account currency","-1601813176":"Would you like to increase your daily limits to {{max_daily_buy}} {{currency}} (buy) and {{max_daily_sell}} {{currency}} (sell)?","-1751632759":"Get a faster mobile trading experience with the <0>{{platform_name_go}} app!","-1164554246":"You submitted expired identification documents","-219846634":"Let’s verify your ID","-529038107":"Install","-1738575826":"Please switch to your real account or create one to access the cashier.","-1329329028":"You’ve not set your 30-day turnover limit","-132893998":"Your access to the cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to Self-exclusion and set the limit.","-1852207910":"MT5 withdrawal disabled","-764323310":"MT5 withdrawals have been disabled on your account. Please check your email for more details.","-1744163489":"Please verify your proof of income","-382676325":"To continue trading with us, please submit your proof of income.","-1902997828":"Refresh now","-753791937":"A new version of Deriv is available","-1775108444":"This page will automatically refresh in 5 minutes to load the latest version.","-1175685940":"Please contact us via live chat to enable withdrawals.","-493564794":"Please complete your financial assessment.","-1125797291":"Password updated.","-157145612":"Please log in with your updated password.","-1728185398":"Resubmit proof of address","-612396514":"Please resubmit your proof of address.","-1519764694":"Your proof of address is verified.","-1629185222":"Submit now","-1961967032":"Resubmit proof of identity","-117048458":"Please submit your proof of identity.","-1196422502":"Your proof of identity is verified.","-1392958585":"Please check your email.","-136292383":"Your proof of address verification is pending","-386909054":"Your proof of address verification has failed","-430041639":"Your proof of address did not pass our verification checks, and we’ve placed some restrictions on your account. Please resubmit your proof of address.","-87177461":"Please go to your account settings and complete your personal details to enable deposits.","-904632610":"Reset your balance","-470018967":"Reset balance","-156611181":"Please complete the financial assessment in your account settings to unlock it.","-1925176811":"Unable to process withdrawals in the moment","-980696193":"Withdrawals are temporarily unavailable due to system maintenance. You can make withdrawals when the maintenance is complete.","-1647226944":"Unable to process deposit in the moment","-488032975":"Deposits are temporarily unavailable due to system maintenance. You can make deposits when the maintenance is complete.","-2136953532":"Scheduled cashier maintenance","-849587074":"You have not provided your tax identification number","-47462430":"This information is necessary for legal and regulatory requirements. Please go to your account settings, and fill in your latest tax identification number.","-2067423661":"Stronger security for your Deriv account","-1719731099":"With two-factor authentication, you’ll protect your account with both your password and your phone - so only you can access your account, even if someone knows your password.","-949074612":"Please contact us via live chat.","-2087822170":"You are offline","-1669693571":"Check your connection.","-1706642239":"<0>Proof of ownership <1>required","-553262593":"<0><1>Your account is currently locked <2><3>Please upload your proof of <4>ownership to unlock your account. <5>","-1834929362":"Upload my document","-1043638404":"<0>Proof of ownership <1>verification failed","-1766760306":"<0><1>Please upload your document <2>with the correct details. <3>","-8892474":"Start assessment","-1330929685":"Please submit your proof of identity and proof of address to verify your account and continue trading.","-99461057":"Please submit your proof of address to verify your account and continue trading.","-577279362":"Please submit your proof of identity to verify your account and continue trading.","-197134911":"Your proof of identity is expired","-152823394":"Your proof of identity has expired. Please submit a new proof of identity to verify your account and continue trading.","-822813736":"We're unable to complete with the Wallet upgrade. Please try again later or contact us via live chat.","-285366843":"We are going to update the login process for your Deriv MT5 account.","-978414767":"We require additional information for your Deriv MT5 account(s). Please take a moment to update your information now.","-2142540205":"It appears that the address in your document doesn’t match the address in your Deriv profile. Please update your personal details now with the correct address.","-482715448":"Go to Personal details","-2072411961":"Your proof of address has been verified","-384887227":"Update the address in your profile.","-1470677931":"CFDs on financial instruments.","-1998049070":"If you agree to our use of cookies, click on Accept. For more information, <0>see our policy.","-402093392":"Add Deriv Account","-1721181859":"You’ll need a {{deriv_account}} account","-1989074395":"Please add a {{deriv_account}} account first before adding a {{dmt5_account}} account. Deposits and withdrawals for your {{dmt5_label}} account are done by transferring funds to and from your {{deriv_label}} account.","-689237734":"Proceed","-1642457320":"Help centre","-1966944392":"Network status: {{status}}","-181484419":"Responsible trading","-650505513":"Full screen","-1823504435":"View notifications","-1954045170":"No currency assigned","-1591792668":"Account Limits","-34495732":"Regulatory information","-1496158755":"Go to Deriv.com","-1323441180":"I hereby confirm that my request for opening an account with Deriv to trade OTC products issued and offered exclusively outside Brazil was initiated by me. I fully understand that Deriv is not regulated by CVM and by approaching Deriv I intend to set up a relation with a foreign company.","-1396326507":"Unfortunately, {{website_name}} is not available in your country.","-288996254":"Unavailable","-1019903756":"Synthetic","-735306327":"Manage accounts","-1813972756":"Account creation paused for 24 hours","-366030582":"Sorry, you're unable to create an account at this time. As you declined our previous risk warnings, we need you to wait for 24 hours after your first account creation attempt before you can proceed.<0/><0/>","-534047566":"Thank you for your understanding. You can create your account on {{real_account_unblock_date}} or later.","-399816343":"Trading Experience Assessment<0/>","-1822498621":"As per our regulatory obligations, we are required to assess your trading knowledge and experience.<0/><0/>Please click ‘OK’ to continue","-71049153":"Keep your account secure with a password","-1861974537":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters, numbers, and symbols.","-1965920446":"Start trading","-1485242688":"Step {{step}}: {{step_title}} ({{step}} of {{steps}})","-1829842622":"You can open an account for each cryptocurrency.","-987221110":"Choose a currency you would like to trade with.","-1066574182":"Choose a currency","-1914534236":"Choose your currency","-200560194":"Please switch to your {{fiat_currency}} account to change currencies.","-1829493739":"Choose the currency you would like to trade with.","-1814647553":"Add a new","-1269362917":"Add new","-650480777":"crypto account","-175638343":"Choose an account or add a new one","-1768223277":"Your account is ready","-1215717784":"<0>You have successfully changed your currency to {{currency}}.<0>Make a deposit now to start trading.","-1775006840":"Make a deposit now to start trading.","-983734304":"We need proof of your identity and address before you can start trading.","-917733293":"To get trading, please confirm where you live.","-1282628163":"You'll be able to get trading as soon as verification is complete.","-952649119":"Log In","-3815578":"Sign Up","-1456176427":"Set a currency for your real account","-1329687645":"Create a cryptocurrency account","-1429178373":"Create a new account","-1740162250":"Manage account","-1016775979":"Choose an account","-1362081438":"Adding more real accounts has been restricted for your country.","-1602122812":"24-hour Cool Down Warning","-1519791480":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the risk of losing your money. <0/><0/>\n As you have declined our previous warning, you would need to wait 24 hours before you can proceed further.","-1010875436":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, kindly note that you would need to wait 24 hours before you can proceed further.","-1725418054":"By clicking ‘Accept’ and proceeding with the account opening, you should note that you may be exposing yourself to risks. These risks, which may be significant, include the risk of losing the entire sum invested, and you may not have the knowledge and experience to properly assess or mitigate them.","-1369294608":"Already signed up?","-730377053":"You can’t add another real account","-2100785339":"Invalid inputs","-2061807537":"Something’s not right","-617844567":"An account with your details already exists.","-1534648620":"Your password has been changed","-596199727":"We will now redirect you to the login page.","-310434518":"The email input should not be empty.","-437918412":"No currency assigned to your account","-1193651304":"Country of residence","-707550055":"We need this to make sure our service complies with laws and regulations in your country.","-280139767":"Set residence","-601615681":"Select theme","-1152511291":"Dark","-1428458509":"Light","-1976089791":"Your Deriv account has been unlinked from your {{social_identity_provider}} account. You can now log in to Deriv using your new email address and password.","-505449293":"Enter a new password for your Deriv account.","-1728963310":"Stop creating an account?","-703818088":"Only log in to your account at this secure link, never elsewhere.","-1235799308":"Fake links often contain the word that looks like \"Deriv\" but look out for these differences.","-2102997229":"Examples","-82488190":"I've read the above carefully.","-97775019":"Do not trust and give away your credentials on fake websites, ads or emails.","-2142491494":"OK, got it","-611136817":"Beware of fake links.","-1342699195":"Total profit/loss:","-1941013000":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}, {{legal_entity_name_fx}}, and {{legal_entity_name_v}}.","-594812204":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}.","-813256361":"We are committed to treating our clients fairly and providing them with excellent service.<0/><1/>We would love to hear from you on how we can improve our services to you. Any information you provide will be treated in the strictest confidence. Rest assured that you will be heard, valued, and always treated fairly.","-1622847732":"If you have an inquiry regarding your trading account with {{legal_entity_name}}, you can contact us through our <0>Help centre or by chatting with a representative via <1>Live Chat.<2/><3/>We are committed to resolving your query in the quickest time possible and appreciate your patience in allowing us time to resolve the matter.<4/><5/>We strive to provide the best possible service and support to our customers. However, in the event that we are unable to resolve your query or if you feel that our response is unsatisfactory, we want to hear from you. We welcome and encourage you to submit an official complaint to us so that we can review your concerns and work towards a resolution.","-1406192787":"If you are not satisfied with the outcome, you can escalate your complaint to the <0>Financial Commission.","-2115348800":"1. Introduction","-744009523":"2. Fair treatment","-866831420":"3.1. Submission of a complaint","-1102904026":"3.2. Handling your complaint","-603378979":"3.3. Resolving your complaint","-697569974":"3.4. Your decision","-1280998762":"4. Complaints","-1886635232":"A complaint is any expression of dissatisfaction by a client regarding our products or services that requires a formal response.<0/><1/>If what you submit does not fall within the scope of a complaint, we may reclassify it as a query and forward it to the relevant department for handling. However, if you believe that your query should be classified as a complaint due to its relevance to the investment services provided by {{legal_entity_name}}, you may request that we reclassify it accordingly.","-1771496016":"To submit a complaint, please send an email to <0>complaints@deriv.com, providing as much detail as possible. To help us investigate and resolve your complaint more efficiently, please include the following information:","-1197243525":"<0>•A clear and detailed description of your complaint, including any relevant dates, times, and transactions","-1795134892":"<0>•Any relevant screenshots or supporting documentation that will assist us in understanding the issue","-2053887036":"4.4. Handling your complaint","-717170429":"Once we have received the details of your complaint, we shall review it carefully and keep you updated on the handling process. We might request further information or clarifications to facilitate the resolution of the complaint.","-1841922393":"4.5. Resolving your complaint","-1327119795":"4.6. Your decision","-2019654103":"If we are unable to resolve your complaint or you are not satisfied with the outcome, you can escalate your complaint to the Office of the Arbiter for Financial Services.<0/><1/><2>Filing complaints with the Office of the Arbiter for Financial Services","-687172857":"<0>•You may file a complaint with the Arbiter for Financial Services only if you are not satisfied with our decision or the decision wasn’t made within 15 business days.","-262934706":"<0>•If the complaint is accepted by the Arbiter, you will receive another email with further details relating to the payment of the €25 complaint fee and the processes that follow.","-993572476":"<0>b.The Financial Commission has 5 days to acknowledge that your complaint was received and 14 days to answer the complaint through our Internal Dispute Resolution (IDR) procedure.","-1769159081":"<0>c.You will be able to file a complaint with the Financial Commission only if you are not satisfied with our decision or the decision wasn’t made within 14 days.","-58307244":"3. Determination phase","-356618087":"<0>b.The DRC may request additional information from you or us, who must then provide the requested information within 7 days.","-945718602":"<0>b.If you agree with a DRC decision, you will need to accept it within 14 days. If you do not respond to the DRC decision within 14 days, the complaint is considered closed.","-1500907666":"<0>d.If the decision is made in our favour, you must provide a release for us within 7 days of when the decision is made, and the complaint will be considered closed.","-429248139":"5. Disclaimer","-818926350":"The Financial Commission accepts appeals for 45 days following the date of the incident and only after the trader has tried to resolve the issue with the company directly.","-1825471709":"A whole new trading experience on a powerful yet easy to use platform.","-981017278":"Automated trading at your fingertips. No coding needed.","-583559763":"Menu","-1685795001":"Demo Wallet","-319395348":"Looking for CFDs? Go to Trader’s Hub","-554054753":"Get started","-1364763296":"No need to remember a password","-1274467503":"Sync across devices","-2036288743":"Enhanced security with biometrics or screen lock ","-143216768":"Learn more about passkeys <0> here.","-778309978":"The link you clicked has expired. Ensure to click the link in the latest email in your inbox. Alternatively, enter your email below and click <0>Resend email for a new link.","-2007055538":"Information updated","-521477049":"We are going to update the login process for your Deriv MT5 account. Here is what you need to do when you want to log in via your MT5 mobile app starting from 7 February:","-749864644":"If you have trouble logging into your Deriv MT5 account, please follow this <0>guide.","-238296389":"Need help? Contact us via <0>live chat to assist you with any login questions.","-941870889":"The cashier is for real accounts only","-352838513":"It looks like you don’t have a real {{regulation}} account. To use the cashier, switch to your {{active_real_regulation}} real account, or get an {{regulation}} real account.","-1858915164":"Ready to deposit and trade for real?","-162753510":"Add real account","-1208519001":"You need a real Deriv account to access the cashier.","-715867914":"Successfully deposited","-1271218821":"Account added","-197631101":"Your funds will be available for trading once the verification of your account is complete.","-835056719":"We’ve received your documents","-55435892":"We’ll need 1 - 3 days to review your documents and notify you by email. You can practice with demo accounts in the meantime.","-1916578937":"<0>Explore the exciting new features that your Wallet offers.","-1724438599":"<0>You're almost there!","-1089300025":"We don’t charge deposit fees! Once your account is verified, you will be able to trade, make additional deposits, or withdraw funds.","-476018343":"Live Chat","-1471705969":"<0>{{title}}: {{trade_type_name}} on {{symbol}}","-1771117965":"Trade opened","-1856112961":"The URL you requested isn’t available","-304807228":"<0>You’re not logged in, or<0>Our services are unavailable in your country.","-1567989247":"Submit your proof of identity and address","-523602297":"Forex majors","-1303090739":"Up to 1:1500","-19213603":"Metals","-1264604378":"Up to 1:1000","-1728334460":"Up to 1:300","-646902589":"(US_30, US_100, US_500)","-705682181":"Malta","-1835174654":"1:30","-1647612934":"Spreads from","-1587894214":"about verifications needed.","-466784048":"Regulator/EDR","-2098459063":"British Virgin Islands","-1005069157":"Synthetic indices, basket indices, and derived FX","-1344709651":"40+","-1326848138":"British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114)","-1711743223":"Forex (standard/micro), stocks, stock indices, commodities, cryptocurrencies and ETFs","-1372141447":"Straight-through processing","-1969608084":"Forex and Cryptocurrencies","-800771713":"Labuan Financial Services Authority (licence no. MB/18/0024)","-1497128311":"80+","-1689815930":"You will need to submit proof of identity and address once you reach certain thresholds.","-1175785439":"Deriv (SVG) LLC (company no. 273 LLC 2020)","-139026353":"A selfie of yourself.","-1228847561":"Verification in review.","-618322245":"Verification successful.","-149461870":"Forex: standard/exotic","-1995163270":"ETFs","-651501076":"Derived - SVG","-865172869":"Financial - BVI","-1851765767":"Financial - Vanuatu","-558597854":"Financial - Labuan","-2052425142":"Swap-Free - SVG","-1192904361":"Deriv X Demo","-283929334":"Deriv cTrader Demo","-1269597956":"MT5 Platform","-1302404116":"Maximum leverage","-239789243":"(License no. SIBA/L/18/1114)","-941636117":"MetaTrader 5 Linux app","-1434036215":"Demo Financial","-1416247163":"Financial STP","-1637969571":"Demo Swap-Free","-1882063886":"Demo CFDs","-1347908717":"Demo Financial SVG","-1780324582":"SVG","-860609405":"Password","-742647506":"Fund transfer","-712681566":"Peer-to-peer exchange","-1267880283":"{{field_name}} is required","-2084509650":"{{field_name}} is not properly formatted.","-790488576":"Forgot password?","-476558960":"If you don’t have open positions","-1385484963":"Confirm to change your {{platform}} password","-1990902270":"This will change the password to all of your {{platform}} accounts.","-12535938":"*Volatility 250 Index, Volatility 150 Index, Boom 300 and Crash 300 Index","-201485855":"Up to","-700260448":"demo","-1769158315":"real","-1922462747":"Trader's hub","-16858060":"You have a new Deriv MT5 password to log in to your Deriv MT5 accounts on the web and mobile apps.","-1868608634":"Current password","-2092058806":"8 to 16 characters","-2051033705":"A special character such as ( _ @ ? ! / # )","-1762249687":"A lowercase letter","-535365199":"Enter your {{platform}} password to add a {{platform_name}} {{account}} account.","-184453418":"Enter your {{platform}} password","-393388362":"We’re reviewing your documents. This should take about 1 to 3 days.","-2057918502":"Hint: You may have entered your Deriv password, which is different from your {{platform}} password.","-267598687":"Congratulations, you have successfully created your <0/>{{category}} {{platform}} {{type}} account. To start trading, <1 />transfer funds <2 />from your Deriv account into this account.","-1475660820":"Your Deriv MT5 {{type}} account is ready. ","-1710177700":"Your demo {{type}} account is ready.","-1184248732":"Congratulations, you have successfully created your <0/>{{category}} {{platform}} {{type}} account. ","-1928229820":"Reset Deriv X investor password","-1969916895":"Your password must contain between 8-16 characters that include uppercase and lowercase letters, and at least one number and special character ( _ @ ? ! / # ).","-1087845020":"main","-1950683866":"investor","-1874242353":"Fund top up","-89838213":"You can top up your demo account with an additional <0> if your balance is <1> or less.","-1211122723":"{{ platform }} {{ account_title }} account","-78895143":"Current balance","-149993085":"New current balance","-1615126227":"Manage up to {{max_count}} Deriv cTrader accounts. While you can convert any of your Deriv cTrader accounts into a strategy account, please take note of the following:","-1547739386":"To ensure you can always create and manage strategies with fees, <0>keep at least one account free from being a strategy provider. This way, you’ll always have an account ready for collecting fees, allowing you to have up to four strategies where you may impose fees.","-2145356061":"Download Deriv X on your phone to trade with the Deriv X account","-1547458328":"Run cTrader on your browser","-747382643":"Get another cTrader account","-1986258847":"Server maintenance starts at 01:00 GMT every Sunday, and this process may take up to 2 hours to complete. Service may be disrupted during this time.","-499504077":"Choose a cTrader account to transfer","-251202291":"Broker","-678964540":"to","-206829624":"(1:x)","-616293830":"Enjoy dynamic leverage of <0>up to 1:1500 when trading selected instruments in the forex, commodities, cryptocurrencies, and stock indices markets. Our dynamic leverage adjusts automatically to your trading position, based on asset type and trading volume.","-2042845290":"Your investor password has been changed.","-1882295407":"Your password has been changed.","-254497873":"Use this password to grant viewing access to another user. While they may view your trading account, they will not be able to trade or take any other actions.","-161656683":"Current investor password","-374736923":"New investor password","-1793894323":"Create or reset investor password","-21438174":"Add your Deriv cTrader account under Deriv (SVG) LLC (company no. 273 LLC 2020).","-2026018074":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (SVG) LLC (company no. 273 LLC 2020).","-162320753":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (BVI) Ltd, regulated by the British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114).","-271828350":"Get more out of Deriv MT5 Financial","-2125860351":"Choose a jurisdiction for your Deriv MT5 CFDs account","-1460321521":"Choose a jurisdiction for your {{account_type}} account","-637537305":"Download {{ platform }} on your phone to trade with the {{ platform }} {{ account }} account","-964130856":"{{existing_account_title}}","-879259635":"Enter your Deriv MT5 password to upgrade your account(s).","-1504907646":"Deriv MT5 password","-361998267":"We've introduced additional password requirements to increase your account security. Your password should:","-996995493":"Be between 8 to 16 characters.","-219163415":"Contain at least one special character.","-1446636186":"By clicking on <0>Next you agree to move your {{platform}} {{type_1}} and {{type_2}} {{from_account}} account(s) under Deriv {{account_to_migrate}} Ltd’s <1>terms and conditions.","-1766387013":"Upgrade your MT5 account(s)","-990927225":"Enter your Deriv MT5 password","-1486399361":"Trade with MT5 mobile app","-301350824":"Note: Don't have the MT5 app? Tap the <0>Trade with MT5 mobile app button to download. Once you have\n installed the app, return to this screen and hit the same button to log in.","-648956272":"Use this password to log in to your Deriv X accounts on the web and mobile apps.","-1814308691":"Please click on the link in the email to change your {{platform}} password.","-2015785957":"Compare CFDs {{demo_title}} accounts","-81650212":"MetaTrader 5 web","-508045656":"Coming soon on IOS","-601303096":"Scan the QR code to download Deriv {{ platform }}.","-1357917360":"Web terminal","-1282933308":"Not {{barrier}}","-968190634":"Equals {{barrier}}","-1747377543":"Under {{barrier}}","-1386326276":"Barrier is a required field.","-1418742026":"Higher barrier must be higher than lower barrier.","-92007689":"Lower barrier must be lower than higher barrier.","-1095538960":"Please enter the start time in the format \"HH:MM\".","-1975910372":"Minute must be between 0 and 59.","-866277689":"Expiry time cannot be in the past.","-1455298001":"Now","-256210543":"Trading is unavailable at this time.","-1150099396":"We’re working to have this available for you soon. If you have another account, switch to that account to continue trading. You may add a Deriv MT5 Financial.","-28115241":"{{platform_name_trader}} is not available for this account","-453920758":"Go to {{platform_name_mt5}} dashboard","-402175529":"History","-1013917510":"The reset time is {{ reset_time }}","-925402280":"Indicative low spot","-1075414250":"High spot","-902712434":"Deal cancellation","-988484646":"Deal cancellation (executed)","-444882676":"Deal cancellation (active)","-13423018":"Reference ID","-1371082433":"Reset barrier","-1402197933":"Reset time","-2035315547":"Low barrier","-1745835713":"Selected tick","-1551639437":"No history","-1214703885":"You have yet to update either take profit or stop loss","-504849554":"It will reopen at","-59803288":"In the meantime, try our synthetic indices. They simulate real-market volatility and are open 24/7.","-1278109940":"See open markets","-694105443":"This market is closed","-104603605":"You cannot trade as your documents are still under review. We will notify you by email once your verification is approved.","-439389714":"We’re working on it","-770929448":"Go to {{platform_name_smarttrader}}","-347156282":"Submit Proof","-138538812":"Log in or create a free account to place a trade.","-2036388794":"Create free account","-1813736037":"No further trading is allowed on this contract type for the current trading session. For more info, refer to our <0>terms and conditions.","-1043795232":"Recent positions","-153220091":"{{display_value}} Tick","-802374032":"Hour","-1052279158":"Your <0>payout is the sum of your initial stake and profit.","-1819891401":"You can close your trade anytime. However, be aware of <0>slippage risk.","-231957809":"Win maximum payout if the exit spot is higher than or equal to the upper barrier.","-464144986":"Win maximum payout if the exit spot is lower than or equal to the lower barrier.","-1031456093":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between upper barrier and exit spot.","-968162707":"No payout if exit spot is above or equal to the upper barrier.","-2089488446":"If you select \"Ends Between\", you win the payout if the exit spot is strictly higher than the Low barrier AND strictly lower than the High barrier.","-1876950330":"If you select \"Ends Outside\", you win the payout if the exit spot is EITHER strictly higher than the High barrier, OR strictly lower than the Low barrier.","-546460677":"If the exit spot is equal to either the Low barrier or the High barrier, you don't win the payout.","-1929209278":"If you select \"Even\", you will win the payout if the last digit of the last tick is an even number (i.e., 2, 4, 6, 8, or 0).","-2038865615":"If you select \"Odd\", you will win the payout if the last digit of the last tick is an odd number (i.e., 1, 3, 5, 7, or 9).","-1959473569":"If you select \"Lower\", you win the payout if the exit spot is strictly lower than the barrier.","-1350745673":"If the exit spot is equal to the barrier, you don't win the payout.","-93996528":"By purchasing the \"Close-to-Low\" contract, you'll win the multiplier times the difference between the close and low over the duration of the contract.","-420387848":"The high is the highest point ever reached by the market during the contract period.","-1722190480":"By purchasing the \"High-to-Low\" contract, you'll win the multiplier times the difference between the high and low over the duration of the contract.","-1281286610":"If you select \"Matches\", you will win the payout if the last digit of the last tick is the same as your prediction.","-618782785":"Use multipliers to leverage your potential returns. Predict if the asset price will move upward (bullish) or downward (bearish). We’ll charge a commission when you open a multipliers trade.","-565391674":"If you select \"<0>Up\", your total profit/loss will be the percentage increase in the underlying asset price, times the multiplier and stake, minus commissions.","-1113825265":"Additional features are available to manage your positions: “<0>Take profit” and “<0>Stop loss” allow you to adjust your level of risk aversion.","-1104397398":"Additional features are available to manage your positions: “<0>Take profit”, “<0>Stop loss” and “<0>Deal cancellation” allow you to adjust your level of risk aversion.","-1272255095":"If the exit spot is equal to the barrier or the new barrier (if a reset occurs), you don't win the payout.","-1392065699":"If you select \"Rise\", you win the payout if the exit spot is strictly higher than the entry spot.","-1762566006":"If you select \"Fall\", you win the payout if the exit spot is strictly lower than the entry spot.","-1435306976":"If you select \"Allow equals\", you win the payout if exit spot is higher than or equal to entry spot for \"Rise\". Similarly, you win the payout if exit spot is lower than or equal to entry spot for \"Fall\".","-1812957362":"If you select \"Stays Between\", you win the payout if the market stays between (does not touch) either the High barrier or the Low barrier at any time during the contract period","-220379757":"If you select \"Goes Outside\", you win the payout if the market touches either the High barrier or the Low barrier at any time during the contract period.","-299450697":"If you select \"High Tick\", you win the payout if the selected tick is the highest among the next five ticks.","-1416078023":"If you select \"Touch\", you win the payout if the market touches the barrier at any time during the contract period.","-1565216130":"If you select <0>\"Up\", you’ll earn a payout if the spot price never drops below the barrier.","-1336860323":"If you select <0>\"Down\", you’ll earn a payout if the spot price never rises above the barrier.","-1547935605":"Your payout is equal to the <0>payout per point multiplied by the difference between the <0>final price and the barrier. You will only earn a profit if your payout is higher than your initial stake.","-1307465836":"You may sell the contract up to 15 seconds before expiry. If you do, we’ll pay you the <0>contract value.","-351875097":"Number of ticks","-729830082":"View less","-1649593758":"Trade info","-1382749084":"Go back to trading","-1239477911":"second","-1585766960":"min","-1652791614":"mins","-1977959027":"hours","-442488432":"day","-337314714":"days","-1435392215":"About deal cancellation","-2017825013":"Got it","-1192773792":"Don't show this again","-1341681145":"When this is active, you can cancel your trade within the chosen time frame. Your stake will be returned without loss.","-471757681":"Risk management","-843831637":"Stop loss","-771725194":"Deal Cancellation","-1669741470":"The payout at expiry is equal to the payout per point multiplied by the difference between the final price and the strike price.","-993480898":"Accumulators","-2131851017":"Growth rate","-1422269966":"You can choose a growth rate with values of 1%, 2%, 3%, 4%, and 5%.","-1186791513":"Payout is the sum of your initial stake and profit.","-1682624802":"It is a percentage of the previous spot price. The percentage rate is based on your choice of the index and the growth rate.","-1186082278":"Your payout is equal to the payout per point multiplied by the difference between the final price and barrier.","-584445859":"This is when your contract will expire based on the duration or end time you’ve selected. If the duration is more than 24 hours, the cut-off time and expiry date will apply instead.","-1221049974":"Final price","-1247327943":"This is the spot price of the last tick at expiry.","-1890561510":"Cut-off time","-878534036":"If you select \"Call\", you’ll earn a payout if the final price is above the strike price at expiry. Otherwise, you won’t receive a payout.","-1587076792":"If you select \"Put\", you’ll earn a payout if the final price is below the strike price at expiry. Otherwise, you won’t receive a payout.","-1482134885":"We calculate this based on the strike price and duration you’ve selected.","-565990678":"Your contract will expire on this date (in GMT), based on the End time you’ve selected.","-1545819495":"Your trade will be closed automatically at the nearest available asset price when your loss reaches a certain percentage of your stake, but your loss never exceeds your stake. This percentage depends on the chosen underlying asset and the Multiplier.","-468501352":"If you select this feature, your trade will be closed automatically at the nearest available asset price when your profit reaches or exceeds the take profit amount. Your profit may be more than the amount you entered depending on the market price at closing.","-477936848":"We use next-tick-execution mechanism, which is the next asset price when the trade opening is processed by our servers.","-1476381873":"The latest asset price when the trade closure is processed by our servers.","-148680560":"Spot price of the last tick upon reaching expiry.","-1123926839":"Contracts will expire at exactly 14:00:00 GMT on your selected expiry date.","-1904828224":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price, duration, etc. However, we won’t offer a contract value if the remaining duration is below 24 hours.","-127118348":"Choose {{contract_type}}","-543478618":"Try checking your spelling or use a different term","-338707425":"Minimum duration is 1 day","-1003473648":"Duration: {{duration}} day","-700280380":"Deal cancel. fee","-8998663":"Digit: {{last_digit}} ","-718750246":"Your stake will grow at {{growth_rate}}% per tick as long as the current spot price remains within ±{{tick_size_barrier_percentage}} from the previous spot price.","-1358367903":"Stake","-542594338":"Max. payout","-690963898":"Your contract will be automatically closed when your payout reaches this amount.","-511541916":"Your contract will be automatically closed upon reaching this number of ticks.","-438655760":"<0>Note: You can close your trade anytime. Be aware of slippage risk.","-774638412":"Stake must be between {{min_stake}} {{currency}} and {{max_stake}} {{currency}}","-434270664":"Current Price","-1956787775":"Barrier Price:","-1513281069":"Barrier 2","-390994177":"Should be between {{min}} and {{max}}","-1231210510":"Tick","-2055106024":"Toggle between advanced and simple duration settings","-1012793015":"End time","-1804019534":"Expiry: {{date}}","-2037881712":"Your contract will be closed automatically at the next available asset price on <0>.","-629549519":"Commission <0/>","-2131859340":"Stop out <0/>","-1686280757":"<0>{{commission_percentage}}% of (<1/> * {{multiplier}})","-732683018":"When your profit reaches or exceeds this amount, your trade will be closed automatically.","-339236213":"Multiplier","-1763848396":"Put","-194424366":"above","-857660728":"Strike Prices","-1346404690":"You receive a payout at expiry if the spot price never touches or breaches the barrier throughout the contract duration. Otherwise, your contract will be terminated early.","-1572548510":"Ups & Downs","-71301554":"Ins & Outs","-952298801":"Look Backs","-763273340":"Digits","-2002533437":"Custom function","-215053350":"with:","-1257232389":"Specify a parameter name:","-1885742588":"with: ","-188442606":"function {{ function_name }} {{ function_params }} {{ dummy }}","-313112159":"This block is similar to the one above, except that this returns a value. The returned value can be assigned to a variable of your choice.","-1783320173":"Prematurely returns a value within a function","-1485521724":"Conditional return","-1482801393":"return","-46453136":"get","-1838027177":"first","-1182568049":"Get list item","-1675454867":"This block gives you the value of a specific item in a list, given the position of the item. It can also remove the item from the list.","-381501912":"This block creates a list of items from an existing list, using specific item positions.","-426766796":"Get sub-list","-1679267387":"in list {{ input_list }} find {{ first_or_last }} occurence of item {{ input_value }}","-2087996855":"This block gives you the position of an item in a given list.","-422008824":"Checks if a given list is empty","-1343887675":"This block checks if a given list is empty. It returns “True” if the list is empty, “False” if otherwise.","-1548407578":"length of {{ input_list }}","-1786976254":"This block gives you the total number of items in a given list.","-2113424060":"create list with item {{ input_item }} repeated {{ number }} times","-1955149944":"Repeat an item","-434887204":"set","-197957473":"as","-851591741":"Set list item","-1874774866":"ascending","-1457178757":"Sorts the items in a given list","-350986785":"Sort list","-324118987":"make text from list","-155065324":"This block creates a list from a given string of text, splitting it with the given delimiter. It can also join items in a list into a string of text.","-459051222":"Create list from text","-977241741":"List Statement","-451425933":"{{ break_or_continue }} of loop","-323735484":"continue with next iteration","-1592513697":"Break out/continue","-713658317":"for each item {{ variable }} in list {{ input_list }}","-1825658540":"Iterates through a given list","-952264826":"repeat {{ number }} times","-887757135":"Repeat (2)","-1608672233":"This block is similar to the block above, except that the number of times it repeats is determined by a given variable.","-533154446":"Repeat (1)","-1059826179":"while","-1893063293":"until","-279445533":"Repeat While/Until","-1003706492":"User-defined variable","-359097473":"set {{ variable }} to {{ value }}","-1588521055":"Sets variable value","-980448436":"Set variable","-1538570345":"Get the last trade information and result, then trade again.","-222725327":"Here is where you can decide if your bot should continue trading.","-1638446329":"Result is {{ win_or_loss }}","-1968029988":"Last trade result","-1588406981":"You can check the result of the last trade with this block.","-1459154781":"Contract Details: {{ contract_detail }}","-1652241017":"Reads a selected property from contract details list","-985351204":"Trade again","-2082345383":"These blocks transfer control to the Purchase conditions block.","-172574065":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract.","-403103225":"restart","-837044282":"Ask Price {{ contract_type }}","-1033917049":"This block returns the purchase price for the selected trade type.","-1863737684":"2. Purchase conditions","-228133740":"Specify contract type and purchase conditions.","-1098726473":"This block is mandatory. Only one copy of this block is allowed. You can place the Purchase block (see below) here as well as conditional blocks to define your purchase conditions.","-1777988407":"Payout {{ contract_type }}","-511116341":"This block returns the potential payout for the selected trade type","-1943211857":"Potential payout","-1738427539":"Purchase","-813464969":"buy","-53668380":"True if active contract can be sold before expiration at current market price","-43337012":"Sell profit/loss","-2112866691":"Returns the profit/loss from selling at market price","-2132417588":"This block gives you the potential profit or loss if you decide to sell your contract.","-1360483055":"set {{ variable }} to Bollinger Bands {{ band_type }} {{ dummy }}","-20542296":"Calculates Bollinger Bands (BB) from a list with a period","-1951109427":"Bollinger Bands (BB)","-857226052":"BB is a technical analysis indicator that’s commonly used by traders. The idea behind BB is that the market price stays within the upper and lower bands for 95% of the time. The bands are the standard deviations of the market price, while the line in the middle is a simple moving average line. If the price reaches either the upper or lower band, there’s a possibility of a trend reversal.","-325196350":"set {{ variable }} to Bollinger Bands Array {{ band_type }} {{ dummy }}","-199689794":"Similar to BB. This block gives you a choice of returning the values of either the lower band, higher band, or the SMA line in the middle.","-920690791":"Calculates Exponential Moving Average (EMA) from a list with a period","-960641587":"EMA is a type of moving average that places more significance on the most recent data points. It’s also known as the exponentially weighted moving average. EMA is different from SMA in that it reacts more significantly to recent price changes.","-1557584784":"set {{ variable }} to Exponential Moving Average Array {{ dummy }}","-32333344":"Calculates Moving Average Convergence Divergence (MACD) from a list","-628573413":"MACD is calculated by subtracting the long-term EMA (26 periods) from the short-term EMA (12 periods). If the short-term EMA is greater or lower than the long-term EMA than there’s a possibility of a trend reversal.","-1133676960":"Fast EMA Period {{ input_number }}","-883166598":"Period {{ input_period }}","-450311772":"set {{ variable }} to Relative Strength Index {{ dummy }}","-1861493523":"Calculates Relative Strength Index (RSI) list from a list of values with a period","-880048629":"Calculates Simple Moving Average (SMA) from a list with a period","-1150972084":"Market direction","-276935417":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of “True” or “False”.","-764931948":"in candle list get # from end {{ input_number }}","-924607337":"Returns the last digit of the latest tick","-560033550":"Returns the list of last digits of 1000 recent tick values","-74062476":"Make a List of {{ candle_property }} values in candles list with interval: {{ candle_interval_type }}","-1556495906":"Returns a list of specific values from a candle list according to selected time interval","-166816850":"Create a list of candle values (1)","-1261436901":"Candles List","-1174859923":"Read the selected candle value","-1972165119":"Read candle value (1)","-1956100732":"You can use this block to analyze the ticks, regardless of your trades","-443243232":"The content of this block is called on every tick. Place this block outside of any root block.","-641399277":"Last Tick","-1628954567":"Returns the value of the last tick","-1332756793":"This block gives you the value of the last tick.","-2134440920":"Last Tick String","-1466340125":"Tick value","-467913286":"Tick value Description","-785831237":"This block gives you a list of the last 1000 tick values.","-1546430304":"Tick List String Description","-1788626968":"Returns \"True\" if the given candle is black","-436010611":"Make a list of {{ candle_property }} values from candles list {{ candle_list }}","-1384340453":"Returns a list of specific values from a given candle list","-584859539":"Create a list of candle values (2)","-2010558323":"Read {{ candle_property }} value in candle {{ input_candle }}","-2846417":"This block gives you the selected candle value.","-1587644990":"Read candle value (2)","-1202212732":"This block returns account balance","-1737837036":"Account balance","-1963883840":"Put your blocks in here to prevent them from being removed","-1284013334":"Use this block if you want some instructions to be ignored when your bot runs. Instructions within this block won’t be executed.","-1217253851":"Log","-1987568069":"Warn","-104925654":"Console","-1956819233":"This block displays messages in the developer's console with an input that can be either a string of text, a number, boolean, or an array of data.","-1450461842":"Load block from URL: {{ input_url }}","-1088614441":"Loads blocks from URL","-1747943728":"Loads from URL","-2105753391":"Notify Telegram {{ dummy }} Access Token: {{ input_access_token }} Chat ID: {{ input_chat_id }} Message: {{ input_message }}","-1008209188":"Sends a message to Telegram","-1218671372":"Displays a notification and optionally play selected sound","-2099284639":"This block gives you the total profit/loss of your trading strategy since your bot started running. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-683825404":"Total Profit String","-718220730":"Total Profit String Description","-1861858493":"Number of runs","-264195345":"Returns the number of runs","-303451917":"This block gives you the total number of times your bot has run. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-2132861129":"Conversion Helper Block","-74095551":"Seconds Since Epoch","-15528039":"Returns the number of seconds since January 1st, 1970","-729807788":"This block returns the number of seconds since January 1st, 1970.","-1370107306":"{{ dummy }} {{ stack_input }} Run after {{ number }} second(s)","-558838192":"Delayed run","-1975250999":"This block converts the number of seconds since the Unix Epoch (1 January 1970) into a string of text representing the date and time.","-702370957":"Convert to date/time","-982729677":"Convert to timestamp","-311268215":"This block converts a string of text that represents the date and time into seconds since the Unix Epoch (1 January 1970). The time and time zone offset are optional. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825.","-1797602591":"Stop Loss: {{ currency }} {{ stop_loss }}","-1374685318":"Your contract is closed automatically when your loss is more than or equals to this amount. This block can only be used with the multipliers trade type.","-1214929127":"Stop loss must be a positive number.","-780745489":"If the contract type is “Both”, then the Purchase Conditions should include both Rise and Fall using the “Conditional Block\"","-2142851225":"Multiplier trade options","-625636913":"Amount must be a positive number.","-1466383897":"Duration: {{ duration_unit }} {{ duration_value }}","-440702280":"Trade options","-1193894978":"Define your trade options such as duration and stake. Some options are only applicable for certain trade types.","-46523443":"Duration value is not allowed. To run the bot, please enter a value between {{min}} to {{max}}.","-1483427522":"Trade Type: {{ trade_type_category }} > {{ trade_type }}","-323348124":"1. Trade parameters","-1671903503":"Run once at start:","-783173909":"Trade options:","-376956832":"Here is where you define the parameters of your contract.","-1244007240":"if {{ condition }} then","-1577206704":"else if","-33796979":"true","-1434883449":"This is a single block that returns a boolean value, either true or false.","-1946404450":"Compares two values","-979918560":"This block converts the boolean value (true or false) to its opposite.","-2047257743":"Null","-1274387519":"Performs selected logic operation","-766386234":"This block performs the \"AND\" or the \"OR\" logic operation.","-790995537":"test {{ condition }}","-1860211657":"if false {{ return_value }}","-1643760249":"This block tests if a given value is true or false and returns “True” or “False” accordingly.","-1551875333":"Test value","-52486882":"Arithmetical operations","-1010436425":"This block adds the given number to the selected variable","-999773703":"Change variable","-1272091683":"Mathematical constants","-1396629894":"constrain {{ number }} low {{ low_number }} high {{ high_number }}","-425224412":"This block constrains a given number so that it is within a set range.","-2072551067":"Constrain within a range","-43523220":"remainder of {{ number1 }} ÷ {{ number2 }}","-1291857083":"Returns the remainder after a division","-592154850":"Remainder after division","-736665095":"Returns the remainder after the division of the given numbers.","-1266992960":"Math Number Description","-77191651":"{{ number }} is {{ type }}","-817881230":"even","-142319891":"odd","-1000789681":"whole","-1735674752":"Test a number","-1017805068":"This block tests a given number according to the selection and it returns a value of “True” or “False”. Available options: Even, Odd, Prime, Whole, Positive, Negative, Divisible","-1858332062":"Number","-1053492479":"Enter an integer or fractional number into this block. Please use `.` as a decimal separator for fractional numbers.","-927097011":"sum","-1653202295":"max","-1555878023":"average","-1748351061":"mode","-992067330":"Aggregate operations","-1691561447":"This block gives you a random fraction between 0.0 to 1.0","-523625686":"Random fraction number","-933024508":"Rounds a given number to an integer","-1656927862":"This block rounds a given number according to the selection: round, round up, round down.","-1495304618":"absolute","-61210477":"Operations on a given number","-181644914":"This block performs the selected operations to a given number.","-840732999":"to {{ variable }} append text {{ input_text }}","-1469497908":"Appends a given text to a variable","-1851366276":"Text Append","-1666316828":"Appends a given text to a variable.","-1902332770":"Transform {{ input_text }} to {{ transform_type }}","-1489004405":"Title Case","-904432685":"Changes text case accordingly","-882381096":"letter #","-1027605069":"letter # from end","-2066990284":"random letter","-337089610":"in text {{ input_text1 }} find {{ first_or_last }} occurence of text {{ input_text2 }}","-1966694141":"Searches through a string of text for a specific occurrence of a given character or word, and returns the position.","-697543841":"Text join","-141160667":"length of {{ input_text }}","-1133072029":"Text String Length","-1109723338":"print {{ input_text }}","-736668830":"Print","-1631669591":"string","-1768939692":"number","-1821552998":"trim spaces from {{ side }} of {{ input_text }}","-801766026":"right side","-474779821":"Trims spaces","-1687036846":"Download block","-1266781295":"Expand","-894560707":"function","-1867119688":"Duplicate","-610728049":"Rearrange Vertically","-2033146714":"Collapse All Blocks","-958601558":"Delete Block","-1193267384":"Detach Block","-1750478127":"New variable name","-1061878051":"Y","-2047029150":"Unable to load the block file.","-1410769167":"Target must be an XML file","-609157479":"This URL is already loaded","-241945454":"Proposals are not ready","-1087890592":"Maximum loss amount reached","-1030545878":"You are rate limited for: {{ message_type }}, retrying in {{ delay }}s (ID: {{ request }})","-490766438":"You are disconnected, retrying in {{ delay }}s","-1389975609":"unknown","-1900515692":"Duration must be a positive integer","-245297595":"Please login","-1445046468":"Given candle is not valid","-1891622945":"{{hourPast}}h ago","-1919680487":"workspace","-1703118772":"The {{block_type}} block is misplaced from {{missing_space}}.","-1785726890":"purchase conditions","-461955353":"purchase price","-172348735":"profit","-1624674721":"contract type","-1644154369":"entry spot time","-510792478":"entry spot price","-1974651308":"exit spot time","-1600267387":"exit spot price","-514917720":"barrier","-1072292603":"No Change","-795152863":"green","-1640576332":"blue","-804983649":"yellow","-94281841":"red","-1242470654":"Earned money","-841561409":"Put Spread","-1429914047":"Low","-1893628957":"Open Time","-1896106455":"10 minutes","-999492762":"15 minutes","-1978767852":"30 minutes","-293628675":"1 hour","-385604445":"2 hours","-1965813351":"4 hours","-525321833":"1 day","-1691868913":"Touch/No Touch","-151151292":"Asians","-1048378719":"Reset Call/Reset Put","-1282312809":"High/Low Ticks","-1237186896":"Only Ups/Only Downs","-529846150":"Seconds","-1635771697":"middle","-1529389221":"Histogram","-1819860668":"MACD","-1750896349":"D'Alembert","-102980621":"The Oscar's Grind Strategy is a low-risk positive progression strategy that first appeared in 1965. By using this strategy, the size of your contract will increase after successful trades, but remains unchanged after unsuccessful trades.","-462715374":"Untitled Bot","-280147477":"All transactions","-137444201":"Buy","-130601012":"Please select duration","-232254547":"Custom","-1577570698":"Start date","-1251526905":"Last 7 days","-1904030160":"Transaction performed by (App ID: {{app_id}})","-1876891031":"Currency","-513103225":"Transaction time","-2066666313":"Credit/Debit","-1981004241":"Sell time","-1196431745":"Contract cost","-3423966":"Take profit<0 />Stop loss","-1131753095":"The {{trade_type_name}} contract details aren't currently available. We're working on making them available soon.","-360975483":"You've made no transactions of this type during this period.","-1226595254":"Turbos","-922253974":"Rise/Fall","-1361254291":"Higher/Lower","-335816381":"Ends In/Ends Out","-1789807039":"Asian Up/Asian Down","-330437517":"Matches/Differs","-657360193":"Over/Under","-558031309":"High Tick/Low Tick","-123659792":"Vanillas","-447037544":"Buy price:","-737348236":"Contract cost:","-1694314813":"Contract value:","-113940416":"Current stake:","-1999539705":"Deal cancel. fee:","-155989831":"Decrement value","-338379841":"Indicative price:","-2027409966":"Initial stake:","-1769852749":"N/A","-726626679":"Potential profit/loss:","-1511825574":"Profit/Loss:","-1167474366":"Tick ","-1669418686":"AUD/CAD","-1548588249":"AUD/CHF","-1552890620":"AUD/JPY","-681231560":"AUD/PLN","-64938413":"AUD/USD","-1430522808":"EUR/AUD","-2020477069":"EUR/CAD","-1201853162":"EUR/CHF","-1318070255":"EUR/GBP","-1197505739":"EUR/JPY","-405907358":"EUR/USD","-1536293064":"NZD/JPY","-79700881":"NZD/USD","-642323838":"USD/CAD","-428199705":"USD/CHF","-424108348":"USD/JPY","-548255282":"USD/NOK","-1834131208":"USD/PLN","-524302516":"Silver/USD","-764731776":"Platinum/USD","-853582174":"France 40","-1096386695":"UK 100","-617646862":"Germany 40","-2077690248":"Japan 225","-512194910":"US Tech 100","-381746202":"US 500","-1935463381":"Swiss 20","-1941767726":"Euro 50","-1925264914":"Volatility 25 Index","-708579504":"Volatility 50 Index","-975255670":"Volatility 75 Index","-1736314513":"Crash 300 Index","-342128411":"Crash 500 Index","-9704319":"Crash 1000 Index","-465860988":"Bull Market Index","-390528194":"Step Index","-280323742":"EUR Basket","-563812039":"Volatility 10 (1s) Index","-82971929":"Volatility 25 (1s) Index","-433962508":"Volatility 75 (1s) Index","-764111252":"Volatility 100 (1s) Index","-816110209":"Volatility 150 (1s) Index","-1374309449":"Volatility 200 (1s) Index","-1288044380":"Volatility 250 (1s) Index","-1164978320":"Jump 10 Index","-575272887":"BCH/USD","-295406873":"BTC/ETH","-1713556301":"ZMR/USD","-2046638412":"XRP/USD","-1263203461":"BTC/USD","-1112522776":"DSH/USD","-460689370":"LTC/USD","-132112961":"Sharkfin","-1715390759":"I want to do this later","-56163366":"I don't have any of these","-175164838":"{{seconds_passed}}s ago","-514136557":"{{minutes_passed}}m ago","-1420737287":"{{hours_passed}}h ago","-2092611555":"Sorry, this app is unavailable in your current location.","-1488537825":"If you have an account, log in to continue.","-1603581277":"minutes","-886317740":"The <0>date of birth on your identity document doesn't match your profile.","-1606307809":"We were unable to verify the identity document with the details provided.","-475787720":"The verification status was empty, rejected for lack of information.","-1627868670":"Your identity document has expired.","-1302288704":"The document’s owner is deceased.","-895884696":"The <0>name and <0>date of birth on your identity document don't match your profile.","-1231856133":"The verification status is not available, provider says: Needs Technical Investigation.","-433687715":"For enhanced security, we need to reverify your identity. Kindly resubmit your proof of identity to unlock your account.","-1637538521":"Your document appears to be invalid.","-876579004":"The name on your document doesn’t match your profile.","-746520172":"Some details on your document appear to be invalid, missing, or unclear.","-2146200521":"The serial number of your document couldn’t be verified.","-1945323197":"Your document appears to be in black and white. Please upload a colour photo of your document.","-631393256":"Your document contains markings or text that should not be on your document.","-609103016":"The image quality of your document is too low. Please provide a hi-res photo of your identity document.","-530935718":"We’re unable to verify the document you provided because some details appear to be missing. Please try again or provide another document.","-1027031626":"We’re unable to verify the document you provided because it appears to be damaged. Please try again or upload another document.","-1671621833":"The front of your document appears to be missing. Please provide both sides of your identity document.","-727588232":"Your document appears to be a scanned copy that contains markings or text that shouldn’t be on your document.","-1435064387":"Your document appears to be a printed copy.","-624316211":"Your document appears to be a photo of a device screen.","-1714959941":"This chart display is not ideal for tick contracts","-1254554534":"Please change the chart duration to tick for a better trading experience.","-1658230823":"Contract was sold for <0 />.","-1905867404":"Contract cancelled"} \ No newline at end of file +{"1485191":"1:1000","2082741":"additional document number","2091451":"Deriv Bot - your automated trading partner","3125515":"Your Deriv MT5 password is for logging in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","3215342":"Last 30 days","3420069":"To avoid delays, enter your <0>name and <0>date of birth exactly as they appear on your identity document.","4547840":"<0>Verify your account to transfer funds. <1>Verify now","5149403":"Learn more about trade types","7100308":"Hour must be between 0 and 23.","9488203":"Deriv Bot is a web-based strategy builder for trading digital options. It’s a platform where you can build your own automated trading bot using drag-and-drop 'blocks'.","9757544":"Please submit your proof of address","11539750":"set {{ variable }} to Relative Strength Index Array {{ dummy }}","11706633":"Loss threshold: The bot will stop trading if your total loss exceeds this amount.","11872052":"Yes, I'll come back later","14365404":"Request failed for: {{ message_type }}, retrying in {{ delay }}s","15377251":"Profit amount: {{profit}}","17843034":"Check proof of identity document verification status","19424289":"Username","19552684":"USD Basket","21035405":"Please tell us why you’re leaving. (Select up to {{ allowed_reasons }} reasons.)","24900606":"Gold Basket","25854018":"This block displays messages in the developer’s console with an input that can be either a string of text, a number, boolean, or an array of data.","26566655":"Summary","26596220":"Finance","27582393":"Example :","27582767":"{{amount}} {{currency}}","27731356":"Your account is temporarily disabled. Please contact us via <0>live chat to enable deposits and withdrawals again.","27830635":"Deriv (V) Ltd","28581045":"Add a real MT5 account","33433576":"Please use an e-wallet to withdraw your funds.","35089987":"Upload the front and back of your driving licence.","41737927":"Thank you","44877997":"Residence permit","45453595":"Binary Coin","45821474":"Proof of income","46523711":"Your proof of identity is verified","49404821":"If you buy a \"<0>{{trade_type}}\" option, you receive a payout at expiry if the final price is {{payout_status}} the strike price. Otherwise, your “<0>{{trade_type}}” option will expire worthless.","53801223":"Hong Kong 50","53964766":"5. Hit Save to download your bot. You can choose to download your bot to your device or your Google Drive.","54185751":"Less than $100,000","55340304":"Keep your current contract?","55916349":"All","57362642":"Closed","58254854":"Scopes","59169515":"If you select \"Asian Rise\", you will win the payout if the last tick is higher than the average of the ticks.","59341501":"Unrecognized file format","59662816":"Stated limits are subject to change without prior notice.","62748351":"List Length","63869411":"This block tests a given number according to the selection","64402604":"Check transfer information","65185694":"Fiat onramp","65982042":"Total","66519591":"Investor password","66610627":"We were unable to verify your selfie because it’s not clear. Please take a clearer photo and try again. Ensure that there’s enough light where you are and that your entire face is in the frame.","67923436":"No, Deriv Bot will stop running when your web browser is closed.","68885999":"Repeats the previous trade when an error is encountered.","69005593":"The example below restarts trading after 30 or more seconds after 1 minute candle was started.","71016232":"OMG/USD","71232823":"Manage funds","71445658":"Open","71563326":"A fast and secure fiat-to-crypto payment service. Deposit cryptocurrencies from anywhere in the world using your credit/debit cards and bank transfers.","71853457":"$100,001 - $500,000","72500774":"Please fill in Tax residence.","73086872":"You have self-excluded from trading","73326375":"The low is the lowest point ever reached by the market during the contract period.","74963864":"Under","76635112":"To proceed, resubmit these documents","76916358":"You have reached the withdrawal limit.<0/>Please upload your proof of identity and address to lift the limit to continue your withdrawal.","76925355":"Check your bot’s performance","77982950":"Vanilla options allow you to predict an upward (bullish) or downward (bearish) direction of the underlying asset by purchasing a \"Call\" or a \"Put\".","81091424":"To complete the upgrade, please log out and log in again to add more accounts and make transactions with your Wallets.","81450871":"We couldn’t find that page","82839270":"Upload the page of your passport that contains your photo.","83202647":"Collapse Block","84402478":"Where do I find the blocks I need?","84924586":"To trade options and multipliers, get a Deriv Apps account first.","85343079":"Financial assessment","85359122":"40 or more","85389154":"Steps required to continue verification on your mobile","90266322":"2. Start a chat with your newly created Telegram bot and make sure to send it some messages before proceeding to the next step. (e.g. Hello Bot!)","91993812":"The Martingale Strategy is a classic trading technique that has been used for more than a hundred years, popularised by the French mathematician Paul Pierre Levy in the 18th century.","93154671":"1. Hit Reset at the bottom of stats panel.","96381225":"ID verification failed","98473502":"We’re not obliged to conduct an appropriateness test, nor provide you with any risk warnings.","98972777":"random item","100239694":"Upload front of card from your computer","102226908":"Field cannot be empty","105871033":"Your age in the document you provided appears to be below 18 years. We’re only allowed to offer our services to clients above 18 years old, so we’ll need to close your account. If you have a balance in your account, contact us via live chat and we’ll help to withdraw your funds before your account is closed.","107537692":"These limits apply to your options trades only. For example, <0>maximum total loss refers to the losses on all your trades on options trading platforms.","108916570":"Duration: {{duration}} days","109073671":"Please use an e-wallet that you have used for deposits previously. Ensure the e-wallet supports withdrawal. See the list of e-wallets that support withdrawals <0>here.","111215238":"Move away from direct light","111718006":"End date","111931529":"Max. total stake over 7 days","112152170":"Your passkey is successfully removed. To avoid sign-in prompts, also remove the passkey from your password manager. ","113378532":"ETH/USD","115032488":"Buy price and P/L","116005488":"Indicators","117056711":"We’re updating our site","117318539":"Password should have lower and uppercase English letters with numbers.","117366356":"Turbo options allow you to predict the direction of the underlying asset’s movements.","118727646":"{{new_account_title}}","119261701":"Prediction:","119446122":"Contract type is not selected","120340777":"Complete your personal details","122617359":"View tutorial","122993457":"This is to confirm that it's you making the withdrawal request.","123454801":"{{withdraw_amount}} {{currency_symbol}}","124723298":"Upload a proof of address to verify your address","125354367":"An example of D’Alembert's Grind strategy","125443840":"6. Restart last trade on error","125842960":"{{name}} is required.","127307725":"A politically exposed person (PEP) is someone appointed with a prominent public position. Close associates and family members of a PEP are also considered to be PEPs.","129005644":"The idea is that successful trades may recoup previous losses. However, it is crucial to exercise caution as the risk can quickly increase with this strategy. With Deriv Bot, you can minimise your risk by setting a maximum stake. This is an optional risk management feature. Let’s say a maximum stake of 3 USD. If your stake for the next trade is set to exceed 3 USD, your stake will reset to the initial stake of 1 USD. If you didn't set a maximum stake, it would have increased beyond 3 USD.","129137937":"You decide how much and how long to trade. You can take a break from trading whenever you want. This break can be from 6 weeks to 5 years. When it’s over, you can extend it or resume trading after a 24-hour cooling-off period. If you don’t want to set a specific limit, leave the field empty.","129729742":"Tax Identification Number*","130567238":"THEN","132596476":"In providing our services to you, we are required to ask you for some information to assess if a given product or service is appropriate for you and whether you have the experience and knowledge to understand the risks involved.<0/><0/>","132689841":"Trade on web terminal","133523018":"Please go to the Deposit page to get an address.","133536621":"and","133655768":"Note: If you wish to learn more about the Bot Builder, you can proceed to the <0>Tutorials tab.","137589354":"To assess your trading experience and if our products are suitable for you. Please provide accurate and complete answers, as they may affect the outcome of this assessment.","138055021":"Synthetic indices","139454343":"Confirm my limits","141265840":"Funds transfer information","141626595":"Make sure your device has a working camera","142050447":"set {{ variable }} to create text with","142390699":"Connected to your mobile","143970826":"Payment problems?","145511192":"s is the initial stake.","145633981":"Unavailable as your documents are still under review","145736466":"Take a selfie","150156106":"Save changes","150486954":"Token name","151279367":"2. Set the Purchase conditions. In this example, your bot will purchase a Rise contract when it starts and after a contract closes.","151646545":"Unable to read file {{name}}","152415091":"Math","152524253":"Trade the world’s markets with our popular user-friendly platform.","157593038":"random integer from {{ start_number }} to {{ end_number }}","157871994":"Link expired","158355408":"Some services may be temporarily unavailable.","160746023":"Tether as an Omni token (USDT) is a version of Tether that is hosted on the Omni layer on the Bitcoin blockchain.","160863687":"Camera not detected","164112826":"This block allows you to load blocks from a URL if you have them stored on a remote server, and they will be loaded only when your bot runs.","164564432":"Deposits are temporarily unavailable due to system maintenance. You can make your deposits when the maintenance is complete.","165294347":"Please set your country of residence in your account settings to access the cashier.","165312615":"Continue on phone","165682516":"If you don’t mind sharing, which other trading platforms do you use?","167094229":"• Current stake: Use this variable to store the stake amount. You can assign any amount you want, but it must be a positive number.","170185684":"Ignore","170244199":"I’m closing my account for other reasons.","171307423":"Recovery","171579918":"Go to Self-exclusion","171638706":"Variables","173991459":"We’re sending your request to the blockchain.","174793462":"Strike","176078831":"Added","176319758":"Max. total stake over 30 days","176654019":"$100,000 - $250,000","177099483":"Your address verification is pending, and we’ve placed some restrictions on your account. The restrictions will be lifted once your address is verified.","178413314":"First name should be between 2 and 50 characters.","179083332":"Date","181107754":"Your new <0>{{platform}} {{eligible_account_to_migrate}} account(s) are ready for trading.","181346014":"Notes ","181881956":"Contract Type: {{ contract_type }}","182630355":"Thank you for submitting your information.","184024288":"lower case","189705706":"This block uses the variable \"i\" to control the iterations. With each iteration, the value of \"i\" is determined by the items in a given list.","189759358":"Creates a list by repeating a given item","190834737":"Guide","191372501":"Accumulation of Income/Savings","192436105":"No need for symbols, digits, or uppercase letters","192573933":"Verification complete","195136585":"Trading View Chart","195972178":"Get character","196810983":"If the duration is more than 24 hours, the Cut-off time and Expiry date will apply instead.","196998347":"We hold customer funds in bank accounts separate from our operational accounts which would not, in the event of insolvency, form part of the company's assets. This meets the <0>Gambling Commission's requirements for the segregation of customer funds at the level: <1>medium protection.","197190401":"Expiry date","201091938":"30 days","203179929":"<0>You can open this account once your submitted documents have been verified.","203271702":"Try again","203297887":"The Quick Strategy you just created will be loaded to the workspace.","203924654":"Hit the <0>Start button to begin and follow the tutorial.","204797764":"Transfer to client","204863103":"Exit time","206010672":"Delete {{ delete_count }} Blocks","207521645":"Reset Time","207824122":"Please withdraw your funds from the following Deriv account(s):","209533725":"You’ve transferred {{amount}} {{currency}}","210385770":"If you have an active account, please log in to continue. Otherwise, please sign up.","210872733":"The verification status is not available, provider says: Malformed JSON.","211224838":"Investment","211461880":"Common names and surnames are easy to guess","211487193":"Document number (e.g. identity card, passport, driver's license)","211847965":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable withdrawals.","216650710":"You are using a demo account","217377529":"5. If the next trades are profitable, the stake for the following trade will be reduced by 2 USD. This can be shown above where the stake of 3 USD is reduced to 1 USD. See A3.","217403651":"St. Vincent & Grenadines","217504255":"Financial assessment submitted successfully","218441288":"Identity card number","220014242":"Upload a selfie from your computer","220186645":"Text Is empty","221261209":"A Deriv account will allow you to fund (and withdraw from) your CFDs account(s).","223120514":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 50 days.","223607908":"Last digit stats for latest 1000 ticks for {{underlying_name}}","224650827":"IOT/USD","225887649":"This block is mandatory. It's added to your strategy by default when you create new strategy. You can not add more than one copy of this block to the canvas.","227591929":"To timestamp {{ input_datetime }} {{ dummy }}","227903202":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts.","228521812":"Tests whether a string of text is empty. Returns a boolean value (true or false).","233500222":"- High: the highest price","235583807":"SMA is a frequently used indicator in technical analysis. It calculates the average market price over a specified period, and is usually used to identify market trend direction: up or down. For example, if the SMA is moving upwards, it means the market trend is up. ","235994721":"Forex (standard/exotic) and cryptocurrencies","236642001":"Journal","238496287":"Leverage trading is high-risk, so it's a good idea to use risk management features such as stop loss. Stop loss allows you to","241546739":"Please choose the correct Deriv company and server name when logging in, as shown on Trader’s Hub.","243537306":"1. Under the Blocks menu, go to Utility > Variables.","243614144":"This is only available for existing clients.","245005091":"lower","245187862":"The DRC will make a <0>decision on the complaint (please note that the DRC mentions no timeframe for announcing its decision).","245812353":"if {{ condition }} return {{ value }}","246428134":"Step-by-step guides","248153700":"Reset your password","248565468":"Check your {{ identifier_title }} account email and click the link in the email to proceed.","248909149":"Send a secure link to your phone","251134918":"Account Information","251445658":"Dark theme","251882697":"Thank you! Your response has been recorded into our system.<0/><0/>Please click ‘OK’ to continue.","254912581":"This block is similar to EMA, except that it gives you the entire EMA line based on the input list and the given period.","256031314":"Cash Business","256602726":"If you close your account:","258448370":"MT5","258912192":"Trading assessment","260069181":"An error occured while trying to load the URL","260086036":"Place blocks here to perform tasks once when your bot starts running.","260361841":"Tax Identification Number can't be longer than 25 characters.","260393332":"You cannot make further deposits as your documents are still under review. We will notify you by email within 3 days once your verification is approved.","261074187":"4. Once the blocks are loaded onto the workspace, tweak the parameters if you want, or hit Run to start trading.","261250441":"Drag the <0>Trade again block and add it into the <0>do part of the <0>Repeat until block.","262095250":"If you select <0>\"Put\", you’ll earn a payout if the final price is below the strike price at expiry. Otherwise, you won’t receive a payout.","264976398":"3. 'Error' displays a message in red to highlight something that needs to be resolved immediately.","265644304":"Trade types","267992618":"The platforms lack key features or functionality.","268940240":"Your balance ({{format_balance}} {{currency}}) is less than the current minimum withdrawal allowed ({{format_min_withdraw_amount}} {{currency}}). Please top up your account to continue with your withdrawal.","269322978":"Deposit with your local currency via peer-to-peer exchange with fellow traders in your country.","269607721":"Upload","270339490":"If you select \"Over\", you will win the payout if the last digit of the last tick is greater than your prediction.","270396691":"<0>Your Wallets are ready!","270610771":"In this example, the open price of a candle is assigned to the variable \"candle_open_price\".","270712176":"descending","270780527":"You've reached the limit for uploading your documents.","271637055":"Download is unavailable while your bot is running.","272179372":"This block is commonly used to adjust the parameters of your next trade and to implement stop loss/take profit logic.","273350342":"Copy and paste the token into the app.","273728315":"Should not be 0 or empty","274268819":"Volatility 100 Index","275116637":"Deriv X","276770377":"New MT5 account(s) under the {{to_account}} jurisdiction will be created for new trades.","277469417":"Exclude time cannot be for more than five years.","278684544":"get sub-list from # from end","280021988":"Use these shortcuts","281110034":"Effective trading with the D'Alembert system requires careful consideration of its stake progression and risk management. Traders can automate this approach using Deriv Bot, setting profit and loss thresholds to ensure balanced and controlled trading. However, it is crucial for traders to assess their risk appetite, test strategies on a demo account, and align with their own trading style before transitioning to real money trading. This optimization process helps strike a balance between potential gains and losses while managing risk prudently.","282319001":"Check your image","282564053":"Next, we'll need your proof of address.","283830551":"Your address doesn’t match your profile","284527272":"antimode","284772879":"Contract","284809500":"Financial Demo","287934290":"Are you sure you want to cancel this transaction?","291344459":"The table illustrates this principle in the second session. After a trade resulting in loss in round 4 followed by a successful trade in round 5, the stake will increase to 2 USD for round 6. This is in line with the strategy's rule of raising the stake only after a loss is followed by a successful trade.","291744889":"<0>1. Trade parameters:<0>","291817757":"Go to our Deriv community and learn about APIs, API tokens, ways to use Deriv APIs, and more.","292526130":"Tick and candle analysis","292589175":"This will display the SMA for the specified period, using a candle list.","292887559":"Transfer to {{selected_value}} is not allowed, Please choose another account from dropdown","293250845":"Are you sure you want to continue?","294043810":"I confirm that my tax information is accurate and complete.","294305803":"Manage account settings","294335229":"Sell at market price","296017162":"Back to Bot","301441673":"Select your citizenship/nationality as it appears on your passport or other government-issued ID.","304309961":"We're reviewing your withdrawal request. You may still cancel this transaction if you wish. Once we start processing, you won't be able to cancel.","304506198":"Total balance:","310234308":"Close all your positions.","312142140":"Save new limits?","312300092":"Trims the spaces within a given string or text.","313741895":"This block returns “True” if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","315306603":"You have an account that do not have currency assigned. Please choose a currency to trade with this account.","316694303":"Is candle black?","318865860":"close","318984807":"This block repeats the instructions contained within for a specific number of times.","321457615":"Oops, something went wrong!","323179846":"The time interval for each candle can be set from one minute to one day.","323209316":"Select a Deriv Bot Strategy","323360883":"Baskets","325662004":"Expand Block","325763347":"result","326770937":"Withdraw {{currency}} ({{currency_symbol}}) to your wallet","327534692":"Duration value is not allowed. To run the bot, please enter {{min}}.","328539132":"Repeats inside instructions specified number of times","329353047":"Malta Financial Services Authority (MFSA) (licence no. IS/70156)","329404045":"<0>Switch to your real account<1> to create a {{platform}} {{account_title}} account.","330384187":"Enable trading with your first transfer.","333456603":"Withdrawal limits","333807745":"Click on the block you want to remove and press Delete on your keyboard.","334942497":"Buy time","337023006":"Start time cannot be in the past.","339449279":"Remaining time","339610914":"Spread Up/Spread Down","339879944":"GBP/USD","340807218":"Description not found.","342181776":"Cancel transaction","343873723":"This block displays a message. You can specify the color of the message and choose from 6 different sound options.","344418897":"These trading limits and self-exclusion help you control the amount of money and time you spend on {{brand_website_name}} and exercise <0>responsible trading.","345320063":"Invalid timestamp","345818851":"Sorry, an internal error occurred. Hit the above checkbox to try again.","346843343":"CFDs on financial and derived instruments with copy trading.","347029309":"Forex: standard/micro","347039138":"Iterate (2)","348951052":"Your cashier is currently locked","349047911":"Over","349110642":"<0>{{payment_agent}}<1>'s contact details","350602311":"Stats show the history of consecutive tick counts, i.e. the number of ticks the price remained within range continuously.","351744408":"Tests if a given text string is empty","352363702":"You may see links to websites with a fake Deriv login page where you’ll get scammed for your money.","353731490":"Job done","354945172":"Submit document","357477280":"No face found","357672069":"Income verification failed","359053005":"Please enter a token name.","359649435":"Given candle list is not valid","359809970":"This block gives you the selected candle value from a list of candles within the selected time interval. You can choose from open price, close price, high price, low price, and open time.","360224937":"Logic","360773403":"Bot Builder","363576009":"- High price: the highest price","363738790":"Browser","363990763":"Sell price:","367801124":"Total assets in your Deriv accounts.","368160866":"in list","369035361":"<0>•Your account number","371151609":"Last used","371710104":"This scope will allow third-party apps to buy and sell contracts for you, renew your expired purchases, and top up your demo accounts.","372291654":"Exclude time must be after today.","372645383":"True if the market direction matches the selection","372805409":"You should enter 9-35 characters.","373021397":"random","373306660":"{{label}} is required.","373495360":"This block returns the entire SMA line, containing a list of all values for a given period.","374537470":"No results for \"{{text}}\"","375714803":"Deal Cancellation Error","377231893":"Deriv Bot is unavailable in the EU","377538732":"Key parameters","379523479":"To avoid loss of funds, do not share tokens with the Admin scope with unauthorised parties.","380606668":"tick","380694312":"Maximum consecutive trades","381972464":"Your document has expired.","384303768":"This block returns \"True\" if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","384707870":"CRS confirmation","386278304":"Install the {{platform_name_trader}} web app","386502387":"Bot is not running","389923099":"Zoom in","390890891":"Last quarter","391038015":"The mobile trading app for multipliers.","391915203":"Hedging","392582370":"Fall Equals","393789743":"Letters, spaces, periods, hyphens, apostrophes only.","396418990":"Offline","398816980":"Launch {{platform_name_trader}} in seconds the next time you want to trade.","401339495":"Verify address","401345454":"Head to the Tutorials tab to do so.","403456289":"The formula for SMA is:","406359555":"Contract details","406497323":"Sell your active contract if needed (optional)","411482865":"Add {{deriv_account}} account","412433839":"I agree to the <0>terms and conditions.","413594348":"Only letters, numbers, space, hyphen, period, and forward slash are allowed.","417864079":"You’ll not be able to change currency once you have made a deposit.","418265501":"Demo Derived","419485005":"Spot","419496000":"Your contract is closed automatically when your profit is more than or equals to this amount. This block can only be used with the multipliers trade type.","420072489":"CFD trading frequency","422055502":"From","424101652":"Quick strategy guides >","424272085":"We take your financial well-being seriously and want to ensure you are fully aware of the risks before trading.<0/><0/>","424897068":"Do you understand that you could potentially lose 100% of the money you use to trade?","426031496":"Stop","427134581":"Try using another file type.","427617266":"Bitcoin","429970999":"To avoid delays, enter your <0>name exactly as it appears on your {{document_name}}.","431267979":"Here’s a quick guide on how to use Deriv Bot on the go.","432273174":"1:100","432508385":"Take Profit: {{ currency }} {{ take_profit }}","432519573":"Document uploaded","433348384":"Real accounts are not available to politically exposed persons (PEPs).","433616983":"2. Investigation phase","434548438":"Highlight function definition","434896834":"Custom functions","436364528":"Your account will be opened with {{legal_entity_name}}, and will be subject to the laws of Saint Vincent and the Grenadines.","436534334":"<0>We've sent you an email.","437138731":"Create a new {{platform}} password","437453244":"Choose your preferred cryptocurrency","437485293":"File type not supported","437904704":"Maximum open positions","438067535":"Over $500,000","439398769":"This strategy is currently not compatible with Deriv Bot.","442281706":"You’ve just deleted a block.","442520703":"$250,001 - $500,000","443559872":"Financial SVG","444484637":"Logic negation","445419365":"1 - 2 years","450983288":"Your deposit is unsuccessful due to an error on the blockchain. Please contact your crypto wallet service provider for more info.","451852761":"Continue on your phone","452054360":"Similar to RSI, this block gives you a list of values for each entry in the input list.","452949978":"The 1-3-2-6 strategy is designed to capitalise on consecutive successful trades while minimising losses during losing streaks. The rationale behind this strategy lies in statistical probabilities, with adjustments to stake sizes based on the perceived likelihood of success. There is a higher likelihood of success in the second trade after one successful trade. Hence the stake adjusts to 3 in the second trade. In the third trade, the stake adjusts to 2 units due to a lower probability of a successful trade. If the third trade is also successful, the strategy then allocates all the previous gains (a total of 6 units of initial stake) into the fourth trade with the aim of doubling the potential profits. If the fourth trade results in a positive outcome, the strategy helps achieve a total gain of 12 units. However, it is crucial to exercise caution, as the risk can escalate quickly with this strategy, and any loss in the fourth trade forfeits all previous gains.","453175851":"Your MT5 Financial STP account will be opened through {{legal_entity_name}}. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","454196938":"Regulation:","456746157":"Grant access to your camera from your browser settings","457020083":"It’ll take longer to verify you if we can’t read it","457494524":"1. From the block library, enter a name for the new variable and click Create.","459612953":"Select account","459817765":"Pending","460070238":"Congratulations","460975214":"Complete your Appropriateness Test","461795838":"Please contact us via live chat to unlock it.","462079779":"Resale not offered","463361726":"Select an item","465993338":"Oscar's Grind","466424460":"Oscar’s Grind","466837068":"Yes, increase my limits","467839232":"I trade forex CFDs and other complex financial instruments regularly on other platforms.","471402292":"Your bot uses a single trade type for each run.","473154195":"Settings","474306498":"We’re sorry to see you leave. Your account is now closed.","475492878":"Try Synthetic Indices","476023405":"Didn't receive the email?","477557241":"Remote blocks to load must be a collection.","478280278":"This block displays a dialog box that uses a customised message to prompt for an input. The input can be either a string of text or a number and can be assigned to a variable. When the dialog box is displayed, your strategy is paused and will only resume after you enter a response and click \"OK\".","478827886":"We calculate this based on the barrier you’ve selected.","479420576":"Tertiary","480356486":"*Boom 300 and Crash 300 Index","481276888":"Goes Outside","483279638":"Assessment Completed<0/><0/>","483591040":"Delete all {{ delete_count }} blocks?","485379166":"View transactions","487239607":"Converts a given True or False to the opposite value","488150742":"Resend email","489768502":"Change investor password","490053735":"If you select this feature, your trade will be closed automatically at the nearest available asset price when your loss reaches or exceeds the stop loss amount. Your loss may be more than the amount you entered depending on the market price at closing.","491603904":"Unsupported browser","492198410":"Make sure everything is clear","492566838":"Taxpayer identification number","497518317":"Function that returns a value","498562439":"or","499522484":"1. for \"string\": 1325.68 USD","500855527":"Chief Executives, Senior Officials and Legislators","500920471":"This block performs arithmetic operations between two numbers.","501401157":"You are only allowed to make deposits","501537611":"*Maximum number of open positions","502007051":"Demo Swap-Free SVG","502041595":"This block gives you a specific candle from within the selected time interval.","505793554":"last letter","508390614":"Demo Financial STP","511679687":"Accumulators allow you to express a view on the range of movement of an index and grow your stake exponentially at a fixed <0>growth rate.","514031715":"list {{ input_list }} is empty","514776243":"Your {{account_type}} password has been changed.","514948272":"Copy link","517631043":"We’ve sent your e-book. Check your email to download it.","517833647":"Volatility 50 (1s) Index","518955798":"7. Run Once at Start","519205761":"You can no longer open new positions with this account.","520136698":"Boom 500 Index","520458365":"Last used: ","521872670":"item","522703281":"divisible by","523123321":"- 10 to the power of a given number","524459540":"How do I create variables?","527329988":"This is a top-100 common password","529056539":"Options","531114081":"3. Contract Type","531675669":"Euro","532724086":"Employment contract","533403953":"Your existing <0>{{platform}} {{type}} {{from_account}} account(s) will remain accessible.","535041346":"Max. total stake per day","537788407":"Other CFDs Platform","538017420":"0.5 pips","538042340":"Principle 2: The stake only increases when a loss trade is followed by a successful trade","538228086":"Close-Low","541650045":"Manage {{platform}} password","541700024":"First, enter your driving licence number and the expiry date.","542038694":"Only letters, numbers, space, underscore, and hyphen are allowed for {{label}}.","542305026":"You must also submit a proof of identity.","543413346":"You have no open positions for this asset. To view other open positions, click Go to Reports","547029855":"If you select this feature, you can cancel your trade within a chosen time frame if the asset price moves against your favour. You will get your stake back without profit/loss. We charge a small fee for this. Take profit and stop loss are disabled when deal cancellation is active.","549479175":"Deriv Multipliers","549799607":"Go to LiveChat","551569133":"Learn more about trading limits","554135844":"Edit","554410233":"This is a top-10 common password","555351771":"After defining trade parameters and trade options, you may want to instruct your bot to purchase contracts when specific conditions are met. To do that you can use conditional blocks and indicators blocks to help your bot to make decisions.","555881991":"National Identity Number Slip","558866810":"Run your bot","559224320":"Our classic “drag-and-drop” tool for creating trading bots, featuring pop-up trading charts, for advanced users.","560759471":"You'll see these details once the contract starts.","561982839":"Change your currency","562599414":"This block returns the purchase price for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","563034502":"We shall try to resolve your complaint within 15 business days. We will inform you of the outcome together with an explanation of our position and propose any remedial measures we intend to take.","563166122":"We shall acknowledge receiving your complaint, review it carefully, and keep you updated on the handling process. We might request further information or clarifications to facilitate the resolution of the complaint.","563652273":"Go to block","565410797":"The below image illustrates how Simple Moving Average Array block works:","566274201":"1. Market","567019968":"A variable is among the most important and powerful components in creating a bot. It is a way to store information, either as text or numbers. The information stored as a variable can be used and changed according to the given instructions. Variables can be given any name, but usually they are given useful, symbolic names so that it is easier to call them during the execution of instructions.","567163880":"Create a {{platform}} password","567755787":"Tax Identification Number is required.","569057236":"In which country was your document issued?","571921777":"Funds protection level","572576218":"Languages","573173477":"Is candle {{ input_candle }} black?","575668969":"3. For trades that result in a profit, the stake for the next trade will be increased by 2 USD. Deriv Bot will continue to add 2 USD for every successful trade. See A1.","575702000":"Remember, selfies, pictures of houses, or non-related images will be rejected.","575968081":"Account created. Select payment method for deposit.","576355707":"Select your country and citizenship:","577215477":"count with {{ variable }} from {{ start_number }} to {{ end_number }} by {{ step_size }}","577779861":"Withdrawal","577883523":"4. Awards and orders","578640761":"Call Spread","579529868":"Show all details — including the bottom 2 lines","580431127":"Restart buy/sell on error (disable for better performance): {{ checkbox }}","580665362":"Stays In/Goes Out","580774080":"insert at","581168980":"Legal","582945649":"2 minutes","584028307":"Allow equals","587577425":"Secure my account","587856857":"Want to know more about APIs?","588609216":"Repeat tour","592087722":"Employment status is required.","592381383":"Passkey successfully removed","593459109":"Try a different currency","594937260":"Derived - BVI","595080994":"Example: CR123456789","595136687":"Save Strategy","597089493":"Here is where you can decide to sell your contract before it expires. Only one copy of this block is allowed.","597481571":"DISCLAIMER","597707115":"Tell us about your trading experience.","599469202":"{{secondPast}}s ago","602278674":"Verify identity","603849445":"Strike price","603849863":"Look for the <0>Repeat While/Until, and click the + icon to add the block to the workspace area.","603899222":"Distance to current spot","606240547":"- Natural log","606877840":"Back to today","607807243":"Get candle","609519227":"This is the email address associated with your Deriv account.","609650241":"Infinite loop detected","610537973":"Any information you provide is confidential and will be used for verification purposes only.","611020126":"View address on Blockchain","613418320":"<0>Setup unsuccessful","613877038":"Chart","615156635":"Your selfie does not match your document.","617345387":"If you select \"Reset-Up”, you win the payout if the exit spot is strictly higher than either the entry spot or the spot at reset time.","617910072":"Use your Deriv account email and password to login into the {{ platform }} platform.","618520466":"Example of a cut-off document","619268911":"<0>a.The Financial Commission will investigate the validity of the complaint within 5 business days.","619407328":"Are you sure you want to unlink from {{identifier_title}}?","621829484":"{{days_passed}}d ago","623192233":"Please complete the <0>Appropriateness Test to access your cashier.","623542160":"Exponential Moving Average Array (EMAA)","625571750":"Entry spot:","626175020":"Standard Deviation Up Multiplier {{ input_number }}","626809456":"Resubmit","627292452":"<0>Your Proof of Identity or Proof of Address did not meet our requirements. Please check your email for further instructions.","627814558":"This block returns a value when a condition is true. Use this block within either of the function blocks above.","628193133":"Account ID","629003252":"If your current password doesn't match these requirements, you'll need to create a new one in the next step.","629145209":"In case if the \"AND\" operation is selected, the block returns \"True\" only if both given values are \"True\"","629395043":"All growth rates","632398049":"This block assigns a null value to an item or statement.","632897893":"If any of the above applies to you, select <0>Yes. Otherwise, select <0>No.","634219491":"You have not provided your tax identification number. This information is necessary for legal and regulatory requirements. Please go to <0>Personal details in your account settings, and fill in your latest tax identification number.","634274250":"How long each trade takes to expire.","636219628":"<0>c.If no settlement opportunity can be found, the complaint will proceed to the determination phase to be handled by the DRC.","636427296":"Need help with tax info? Let us know via <0>live chat.","636579615":"Number of unit(s) to be added to the next trade after a losing trade. One unit is equivalent to the amount of initial stake.","639382772":"Please upload supported file type.","640249298":"Normal","640596349":"You have yet to receive any notifications","640730141":"Refresh this page to restart the identity verification process","641420532":"We've sent you an email","642210189":"Please check your email for the verification link to complete the process.","642393128":"Enter amount","642546661":"Upload back of license from your computer","644150241":"The number of contracts you have won since you last cleared your stats.","645902266":"EUR/NZD","646773081":"Profit threshold: The bot will stop trading if your total profit exceeds this amount.","647039329":"Proof of address required","647745382":"Input List {{ input_list }}","648035589":"Other CFD Platforms","649317411":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><1/>","649923867":"Adds a sign to a number to create a barrier offset. (deprecated)","650836587":"This article explores the Martingale strategy integrated into Deriv Bot, a versatile trading bot designed to trade assets such as forex, commodities, and derived indices. We will delve into the strategy's core parameters, its application, and provide essential takeaways for traders looking to use the bot effectively.","651284052":"Low Tick","651684094":"Notify","652298946":"Date of birth","654422099":"CRS confirmation is required.","654507872":"True-False","654924603":"Martingale","655937299":"We’ll update your limits. Click <0>Accept to acknowledge that you are fully responsible for your actions, and we are not liable for any addiction or loss.","656893085":"Timestamp","657325150":"This block is used to define trade options within the Trade parameters root block. Some options are only applicable for certain trade types. Parameters such as duration and stake are common among most trade types. Prediction is used for trade types such as Digits, while barrier offsets are for trade types that involve barriers such as Touch/No Touch, Ends In/Out, etc.","659482342":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your account settings.","660481941":"To access your mobile apps and other third-party apps, you'll first need to generate an API token.","660991534":"Finish","661759508":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><0/>","662953503":"Your contract will be closed when the <0>stop out level is reached.","664779910":"3. If the first trade results in profit, the stake for the following trade will not reduce but remain at the initial stake. The strategy minimally trades at the initial stake of 1 USD. See A1.","665089217":"Please submit your <0>proof of identity to authenticate your account and access your Cashier.","665777772":"XLM/USD","665872465":"In the example below, the opening price is selected, which is then assigned to a variable called \"op\".","666724936":"Please enter a valid ID number.","669494711":"1.4 pips","671630762":"We accept only these types of documents as proof of your address. The document must be recent (issued within last {{expiry_in_months}} months) and include your name and address:","672008428":"ZEC/USD","673915530":"Jurisdiction and choice of law","674973192":"Use this password to log in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","676159329":"Could not switch to default account.","676675313":"Authy","677918431":"Market: {{ input_market }} > {{ input_submarket }} > {{ input_symbol }}","679199080":"Why passkeys?","680334348":"This block was required to correctly convert your old strategy.","681108680":"Additional information required for {{platform}} account(s)","681808253":"Previous spot price","681926004":"Example of a blurry document","682056402":"Standard Deviation Down Multiplier {{ input_number }}","685391401":"If you're having trouble signing in, let us know via <0>chat","686387939":"How do I clear my transaction log?","687193018":"Slippage risk","687212287":"Amount is a required field.","688510664":"You've {{two_fa_status}} 2FA on this device. You'll be logged out of your account on other devices (if any). Use your password and a 2FA code to log back in.","689137215":"Purchase price","691956534":"<0>You have added a {{currency}} account.<0> Make a deposit now to start trading.","692354762":"Please enter your {{document_name}}. {{example_format}}","693396140":"Deal cancellation (expired)","693933036":"Exploring the Oscar’s Grind strategy in Deriv Bot","694035561":"Trade options multipliers","696157141":"Low spot","696735942":"Enter your National Identification Number (NIN)","696870196":"- Open time: the opening time stamp","697630556":"This market is presently closed.","698037001":"National Identity Number","699159918":"1. Filing complaints","699646180":"A minimum deposit value of <0>{{minimum_deposit}} {{currency}} is required. Otherwise, the funds will be lost and cannot be recovered.","700259824":"Account currency","701034660":"We are still processing your withdrawal request.<0 />Please wait for the transaction to be completed before deactivating your account.","701462190":"Entry spot","701647434":"Search for string","702451070":"National ID (No Photo)","702561961":"Change theme","705262734":"Your Wallets are ready","705299518":"Next, upload the page of your passport that contains your photo.","705697927":"2. Set your preferred unit. In this example, it is 2 units or 2 USD.","705821926":"Learn about this trade type","706448499":"We'll send you a secure link to verify your request. Tap on it to confirm you want to remove the passkey. This protects your account from unauthorised requests.","706727320":"Binary options trading frequency","706755289":"This block performs trigonometric functions.","706960383":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price, duration, etc. However, we won’t offer a contract value if the remaining duration is below 60 seconds.","707189572":"Your email address has changed.<0/>Now, log in with your new email address.","707662672":"{{unblock_date}} at {{unblock_time}}","708055868":"Driving licence number","710123510":"repeat {{ while_or_until }} {{ boolean }}","711999057":"Successful","712101776":"Take a photo of your passport photo page","712635681":"This block gives you the selected candle value from a list of candles. You can choose from open price, close price, high price, low price, and open time.","713054648":"Sending","714080194":"Submit proof","714746816":"MetaTrader 5 Windows app","715841616":"Please enter a valid phone number (e.g. +15417541234).","716428965":"(Closed)","718504300":"Postal/ZIP code","718509613":"Maximum duration: {{ value }}","720293140":"Log out","720519019":"Reset my password","721011817":"- Raise the first number to the power of the second number","723045653":"You'll log in to your Deriv account with this email address.","723961296":"Manage password","724526379":"Learn more with our tutorials","728042840":"To continue trading with us, please confirm where you live.","728824018":"Spanish Index","729251105":"Range: {{min}} - {{max}} {{duration_unit_text}} ","729651741":"Choose a photo","730473724":"This block performs the \"AND\" or the \"OR\" logic operation with the given values.","731382582":"BNB/USD","732828463":"Standing instructions to transfer funds to an account maintained in the United States, or directions regularly received from a US address","734298230":"Just a reminder","734390964":"Insufficient balance","734881840":"false","735907651":"A US residence address or a US correspondence address (including a US PO box)","737751617":"<0>Explore our website to see what’s available.","739126643":"Indicative high spot","742469109":"Reset Balance","743623600":"Reference","744110277":"Bollinger Bands Array (BBA)","745656178":"Use this block to sell your contract at the market price.","745674059":"Returns the specific character from a given string of text according to the selected option. ","746112978":"Your computer may take a few seconds to update","749336930":"Secure alternative to passwords.","750886728":"Switch to your real account to submit your documents","751468800":"Start now","751692023":"We <0>do not guarantee a refund if you make a wrong transfer.","752024971":"Reached maximum number of digits","752992217":"This block gives you the selected constant values.","753088835":"Default","753184969":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you (that is, whether you possess the experience and knowledge to understand the risks involved).<0/><1/>","753727511":"Type","755138488":"We’re unable to verify the document you provided because it contains markings or text that should not be on your document. Please provide a clear photo or a scan of your original identity document.","756152377":"SMA places equal weight to the entire distribution of values.","758003269":"make list from text","760528514":"Please note that changing the value of \"i\" won't change the value of the original item in the list","761576760":"Fund your account to start trading.","762926186":"A quick strategy is a ready-made strategy that you can use in Deriv Bot. There are 3 quick strategies you can choose from: Martingale, D'Alembert, and Oscar's Grind.","764366329":"Trading limits","766317539":"Language","770171141":"Go to {{hostname}}","772520934":"You may sell the contract up to 24 hours before expiry. If you do, we’ll pay you the <0>contract value.","773091074":"Stake:","773309981":"Oil/USD","773336410":"Tether is a blockchain-enabled platform designed to facilitate the use of fiat currencies in a digital manner.","775679302":"{{pending_withdrawals}} pending withdrawal(s)","775706054":"Do you sell trading bots?","776085955":"Strategies","776432808":"Select the country where you currently live.","778172770":"Deriv CFDs","780009485":"About D'Alembert","781924436":"Call Spread/Put Spread","783974693":"Avoid recent years","784311461":"Exponential Moving Average (EMA)","784583814":"Linked to your computer","785969488":"Jump 75 Index","787727156":"Barrier","788005234":"NA","792164271":"This is when your contract will expire based on the Duration or End time you’ve selected.","792622364":"Negative balance protection","793526589":"To file a complaint about our service, send an email to <0>complaints@deriv.com and state your complaint in detail. Please submit any relevant screenshots of your trading or system for our better understanding.","793531921":"Our company is one of the oldest and most reputable online trading companies in the world. We are committed to treat our clients fairly and provide them with excellent service.<0/><1/>Please provide us with feedback on how we can improve our services to you. Rest assured that you will be heard, valued, and treated fairly at all times.","794682658":"Copy the link to your phone","795859446":"Password saved","797007873":"Follow these steps to recover camera access:","797500286":"negative","800228448":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_fx}}.","800521289":"Your personal details are incomplete","801430087":"A link can contain the word \"Deriv\" and still be fake.","802436811":"View transaction details","802438383":"New proof of address is needed","802556390":"seconds","802989607":"Drag your XML file here","803500173":"Initial stake","806165583":"Australia 200","807499069":"Financial commission complaints procedure","808323704":"You can also use \"Compare\" and \"Logic operation\" blocks to make test variables.","812430133":"Spot price on the previous tick.","815925952":"This block is mandatory. Only one copy of this block is allowed. It is added to the canvas by default when you open Deriv Bot.","816580787":"Welcome back! Your messages have been restored.","816738009":"<0/><1/>You may also raise your unresolved dispute to the <2>Office of the Arbiter for Financial Services.","818447476":"Switch account?","820877027":"Please verify your proof of identity","821163626":"Server maintenance occurs every first Saturday of the month from 7 to 10 GMT time. You may experience service disruption during this time.","823186089":"A block that can contain text.","824797920":"Is list empty?","825042307":"Let’s try again","825179913":"This document number was already submitted for a different account. It seems you have an account with us that doesn't need further verification. Please contact us via <0>live chat if you need help.","826511719":"USD/SEK","827688195":"Disable Block","828219890":"then","828602451":"Returns the list of tick values in string format","830164967":"Last name","830703311":"My profile","830993327":"No current transactions available","832053636":"Document submission","832217983":"40 transactions or more in the past 12 months","832398317":"Sell Error","832721563":"If you select \"Low Tick\", you win the payout if the selected tick is the lowest among the next five ticks.","834966953":"1551661986 seconds since Jan 01 1970 (UTC) translates to 03/04/2019 @ 1:13am (UTC).","835336137":"View Detail","835350845":"Add another word or two. Uncommon words are better.","836097457":"I am interested in trading but have very little experience.","837063385":"Do not send other currencies to this address.","837066896":"Your document is being reviewed, please check back in 1-3 days.","839158849":"4. If the second trade results in a loss, the Deriv Bot will automatically increase your stake for the next trade by 2 USD. Deriv Bot will continue to add 2 USD to the previous round’s stake after every losing trade. See A2.","839805709":"To smoothly verify you, we need a better photo","841434703":"Disable stack","841543189":"View transaction on Blockchain","843333337":"You can only make deposits. Please complete the <0>financial assessment to unlock withdrawals.","845304111":"Slow EMA Period {{ input_number }}","848083350":"Your payout is equal to the <0>payout per point multiplied by the difference between the final price and the strike price. You will only earn a profit if your payout is higher than your initial stake.","850582774":"Please update your personal info","851054273":"If you select \"Higher\", you win the payout if the exit spot is strictly higher than the barrier.","851264055":"Creates a list with a given item repeated for a specific number of times.","851508288":"This block constrains a given number within a set range.","852527030":"Step 2","852583045":"Tick List String","852627184":"document number","854178118":"Verify your request","854399751":"Digit code must only contain numbers.","854630522":"Choose a cryptocurrency account","857363137":"Volatility 300 (1s) Index","857445204":"Deriv currently supports withdrawals of Tether eUSDT to Ethereum wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","857986403":"do something","858663703":"For new trades, please transfer your funds into the new <0>{{platform}} {{eligible_account_to_migrate}} account(s).","860319618":"Tourism","862283602":"Phone number*","863023016":"For instance, if a trader has a loss threshold (B) of 100 USD, with an initial stake (s) of 1 USD and 2 units of increment (f), the calculation would be as follows:","863328851":"Proof of identity","864610268":"First, enter your {{label}} and the expiry date.","864655280":"You can continue to hold your current open positions in your existing MT5 account(s).","864957760":"Math Number Positive","865424952":"High-to-Low","865642450":"2. Logged in from a different browser","866496238":"Make sure your license details are clear to read, with no blur or glare","868826608":"Excluded from {{brand_website_name}} until","869068127":"The cashier is temporarily down due to maintenance. It will be available as soon as the maintenance is complete.","869823595":"Function","872661442":"Are you sure you want to update email <0>{{prev_email}} to <1>{{changed_email}}?","872721776":"2. Select your XML file and hit Select.","872817404":"Entry Spot Time","873166343":"1. 'Log' displays a regular message.","873387641":"If you have open positions","874461655":"Scan the QR code with your phone","874472715":"Your funds will remain in your existing MT5 account(s).","874484887":"Take profit must be a positive number.","875101277":"If I close my web browser, will Deriv Bot continue to run?","875532284":"Restart process on a different device","876086855":"Complete the financial assessment form","876292912":"Exit","879014472":"Reached maximum number of decimals","879647892":"You may sell the contract up until 60 seconds before expiry. If you do, we’ll pay you the <0>contract value.","881963105":"(XAUUSD, XAGUSD)","882423592":"The amount that you stake for the first trade. Note that this is the minimum stake amount.","885065431":"Get a Deriv account","888274063":"Town/City","888924866":"We don’t accept the following inputs for:","890299833":"Go to Reports","891337947":"Select country","893963781":"Close-to-Low","893975500":"You do not have any recent bots","894191608":"<0>c.We must award the settlement within 28 days of when the decision is reached.","896790627":"A US birthplace","898457777":"You have added a Deriv Financial account.","898904393":"Barrier:","900646972":"page.","902045490":"3 minutes","903429103":"In candles list read {{ candle_property }} # from end {{ input_number }}","904696726":"API token","905227556":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters and numbers.","905564365":"MT5 CFDs","906049814":"We’ll review your documents and notify you of its status within 5 minutes.","906789729":"Your verification documents were already used for another account.","907680782":"Proof of ownership verification failed","909272635":"Financial - SVG","910888293":"Too many attempts","911048905":"(BTCUSD, ETHUSD)","912257733":"The workspace will be reset to the default strategy and any unsaved changes will be lost. <0>Note: This will not affect your running bot.","912406629":"Follow these steps:","912967164":"Import from your computer","915735109":"Back to {{platform_name}}","918447723":"Real","920125517":"Add demo account","921857297":"Enter a value from 0 to {{ value }}.","921901739":"- your account details of the bank linked to your account","922313275":"You're back online","924046954":"Upload a document showing your name and bank account number or account details.","924912760":"Your document appears to be a digital document.","929608744":"You are unable to make withdrawals","930255747":"Please enter your {{document_name}}. ","930346117":"Capitalization doesn't help very much","930546422":"Touch","933126306":"Enter some text here","933193610":"Only letters, periods, hyphens, apostrophes, and spaces, please.","937237342":"Strategy name cannot be empty","937682366":"Upload both of these documents to prove your identity.","937831119":"Last name*","937992258":"Table","938500877":"{{ text }}. <0>You can view the summary of this transaction in your email.","938947787":"Withdrawal {{currency}}","938988777":"High barrier","944499219":"Max. open positions","945532698":"Contract sold","945753712":"Back to Trader’s Hub","946204249":"Read","946841802":"A white (or green) candle indicates that the open price is lower than the close price. This represents an upward movement of the market price.","947046137":"Your withdrawal will be processed within 24 hours","947363256":"Create list","947704973":"Reverse D’Alembert","947758334":"City is required","947914894":"Top up  <0>","948156236":"Create {{type}} password","948176566":"New!","949859957":"Submit","951404247":"Enjoy seamless transactions across multiple currencies and an intuitive user interface with funds segregation.","952927527":"Regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156)","956448295":"Cut-off image detected","957182756":"Trigonometric functions","958430760":"In/Out","959031082":"set {{ variable }} to MACD Array {{ dropdown }} {{ dummy }}","960201789":"3. Sell conditions","961266215":"140+","961327418":"My computer","961692401":"Bot","962251615":"If you want to adjust your self-exclusion limits, <0>contact us via live chat.","966457287":"set {{ variable }} to Exponential Moving Average {{ dummy }}","968576099":"Up/Down","969858761":"Principle 1: Strategy aims to potentially make one unit of profit per session","969987233":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between exit spot and lower barrier.","970915884":"AN","974888153":"High-Low","975608902":"To trade CFDs, get a Deriv Apps account first.","975668699":"I confirm and accept {{company}} 's <0>Terms and Conditions","975950139":"Country of Residence","977929335":"Go to my account settings","980050614":"Update now","981138557":"Redirect","981568830":"You have chosen to exclude yourself from trading on our website until {{exclude_until}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via <0>live chat.","981965437":"Scan the QR code below with your 2FA app. We recommend <0>Authy or <1>Google Authenticator.","982146443":"WhatsApp","982402892":"First line of address","982829181":"Barriers","983451828":"2. Select the asset and trade type.","986565137":"We've received your proof of income","987053672":"You can continue with the open positions on your current <0>{{platform}} {{existing_account}} account(s).","987224688":"How many trades have you placed with other financial instruments in the past 12 months?","988064913":"4. Come back to Deriv Bot and add the Notify Telegram block to the workspace. Paste the Telegram API token and chat ID into the block fields accordingly.","988361781":"You have no trading activity yet.","988934465":"When prompted, you must enable camera access to continue","989840364":"You’re under legal age.","990739582":"170+","992294492":"Your postal code is invalid","992677950":"Logging out on other devices","993827052":"Choosing this jurisdiction will give you a Financial STP account. Your trades will go directly to the market and have tighter spreads.","995563717":"not {{ boolean }}","997276809":"I confirm that the name and date of birth above match my chosen identity document","997311089":"Change my password","999008199":"text","1001160515":"Sell","1002392396":"CFDs on derived instruments.","1002989598":"iOS: iCloud keychain.","1003876411":"Should start with letter or number and may contain a hyphen, period and slash.","1004127734":"Send email","1006069082":"The objective of Martingale strategy is to take advantage of consecutive successful trades and maximise potential profits from them. This strategy is beneficial only if there are consecutive successful trades. Therefore, it is important to set a maximum stake to secure all the potential profits gained from a number of consecutive successful trades, or you could lose all the profits you have accumulated, including your initial stake. For example, if your goal is to maximise profits within 2 consecutive successful trades, you set a maximum stake of 2 USD, given your initial stake is 1 USD. Similarly, if your goal is to maximise profits within 3 consecutive successful trades, you set a maximum stake of 4 USD, given your initial stake is 1 USD.","1006458411":"Errors","1006664890":"Silent","1008151470":"Unit: The number of units that are added in the event of successful trades or the number of units removed in the event of losing trades. For example, if the unit is set at 2, the stake increases or decreases by two times the initial stake of 1 USD, meaning it changes by 2 USD.","1009032439":"All time","1010198306":"This block creates a list with strings and numbers.","1010337648":"We were unable to verify your proof of ownership.","1011208051":"Congratulations, you have successfully created your <0/>{{category}} {{platform}} {{type}} {{jurisdiction_selected_shortcode}} account. ","1011424042":"{{text}}. stake<0/>","1012102263":"You will not be able to log in to your account until this date (up to 6 weeks from today).","1015201500":"Define your trade options such as duration and stake.","1016220824":"You need to switch to a real money account to use this feature.<0/>You can do this by selecting a real account from the <1>Account Switcher.","1018803177":"standard deviation","1019265663":"You have no transactions yet.","1019508841":"Barrier 1","1021090237":"Upgrade your <0>{{account_1}} <1/>and <0>{{account_2}} {{platform}} account(s)","1021679446":"Multipliers only","1022934784":"1 minute","1022971288":"Payout per pip","1023237947":"1. In the example below, the instructions are repeated as long as the value of x is less than or equal to 10. Once the value of x exceeds 10, the loop is terminated.","1023643811":"This block purchases contract of a specified type.","1023795011":"Even/Odd","1024205076":"Logic operation","1026046972":"Please enter a payout amount that's lower than {{max_payout}}.","1026289179":"Trade on the go","1028211549":"All fields are required","1028758659":"Citizenship*","1029164365":"We presume that you possess the experience, knowledge, and expertise to make your own investment decisions and properly assess the risk involved.","1029641567":"{{label}} must be less than 30 characters.","1030021206":"change {{ variable }} by {{ number }}","1031602624":"We've sent a secure link to %{number}","1031731167":"Pound Sterling","1032173180":"Deriv","1032907147":"AUD/NZD","1033253221":"Confirm your identity to make a withdrawal.","1035893169":"Delete","1036116144":"Speculate on the price movement of an asset without actually owning it.","1036867749":"The desired duration, stake, prediction, and/or barrier(s) for the contract is defined here.","1038575777":"Change password","1039428638":"EU regulation","1039476188":"The size used to multiply the stake after a losing trade for the next trade.","1039755542":"Use a few words, avoid common phrases","1040472990":"1. Go to Bot Builder.","1040677897":"To continue trading, you must also submit a proof of address.","1041001318":"This block performs the following operations on a given list: sum, minimum, maximum, average, median, mode, antimode, standard deviation, random item.","1041620447":"If you are unable to scan the QR code, you can manually enter this code instead:","1042659819":"You have an account that needs action","1043790274":"There was an error","1044599642":"<0> has been credited into your {{platform}} {{title}} account.","1045704971":"Jump 150 Index","1045782294":"Click the <0>Change password button to change your Deriv password.","1047389068":"Food Services","1047644783":"Enable screen lock on your device.","1047881477":"Unfortunately, your browser does not support the video.","1048687543":"Labuan Financial Services Authority","1048947317":"Sorry, this app is unavailable in {{clients_country}}.","1049384824":"Rise","1050063303":"Videos on Deriv Bot","1050128247":"I confirm that I have verified the payment agent’s transfer information.","1050844889":"Reports","1052779010":"You are on your demo account","1052921318":"{{currency}} Wallet","1053153674":"Jump 50 Index","1053159279":"Level of education","1053556481":"Once you submit your complaint, we will send you an acknowledgement email to confirm that we have received it.","1055313820":"No document detected","1056381071":"Return to trade","1056821534":"Are you sure?","1057216772":"text {{ input_text }} is empty","1057519018":"4. If a trade ends in a profit, the stake for the following trade will be reset to the initial stake amount of 1 USD.","1057749183":"Two-factor authentication (2FA)","1057904606":"The concept of the D’Alembert Strategy is said to be similar to the Martingale Strategy where you will increase your contract size after a loss. With the D’Alembert Strategy, you will also decrease your contract size after a successful trade.","1058804653":"Expiry","1058905535":"Tutorial","1060231263":"When are you required to pay an initial margin?","1061308507":"Purchase {{ contract_type }}","1062423382":"Explore the video guides and FAQs to build your bot in the tutorials tab.","1062536855":"Equals","1062569830":"The <0>name on your identity document doesn't match your profile.","1065275078":"cTrader is only available on desktop for now.","1065498209":"Iterate (1)","1065766135":"You have {{remaining_transfers}} {{transfer_text}} remaining for today.","1066235879":"Transferring funds will require you to create a second account.","1066459293":"4.3. Acknowledging your complaint","1069347258":"The verification link you used is invalid or expired. Please request for a new one.","1070323991":"6. If consecutive successful trades were to happen, the stake would follow a sequence of adjustment from 1 to 3, then 2, and 6 units of initial stake. After 4 consecutive successful trades, it completes one cycle and then the strategy will repeat itself for another cycle. If any trade results in a loss, your stake will reset back to the initial stake for the next trade.","1070624871":"Check proof of address document verification status","1073261747":"Verifications","1073611269":"A copy of your identity document (e.g. identity card, passport, driver's license)","1073711308":"Trade closed","1076006913":"Profit/loss on the last {{item_count}} contracts","1077515534":"Date to","1078189922":"You can make a new deposit once the verification of your account is complete.","1078221772":"Leverage prevents you from opening large positions.","1078303105":"Stop out","1080068516":"Action","1080990424":"Confirm","1082158368":"*Maximum account cash balance","1082406746":"Please enter a stake amount that's at least {{min_stake}}.","1083781009":"Tax identification number*","1083826534":"Enable Block","1087112394":"You must select the strike price before entering the contract.","1088031284":"Strike:","1088138125":"Tick {{current_tick}} - ","1089085289":"Mobile number","1089436811":"Tutorials","1089687322":"Stop your current bot?","1090041864":"The {{block_type}} block is mandatory and cannot be deleted/disabled.","1095295626":"<0>•The Arbiter for Financial Services will determine whether the complaint can be accepted and is in accordance with the law.","1096078516":"We’ll review your documents and notify you of its status within 3 days.","1096175323":"You’ll need a Deriv account","1098147569":"Purchase commodities or shares of a company.","1098622295":"\"i\" starts with the value of 1, and it will be increased by 2 at every iteration. The loop will repeat until \"i\" reaches the value of 12, and then the loop is terminated.","1100133959":"National ID","1100870148":"To learn more about account limits and how they apply, please go to the <0>Help Centre.","1101560682":"stack","1101712085":"Buy Price","1102420931":"Next, upload the front and back of your driving licence.","1102995654":"Calculates Exponential Moving Average (EMA) list from a list of values with a period","1103309514":"Target","1103452171":"Cookies help us to give you a better experience and personalised content on our site.","1104912023":"Pending verification","1107474660":"Submit proof of address","1107555942":"To","1109217274":"Success!","1110102997":"Statement","1112582372":"Interval duration","1113119682":"This block gives you the selected candle value from a list of candles.","1113292761":"Less than 8MB","1114679006":"You have successfully created your bot using a simple strategy.","1117281935":"Sell conditions (optional)","1117863275":"Security and safety","1118294625":"You have chosen to exclude yourself from trading on our website until {{exclusion_end}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via live chat.","1119887091":"Verification","1119986999":"Your proof of address was submitted successfully","1120985361":"Terms & conditions updated","1122910860":"Please complete your <0>financial assessment.","1123927492":"You have not selected your account currency","1124382808":"Please enter the expiry time in the format \"HH:MM\".","1125090693":"Must be a number","1126075317":"Add your Deriv MT5 <0>{{account_type_name}} STP account under Deriv (FX) Ltd regulated by Labuan Financial Services Authority (Licence no. MB/18/0024).","1126934455":"Length of token name must be between 2 and 32 characters.","1127224297":"Sorry for the interruption","1127884488":"cTrader MacOS app","1128139358":"How many CFD trades have you placed in the past 12 months?","1128321947":"Clear All","1128404172":"Undo","1129124569":"If you select \"Under\", you will win the payout if the last digit of the last tick is less than your prediction.","1129842439":"Please enter a take profit amount.","1130791706":"N","1133651559":"Live chat","1134879544":"Example of a document with glare","1134883120":"Use your Deriv account email and password to log in to cTrader.","1139483178":"Enable stack","1143730031":"Direction is {{ direction_type }}","1144028300":"Relative Strength Index Array (RSIA)","1145927365":"Run the blocks inside after a given number of seconds","1146064568":"Go to Deposit page","1147269948":"Barrier cannot be zero.","1150637063":"*Volatility 150 Index and Volatility 250 Index","1151964318":"both sides","1152294962":"Upload the front of your driving licence.","1154021400":"list","1154239195":"Title and name","1155011317":"This block converts the date and time to the number of seconds since the Unix Epoch (1970-01-01 00:00:00).","1155143434":"By clicking on <0>Next you agree to move your {{platform}} {{type}} {{from_account}} account(s) under <2/>Deriv {{account_to_migrate}} Ltd’s <1>terms and conditions.","1155626418":"below","1158678321":"<0>b.The Head of the Dispute Resolution Committee (DRC) will contact both you and us within 5 business days to obtain all necessary information and see if there is a chance to settle the complaint during the investigation phase.","1160761178":"No payout if exit spot is below or equal to the lower barrier.","1161924555":"Please select an option","1163771266":"The third block is <0>optional. You may use this block if you want to sell your contract before it expires. For now, leave the block as it is. ","1163836811":"Real Estate","1164773983":"Take profit and/or stop loss are not available while deal cancellation is active.","1166023941":"New password","1166128807":"Choose one of your accounts or add a new cryptocurrency account","1166377304":"Increment value","1168029733":"Win payout if exit spot is also equal to entry spot.","1169201692":"Create {{platform}} password","1170228717":"Stay on {{platform_name_trader}}","1171765024":"Step 3","1171961126":"trade parameters","1172230903":"• Stop loss threshold: Use this variable to store your loss limit. You can assign any amount you want. Your bot will stop when your losses hits or exceeds this amount.","1172524677":"CFDs Demo","1173957529":"Go to ‘Account Settings’ on Deriv.","1174542625":"- Find the chat ID property in the response, and copy the value of the id property","1174689133":"3. Set your trade parameters and hit Run.","1174748431":"Payment channel","1175183064":"Vanuatu","1177396776":"If you select \"Asian Fall\", you will win the payout if the last tick is lower than the average of the ticks.","1177723589":"There are no transactions to display","1178582280":"The number of contracts you have lost since you last cleared your stats.","1178800778":"Take a photo of the back of your license","1178942276":"Please try again in a minute.","1179704370":"Please enter a take profit amount that's higher than the current potential profit.","1181396316":"This block gives you a random number from within a set range","1181770592":"Profit/loss from selling","1183007646":"- Contract type: the name of the contract type such as Rise, Fall, Touch, No Touch, etс.","1183448523":"<0>We're setting up your Wallets","1184968647":"Close your contract now or keep it running. If you decide to keep it running, you can check and close it later on the ","1186687280":"Question {{ current }} of {{ total }}","1188316409":"To receive your funds, contact the payment agent with the details below","1188980408":"5 minutes","1189249001":"4.1. What is considered a complaint?","1189368976":"Please complete your personal details before you verify your identity.","1191429031":"Please click on the link in the email to change your <0>{{platform_name_dxtrade}} password.","1192598228":"Wallets will become your dedicated fund management tool, allowing you to transfer funds between Wallets and trading accounts instantly.","1195393249":"Notify {{ notification_type }} with sound: {{ notification_sound }} {{ input_message }}","1196006480":"Profit threshold","1198368641":"Relative Strength Index (RSI)","1199281499":"Last Digits List","1201533528":"Contracts won","1201773643":"numeric","1203297580":"This block sends a message to a Telegram channel.","1203380736":"The D’Alembert strategy is less risky than Martingale, but you can still determine how long your funds will last with this strategy before trading. Simply use this formula.","1204223111":"In this example, the open prices from a list of candles are assigned to a variable called \"candle_list\".","1204459171":"Your existing <0>{{platform}} {{type_1}} <1/>and <0>{{type_2}} {{from_account}} account(s) will remain accessible.","1206227936":"How to mask your card?","1206821331":"Armed Forces","1208729868":"Ticks","1208903663":"Invalid token","1211912982":"Bot is starting","1214893428":"Account creation is currently unavailable for mobile. Please log in with your computer to create a new account.","1216408337":"Self-Employed","1217159705":"Bank account number","1217481729":"Tether as an ERC20 token (eUSDT) is a version of Tether that is hosted on Ethereum.","1218546232":"What is Fiat onramp?","1219844088":"do %1","1221250438":"To enable withdrawals, please submit your <0>Proof of Identity (POI) and <1>Proof of Address (POA) and also complete the <2>financial assessment in your account settings.","1222096166":"Deposit via bank wire, credit card, and e-wallet","1222521778":"Making deposits and withdrawals is difficult.","1222544232":"We’ve sent you an email","1225874865":"The stake adjustment: target session profit (1 USD) - current session profit (0 USD) = 1 USD","1227074958":"random fraction","1227132397":"4. For trades that result in a loss, there are two outcomes. If it was traded at the initial stake, the next trade will remain at the same amount as the strategy trades minimally at the initial stake, see A2. If it was traded with a higher amount, the stake for the next trade would be reduced by 2 USD, see A3.","1227240509":"Trim spaces","1228534821":"Some currencies may not be supported by payment agents in your country.","1229883366":"Tax identification number","1230884443":"State/Province (optional)","1231282282":"Use only the following special characters: {{permitted_characters}}","1232291311":"Maximum withdrawal remaining","1232353969":"0-5 transactions in the past 12 months","1233300532":"Payout","1233910495":"If you select \"<0>Down\", your total profit/loss will be the percentage decrease in the underlying asset price, times the multiplier and stake, minus commissions.","1234292259":"Source of wealth","1234764730":"Upload a screenshot of your name and email address from the personal details section.","1234889964":"Better funds segregation","1237330017":"Pensioner","1238311538":"Admin","1239752061":"In your cryptocurrency wallet, make sure to select the <0>{{network_name}} network when you transfer funds to Deriv.","1239760289":"Complete your trading assessment","1239940690":"Restarts the bot when an error is encountered.","1240027773":"Please Log in","1240688917":"Glossary","1241238585":"You may transfer between your Deriv fiat, cryptocurrency, and {{platform_name_mt5}} accounts.","1242288838":"Hit the checkbox above to choose your document.","1242994921":"Click here to start building your Deriv Bot.","1243064300":"Local","1243287470":"Transaction status","1246207976":"Enter the authentication code generated by your 2FA app:","1246880072":"Select issuing country","1247280835":"Our cryptocurrency cashier is temporarily down due to system maintenance. You can make cryptocurrency deposits and withdrawals in a few minutes when the maintenance is complete.","1248018350":"Source of income","1248940117":"<0>a.The decisions made by the DRC are binding on us. DRC decisions are binding on you only if you accept them.","1250113042":"This device doesn't support passkeys.","1250495155":"Token copied!","1252669321":"Import from your Google Drive","1253531007":"Confirmed","1253636052":"MetaTrader5 web terminal","1254565203":"set {{ variable }} to create list with","1255827200":"You can also import or build your bot using any of these shortcuts.","1255909792":"last","1255963623":"To date/time {{ input_timestamp }} {{ dummy }}","1258097139":"What could we do to improve?","1258198117":"positive","1259145708":"Let’s try again. Choose another document and enter the corresponding details.","1259598687":"GBP/JPY","1260259925":"Phone is not in a proper format.","1264096613":"Search for a given string","1264842111":"You can switch between real and demo accounts.","1265317149":"A recent utility bill (e.g. electricity, water or gas) or recent bank statement or government-issued letter with your name and address.","1265704976":"","1266728508":"Proof of income verification passed","1269296089":"Let's build a Bot!","1270581106":"If you select \"No Touch\", you win the payout if the market never touches the barrier at any time during the contract period.","1272012156":"GBP/CHF","1272337240":"Days","1272681097":"Hours","1274380814":"Your payout is equal to the <0>payout per pip multiplied by the difference, <1>in pips, between the final price and the strike price. You will only earn a profit if your payout is higher than your initial stake.","1274819385":"3. Complaints and Disputes","1276660852":"Submit your proof of identity","1281045211":"Sorts the items in a given list, by their numeric or alphabetical value, in either ascending or descending order.","1281290230":"Select","1282951921":"Only Downs","1284522768":"If \"Loss\" is selected, it will return \"True\" if your last trade was unsuccessful. Otherwise, it will return an empty string.","1286094280":"Withdraw","1286507651":"Close identity verification screen","1288965214":"Passport","1289146554":"British Virgin Islands Financial Services Commission","1289650867":"The Oscar’s Grind strategy is designed to potentially gain a modest yet steady profit in each trading session. This strategy splits trades into sessions and has three principles.","1290525720":"Example: ","1291997417":"Contracts will expire at exactly 23:59:59 GMT on your selected expiry date.","1292188546":"Reset Deriv MT5 investor password","1292891860":"Notify Telegram","1293660048":"Max. total loss per day","1294553728":"We’re unable to verify the document you provided because it appears to be a blank image. Please try again or upload another document.","1294756261":"This block creates a function, which is a group of instructions that can be executed at any time. Place other blocks in here to perform any kind of action that you need in your strategy. When all the instructions in a function have been carried out, your bot will continue with the remaining blocks in your strategy. Click the “do something” field to give it a name of your choice. Click the plus icon to send a value (as a named variable) to your function.","1295284664":"Please accept our <0>updated Terms and Conditions to proceed.","1296380713":"Close my contract","1299479533":"8 hours","1300576911":"Please resubmit your proof of address or we may restrict your account.","1302691457":"Occupation","1303016265":"Yes","1303530014":"We’re processing your withdrawal.","1304083330":"copy","1304272843":"Please submit your proof of address.","1304620236":"Enable camera","1305217290":"Upload the back of your identity card.","1308625834":"Sets the default time interval for blocks that read list of candles.","1309017029":"Enabling this allows you to save your blocks as one collection which can be easily integrated into other bots.","1309044871":"Returns the value of the latest tick in string format","1310483610":"Results for \"{{ search_term }}\"","1311680770":"payout","1313167179":"Please log in","1313302450":"The bot will stop trading if your total loss exceeds this amount.","1314572331":"Your document failed our verification checks.","1316216284":"You can use this password for all your {{platform}} accounts.","1319217849":"Check your mobile","1320715220":"<0>Account closed","1320750775":"Front and back","1322804930":"Restart the process on the latest version of Google Chrome","1323327633":"Our complaints process comprises the following 4 steps:","1323476617":"Changes the capitalisation of a string of text to Upper case, Lower case, Title case.","1323996051":"Profile","1324922837":"2. The new variable will appear as a block under Set variable.","1325514262":"(licence no. MB/18/0024)","1327181172":"Financial Vanuatu","1327494533":"{{sell_value}} (Sell)","1329136554":"Jump 200 Index","1329325646":"The content of this block is called on every tick","1331199417":"Please enter the correct format. ","1331367811":"Client account number","1332168410":"Learn more","1332168769":"Disconnect","1333576137":"Please update your {{details}} to continue.","1333839457":"Submit identity card (front)","1334326985":"It may take a few minutes to arrive","1335967988":"Notice","1336052175":"Switch accounts","1337846406":"This block gives you the selected candle value from a list of candles within the selected time interval.","1337864666":"Photo of your document","1338496204":"Ref. ID","1339613797":"Regulator/External dispute resolution","1340286510":"The bot has stopped, but your trade may still be running. You can check it on the Reports page.","1341840346":"View in Journal","1341921544":"Trading accounts and funds","1344696151":"Forex, stocks, stock indices, commodities, cryptocurrencies and synthetic indices.","1346038489":"Should be less than 70.","1346204508":"Take profit","1346339408":"Managers","1346947293":"We were unable to verify your selfie because it’s not clear. Please take a clearer photo and try again. Ensure that there's enough light where you are and that your entire face is in the frame.","1347037687":"Trader’s Hub V2","1347071802":"{{minutePast}}m ago","1349133669":"Try changing your search criteria.","1349289354":"Great, that's everything we need","1349295677":"in text {{ input_text }} get substring from {{ position1 }} {{ index1 }} to {{ position2 }} {{ index2 }}","1351906264":"This feature is not available for payment agents.","1353197182":"Please select","1354288636":"Based on your answers, it looks like you have insufficient knowledge and experience in trading CFDs. CFD trading is risky and you could potentially lose all of your capital.<0/><0/>","1355250245":"{{ calculation }} of list {{ input_list }}","1356574493":"Returns a specific portion of a given string of text.","1356607862":"Deriv password","1357010670":"I acknowledge and confirm that I would like to upgrade to Wallets.","1357213116":"Identity card","1358543466":"Not available","1358543748":"enabled","1360929368":"Add a Deriv account","1362029761":"Exploring the Reverse Martingale strategy in Deriv Bot","1362578283":"High","1363645836":"Derived FX","1363675688":"Duration is a required field.","1364045306":"Account V2","1364879837":"The verification is passed but the personal info is not available to compare.","1364958515":"Stocks","1366244749":"Limits","1367488817":"4. Restart trading conditions","1367990698":"Volatility 10 Index","1370647009":"Enjoy higher daily limits","1371193412":"Cancel","1371555192":"Choose your preferred payment agent and enter your withdrawal amount. If your payment agent is not listed, <0>search for them using their account number.","1371641641":"Open the link on your mobile","1371911731":"Financial products in the EU are offered by {{legal_entity_name}}, licensed as a Category 3 Investment Services provider by the Malta Financial Services Authority (<0>Licence no. IS/70156).","1373949314":"The Reverse Martingale strategy involves increasing your stake after each successful trade and resets to the initial stake for every losing trade as it aims to secure potential profits from consecutive wins.","1374627690":"Max. account balance","1374902304":"Your document appears to be damaged or cropped.","1375884086":"Financial, legal, or government document: recent bank statement, affidavit, or government-issued letter.","1376329801":"Last 60 days","1378419333":"Ether","1380349261":"Range","1383017005":"You have switched accounts.","1384127719":"You should enter {{min}}-{{max}} numbers.","1384222389":"Please submit valid identity documents to unlock the cashier.","1385418910":"Please set a currency for your existing real account before creating another account.","1387503299":"Log in","1388770399":"Proof of identity required","1389197139":"Import error","1390792283":"Trade parameters","1391174838":"Potential payout:","1392985917":"This is similar to a commonly used password","1393559748":"Invalid date/time: {{ datetime_string }}","1393901361":"There’s an app for that","1393903598":"if true {{ return_value }}","1396179592":"Commission","1396417530":"Bear Market Index","1397628594":"Insufficient funds","1400341216":"We’ll review your documents and notify you of its status within 1 to 3 days.","1400732866":"View from camera","1400962248":"High-Close","1402208292":"Change text case","1402224124":"Hit the button below, and we'll email you a verification link.","1402300547":"Lets get your address verified","1403376207":"Update my details","1405584799":"with interval: {{ candle_interval_type }}","1407191858":"DTrader","1408844944":"Click the plus icon to extend the functionality of this block.","1408852678":"Trade bigger positions with less capital across diverse financial and derived instruments. <0>Learn more","1411373212":"Strong passwords contain at least 8 characters. combine uppercase and lowercase letters, numbers, and symbols.","1412405902":"See important notes","1412535872":"You can check the result of the last trade with this block. It can only be placed within the \"Restart trading conditions\" root block.","1413047745":"Assigns a given value to a variable","1413359359":"Make a new transfer","1414205271":"prime","1414366321":"An uppercase letter","1414918420":"We'll review your proof of identity again and will give you an update as soon as possible.","1415006332":"get sub-list from first","1415513655":"Download cTrader on your phone to trade with the Deriv cTrader account","1415974522":"If you select \"Differs\", you will win the payout if the last digit of the last tick is not the same as your prediction.","1417558007":"Max. total loss over 7 days","1417907460":"No problem! Your passkey still works.","1417914636":"Login ID","1418115525":"This block repeats instructions as long as a given condition is true.","1419330165":"Forex, stocks, stock indices, commodities, cryptocurrencies, ETFs and synthetic indices","1421046084":"Setup your account","1421749665":"Simple Moving Average (SMA)","1422060302":"This block replaces a specific item in a list with another given item. It can also insert the new item in the list at a specific position.","1422129582":"All details must be clear — nothing blurry","1423082412":"Last Digit","1423296980":"Enter your SSNIT number","1424741507":"See more","1424763981":"1-3-2-6","1424779296":"If you've recently used bots but don't see them in this list, it may be because you:","1428657171":"You can only make deposits. Please contact us via <0>live chat for more information.","1430221139":"Verify now","1430396558":"5. Restart buy/sell on error","1430632931":"To get trading, please confirm who you are, and where you live.","1433367863":"Sorry, an error occured while processing your request.","1433468641":"We offer our services in all countries, except for the ones mentioned in our terms and conditions.","1434382099":"Displays a dialog window with a message","1434767075":"Get started on Deriv Bot","1434976996":"Announcement","1435363248":"This block converts the number of seconds since the Unix Epoch to a date and time format such as 2019-08-01 00:00:00.","1437396005":"Add comment","1437529196":"Payslip","1438247001":"A professional client receives a lower degree of client protection due to the following.","1438340491":"else","1439168633":"Stop loss:","1441208301":"Total<0 />profit/loss","1442747050":"Loss amount: <0>{{profit}}","1442840749":"Random integer","1443478428":"Selected proposal does not exist","1444843056":"Corporate Affairs Commission","1445592224":"You accidentally gave us another email address (Usually a work or a personal one instead of the one you meant).","1446742608":"Click here if you ever need to repeat this tour.","1449462402":"In review","1452260922":"Too many failed attempts","1452941569":"This block delays execution for a given number of seconds. You can place any blocks within this block. The execution of other blocks in your strategy will be paused until the instructions in this block are carried out.","1453317405":"This block gives you the balance of your account either as a number or a string of text.","1454406889":"Choose <0>until as the repeat option.","1454648764":"deal reference id","1454865058":"Do not enter an address linked to an ICO purchase or crowdsale. If you do, the ICO tokens will not be credited into your account.","1455741083":"Upload the back of your driving licence.","1457341530":"Your proof of identity verification has failed","1457603571":"No notifications","1458160370":"Enter your {{platform}} password to add a {{platform_name}} {{account}} {{jurisdiction_shortcode}} account.","1459761348":"Submit proof of identity","1461323093":"Display messages in the developer’s console.","1462238858":"By purchasing the \"High-to-Close\" contract, you'll win the multiplier times the difference between the high and close over the duration of the contract.","1464190305":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract without manually stopping and restarting your bot.","1464253511":"You already have an account for each of the cryptocurrencies available on {{deriv}}.","1465084972":"How much experience do you have with other financial instruments?","1465919899":"Pick an end date","1466430429":"Should be between {{min_value}} and {{max_value}}","1466900145":"Doe","1467017903":"This market is not yet available on {{platform_name_trader}}, but it is on {{platform_name_smarttrader}}.","1467421920":"with interval: %1","1467880277":"3. General queries","1468308734":"This block repeats instructions as long as a given condition is true","1468419186":"Deriv currently supports withdrawals of Tether USDT to Omni wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","1468508098":"Slippage happens when the asset price changes by the time it reaches our servers.","1469133110":"cTrader Windows app","1469150826":"Take Profit","1469764234":"Cashier Error","1469814942":"- Division","1470319695":"Returns either True or False","1470565177":"Article of association","1471008053":"Deriv Bot isn't quite ready for real accounts","1471070549":"Can contract be sold?","1471741480":"Severe error","1473369747":"Synthetics only","1475513172":"Size","1476301886":"Similar to SMA, this block gives you the entire SMA line containing a list of all values for a given period.","1478030986":"Create or delete API tokens for trading and withdrawals","1480915523":"Skip","1484336612":"This block is used to either terminate or continue a loop, and can be placed anywhere within a loop block.","1487086154":"Your documents were submitted successfully","1488548367":"Upload again","1490509675":"Options accounts","1491392301":"<0>Sold for: {{sold_for}}","1492686447":"Your MT5 Financial STP account will be opened through Deriv (FX) Ltd. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","1493673429":"Change email","1493866481":"Run Deriv X on your browser","1496810530":"GBP/AUD","1497773819":"Deriv MT5 accounts","1499080621":"Tried to perform an invalid operation.","1501691227":"Add Your Deriv MT5 <0>{{account_type_name}} account under Deriv (V) Ltd, regulated by the Vanuatu Financial Services Commission.","1502039206":"Over {{barrier}}","1502325741":"Your password cannot be the same as your email address.","1503419760":"Swap-free CFDs on selected financial and derived instruments.","1503618738":"- Deal reference ID: the reference ID of the contract","1505420815":"No payment agents found for your search","1505898522":"Download stack","1505927599":"Our servers hit a bump. Let’s refresh to move on.","1506251760":"Wallets","1507554225":"Submit your proof of address","1509559328":"cTrader","1509570124":"{{buy_value}} (Buy)","1509678193":"Education","1510075920":"Gold/USD","1510357015":"Tax residence is required.","1510735345":"This block gives you a list of the last digits of the last 1000 tick values.","1512469749":"In the above example it is assumed that variable candle_open_price is processed somewhere within other blocks.","1513771077":"We're processing your withdrawal.","1516559721":"Please select one file only","1516676261":"Deposit","1517503814":"Drop file or click here to upload","1519124277":"Derived SVG","1520332426":"Net annual income","1524636363":"Authentication failed","1526012495":"This could be because:","1526483456":"2. Enter a name for your variable, and hit Create. New blocks containing your new variable will appear below.","1527251898":"Unsuccessful","1527664853":"Your payout is equal to the payout per point multiplied by the difference between the final price and the strike price.","1527906715":"This block adds the given number to the selected variable.","1531017969":"Creates a single text string from combining the text value of each attached item, without spaces in between. The number of items can be added accordingly.","1533177906":"Fall","1534796105":"Gets variable value","1537192641":"Unable to process your request","1537711064":"You need to make a quick identity verification before you can access the Cashier. Please go to your account settings to submit your proof of identity.","1540585098":"Decline","1541508606":"Looking for CFDs? Go to Trader's Hub","1541770236":"The 1-3-2-6 strategy aims to maximise potential profits with four consecutive successful trades. One unit is equal to the amount of the initial stake. The stake will adjust from 1 unit to 3 units after the first successful trade, then to 2 units after your second successful trade, and to 6 units after the third successful trade. The stake for the next trade will reset to the initial stake if there is a losing trade or a completion of the trade cycle.","1541969455":"Both","1542742708":"Synthetics, Forex, Stocks, Stock indices, Commodities, and Cryptocurrencies","1544642951":"If you select \"Only Ups\", you win the payout if consecutive ticks rise successively after the entry spot. No payout if any tick falls or is equal to any of the previous ticks.","1547148381":"That file is too big (only up to 8MB allowed). Please upload another file.","1549098835":"Total withdrawn","1549645155":"Your passkey is successfully removed. To avoid sign-in prompts, also remove the passkey from your iCloud keychain. ","1551172020":"AUD Basket","1551689907":"Enhance your trading experience by upgrading your <0/><1>{{platform}} {{type}} {{from_account}} account(s).","1555345325":"User Guide","1556391770":"You cannot make a withdrawal as your documents are still under review. We will notify you by email within 3 days once your verification is approved.","1557426040":"Demo Derived SVG","1557682012":"Account Settings","1558972889":"set {{ variable }} to Simple Moving Average {{ dummy }}","1560302445":"Copied","1562374116":"Students","1566037033":"Bought: {{longcode}} (ID: {{transaction_id}})","1566717687":"We also provide a guide on the Tutorial tab to show you how you can build and execute a simple strategy.","1567076540":"Only use an address for which you have proof of residence - ","1567745852":"Bot name","1569527365":"Verification failed. Resubmit your details.","1569624004":"Dismiss alert","1570484627":"Ticks list","1571575776":"Accepted formats: pdf, jpeg, jpg, and png. Max file size: 8MB","1572504270":"Rounding operation","1572982976":"Server","1573429525":"Call/Put","1575556189":"Tether on the Ethereum blockchain, as an ERC20 token, is a newer transport layer, which now makes Tether available in Ethereum smart contracts. As a standard ERC20 token, it can also be sent to any Ethereum address.","1577480486":"Your mobile link will expire in one hour","1577527507":"Account opening reason is required.","1577612026":"Select a folder","1579839386":"Appstore","1580498808":"Multiple faces found","1584109614":"Ticks String List","1584936297":"XML file contains unsupported elements. Please check or modify file.","1587046102":"Documents from that country are not currently supported — try another document type","1589148299":"Start","1589640950":"Resale of this contract is not offered.","1589702653":"Proof of address","1589863913":"These are the trade parameters used for D’Alembert strategy in Deriv Bot.","1590400723":"Total assets in all your accounts","1591933071":"Resubmit document","1593010588":"Login now","1594147169":"Please come back in","1594322503":"Sell is available","1595295238":"3. Use a logic block to check if Total profit/loss is more than the Stop loss threshold amount. You can find the Total profit/loss variable under Analysis > Stats on the Blocks menu on the left. Your bot will continue to purchase new contracts until the Total profit/loss amount exceeds the Stop loss threshold amount.","1597672660":"Deriv MT5 Password","1598009247":"<0>a.You may file a complaint with the Financial Commission up to 45 days after the incident.","1598386296":"Town/City is required.","1598443642":"Transaction hash","1599743312":"An example of Reverse Martingale strategy","1602894348":"Create a password","1604916224":"Absolute","1605222432":"I have no knowledge and experience in trading at all.","1605292429":"Max. total loss","1612105450":"Get substring","1612638396":"Cancel your trade at any time within a specified timeframe.","1615897837":"Signal EMA Period {{ input_number }}","1618652381":"For instance, if a trader has a loss threshold (B) is 1000 USD, with an initial stake (s) is 1 USD, and the Martingale multiplier (m) is 2, the calculation would be as follows:","1619070150":"You are being redirected to an external website.","1620278321":"Names and surnames by themselves are easy to guess","1620346110":"Set currency","1621024661":"Tether as a TRC20 token (tUSDT) is a version of Tether that is hosted on Tron.","1622662457":"Date from","1622944161":"Now, go to the <0>Restart trading conditions block.","1623706874":"Use this block when you want to use multipliers as your trade type.","1628981793":"Can I trade cryptocurrencies on Deriv Bot?","1630417358":"Please go to your account settings and complete your personal details to enable withdrawals.","1631281562":"GBP Basket","1633661992":"Tick {{current_tick}}/{{tick_count}}","1634016345":"2. If the trade is successful, this strategy will automatically adjust your stake to 3 units of your initial stake for the next trade. In this case, the stake adjustment is 3 units and the initial stake is 1 USD, hence the next trade will start at 3 USD.","1634903642":"Only your face can be in the selfie","1634969163":"Change currency","1635266650":"It seems that your name in the document is not the same as your Deriv profile. Please update your name in the <0>Personal details page to solve this issue.","1635628424":"An envelope with your name and address.","1636605481":"Platform settings","1636782601":"Multipliers","1638321777":"Your demo account balance is low. Reset your balance to continue trading from your demo account.","1639262461":"Pending withdrawal request:","1639304182":"Please click on the link in the email to reset your password.","1641395634":"Last digits list","1641635657":"New proof of identity document needed","1641980662":"Salutation is required.","1644636153":"Transaction hash: <0>{{value}}","1644703962":"Looking for CFD accounts? Go to Trader's Hub","1644864436":"You’ll need to authenticate your account before requesting to become a professional client. <0>Authenticate my account","1644908559":"Digit code is required.","1647186767":"The bot encountered an error while running.","1648938920":"Netherlands 25","1649239667":"2. Under the Blocks menu, you'll see a list of categories. Blocks are grouped within these categories. Choose the block you want and drag them to the workspace.","1650963565":"Introducing Wallets","1651513020":"Display remaining time for each interval","1651951220":"Repeats like \"abcabcabc\" are only slightly harder to guess than \"abc\"","1652366857":"get and remove","1652968048":"Define your trade options such as multiplier and stake.","1652976865":"In this example, this block is used with another block to get the open prices from a list of candles. The open prices are then assigned to the variable called \"cl\".","1653136377":"copied!","1653180917":"We cannot verify you without using your camera","1653999225":"Forex: major/minor","1654365787":"Unknown","1654529197":"Purchase condition","1654721858":"Upload anyway","1655372864":"Your contract will expire on this date (in GMT), based on the end time you’ve selected.","1655627840":"UPPER CASE","1656155124":"Resend in <0 /> seconds","1658954996":"Plant and Machine Operators and Assemblers","1659074761":"Reset Put","1659352235":"Add your Deriv MT5 CFDs account under Deriv Investments (Europe) Limited, regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156).","1665272539":"Remember: You cannot log in to your account until the selected date.","1665718170":"The document must contain a letterhead.","1665738338":"Balance","1665756261":"Go to live chat","1668138872":"Modify account settings","1669062316":"The payout at expiry is equal to the payout per pip multiplied by the difference, <0>in pips, between the final price and the strike price.","1670016002":"Multiplier: {{ multiplier }}","1670426231":"End Time","1671232191":"You have set the following limits:","1675030608":"To create this account first we need you to resubmit your proof of address.","1676549796":"Dynamic Leverage","1677027187":"Forex","1679743486":"1. Go to Quick strategy and select the strategy you want.","1680666439":"Upload your bank statement showing your name, account number, and transaction history.","1681765749":"Martingale formula 2","1682409128":"Untitled Strategy","1682636566":"Resend email in","1683963454":"Your contract will be closed automatically at the next available asset price on {{date}} at {{timestamp}}.","1684419981":"What's this?","1686800117":"{{error_msg}}","1689103988":"Second Since Epoch","1689258195":"We were unable to verify your address with the details you provided. Please check and resubmit or choose a different document type.","1690746575":"Enhance your trading experience by upgrading your <0>{{platform}} {{type_1}} <1/>and <0>{{type_2}} {{from_account}} account(s).","1691335819":"To continue trading with us, please confirm who you are.","1691536201":"If you choose your duration in number of ticks, you won’t be able to terminate your contract early.","1691765860":"- Negation","1692912479":"Deriv MT5, Deriv X","1693614409":"Start time","1694517345":"Enter a new email address","1696190747":"Trading inherently involves risks, and actual profits can fluctuate due to various factors, including market volatility and other unforeseen variables. As such, exercise caution and conduct thorough research before engaging in any trading activities.","1698624570":"2. Hit Ok to confirm.","1699606318":"You've reached the limit of uploading your documents.","1700233813":"Transfer from {{selected_value}} is not allowed, Please choose another account from dropdown","1701447705":"Please update your address","1702339739":"Common mistakes","1703091957":"We collect information about your employment as part of our due diligence obligations, as required by anti-money laundering legislation.","1703712522":"Your payout is equal to the payout per pip multiplied by the difference, <0>in pips, between the final price and the strike price.","1704656659":"How much experience do you have in CFD trading?","1708413635":"For your {{currency_name}} ({{currency}}) account","1709859601":"Exit Spot Time","1711013665":"Anticipated account turnover","1711016273":"<0>This may take up to 2 minutes. During this time, some services may be unavailable.","1711676335":"square root","1711929663":"Your funds have been transferred","1712357617":"Invalid email address.","1713633297":"3. If the second trade is also successful, your stake will adjust to 2 USD or 2 units of the initial stake for the next trade.","1714255392":"To enable withdrawals, please complete your financial assessment.","1715011380":"Jump 25 Index","1715630945":"Returns the total profit in string format","1715680813":"Your contract will expire at exactly 23:59:59 GMT +0 on your selected expiry date.","1717023554":"Resubmit documents","1717474982":"CFDs on financial and derived instruments via a customisable platform.","1720451994":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv fiat and Deriv cryptocurrency accounts.","1720968545":"Upload passport photo page from your computer","1722056905":"The document you provided is not supported for your country. Please provide a supported document for your country.","1722888575":"{{mt5_migration_error}}","1723069433":"Your new Wallet","1723589564":"Represents the maximum number of outstanding contracts in your portfolio. Each line in your portfolio counts for one open position. Once the maximum is reached, you will not be able to open new positions without closing an existing position first.","1724367774":"You can make a funds transfer once the verification of your account is complete.","1724696797":"You are limited to one fiat account only.","1725958461":"Account number","1726472773":"Function with no return value","1726565314":"Close my account","1728183781":"About Tether","1729145421":"Risk warning","1731747596":"The block(s) highlighted in red are missing input values. Please update them and click \"Run bot\".","1733711201":"Regulators/external dispute resolution","1734185104":"Balance: %1","1734264460":"Disclaimer","1734521537":"The document you provided appears to be two different types. Please try again or provide another document.","1736292549":"Update postal code","1737352280":"Bot.init is not called","1738094481":"<0>Duration: Ticks 1","1738611950":"About Reverse Martingale","1738681493":"Remove your glasses, if necessary","1739086943":"Wall Street 30","1739384082":"Unemployed","1739668049":"Close your account","1740371444":"Underlying market is not selected","1742256256":"Please upload one of the following documents:","1743448290":"Payment agents","1743679873":"If you select <0>\"Call\", you’ll earn a <1>payout if the <1>final price is above the <1>strike price at <1>expiry. Otherwise, you won’t receive a payout.","1743902050":"Complete your financial assessment","1744509610":"Just drag the XML file from your computer onto the workspace, and your bot will be loaded accordingly. Alternatively, you can hit Import in Bot Builder, and choose to import your bot from your computer or from your Google Drive.","1745523557":"- Square root","1746051371":"Download the app","1746273643":"Moving Average Convergence Divergence","1747501260":"Sell conditions","1747674345":"Please use `.` as a decimal separator for fractional numbers.","1747682136":"Contract was cancelled.","1748754976":"Run","1753082252":"This article explores the strategy integrated into Deriv Bot, a versatile trading bot designed to trade assets such as Forex, Commodities, and Derived Indices. We will delve into the strategy's core parameters, its application, and provide essential takeaways for traders looking to use the bot effectively.","1753183432":"We take all complaints seriously and aim to resolve them as quickly and fairly as possible. If you are unhappy with any aspect of our service, please let us know by submitting a complaint using the guidance below:","1753226544":"remove","1753975551":"Upload passport photo page","1754256229":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts, up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts, up to {{ allowed_ctrader }} transfers between your Deriv and {{platform_name_ctrader}} accounts, and up to {{ allowed_dxtrade }} transfers between your Deriv and {{platform_name_dxtrade}} accounts.","1756678453":"break out","1758386013":"Do not get lured to fake \"Deriv\" pages!","1761038852":"Let’s continue with providing proofs of address and identity.","1761254001":"A number","1761762171":"Restart last trade on error (bot ignores the unsuccessful trade): {{ checkbox }}","1762707297":"Phone number","1763123662":"Upload your NIMC slip.","1766212789":"Server maintenance starts at 06:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.","1766993323":"Only letters, numbers, and underscores are allowed.","1768293340":"Contract value","1768861315":"Minute","1768918213":"Only letters, space, hyphen, period, and apostrophe are allowed.","1769068935":"Choose any of these exchanges to buy cryptocurrencies:","1770041368":"Experience safer logins","1771037549":"Add a Deriv real account","1771592738":"Conditional block","1772396880":"The date of birth on your document doesn’t match your profile.","1777847421":"This is a very common password","1778893716":"Click here","1779144409":"Account verification required","1779519903":"Should be a valid number.","1779801832":"Please update your password accordingly.","1779872677":"Download e-book","1780442963":"Scan the QR code to download {{ platform }}.","1780770384":"This block gives you a random fraction between 0.0 to 1.0.","1782308283":"Quick strategy","1782395995":"Last Digit Prediction","1782690282":"Blocks menu","1782703044":"Sign up","1783526986":"How do I build a trading bot?","1783740125":"Upload your selfie","1785298924":"D’Alembert formula 1","1786644593":"Supported formats: JPEG, JPG, PNG, PDF, and GIF only","1787492950":"Indicators on the chart tab are for indicative purposes only and may vary slightly from the ones on the {{platform_name_dbot}} workspace.","1788515547":"<0/>For more information on submitting a complaint with the Office of the Arbiter for Financial Services, please <1>see their guidance.","1788966083":"01-07-1999","1789273878":"Payout per point","1789497185":"Make sure your passport details are clear to read, with no blur or glare","1791432284":"Search for country","1791971912":"Recent","1792037169":"To avoid delays, enter your <0>name and <0>date of birth exactly as they appear on your {{document_name}}.","1793913365":"To deposit money, please switch to your {{currency_symbol}} account.","1794815502":"Download your transaction history.","1796787905":"Please upload the following document(s).","1798943788":"You can only make deposits.","1801093206":"Get candle list","1801270786":"Ready to automate your trading strategy without writing any code? You’ve come to the right place.","1801927731":"{{platform_name_dxtrade}} accounts","1803338729":"Choose what type of contract you want to trade. For example, for the Rise/Fall trade type you can choose one of three options: Rise, Fall, or Both. Selected option will determine available options for the Purchase block.","1804620701":"Expiration","1804789128":"{{display_value}} Ticks","1806017862":"Max. ticks","1808058682":"Blocks are loaded successfully","1808867555":"This block uses the variable “i” to control the iterations. With each iteration, the value of “i” is determined by the items in a given list.","1810217569":"Please refresh this page to continue.","1811109068":"Jurisdiction","1811138041":"Enter a value from {{ value }} to 9.","1811343027":"2. Select your Martingale multiplier. In this example, it is 2.","1811972349":"Market","1811973475":"Returns a specific character from a given string","1812006199":"Identity verification","1812582011":"Connecting to server","1813700208":"Boom 300 Index","1813958354":"Remove comment","1815034361":"alphabetic","1815905959":"DTrader, DBot, SmartTrader, and Binary Bot","1815995250":"Buying contract","1817154864":"This block gives you a random number from within a set range.","1820242322":"e.g. United States","1820332333":"Top up","1821818748":"Enter Driver License Reference number","1823177196":"Most popular","1824193700":"This block gives you the last digit of the latest tick value.","1824292864":"Call","1827607208":"File not uploaded.","1828370654":"Onboarding","1830520348":"{{platform_name_dxtrade}} Password","1831847842":"I confirm that the name and date of birth above match my chosen identity document (see below)","1833499833":"Proof of identity documents upload failed","1836767074":"Search payment agent name","1837762008":"Please submit your proof of identity and proof of address to verify your account in your account settings to access the cashier.","1839021527":"Please enter a valid account number. Example: CR123456789","1840721160":"Deriv MT5 latest password requirements","1840865068":"set {{ variable }} to Simple Moving Average Array {{ dummy }}","1841788070":"Palladium/USD","1841996888":"Daily loss limit","1842266423":"back","1843336754":"Select document","1843658716":"If you select \"Only Downs\", you win the payout if consecutive ticks fall successively after the entry spot. No payout if any tick rises or is equal to any of the previous ticks.","1845598565":"The second session concludes upon reaching the aim of one unit of potential profit per session, equivalent to 1 USD. If trading continues, a new session will commence again.","1845892898":"(min: {{min_stake}} - max: {{max_payout}})","1846266243":"This feature is not available for demo accounts.","1846587187":"You have not selected your country of residence","1846588117":"Your contract will be closed automatically when your loss reaches {{stop_out_percentage}}% of your stake.","1849484058":"Any unsaved changes will be lost.","1850031313":"- Low: the lowest price","1850132581":"Country not found","1850659345":"- Payout: the payout of the contract","1851052337":"Place of birth is required.","1851776924":"upper","1854480511":"Cashier is locked","1854874899":"Back to list","1854909245":"Multiplier:","1855566768":"List item position","1856485118":"Please <0>resubmit your proof of address to transfer funds between MT5 and Deriv accounts.","1856755117":"Pending action required","1858251701":"minute","1859308030":"Give feedback","1861688160":"Deposit, transfer, trade","1863053247":"Please upload your identity document.","1863731653":"To receive your funds, contact the payment agent","1865525612":"No recent transactions.","1866244589":"The entry spot is the first tick for High/Low Ticks.","1866811212":"Deposit in your local currency via an authorised, independent payment agent in your country.","1867217564":"Index must be a positive integer","1867783237":"High-to-Close","1869315006":"See how we protect your funds to unlock the cashier.","1869486036":"You receive a <0>payout at <0>expiry if the spot price never touches or breaches the <0>barrier during the contract period. If it does, your contract will be terminated early.","1869787212":"Even","1870933427":"Crypto","1871196637":"True if the result of the last trade matches the selection","1871377550":"Do you offer pre-built trading bots on Deriv Bot?","1871664426":"Note","1873376454":"This is a price level that you choose. If this barrier is ever crossed, your contract would be terminated.","1874481756":"Use this block to purchase the specific contract you want. You may add multiple Purchase blocks together with conditional blocks to define your purchase conditions. This block can only be used within the Purchase conditions block.","1874737957":"To trade multipliers, get a Deriv Apps account first.","1874756442":"BVI","1875702561":"Load or build your bot","1876015808":"Social Security and National Insurance Trust","1876325183":"Minutes","1876333357":"Tax Identification Number is invalid.","1877225775":"Your proof of address is verified","1877832150":"# from end","1878172674":"No, we don't. However, you'll find quick strategies on Deriv Bot that'll help you build your own trading bot for free.","1878189977":"The Martingale strategy involves increasing your stake after each loss to recoup prior losses with a single successful trade.","1879042430":"Appropriateness Test, WARNING:","1879412976":"Profit amount: <0>{{profit}}","1879651964":"<0>Pending verification","1880029566":"Australian Dollar","1880097605":"prompt for {{ string_or_number }} with message {{ input_text }}","1880227067":"Submit passport photo pages","1880377568":"An example of D’Alembert strategy","1880875522":"Create \"get %1\"","1881018702":"hour","1881380263":"Total assets in your account.","1881587673":"Total stake since you last cleared your stats.","1882825238":"Restart trading conditions","1883531976":"Clerks","1885708031":"#","1887257727":"R is the number of rounds a trader can sustain given a specific loss threshold.","1887925280":"The document must be recent and include your name and address:","1889357660":"Enter a value in minutes, up to 60480 minutes (equivalent to 6 weeks).","1890171328":"By clicking Accept below and proceeding with the Account Opening you should note that you may be exposing yourself to risks (which may be significant, including the risk of loss of the entire sum invested) that you may not have the knowledge and experience to properly assess or mitigate.","1890332321":"Returns the number of characters of a given string of text, including numbers, spaces, punctuation marks, and symbols.","1893869876":"(lots)","1894667135":"Please verify your proof of address","1896269665":"CFDs on derived and financial instruments.","1899898605":"Maximum size: 8MB","1902547203":"MetaTrader 5 MacOS app","1903437648":"Blurry photo detected","1904665809":"The Reverse Martingale strategy in trading may offer substantial gains but also comes with significant risks. With your selected strategy, Deriv Bot provides automated trading with risk management measures like setting initial stake, stake size, maximum stake, profit threshold and loss threshold. It's crucial for traders to assess their risk tolerance, practice in a demo account, and understand the strategy before trading with real money.","1905032541":"We're now ready to verify your identity","1905589481":"If you want to change your account currency, please contact us via <0>live chat.","1906213000":"Our system will finish any Deriv Bot trades that are running, and Deriv Bot will not place any new trades.","1906639368":"If this is the first time you try to create a password, or you have forgotten your password, please reset it.","1907423697":"Earn more with Deriv API","1908023954":"Sorry, an error occurred while processing your request.","1908239019":"Make sure all of the document is in the photo","1908686066":"Appropriateness Test Warning","1909647105":"TRX/USD","1909769048":"median","1913777654":"Switch account","1914014145":"Today","1914270645":"Default Candle Interval: {{ candle_interval_type }}","1914725623":"Upload the page that contains your photo.","1916129921":"Reverse Martingale","1917178459":"Bank Verification Number","1917523456":"This block sends a message to a Telegram channel. You will need to create your own Telegram bot to use this block.","1918796823":"Please enter a stop loss amount.","1918832194":"No experience","1919030163":"Tips to take a good selfie","1919296368":"2. Select your unit. In this example, it is 2 units or 2 USD.","1919594496":"{{website_name}} is not affiliated with any payment agents. Customers deal with payment agents at their sole risk. Customers are advised to check the credentials of payment agents and the accuracy of any information about payment agents (on {{website_name}} or elsewhere) before using their services.","1919694313":"To start trading, transfer funds from your Deriv account into this account.","1920217537":"Compare","1920468180":"How to use the SMA block","1921914669":"Deposit with Deriv P2P","1922529883":"Boom 1000 Index","1922955556":"Use a longer keyboard pattern with more turns","1924365090":"Maybe later","1924765698":"Place of birth*","1928930389":"GBP/NOK","1929694162":"Compare accounts","1930899934":"Tether","1931659123":"Run on every tick","1931884033":"It seems that your date of birth in the document is not the same as your Deriv profile. Please update your date of birth in the <0>Personal details page to solve this issue.","1934450653":"For <0>Contract type, set it to Both.","1938327673":"Deriv {{platform}} <0>{{is_demo}}","1939014728":"How do I remove blocks from the workspace?","1939902659":"Signal","1940408545":"Delete this token","1941915555":"Try later","1943440862":"Calculates Bollinger Bands (BB) list from a list with a period","1944204227":"This block returns current account balance.","1947527527":"1. This link was sent by you","1948092185":"GBP/CAD","1949719666":"Here are the possible reasons:","1950413928":"Submit identity documents","1955219734":"Town/City*","1957759876":"Upload identity document","1958788790":"This is the amount you’ll receive at expiry for every point of change in the underlying price, if the spot price never touches or breaches the barrier throughout the contract duration.","1958807602":"4. 'Table' takes an array of data, such as a list of candles, and displays it in a table format.","1959678342":"Highs & Lows","1960240336":"first letter","1964165648":"Connection lost","1965916759":"Asian options settle by comparing the last tick with the average spot over the period.","1966023998":"2FA enabled","1966281100":"Console {{ message_type }} value: {{ input_message }}","1968025770":"Bitcoin Cash","1968077724":"Agriculture","1968368585":"Employment status","1970060713":"You’ve successfully deleted a bot.","1971898712":"Add or manage account","1973536221":"You have no open positions yet.","1973910243":"Manage your accounts","1974273865":"This scope will allow third-party apps to view your account activity, settings, limits, balance sheets, trade purchase history, and more.","1974903951":"If you hit Yes, the info you entered will be lost.","1978218112":"Google Authenticator","1981940238":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_v}}.","1982790875":"Upgrade your <0/><1>{{account_title}} {{platform}} account(s)","1982796981":"Declarations","1982912252":"Relative Strength Index (RSI) from a list with a period","1983001416":"Define your trade options such as multiplier and stake. This block can only be used with the multipliers trade type. If you select another trade type, this block will be replaced with the Trade options block.","1983358602":"This policy, which may change from time to time, applies to your account registered with {{legal_entity_name}}.","1983387308":"Preview","1983480826":"Sign in","1983544897":"P.O. Box is not accepted in address","1983676099":"Please check your email for details.","1984700244":"Request an input","1984742793":"Uploading documents","1985366224":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts and up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts.","1985637974":"Any blocks placed within this block will be executed at every tick. If the default candle interval is set to 1 minute in the Trade Parameters root block, the instructions in this block will be executed once every minute. Place this block outside of any root block.","1986322868":"When your loss reaches or exceeds this amount, your trade will be closed automatically.","1986498784":"BTC/LTC","1987080350":"Demo","1987447369":"Your cashier is locked","1988153223":"Email address","1988302483":"Take profit:","1990331072":"Proof of ownership","1990735316":"Rise Equals","1991055223":"View the market price of your favourite assets.","1991448657":"Don't know your tax identification number? Click <0>here to learn more.","1991524207":"Jump 100 Index","1994023526":"The email address you entered had a mistake or typo (happens to the best of us).","1994558521":"The platforms aren’t user-friendly.","1994600896":"This block requires a list of candles as an input parameter.","1995023783":"First line of address*","1996767628":"Please confirm your tax information.","1997138507":"If the last tick is equal to the average of the ticks, you don't win the payout.","1997313835":"Your stake will continue to grow as long as the current spot price remains within a specified <0>range from the <0>previous spot price. Otherwise, you lose your stake and the trade is terminated.","1999213036":"Enhanced security is just a tap away.","1999346412":"For faster verification, input the same address here as in your proof of address document (see section below)","2001222130":"Check your spam or junk folder. If it's not there, try resending the email.","2001361785":"1. Start with the initial stake. Let’s say 1 USD.","2004052487":"Estimating the lifespan of your trades","2007028410":"market, trade type, contract type","2010759971":"Uploads successful","2010866561":"Returns the total profit/loss","2011609940":"Please input number greater than 0","2011808755":"Purchase Time","2012139674":"Android: Google password manager.","2014536501":"Card number","2014590669":"Variable '{{variable_name}}' has no value. Please set a value for variable '{{variable_name}}' to notify.","2017672013":"Please select the country of document issuance.","2018044371":"Multipliers let you trade with leverage and limit your risk to your stake. <0>Learn more","2019596693":"The document was rejected by the Provider.","2020545256":"Close your account?","2021037737":"Please update your details to continue.","2021161151":"Watch this video to learn how to build a trading bot on Deriv Bot. Also, check out this blog post on building a trading bot.","2023546580":"Your account will be available for trading once the verification of your account is complete.","2023659183":"Student","2023762268":"I prefer another trading website.","2025339348":"Move away from direct light — no glare","2027441253":"Why do we collect this?","2027625329":"Simple Moving Average Array (SMAA)","2027638150":"Upgrade","2027696535":"Tax information","2028163119":"EOS/USD","2029237955":"Labuan","2030018735":"RSI is a technical analysis tool that helps you identify the market trend. It will give you a value from 0 to 100. An RSI value of 70 and above means that the asset is overbought and the current trend may reverse, while a value of 30 and below means that the asset is oversold.","2030045667":"Message","2033648953":"This block gives you the specified candle value for a selected time interval.","2034803607":"You must be 18 years old and above.","2035258293":"Start trading with us","2035925727":"sort {{ sort_type }} {{ sort_direction }} {{ input_list }}","2036578466":"Should be {{value}}","2037665157":"Expand All Blocks","2037906477":"get sub-list from #","2038562422":"TIN is required.","2039198937":"Maximum stake: The maximum amount you are willing to pay to enter a single trade. The stake for your next trade will reset to the initial stake if it exceeds this value. This is an optional risk management parameter.","2042023623":"We’re reviewing your documents. This should take about 5 minutes.","2042050260":"- Purchase price: the purchase price (stake) of the contract","2042115724":"Upload a screenshot of your account and personal details page with your name, account number, phone number, and email address.","2044086432":"The close is the latest tick at or before the end time. If you selected a specific end time, the end time is the selected time.","2046273837":"Last tick","2046577663":"Import or choose your bot","2048110615":"Email address*","2048134463":"File size exceeded.","2049386104":"We need you to submit these in order to get this account:","2050170533":"Tick list","2051558666":"View transaction history","2052022586":"To enhance your MT5 account security we have upgraded our password policy.","2054889300":"Create \"%1\"","2055317803":"Copy the link to your mobile browser","2056369950":"<0>To complete your Wallet setup, log out and then log in again.","2057082550":"Accept our updated <0>terms and conditions","2057419639":"Exit Spot","2059365224":"Yes, you can get started with a pre-built bot using the Quick strategy feature. You’ll find some of the most popular trading strategies here: Martingale, D'Alembert, and Oscar's Grind. Just select the strategy, enter your trade parameters, and your bot will be created for you. You can always tweak the parameters later.","2059753381":"Why did my verification fail?","2060873863":"Your order {{order_id}} is complete","2062912059":"function {{ function_name }} {{ function_params }}","2063812316":"Text Statement","2063815003":"Ready to enable Wallets","2063890788":"Cancelled","2066978677":"{{formatted_opening_time}} (GMT) on {{opening_day}},<0 /> {{opening_date}}.","2067903936":"Driving licence","2070002739":"Don’t accept","2070345146":"When opening a leveraged CFD trade.","2070518923":"Import your bot or tap Quick Strategies to choose from the ready-to-use bot templates.","2070752475":"Regulatory Information","2070858497":"Your document appears to be a screenshot.","2071043849":"Browse","2074207096":"How to create a passkey?","2074235904":"Last name is required.","2074497711":"The Telegram notification could not be sent","2074713563":"4.2. Submission of a complaint","2079925695":"Unit: The number of units that are added in the event of a trade resulting in loss or the number of units removed in the event of a trade resulting in profit. For example, if the unit is set at 2, the stake increases or decreases by two times the initial stake of 1 USD, meaning it changes by 2 USD.","2080553498":"3. Get the chat ID using the Telegram REST API (read more: https://core.telegram.org/bots/api#getupdates)","2080829530":"Sold for: {{sold_for}}","2081622549":"Must be a number higher than {{ min }}","2082533832":"Yes, delete","2084693624":"Converts a string representing a date/time string into seconds since Epoch. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825. Time and time zone offset are optional.","2085387371":"Must be numbers, letters, and special characters . , ' -","2085602195":"- Entry value: the value of the first tick of the contract","2086048243":"Certificate of incorporation","2086792088":"Both barriers should be relative or absolute","2088735355":"Your session and login limits","2089087110":"Basket indices","2089395053":"Unit","2089581483":"Expires on","2090650973":"The spot price may change by the time your order reaches our servers. When this happens, your payout may be affected.","2091671594":"Status","2093675079":"- Close: the closing price","2096014107":"Apply","2096456845":"Date of birth*","2096603244":"Derived - Vanuatu","2097170986":"About Tether (Omni)","2097381850":"Calculates Simple Moving Average line from a list with a period","2097815211":"Number of rounds (R) = 10","2097932389":"Upload 2 separate screenshots from the personal details page and the account page via <0>https://app.astropay.com/profile","2099488590":"Changes to your Deriv MT5 login","2100713124":"account","2100912278":"4. If a trade ends in a loss, the stake for the following trade will be reset to the initial stake amount of 1 USD.","2101972779":"This is the same as the above example, using a tick list.","2102572780":"Length of digit code must be 6 characters.","2104115663":"Last login","2104364680":"Please switch to your demo account to run your Deriv Bot.","2104397115":"Please go to your account settings and complete your personal details to enable deposits and withdrawals.","2107381257":"Scheduled cashier system maintenance","2107882050":"The back of your document appears to be missing. Please include both sides of your identity document.","2110365168":"Maximum number of trades reached","2111015970":"This block helps you check if your contract can be sold. If your contract can be sold, it returns “True”. Otherwise, it returns an empty string.","2111528352":"Creating a variable","2112119013":"Take a selfie showing your face","2112175277":"with delimiter","2113321581":"Add a Deriv Gaming account","2114766645":"Some trade types are unavailable for {{symbol}}.","2115223095":"Loss","2117165122":"1. Create a Telegram bot and get your Telegram API token. Read more on how to create bots in Telegram here: https://core.telegram.org/bots#6-botfather","2117489390":"Auto update in {{ remaining }} seconds","2118292085":"<0>Note: You’ll receive an email when your deposit starts being processed.","2119449126":"Example output of the below example will be:","2119710534":"FAQ","2121227568":"NEO/USD","2122152120":"Assets","2127564856":"Withdrawals are locked","2128919448":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price. We won’t offer a contract value if the remaining duration is below 15 seconds or if the contract duration is in ticks.","2129807378":"Update profile","2133075559":"This means after 10 rounds of consecutive losses, this trader will lose 100 USD. This reaches the loss threshold of 100 USD, stopping the bot.","2133451414":"Duration","2133470627":"This block returns the potential payout for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","2135563258":"Forex trading frequency","2136246996":"Selfie uploaded","2136480755":"Some details in your document appear to be invalid, missing, or unclear.","2137901996":"This will clear all data in the summary, transactions, and journal panels. All counters will be reset to zero.","2137993569":"This block compares two values and is used to build a conditional structure.","2138861911":"Scans and photocopies are not accepted","2139171480":"Reset Up/Reset Down","2139362660":"left side","2141055709":"New {{type}} password","2143803283":"Purchase Error","2144609616":"If you select \"Reset-Down”, you win the payout if the exit spot is strictly lower than either the entry spot or the spot at reset time.","2145690912":"Income Earning","2145995536":"Create new account","2146336100":"in text %1 get %2","2146698770":"Pro tip: You can also click and drag out the desired block","2146892766":"Binary options trading experience","2147244655":"How do I import my own trading bot into Deriv Bot?","-931052769":"Submit verification","-1004605898":"Tips","-1938142055":"Documents uploaded","-448090287":"The link only works on mobile devices","-1244287721":"Something's gone wrong","-241258681":"You'll need to restart your verification on your computer","-929254273":"Get secure link","-2021867851":"Check back here to finish the submission","-1547069149":"Open the link and complete the tasks","-1767652006":"Here's how to do it:","-277611959":"You can now return to your computer to continue","-724178625":"Make sure full document is visible","-1519380038":"Glare detected","-1895280620":"Make sure your card details are clear to read, with no blur or glare","-1464447919":"Make sure your permit details are clear to read, with no blur or glare","-1436160506":"Make sure details are clear to read, with no blur or glare","-759124288":"Close","-759118956":"Redo","-753375398":"Enlarge image","-1042933881":"Driver's license","-1503134764":"Face photo page","-1335343167":"Sorry, no mobile phone bills","-699045522":"Documents you can use to verify your identity","-543666102":"It must be an official photo ID","-903877217":"These are the documents most likely to show your current home address","-1356835948":"Choose document","-1364375936":"Select a %{country} document","-401586196":"or upload photo – no scans or photocopies","-3110517":"Take a photo with your phone","-2033894027":"Submit identity card (back)","-20684738":"Submit license (back)","-1359585500":"Submit license (front)","-106779602":"Submit residence permit (back)","-1287247476":"Submit residence permit (front)","-1954762444":"Restart the process on the latest version of Safari","-261174676":"Must be under 10MB.","-685885589":"An error occurred while loading the component","-502539866":"Your face is needed in the selfie","-1377968356":"Please try again","-1226547734":"Try using a JPG or PNG file","-849068301":"Loading...","-1730346712":"Loading","-1849371752":"Check that your number is correct","-309848900":"Copy","-1424436001":"Send link","-1093833557":"How to scan a QR code","-1408210605":"Point your phone’s camera at the QR code","-1773802163":"If it doesn’t work, download a QR code scanner from Google Play or the App Store","-109026565":"Scan QR code","-1644436882":"Get link via SMS","-1667839246":"Enter mobile number","-1533172567":"Enter your mobile number:","-1352094380":"Send this one-time link to your phone","-28974899":"Get your secure link","-359315319":"Continue","-826420669":"Make sure","-1279080293":"2. Your desktop window stays open","-102776692":"Continue with the verification","-89152891":"Take a photo of the back of your card","-1646367396":"Take a photo of the front of your card","-1350855047":"Take a photo of the front of your license","-2119367889":"Take a photo using the basic camera mode instead","-342915396":"Take a photo","-419040068":"Passport photo page","-1354983065":"Refresh","-1925063334":"Recover camera access to continue face verification","-54784207":"Camera access is denied","-1392699864":"Allow camera access","-269477401":"Provide the whole document page for best results","-864639753":"Upload back of card from your computer","-1309771027":"Upload front of license from your computer","-1722060225":"Take photo","-565732905":"Selfie","-1703181240":"Check that it is connected and functional. You can also continue verification on your phone","-2043114239":"Camera not working?","-2029238500":"It may be disconnected. Try using your phone instead.","-468928206":"Make sure your device's camera works","-466246199":"Camera not working","-698978129":"Remember to press stop when you're done. Redo video actions","-538456609":"Looks like you took too long","-781816433":"Photo of your face","-1471336265":"Make sure your selfie clearly shows your face","-1375068556":"Check selfie","-1914530170":"Face forward and make sure your eyes are clearly visible","-776541617":"We'll compare it with your document","-478752991":"Your link will expire in one hour","-1859729380":"Keep this window open while using your mobile","-1283761937":"Resend link","-629011256":"Don't refresh this page","-1005231905":"Once you've finished we'll take you to the next step","-542134805":"Upload photo","-1462975230":"Document example","-1472844935":"The photo should clearly show your document","-1120954663":"First name*","-1659980292":"First name","-962979523":"Your {{ field_name }} as in your identity document","-1416797980":"Please enter your {{ field_name }} as in your official identity documents.","-1466268810":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your <0>account settings.","-32386760":"Name","-766265812":"first name","-1857534296":"John","-1282749116":"last name","-1485480657":"Other details","-1784741577":"date of birth","-1702919018":"Second line of address (optional)","-1315410953":"State/Province","-2040322967":"Citizenship","-344715612":"Employment status*","-1543016582":"I hereby confirm that the tax information I provided is true and complete. I will also inform {{legal_entity_name}} about any changes to this information.","-946282997":"Additional information","-1315571766":"Place of birth","-789291456":"Tax residence*","-1692219415":"Tax residence","-1903720068":"The country in which you meet the criteria for paying taxes. Usually the country in which you physically reside.","-651516152":"Tax Identification Number","-1387062433":"Account opening reason","-222283483":"Account opening reason*","-583925597":"For verification purposes as required by regulation. It’s your responsibility to provide accurate and complete answers. You can update personal details at any time in your account settings.","-1113902570":"Details","-71696502":"Previous","-1541554430":"Next","-307865807":"Risk Tolerance Warning","-690100729":"Yes, I understand the risk.","-2010628430":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, you must confirm that you understand your capital is at risk.","-863770104":"Please note that by clicking ‘OK’, you may be exposing yourself to risks. You may not have the knowledge or experience to properly assess or mitigate these risks, which may be significant, including the risk of losing the entire sum you have invested.","-684271315":"OK","-1292808093":"Trading Experience","-153346659":"Upload your selfie.","-602131304":"Passport number","-1051213440":"Upload the front and back of your identity card.","-1600807543":"First, enter your identity card number and the expiry date.","-1139923664":"Next, upload the front and back of your identity card.","-783705755":"Upload the front of your identity card.","-566750665":"NIMC slip and proof of age","-1465944279":"NIMC slip number","-429612996":"Next, upload both of the following documents.","-376981174":"Upload your proof of age: birth certificate or age declaration document.","-612174191":"First line of address is required","-242734402":"Only {{max}} characters, please.","-378415317":"State is required","-1784470716":"State is not in a proper format","-1699820408":"Please enter a {{field_name}} under {{max_number}} characters.","-1575567374":"postal/ZIP code","-816263501":"Only letters, numbers, space and hyphen are allowed.","-755626951":"Complete your address details","-1024240099":"Address","-1534917661":"Select your preferred currency","-1027595143":"Less than $25,000","-40491332":"$25,000 - $50,000","-1139806939":"$50,001 - $100,000","-996132458":"Construction","-915003867":"Health","-1430012453":"Information & Communications Technology","-987824916":"Science & Engineering","-146630682":"Social & Cultural","-761306973":"Manufacturing","-1631552645":"Professionals","-474864470":"Personal Care, Sales and Service Workers","-1129355784":"Agricultural, Forestry and Fishery Workers","-1242914994":"Craft, Metal, Electrical and Electronics Workers","-1317824715":"Cleaners and Helpers","-1592729751":"Mining, Construction, Manufacturing and Transport Workers","-1030759620":"Government Officers","-2137323480":"Company Ownership","-1590574533":"Divorce Settlement","-1667683002":"Inheritance","-1237843731":"Investment Income","-777506574":"Sale of Property","-654781670":"Primary","-1717373258":"Secondary","-1156937070":"$500,001 - $1,000,000","-315534569":"Over $1,000,000","-2068544539":"Salaried Employee","-531314998":"Investments & Dividends","-1235114522":"Pension","-1298056749":"State Benefits","-449943381":"Savings & Inheritance","-477761028":"Voter ID","-1466346630":"CPF","-1161338910":"First name is required.","-1161818065":"Last name should be between 2 and 50 characters.","-1281693513":"Date of birth is required.","-26599672":"Citizenship is required","-912174487":"Phone is required.","-673765468":"Letters, numbers, spaces, periods, hyphens and forward slashes only.","-212167954":"Tax Identification Number is not properly formatted.","-1823540512":"Personal details","-1227878799":"Speculative","-1174064217":"Mr","-855506127":"Ms","-204765990":"Terms of use","-189310067":"Account closed","-849320995":"Assessments","-773766766":"Email and passwords","-1144318594":"Passkeys","-1466827732":"Self exclusion","-1498206510":"Account limits","-241588481":"Login history","-966136867":"Connected apps","-213009361":"Two-factor authentication","-526636259":"Error 404","-739367071":"Employed","-626752657":"0-1 year","-532014689":"1-2 years","-1001024004":"Over 3 years","-790513277":"6-10 transactions in the past 12 months","-580085300":"11-39 transactions in the past 12 months","-1458676679":"You should enter 2-50 characters.","-1116008222":"You should enter 9-35 numbers.","-1995979930":"First line of address is required.","-703454156":"Please enter a Postal/ZIP code under 20 characters.","-2113555886":"Only letters, numbers, space, and hyphen are allowed.","-1103497546":"Tax return","-700600899":"Business proof of address","-1073862586":"Memorandum","-1823328095":"Authorization letter","-397487797":"Enter your full card number","-1376950117":"That file format isn't supported. Please upload .pdf, .png, .jpg, or .jpeg files only.","-612752984":"These are default limits that we apply to your accounts.","-1411635770":"Learn more about account limits","-1340125291":"Done","-1101543580":"Limit","-858297154":"Represents the maximum amount of cash that you may hold in your account. If the maximum is reached, you will be asked to withdraw funds.","-976258774":"Not set","-1182362640":"Represents the maximum aggregate payouts on outstanding contracts in your portfolio. If the maximum is attained, you may not purchase additional contracts without first closing out existing positions.","-1781293089":"Maximum aggregate payouts on open positions","-1412690135":"*Any limits in your Self-exclusion settings will override these default limits.","-1598751496":"Represents the maximum volume of contracts that you may purchase in any given trading day.","-173346300":"Maximum daily turnover","-138380129":"Total withdrawal allowed","-1502578110":"Your account is fully authenticated and your withdrawal limits have been lifted.","-506122621":"Please take a moment to update your information now.","-1106259572":"Don't know your tax identification number? <1 />Click <0>here to learn more.","-252665911":"Place of birth{{required}}","-859814496":"Tax residence{{required}}","-237940902":"Tax Identification number{{required}}","-919191810":"Please fill in tax residence.","-270569590":"Intended use of account{{required}}","-2120290581":"Intended use of account is required.","-1662154767":"a recent utility bill (e.g. electricity, water, gas, landline, or internet), bank statement, or government-issued letter with your name and this address.","-594456225":"Second line of address","-1964954030":"Postal/ZIP Code","-516397235":"Be careful who you share this token with. Anyone with this token can perform the following actions on your account behalf","-989216986":"Add accounts","-617480265":"Delete token","-316749685":"Are you sure you want to delete this token?","-955038366":"Copy this token","-1668692965":"Hide this token","-1661284324":"Show this token","-1076138910":"Trade","-1666909852":"Payments","-488597603":"Trading information","-605778668":"Never","-1628008897":"Token","-1238499897":"Last Used","-1171226355":"Length of token name must be between {{MIN_TOKEN}} and {{MAX_TOKEN}} characters.","-1803339710":"Maximum {{MAX_TOKEN}} characters.","-408613988":"Select scopes based on the access you need.","-5605257":"This scope will allow third-party apps to withdraw to payment agents and make inter-account transfers for you.","-1373485333":"This scope will allow third-party apps to view your trading history.","-758221415":"This scope will allow third-party apps to open accounts for you, manage your settings and token usage, and more. ","-807767876":"Note:","-1117963487":"Name your token and click on 'Create' to generate your token.","-2005211699":"Create","-1652683689":"Please note that you can only have 1 fiat account.","-1146960797":"Fiat currencies","-1959484303":"Cryptocurrencies","-2087317410":"Oops, something went wrong.","-184202848":"Upload file","-370334393":"Click here to browse your files.","-863586176":"Drag and drop a file or click to browse your files.","-723198394":"File size should be 8MB or less","-1948369500":"File uploaded is not supported","-1040865880":"Drop files here..","-1100235269":"Industry of employment","-684388823":"Estimated net worth","-509054266":"Anticipated annual turnover","-1117345066":"Choose the document type","-1634507018":"Enter your {{document_name}}","-1237846864":"Verify again","-39187636":"{{index}}.","-337620257":"Switch to real account","-2120454054":"Add a real account","-38915613":"Unsaved changes","-2137450250":"You have unsaved changes. Are you sure you want to discard changes and leave this page?","-1067082004":"Leave Settings","-1982432743":"It appears that the address in your document doesn’t match the address\n in your Deriv profile. Please update your personal details now with the\n correct address.","-1451334536":"Continue trading","-251603364":"Your document for proof of address is expired. <0/>Please submit again.","-1425489838":"Proof of address verification not required","-1008641170":"Your account does not need address verification at this time. We will inform you if address verification is required in the future.","-60204971":"We could not verify your proof of address","-1944264183":"To continue trading, you must also submit a proof of identity.","-1088324715":"We’ll review your documents and notify you of its status within 1 - 3 working days.","-329713179":"Ok","-2145244263":"This field is required","-1500958859":"Verify","-839094775":"Back","-1813671961":"Your identity verification failed because:","-2097808873":"We were unable to verify your ID with the details you provided. ","-1652371224":"Your profile is updated","-504784172":"Your document has been submitted","-1391934478":"Your ID is verified. You will also need to submit proof of your address.","-118547687":"ID verification passed","-200989771":"Go to personal details","-1358357943":"Please check and update your postal code before submitting proof of identity.","-1401994581":"Your personal details are missing","-2004327866":"Please select a valid country of document issuance.","-1664159494":"Country","-1044962593":"Upload Document","-749870311":"Please contact us via <0>live chat.","-1084991359":"Proof of identity verification not required","-1981334109":"Your account does not need identity verification at this time. We will inform you if identity verification is required in the future.","-182918740":"Your proof of identity submission failed because:","-155705811":"A clear colour photo or scanned image","-246893488":"JPEG, JPG, PNG, PDF, or GIF","-1454880310":"Must be valid for at least 6 months","-1949501500":"First, enter your {{label}}.","-100534371":"Before uploading, please ensure that you’re facing forward in the selfie, your face is within the frame, and your eyes are clearly visible even if you’re wearing glasses.","-1529523673":"Confirm and upload","-705047643":"Sorry, an error occured. Please select another file.","-1664309884":"Tap here to upload","-1725454783":"Failed","-856213726":"You must also submit a proof of address.","-552371330":"We were unable to verify your income. <0 /> Please check the email we've sent you for further information.","-841187054":"Try Again","-978467455":"Limit reached","-361316523":"You have reached the maximum number of allowed attempts for submitting proof of income. <0 /> Please check the email we've sent you for further information.","-1785967427":"We'll review your documents and notify you of its status within 7 working days.","-987011273":"Your proof of ownership isn't required.","-808299796":"You are not required to submit proof of ownership at this time. We will inform you if proof of ownership is required in the future.","-179726573":"We’ve received your proof of ownership.","-813779897":"Proof of ownership verification passed.","-1389323399":"You should enter {{min_number}}-{{max_number}} characters.","-47815161":"Please include at least 1 special character such as ( _ @ ? ! / # ) in your password.","-1313806160":"Please request a new password and check your email for the new token.","-1598167506":"Success","-1077809489":"You have a new {{platform}} password to log in to your {{platform}} accounts on the web and mobile apps.","-1108813179":"You can use this password for all your Deriv MT5 accounts.","-2068479232":"{{platform}} password","-507633532":"Your password must contain between 8-16 characters that include uppercase and lowercase letters, and at least one number and special character such as ( _ @ ? ! / # ).","-1597186502":"Reset {{platform}} password","-638756912":"Black out digits 7 to 12 of the card number that’s shown on the front of your debit/credit card.⁤","-996691262":"We’ve introduced these limits to encourage <0>responsible trading. They are optional, and you can adjust them anytime.","-2079276011":"These limits apply to your multipliers trades only. For example, <0>maximum total loss refers to the losses on your multipliers trades.","-2116570030":"If you want to adjust your limits, <0>contact us via live chat. We’ll make the adjustments within 24 hours.","-1389915983":"You decide how much and how long to trade. You can take a break from trading whenever you want. This break can be from 6 weeks to 5 years. When it’s over, you can extend it or log in to resume trading. If you don’t want to set a specific limit, leave the field empty.","-1031814119":"About trading limits and self-exclusion","-183468698":"Trading limits and self-exclusion","-1088698009":"These self-exclusion limits help you control the amount of money and time you spend trading on {{platform_name_trader}}, {{platform_name_dbot}}, {{platform_name_smarttrader}} and {{platform_name_bbot}} on Deriv. The limits you set here will help you exercise <0>responsible trading.","-933963283":"No, review my limits","-1759860126":"Yes, log me out immediately","-572347855":"{{value}} mins","-313333548":"You’ll be able to adjust these limits at any time. You can reduce your limits from the <0>self-exclusion page. To increase or remove your limits, please contact our <1>Customer Support team.","-1265833982":"Accept","-2123139671":"Your stake and loss limits","-1250802290":"24 hours","-2070080356":"Max. total stake","-1545823544":"7 days","-180147209":"You will be automatically logged out from each session after this time limit.","-374553538":"Your account will be excluded from the website until this date (at least 6 months, up to 5 years).","-2105708790":"Your maximum account balance and open positions","-1960600163":"Once your account balance reaches this amount, you will not be able to deposit funds into your account.","-1073845224":"No. of open position(s)","-288196326":"Your maximum deposit limit","-568749373":"Max. deposit limit","-1617352279":"The email is in your spam folder (Sometimes things get lost there).","-547557964":"We can’t deliver the email to this address (Usually because of firewalls or filtering).","-142444667":"Please click on the link in the email to change your Deriv MT5 password.","-742748008":"Check your email and click the link in the email to proceed.","-84068414":"Still didn't get the email? Please contact us via <0>live chat.","-474419287":"FATCA declaration","-1101737402":"Please select*","-975118358":"Your account will be opened with {{legal_entity_name}}, regulated by the Malta Financial Services Authority (MFSA), and will be subject to the laws of Malta.","-2073934245":"The financial trading services offered on this site are only suitable for customers who accept the possibility of losing all the money they invest and who understand and have experience of the risk involved in the purchase of financial contracts. Transactions in financial contracts carry a high degree of risk. If the contracts you purchased expire as worthless, you will lose all your investment, which includes the contract premium.","-1035494182":"You acknowledge that, subject to the Company's discretion, applicable regulations, and internal checks being fulfilled, we will open an account for you and allow you to deposit funds during the client acceptance procedure. However, until the verification of your account is completed, you will not be able to trade, withdraw or make further deposits. If you do not provide relevant documents within 30-days, we will refund the deposited amount through the same payment method you used to deposit.","-1125193491":"Add account","-2068229627":"I am not a PEP, and I have not been a PEP in the last 12 months.","-1209644365":"I hereby confirm that my request for opening an account with Deriv Investments (Europe) Ltd is made on my own initiative.","-740157281":"Trading Experience Assessment","-1720468017":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you.","-1685104463":"* This is required","-186841084":"Change your login email","-907403572":"To change your email address, you'll first need to unlink your email address from your {{identifier_title}} account.","-1850792730":"Unlink from {{identifier_title}}","-428335668":"You will need to set a password to complete the process.","-1232613003":"<0>Verification failed. <1>Why?","-805775852":"<0>Needs verification.<1>Verify now","-1983989074":"<0>No new positions","-1196936955":"Upload a screenshot of your name and email address from the personal information section.","-1286823855":"Upload your mobile bill statement showing your name and phone number.","-1309548471":"Upload your bank statement showing your name and account details.","-1410396115":"Upload a photo showing your name and the first six and last four digits of your card number. If the card does not display your name, upload the bank statement showing your name and card number in the transaction history.","-3805155":"Upload a screenshot of either of the following to process the transaction:","-1523487566":"- your account profile section on the website","-613062596":"- the Account Information page on the app","-1718304498":"User ID","-609424336":"Upload a screenshot of your name, account number, and email address from the personal details section of the app or profile section of your account on the website.","-1954436643":"Upload a screenshot of your username on the General Information page at <0>https://onlinenaira.com/members/index.htm","-79853954":"Upload a screenshot of your account number and phone number on the Bank Account/Mobile wallet page at <0>https://onlinenaira.com/members/bank.htm","-1192882870":"Upload a screenshot of your name and account number from the personal details section.","-818898181":"Name in document doesn’t match your Deriv profile.","-310316375":"Address in document doesn’t match address you entered above.","-485368404":"Document issued more than 6-months ago.","-91160765":"Document issued more than 12-months ago.","-367016488":"Blurry document. All information must be clear and visible.","-1957076143":"Cropped document. All information must be clear and visible.","-1576856758":"An account with these details already exists. Please make sure the details you entered are correct as only one real account is allowed per client. If this is a mistake, contact us via <0>live chat.","-1792723131":"To avoid delays, enter your <0>date of birth exactly as it appears on your {{document_name}}.","-1629894615":"I have other financial priorities.","-844051272":"I want to stop myself from trading.","-1113965495":"I’m no longer interested in trading.","-1224285232":"Customer service was unsatisfactory.","-1231402474":"Connected apps are authorised applications associated with your account through your API token or the OAuth authorisation process. They can act on your behalf within the limitations that you have set.","-506083843":"As a user, you are responsible for sharing access and for actions that occur in your account (even if they were initiated by a third-party app on your behalf).","-831752682":"Please note that only third-party apps will be displayed on this page. Official Deriv apps will not appear here.","-915844096":"US citizenship or lawful permanent resident (green card) status","-208714573":"An “in care of” address or a “hold mail” address that is the sole address with respect to the client","-1082633433":"A power of attorney or signatory authority granted to a person with a US address.","-231863107":"No","-1858215754":"The document must be up-to-date and signed by the issuance authority.","-718917527":"Invalid or incomplete documents shall be rejected.","-1526404112":"Utility bill: electricity, water, gas, or landline phone bill.","-537552700":"Home rental agreement: valid and current agreement.","-506510414":"Date and time","-1708927037":"IP address","-870902742":"How much knowledge and experience do you have in relation to online trading?","-1929477717":"I have an academic degree, professional certification, and/or work experience related to financial services.","-1540148863":"I have attended seminars, training, and/or workshops related to trading.","-922751756":"Less than a year","-542986255":"None","-1337206552":"In your understanding, CFD trading allows you to","-456863190":"Place a position on the price movement of an asset where the outcome is a fixed return or nothing at all.","-1314683258":"Make a long-term investment for a guaranteed profit.","-1546090184":"How does leverage affect CFD trading?","-1636427115":"Leverage helps to mitigate risk.","-800221491":"Leverage guarantees profits.","-811839563":"Leverage lets you open large positions for a fraction of trade value, which may result in increased profit or loss.","-1185193552":"Close your trade automatically when the loss is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1046354":"Close your trade automatically when the profit is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1842858448":"Make a guaranteed profit on your trade.","-860053164":"When trading multipliers.","-1250327770":"When buying shares of a company.","-1222388581":"All of the above.","-1592318047":"See example","-1694758788":"Enter your document number","-1176889260":"Please select a document type.","-1265050949":"identity document","-2139303636":"You may have followed a broken link, or the page has moved to a new address.","-1448368765":"Error code: {{error_code}} page not found","-254792921":"You can only make deposits at the moment. To enable withdrawals, please complete your financial assessment.","-1437017790":"Financial information","-70342544":"We’re legally obliged to ask for your financial information.","-39038029":"Trading experience","-601903492":"Forex trading experience","-1012699451":"CFD trading experience","-1894668798":"Other trading instruments experience","-1026468600":"Other trading instruments frequency","-1743024217":"Select Language","-136976514":"Country of residence*","-1124948631":"Professional Client","-259515058":"By default, all {{brand_website_name}} clients are retail clients but anyone can request to be treated as a professional client.","-1463348492":"I would like to be treated as a professional client.","-1958764604":"Email preference","-2068064150":"Get updates about Deriv products, services and events.","-1558679249":"Please make sure your information is correct or it may affect your trading experience.","-1822545742":"Ether Classic","-1334641066":"Litecoin","-1214036543":"US Dollar","-1782590355":"No currency has been set for this account","-2116332353":"Please close your positions in the following Deriv account(s):","-2048005267":"{{number_of_positions}} position(s)","-2125635811":"Please withdraw your funds from the following {{platform_name}} account(s):","-577445413":"Please close your positions in the following {{platform_name}} account(s):","-1219849101":"Please select at least one reason","-9323953":"Remaining characters: {{remaining_characters}}","-484540402":"An error occurred","-1911549768":"Inaccessible MT5 account(s)","-1869355019":"Action required","-1030102424":"You can't trade on Deriv.","-448385353":"You can't make transactions.","-1058447223":"Before closing your account:","-912764166":"Withdraw your funds.","-60139953":"We shall delete your personal information as soon as our legal obligations are met, as mentioned in the section on Data Retention in our <0>Security and privacy policy","-2061895474":"Closing your account will automatically log you out. We shall delete your personal information as soon as our legal obligations are met.","-203298452":"Close account","-937707753":"Go Back","-771109503":"Use our powerful, flexible, and free API to build a custom trading platform for yourself or for your business.","-1815044949":"You currently don't have any third-party authorised apps associated with your account.","-1699100421":"What are connected apps?","-536187647":"Confirm revoke access?","-1357606534":"Permission","-570222048":"Revoke access","-1468863262":"{{action}}","-727433417":"{{status}}","-1814836151":"What are passkeys?","-1275937234":"Unlock your account like your phone - with biometrics, face scan or PIN.","-587750445":"Extra security layer.","-642452561":"Shields against unauthorised access and phishing.","-1654043401":"You can create one passkey per device.","-1411242065":"Where are passkeys saved?","-258752017":"What happens if my Deriv account email is changed?","-634268263":"Sign in to Deriv with your existing passkey.","-1405679241":"Stored on: ","-1700177761":"Create passkey","-1729774899":"Sign in to your Google or iCloud account.","-1708254107":"Enable Bluetooth.","-613368504":"Tips:","-1897886029":"Before using passkey:","-592543249":"Add more passkeys","-585339315":"Your passkey is successfully removed. To avoid sign-in prompts, also remove the passkey from your Google password manager. ","-1728732301":"Effortless login with passkeys","-684009726":"Edit passkey","-1140319320":"Your account is now secured with a passkey.<0/>Manage your passkey through your<0/>Deriv account settings.","-1036903080":"We’re experiencing a temporary issue in processing your request. Please try again later.","-331060101":"Passkey setup failed","-713875531":"Enable bluetooth.","-80717068":"Apps you have linked to your <0>Deriv password:","-340060402":"Your Deriv X password is for logging in to your Deriv X accounts on the web and mobile apps.","-619126443":"Use the <0>Deriv password to log in to {{brand_website_name}} and {{platform_name_trader}}.","-623760979":"Use the <0>Deriv password to log in to {{brand_website_name}}, {{platform_name_trader}} and {{platform_name_go}}.","-459147994":"Use the <0>Deriv password to log in to {{brand_website_name}}, {{platform_name_go}}, {{platform_name_trader}}, {{platform_name_smarttrader}}, {{platform_name_dbot}} and {{platform_name_ctrader}}.","-1884902844":"Max. deposit limit per day","-545085253":"Max. deposit limit over 7 days","-1031006762":"Max. deposit limit over 30 days","-1116871438":"Max. total loss over 30 days","-2134714205":"Time limit per session","-1884271702":"Time out until","-1265825026":"Timeout time must be greater than current time.","-1332882202":"Timeout time cannot be more than 6 weeks.","-1635977118":"Exclude time cannot be less than 6 months.","-2131200819":"Disable","-200487676":"Enable","-1840392236":"That's not the right code. Please try again.","-2067796458":"Authentication code","-790444493":"Protect your account with 2FA. Each time you log in to your account, you will need to enter your password and an authentication code generated by a 2FA app on your smartphone.","-752939584":"How to set up 2FA for your Deriv account","-90649785":"Click here to copy key","-206376148":"Key copied!","-368010540":"You have enabled 2FA for your Deriv account.","-403552929":"To disable 2FA, please enter the six-digit authentication code generated by your 2FA app below:","-890084320":"Save and submit","-30772747":"Your personal details have been saved successfully.","-2021135479":"This field is required.","-1002044401":"Select your document*","-1272489896":"Please complete this field.","-721346138":"The options and multipliers trading platform.","-1874136267":"The ultimate bot trading platform.","-415943890":"The legacy options trading platform.","-673722343":"The legacy bot trading platform.","-897826065":"The multipliers trading platform.","-2115275974":"CFDs","-1585707873":"Financial Commission","-199154602":"Vanuatu Financial Services Commission","-191165775":"Malta Financial Services Authority","-194969520":"Counterparty company","-1089385344":"Deriv (SVG) LLC","-2019617323":"Deriv (BVI) Ltd","-112814932":"Deriv (FX) Ltd","-1131400885":"Deriv Investments (Europe) Limited","-1471207907":"All assets","-781132577":"Leverage","-1591882610":"Synthetics","-543177967":"Stock indices","-362324454":"Commodities","-1071336803":"Platform","-1879666853":"Deriv MT5","-820028470":"Options & Multipliers","-1210359945":"Transfer funds to your accounts","-1926387364":"We’ve sent your e-book to your email. You can also download it here.","-1057002564":"<0>We’re unable to upgrade you to Wallets at this time and are working to get this fixed as soon as we can. Please <1>try again<0>.","-1424352390":"<0>Wallets<1> — A smarter way to manage your funds","-280236366":"Enable now","-145462920":"Deriv cTrader","-982095728":"Get","-1790089996":"NEW!","-2134770229":"Total assets in your Deriv Apps and Deriv MT5 CFDs demo account.","-1277942366":"Total assets","-1255879419":"Trader's Hub","-493788773":"Non-EU","-673837884":"EU","-230566990":"The following documents you submitted did not pass our checks:","-846812148":"Proof of address.","-1146027991":"If you’d like to get the {{from_account}} account, resubmit these documents.","-710685402":"No new positions","-1445744852":"You can no longer open new positions with your {{from_account}} account. Please use your {{to_account}} account to open new positions.","-1699909965":"or ","-2127865736":"Your {{from_account}} account will be archived after 30 days of inactivity. You can still access your trade history until the account is archived.","-417529381":"Your current trading account(s)","-1543281897":"Instant transfers between Wallets and trading accounts","-1415400918":"Multiple currency support","-1712363879":"Why Wallets","-348452343":"Your open trading positions will not be affected while we are setting up your wallets.","-2055865877":"Non-EU regulation","-643108528":"Non-EU and EU regulation","-1002556560":"We’re unable to complete with the Wallet upgrade. Please try again later or contact us via live chat.","-1186807402":"Transfer","-655191265":"Buy or sell at a specific time for a specific price. <0>Learn more","-744999940":"Deriv account","-2146691203":"Choice of regulation","-249184528":"You can create real accounts under EU or non-EU regulation. Click the <0><0/> icon to learn more about these accounts.","-1505234170":"Trader's Hub tour","-1265635180":"The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.","-1870909526":"Our server cannot retrieve an address.","-582721696":"The current allowed withdraw amount is {{format_min_withdraw_amount}} to {{format_max_withdraw_amount}} {{currency}}","-1975494965":"Cashier","-42592103":"Deposit cryptocurrencies","-60779216":"Withdrawals are temporarily unavailable due to system maintenance. You can make your withdrawals when the maintenance is complete.","-520142572":"Cashier is currently down for maintenance","-1552080215":"Please check back in a few minutes.<0>Thank you for your patience.","-215186732":"You’ve not set your country of residence. To access Cashier, please update your country of residence in the Personal details section in your account settings.","-1392897508":"The identification documents you submitted have expired. Please submit valid identity documents to unlock Cashier. ","-954082208":"Your cashier is currently locked. Please contact us via <0>live chat to find out how to unlock it.","-929148387":"Please set your account currency to enable deposits and withdrawals.","-2027907316":"You can make a withdrawal once the verification of your account is complete.","-541392118":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and access your cashier.","-599998434":"You cannot make a fund transfer as your documents are still under review. We will notify you by email within 3 days once your verification is approved.","-247122507":"Your cashier is locked. Please complete the <0>financial assessment to unlock it.","-1443721737":"Your cashier is locked. See <0>how we protect your funds before you proceed.","-901712457":"Your access to Cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to <0>Self-exclusion and set your 30-day turnover limit.","-166472881":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits and withdrawals.","-666905139":"Deposits are locked","-378858101":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits.","-1318742415":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and request for withdrawals.","-1923809087":"Unfortunately, you can only make deposits. Please contact us via <0>live chat to enable withdrawals.","-172277021":"Cashier is locked for withdrawals","-1624999813":"It seems that you've no commissions to withdraw at the moment. You can make withdrawals once you receive your commissions.","-1077304626":"Amount ({{currency}})","-1559994981":"Approximate value","-1272778997":"We've sent you an email.","-89973258":"Resend email in {{seconds}}s","-1332236294":"Please verify your identity","-1675848843":"Error","-283017497":"Retry","-1294455996":"Deriv P2P unavailable","-1838982691":"UNKNOWN","-532693866":"Something went wrong. Please refresh the page and try again.","-1196049878":"First line of home address","-1326406485":"Postal Code/ZIP","-939625805":"Telephone","-442575534":"Email verification failed","-1459042184":"Update your personal details","-1603543465":"We can't validate your personal details because there is some information missing.","-614516651":"Need help? <0>Contact us.","-203002433":"Deposit now","-720315013":"You have no funds in your {{currency}} account","-2052373215":"Please make a deposit to use this feature.","-379487596":"{{selected_percentage}}% of available balance ({{format_amount}} {{currency__display_code}})","-1957498244":"more","-1059419768":"Notes","-285921910":"Learn more about <0>payment methods.","-190084602":"Transaction","-1995606668":"Amount","-2024290965":"Confirmations","-811190405":"Time","-728508487":"{{currency}} recent transactions","-1984478597":"The details of this transaction is available on CoinsPaid.","-316545835":"Please ensure <0>all details are <0>correct before making your transfer.","-949073402":"I confirm that I have verified the client’s transfer information.","-1752211105":"Transfer now","-1787304306":"Deriv P2P","-174976899":"P2P verification","-1705887186":"Your deposit is successful.","-142361708":"In process","-1582681840":"We’ve received your request and are waiting for more blockchain confirmations.","-1626218538":"You’ve cancelled your withdrawal request.","-1062841150":"Your withdrawal is unsuccessful due to an error on the blockchain. Please <0>contact us via live chat for more info.","-630780094":"We’re awaiting confirmation from the blockchain.","-1525882769":"Your withdrawal is unsuccessful. We've sent you an email with more information.","-298601922":"Your withdrawal is successful.","-922143389":"Deriv P2P is currently unavailable in this currency.","-1310327711":"Deriv P2P is currently unavailable in your country.","-1463156905":"Learn more about payment methods","-972283623":"Deriv P2P-V2","-685073712":"This is your <0>{{currency}} account {{loginid}}.","-1547606079":"We accept the following cryptocurrencies:","-1517325716":"Deposit via the following payment methods:","-639677539":"Buy cryptocurrencies","-1560098002":"Buy cryptocurrencies via fiat onramp","-541870313":"Deposit via payment agents","-197251450":"Don't want to trade in {{currency_code}}? You can open another cryptocurrency account.","-515809216":"Send only {{currency_name}} ({{currency_code}}) to this address.","-748636591":"A minimum deposit value of <0>{{minimum_deposit}} {{currency}} is required. Otherwise, a fee is applied.","-1589407981":"To avoid loss of funds:","-1042704302":"Make sure to copy your Deriv account address correctly into your crypto wallet.","-2108344100":"Looking for a way to buy cryptocurrencies? <0>Try Fiat onramp.","-598073640":"About Tether (Ethereum)","-275902914":"Tether on Ethereum (eUSDT)","-1188009792":"Tether on Omni Layer (USDT)","-1239329687":"Tether was originally created to use the bitcoin network as its transport protocol ‒ specifically, the Omni Layer ‒ to allow transactions of tokenised traditional currency.","-314177745":"Unfortunately, we couldn't get the address since our server was down. Please click Refresh to reload the address or try again later.","-91824739":"Deposit {{currency}}","-523804269":"{{amount}} {{currency}} on {{date}}","-494847428":"Address: <0>{{value}}","-1117977576":"Confirmations: <0>{{value}}","-1935946851":"View more","-1744490898":"Unfortunately, we cannot retrieve the information at this time. ","-338505133":"We do not charge a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts, between your Deriv fiat and {{platform_name_ctrader}} accounts, and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-2056016338":"You’ll not be charged a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts.","-599632330":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-1196994774":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency accounts.","-993556039":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts and between your Deriv cryptocurrency and {{platform_name_dxtrade}} accounts.","-1382702462":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts.","-1339063554":"You may transfer between your Deriv fiat, cryptocurrency, {{platform_name_mt5}}, {{platform_name_ctrader}}, and {{platform_name_dxtrade}} accounts.","-1151983985":"Transfer limits may vary depending on the exchange rates.","-1747571263":"Please bear in mind that some transfers may not be possible.","-757062699":"Transfers may be unavailable due to high volatility or technical issues and when the exchange markets are closed.","-855721928":"Needs verification","-908402700":"Verification failed","-1866405488":"Deriv cTrader accounts","-1344870129":"Deriv accounts","-1109729546":"You will be able to transfer funds between MT5 accounts and other accounts once your address is verified.","-1593609508":"Transfer between your accounts in Deriv","-1155970854":"You have reached the maximum daily transfers. Please try again tomorrow.","-464965808":"Transfer limits: <0 /> - <1 />","-553249337":"Transfers are locked","-1638172550":"To enable this feature you must complete the following:","-1949883551":"You only have one account","-1149845849":"Back to Trader's Hub","-1232852916":"We’re switching over to your {{currency}} account to view the transaction.","-1632668764":"I accept","-544232635":"Please go to the Deposit page to generate an address. Then come back here to continue with your transaction.","-1161069724":"Please copy the crypto address you see below. You'll need it to deposit your cryptocurrency.","-1388977563":"Copied!","-1962894999":"This address can only be used ONCE. Please copy a new one for your next transaction.","-451858550":"By clicking 'Continue' you will be redirected to {{ service }}, a third-party payment service provider. Please note that {{ website_name }} is not responsible for the content or services provided by {{ service }}. If you encounter any issues related to {{ service }} services, you must contact {{ service }} directly.","-2005265642":"Fiat onramp is a cashier service that allows you to convert fiat currencies to crypto to top up your Deriv crypto accounts. Listed here are third-party crypto exchanges. You’ll need to create an account with them to use their services.","-1593063457":"Select payment channel","-1309258714":"From account number","-1247676678":"To account number","-816476007":"Account holder name","-344403983":"Description","-922432739":"Please enter a valid client login ID.","-1024241603":"Insufficient balance.","-1979554765":"Please enter a valid description.","-1254233806":"You've transferred","-953082600":"Some payment methods may not be listed here but payment agents may still offer them. If you can’t find your favourite method, contact the payment agents directly to check further.","-1491457729":"All payment methods","-142563298":"Contact your preferred payment agent for payment instructions and make your deposit.","-352134412":"Transfer limit","-1023961762":"Commission on deposits","-552873274":"Commission on withdrawal","-880645086":"Withdrawal amount","-118683067":"Withdrawal limits: <0 />-<1 />","-1125090734":"Important notice to receive your funds","-1924707324":"View transaction","-1474202916":"Make a new withdrawal","-511423158":"Enter the payment agent account number","-2059278156":"Note: {{website_name}} does not charge any transfer fees.","-1201279468":"To withdraw your funds, please choose the same payment method you used to make your deposits.","-2004264970":"Your wallet address should have 25 to 64 characters.","-1707299138":"Your {{currency_symbol}} wallet address","-38063175":"{{account_text}} wallet","-705272444":"Upload a proof of identity to verify your identity","-130833284":"Please note that your maximum and minimum withdrawal limits aren’t fixed. They change due to the high volatility of cryptocurrency.","-1531269493":"We'll send you an email once your transaction has been processed.","-1373954791":"Should be a valid number","-1278608332":"Please enter a number between 0 and {{api_max_losses}}.","-287597204":"Enter limits to stop your bot from trading when any of these conditions are met.","-1445989611":"Limits your potential losses for the day across all Deriv platforms.","-152878438":"Maximum number of trades your bot will execute for this run.","-1490942825":"Apply and run","-2067572496":"You’ve just stopped the bot. Any open contracts can be viewed on the Reports page.","-992003496":"Changes you make will not affect your running bot.","-1778025545":"You’ve successfully imported a bot.","-1572746946":"Asian Up","-686840306":"Asian Down","-2141198770":"Higher","-816098265":"Lower","-1646655742":"Spread Up","-668987427":"Spread Down","-912577498":"Matches","-1862940531":"Differs","-808904691":"Odd","-556230215":"Ends Outside","-1268220904":"Ends Between","-703542574":"Up","-1127399675":"Down","-768425113":"No Touch","-1163058241":"Stays Between","-1354485738":"Reset Call","-376148198":"Only Ups","-1337379177":"High Tick","-328036042":"Please enter a stop loss amount that's higher than the current potential loss.","-2127699317":"Invalid stop loss. Stop loss cannot be more than stake.","-179005984":"Save","-610059687":"Exploring the D’Alembert strategy in Deriv Bot","-1226666341":"The D'Alembert strategy involves increasing your stake after a losing trade and reducing it after a successful trade by a predetermined number of units.","-312844882":"Initial stake: The amount that you are willing to place as a stake to enter a trade. This is the starting point for any changes in stake depending on the dynamic of the strategy being used.","-1173302981":"1. Start with the initial stake. In this example, we’ll use 1 USD.","-1540106116":"Profit and loss thresholds","-894905768":"With Deriv Bot, traders can set the profit and loss thresholds to secure potential profits and limit potential losses. This means that the trading bot will automatically stop when either the profit or loss thresholds are reached. It's a form of risk management that can potentially enhance returns. For example, if a trader sets the profit threshold at 100 USD and the strategy exceeds 100 USD of profit from all trades, then the bot will stop running.","-1946134465":"Where:","-248283982":"B is the loss threshold.","-1148521416":"f is the unit increment.","-211800490":"D’Alembert formula 2","-1772692202":"This formula helps you plan your trades by considering the amount of money you have and your comfort level with risk. It involves determining your loss threshold and the initial stake you want to trade with. Then, you use this formula to calculate the number of rounds you can trade. This process provides insight into stake sizing and expectations.","-2107238266":"The D'Alembert system offers more balanced trading through controlled stake progression. With prudent risk management like stake limits, it can be effectively automated in Deriv Bot. However, traders should thoroughly assess their risk appetite, test strategies on a demo account to align with their trading style before trading with real money. This allows optimising the approach and striking a balance between potential gains and losses whilst managing risk.","-500873566":"Disclaimer:","-344769349":"Please be aware that while we may use rounded figures for illustration, a stake of a specific amount does not guarantee an exact amount in successful trades. For example, a 1 USD stake does not necessarily equate to a 1 USD profit in successful trades.","-818800551":"Exploring the Martingale strategy in Deriv Bot","-533490374":"These are the trade parameters used in Deriv Bot with Martingale strategy.","-1507161059":"Multiplier: The multiplier used to increase your stake if you're losing a trade. The value must be greater than 1.","-1333404686":"An example of Martingale strategy","-1755877136":"3. If the first trade ends in a loss, Deriv Bot will automatically double your stake for the next trade to 2 USD. Deriv Bot will continue to double the stake after every losing trade.","-1297651002":"If you're about to start trading and haven't established a Maximum Stake as part of your risk management strategy, you can determine how long your funds will last by employing the Martingale strategy. Simply use this formula.","-46865201":"Martingale formula 1","-116397598":"m is the Martingale multiplier.","-658161609":"Number of rounds, R ≈ 9.965","-288082521":"This means that after 10 rounds of consecutive losses, this trader will lose 1023 USD which exceeds the loss threshold of 1000 USD, stopping the bot.","-770387160":"The Martingale strategy in trading may offer substantial gains but also comes with significant risks. With your selected strategy, Deriv Bot provides automated trading with risk management measures like setting initial stake, stake size, maximum stake, profit threshold and loss threshold. It's crucial for traders to assess their risk tolerance, practice in a demo account, and understand the strategy before trading with real money.","-1901073152":"These are the trade parameters used for Oscar’s Grind strategy in Deriv Bot.","-1575153036":"An example of Oscar’s Grind strategy","-732418614":"The table above demonstrates this principle by showing that when a successful trade occurs and meets the target of one unit of potential profit which is 1 USD in this example, the session ends. If trading continues, a new session will begin.","-106266344":"Principle 3: The stake adjusts to the gap size between current loss and the target profit for the session","-492908094":"In round 7, the stake is adjusted downwards from 2 USD to 1 USD, to meet the target profit of 1 USD.","-90079299":"With Deriv Bot, traders can set the profit and loss thresholds to secure potential profits and limit potential losses. This means that the trading bot will automatically stop when either the profit or loss threshold is reached. This is a form of risk management that can potentially boost successful trades whilst limiting the impact of loss. For example, if a trader sets the profit threshold at 100 USD and the strategy exceeds 100 USD of profit from all trades, then the bot will stop running.","-1549673884":"The Oscar's Grind strategy provides a disciplined approach for incremental gains through systematic stake progression. When integrated into Deriv Bot with proper risk management like profit or loss thresholds, it offers traders a potentially powerful automated trading technique. However, traders should first thoroughly assess their risk tolerance and first try trading on a demo account in order to familiarise with the strategy before trading with real funds.","-655650222":"Exploring the Reverse D’Alembert strategy in Deriv Bot","-1864807973":"The Reverse D'Alembert strategy involves increasing your stake after a successful trade and reducing it after a losing trade by a predetermined number of units.","-809681645":"These are the trade parameters used in Deriv Bot with Reverse D’Alembert strategy.","-1239374257":"An example of Reverse D’Alembert strategy","-309821442":"Please be aware that while we may use rounded figures for illustration, a stake of a specific amount does not guarantee an exact amount in successful trades. For example, a 1 USD stake does not necessarily equate to a 1 USD profit in successful trades.","-1576691912":"This article explores the Reverse Martingale strategy integrated into Deriv Bot, a versatile trading bot designed to trade assets such as forex, commodities, and derived indices. We will delve into the strategy's core parameters, its application, and provide essential takeaways for traders looking to use the bot effectively.","-1934849823":"These are the trade parameters used in Deriv Bot with Reverse Martingale strategy.","-1021919630":"Multiplier: The multiplier used to increase your stake if your trade is successful. The value must be greater than 1.","-760516362":"3. If the first trade is a successful trade, Deriv Bot will automatically double your stake for the next trade to 2 USD. Deriv Bot will continue to double the stake after every successful trade.","-1410950365":"Exploring the 1-3-2-6 strategy in Deriv Bot","-1175255072":"These are the trade parameters used in Deriv Bot with 1-3-2-6 strategy.","-183884527":"An example of 1-3-2-6 strategy","-275617819":"4. However, if any trade results in a loss, your stake will reset back to the initial stake of 1 USD for the next trade. The third trade results in a loss hence the stake resets to the initial stake of 1 USD for the next trade.","-719846465":"5. Upon reaching the initial stake, if the next trade still results in a loss, your stake will remain at the initial stake of 1 USD. This strategy will minimally trade at the initial stake. Refer to the fourth and fifth trade.","-1452746011":"The 1-3-2-6 strategy in trading may offer substantial gains but also comes with significant risks. Each stake is independent, and the strategy does not increase your chances of successful trades in the long run. If you encounter a series of losses, the strategy can lead to significant losses. Therefore, it is crucial for traders to assess their risk tolerance, practice in a demo account, utilise profit and loss thresholds, and fully comprehend the strategy before engaging in real-money trading.","-1016171176":"Asset","-138833194":"The underlying market your bot will trade with this strategy.","-621128676":"Trade type","-399349239":"Your bot will use this trade type for every run","-410856998":"The bot will stop trading if your total profit exceeds this amount.","-447853970":"Loss threshold","-33106112":"The size used to multiply the stake after a successful trade for the next trade.","-1503301801":"The value must be equal or greater than {{ min }}","-1596504046":"Number of unit(s) to be added to the next trade after a successful trade. One unit is equivalent to the amount of initial stake.","-1521098535":"Max stake","-1448426542":"The stake for your next trade will reset to the initial stake if it exceeds this value.","-993953307":"Your prediction of the last digit of the asset price.","-1305281529":"D’Alembert","-1842451303":"Welcome to Deriv Bot!","-1391310674":"Check out these guides and FAQs to learn more about building your bot:","-2066779239":"FAQs","-280324365":"What is Deriv Bot?","-155173714":"Let’s build a bot!","-1919212468":"3. You can also search for the blocks you want using the search bar above the categories.","-1520558271":"For more info, check out this blog post on the basics of building a trading bot.","-980360663":"3. Choose the block you want and drag it to the workspace.","-1493168314":"What is a quick strategy?","-1680391945":"Using a quick strategy","-1177914473":"How do I save my strategy?","-271986909":"In Bot Builder, hit Save on the toolbar at the top to download your bot. Give your bot a name, and choose to download your bot to your device or Google Drive. Your bot will be downloaded as an XML file.","-1149045595":"1. After hitting Import, select Local and click Continue.","-288041546":"2. Select your XML file and hit Open.","-2127548288":"3. Your bot will be loaded accordingly.","-1311297611":"1. After hitting Import, select Google Drive and click Continue.","-1549564044":"How do I reset the workspace?","-1127331928":"In Bot Builder, hit Reset on the toolbar at the top. This will clear the workspace. Please note that any unsaved changes will be lost.","-1720444288":"How do I control my losses with Deriv Bot?","-1142295124":"There are several ways to control your losses with Deriv Bot. Here’s a simple example of how you can implement loss control in your strategy:","-2129119462":"1. Create the following variables and place them under Run once at start:","-1918487001":"Example:","-468926787":"This is how your trade parameters, variables, and trade options should look like:","-1565344891":"Can I run Deriv Bot on multiple tabs in my web browser?","-90192474":"Yes, you can. However, there are limits on your account, such as maximum number of open positions and maximum aggregate payouts on open positions. So, just keep these limits in mind when opening multiple positions. You can find more info about these limits at Settings > Account limits.","-213872712":"No, we don't offer cryptocurrencies on Deriv Bot.","-2147346223":"In which countries is Deriv Bot available?","-352345777":"What are the most popular strategies for automated trading?","-552392096":"Three of the most commonly used strategies in automated trading are Martingale, D'Alembert, and Oscar's Grind — you can find them all ready-made and waiting for you in Deriv Bot.","-1630262763":"About Martingale","-413928457":"About Oscar's Grind","-1497015866":"About Reverse D’Alembert","-437005403":"About 1-3-2-6","-590765322":"Unfortunately, this trading platform is not available for EU Deriv account. Please switch to a non-EU account to continue trading.","-2110207996":"Deriv Bot is unavailable for this account","-971295844":"Switch to another account","-1194079833":"Deriv Bot is not available for EU clients","-746652890":"Notifications","-824109891":"System","-507620484":"Unsaved","-764102808":"Google Drive","-749186458":"Account switching is disabled while your bot is running. Please stop your bot before switching accounts.","-597939268":"Keep my contract","-1322453991":"You need to log in to run the bot.","-236548954":"Contract Update Error","-1428017300":"THE","-1450728048":"OF","-255051108":"YOU","-1845434627":"IS","-931434605":"THIS","-740712821":"A","-1223145005":"Loss amount: {{profit}}","-1206212388":"Welcome back! Your messages have been restored. You are using your {{current_currency}} account.","-1724342053":"You are using your {{current_currency}} account.","-187634388":"This block is mandatory. Here is where you can decide if your bot should continue trading. Only one copy of this block is allowed.","-2105473795":"The only input parameter determines how block output is going to be formatted. In case if the input parameter is \"string\" then the account currency will be added.","-1800436138":"2. for \"number\": 1325.68","-530632460":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of \"True\" or \"False\".","-1875717842":"Examples:","-890079872":"1. If the selected direction is \"Rise\", and the previous tick value is less than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-489739641":"2. If the selected direction is \"Fall\", and the previous tick value is more than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-2116076360":"There are 4 message types:","-1421941045":"2. 'Warn' displays a message in yellow to highlight something that needs attention.","-277850921":"If \"Win\" is selected, it will return \"True\" if your last trade was successful. Otherwise, it will return an empty string.","-2139916657":"1. In the below example the loop is terminated in case \"x\" is \"False\" even though only one iteration is complete","-1238900333":"2. In the below example the loop jumps to the next iteration without executing below block in case if \"x\" is \"False\"","-1729479576":"You can use \"i\" inside the loop, for example to access list items","-1474636594":"In this example, the loop will repeat three times, as that is the number of items in the given list. During each iteration, the variable \"i\" will be assigned a value from the list. ","-908772734":"This block evaluates a statement and will perform an action only when the statement is true.","-334040831":"2. In this example, the instructions are repeated as long as the value of x is greater than or equal to 10. Once the value of x drops below 10, the loop is terminated.","-444267958":"\"Seconds Since Epoch\" block returns the number of seconds since January 1st, 1970.","-447522129":"You might need it when you want to repeat an actions after certain amount of time.","-1488259879":"The term \"candle\" refers to each bar on the candlestick chart. Each candle represents four market prices for the selected time interval:","-2020693608":"Each candlestick on the chart represents 4 market prices for the selected time interval:","-62728852":"- Open price: the opening price","-1247744334":"- Low price: the lowest price","-1386365697":"- Close price: the closing price","-1498732382":"A black (or red) candle indicates that the open price is higher than the close price. This represents a downward movement of the market price.","-1871864755":"This block gives you the last digit of the latest tick value of the selected market. If the latest tick value is 1410.90, this block will return 0. It’s useful for digit-based contracts such as Even/Odd, Matches/Differs, or Higher/Lower.","-1029671512":"In case if the \"OR\" operation is selected, the block returns \"True\" in case if one or both given values are \"True\"","-210295176":"Available operations:","-1385862125":"- Addition","-983721613":"- Subtraction","-854750243":"- Multiplication","-1394815185":"In case if the given number is less than the lower boundary of the range, the block returns the lower boundary value. Similarly, if the given number is greater than the higher boundary, the block will return the higher boundary value. In case if the given value is between boundaries, the block will return the given value unchanged.","-1034564248":"In the below example the block returns the value of 10 as the given value (5) is less than the lower boundary (10)","-2009817572":"This block performs the following operations to a given number","-671300479":"Available operations are:","-514610724":"- Absolute","-1923861818":"- Euler’s number (2.71) to the power of a given number","-1556344549":"Here’s how:","-1061127827":"- Visit the following URL, make sure to replace with the Telegram API token you created in Step 1: https://api.telegram.org/bot/getUpdates","-311389920":"In this example, the open prices from a list of candles are assigned to a variable called \"cl\".","-1460794449":"This block gives you a list of candles within a selected time interval.","-1634242212":"Used within a function block, this block returns a value when a specific condition is true.","-2012970860":"This block gives you information about your last contract.","-1504783522":"You can choose to see one of the following:","-10612039":"- Profit: the profit you’ve earned","-555996976":"- Entry time: the starting time of the contract","-1391071125":"- Exit time: the contract expiration time","-1961642424":"- Exit value: the value of the last tick of the contract","-111312913":"- Barrier: the barrier value of the contract (applicable to barrier-based trade types such as stays in/out, touch/no touch, etc.)","-674283099":"- Result: the result of the last contract: \"win\" or \"loss\"","-704543890":"This block gives you the selected candle value such as open price, close price, high price, low price, and open time. It requires a candle as an input parameter.","-482281200":"In the example below, the open price is assigned to the variable \"op\".","-364621012":"This block gives you the specified candle value for a selected time interval. You can choose which value you want:","-232477769":"- Open: the opening price","-610736310":"Use this block to sell your contract at the market price. Selling your contract is optional. You may choose to sell if the market trend is unfavourable.","-1307657508":"This block gives you the potential profit or loss if you decide to sell your contract. It can only be used within the \"Sell conditions\" root block.","-1921072225":"In the example below, the contract will only be sold if the potential profit or loss is more than the stake.","-955397705":"SMA adds the market price in a list of ticks or candles for a number of time periods, and divides the sum by that number of time periods.","-1424923010":"where n is the number of periods.","-1835384051":"What SMA tells you","-749487251":"SMA serves as an indicator of the trend. If the SMA points up then the market price is increasing and vice versa. The larger the period number, the smoother SMA line is.","-1996062088":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 10 days.","-1866751721":"Input list accepts a list of ticks or candles, while period is the specified time period.","-1097076512":"You may compare SMA values calculated on every bot run to identify the market trend direction. Alternatively, you may also use a variation of the SMA block, the Simple Moving Average Array block. ","-1254849504":"If a period of 10 is entered, the Simple Moving Average Array block will return a list of SMA values calculated based on period of 10.","-1190046167":"This block displays a dialog box with a customised message. When the dialog box is displayed, your strategy is paused and will only resume after you click \"OK\".","-859028989":"In this example, the date and time will be displayed in a green notification box.","-1452086215":"In this example, a Rise contract will be purchased at midnight on 1 August 2019.","-2078588404":"Select your desired market and asset type. For example, Forex > Major pairs > AUD/JPY","-2037446013":"2. Trade Type","-533927844":"Select your desired trade type. For example, Up/Down > Rise/Fall","-1192411640":"4. Default Candle Interval","-485434772":"8. Trade Options","-1827646586":"This block assigns a given value to a variable, creating the variable if it doesn't already exist.","-254421190":"List: ({{message_length}})","-555886064":"Won","-529060972":"Lost","-1062922595":"Reference ID (buy)","-2068574600":"Reference ID (sell)","-994038153":"Start Time","-1979852400":"Entry Spot","-427802309":"Profit/Loss","-224804428":"Transactions","-287223248":"No transaction or activity yet.","-418247251":"Download your journal.","-2123571162":"Download","-1616649196":"results","-90107030":"No results found","-984140537":"Add","-870004399":"<0>Bought: {{longcode}} (ID: {{transaction_id}})","-1211474415":"Filters","-186972150":"There are no messages to display","-558594655":"The bot is not running","-478946875":"The stats are cleared","-999254545":"All messages are filtered out","-934909826":"Load strategy","-1121028020":"or, if you prefer...","-254025477":"Select an XML file from your device","-1131095838":"Please upload an XML file","-523928088":"Create one or upload one from your local drive or Google Drive.","-1684205190":"Why can't I see my recent bots?","-2050879370":"1. Logged in from a different device","-811857220":"3. Cleared your browser cache","-625024929":"Leaving already?","-584289785":"No, I'll stay","-1435060006":"If you leave, your current contract will be completed, but your bot will stop running immediately.","-783058284":"Total stake","-2077494994":"Total payout","-1073955629":"No. of runs","-1729519074":"Contracts lost","-42436171":"Total profit/loss","-1856204727":"Reset","-1137823888":"Total payout since you last cleared your stats.","-992662695":"The number of times your bot has run since you last cleared your stats. Each run includes the execution of all the root blocks.","-1382491190":"Your total profit/loss since you last cleared your stats. It is the difference between your total payout and your total stake.","-24780060":"When you’re ready to trade, hit ","-2147110353":". You’ll be able to track your bot’s performance here.","-1442034178":"Contract bought","-2020280751":"Bot is stopping","-1436403979":"Contract closed","-411060180":"TradingView Chart","-627895223":"Exit spot","-2140412463":"Buy price","-1299484872":"Account","-2004386410":"Win","-266502731":"Transactions detailed summary","-1711732508":"Reference IDs","-386141434":"(Buy)","-482272687":"(Sell)","-1983189496":"ticks","-694277729":"(High)","-2028564707":"(Low)","-596238067":"Entry/Exit spot","-1823621139":"Quick Strategy","-1782602933":"Choose a template below and set your trade parameters.","-315611205":"Strategy","-1524489375":"(optional)","-150224710":"Yes, continue","-475765963":"Edit the amount","-1349897832":"Do not show this message again.","-984512425":"Minimum duration: {{ value }}","-2084091453":"The value must be equal or greater than {{ value }}","-657364297":"The value must be equal or less than {{ value }}","-1696412885":"Import","-320197558":"Sort blocks","-939764287":"Charts","-1566369363":"Zoom out","-1285759343":"Search","-1291088318":"Purchase conditions","-112876186":"Analysis","-1769584466":"Stats","-1133736197":"Utility","-1682372359":"Text","-907562847":"Lists","-1646497683":"Loops","-251326965":"Miscellaneous","-1692205739":"Import a bot from your computer or Google Drive, build it from scratch, or start with a quick strategy.","-1545070554":"Delete bot","-1972599670":"Your bot will be permanently deleted when you hit ","-1692956623":"Yes, delete.","-573479616":"Are you sure you want to delete it?","-786915692":"You are connected to Google Drive","-1256971627":"To import your bot from your Google Drive, you'll need to sign in to your Google account.","-1233084347":"To know how Google Drive handles your data, please review Deriv’s <0>Privacy policy.","-1150107517":"Connect","-1150390589":"Last modified","-1393876942":"Your bots:","-767342552":"Enter your bot name, choose to save on your computer or Google Drive, and hit ","-1372891985":"Save.","-1003476709":"Save as collection","-636521735":"Save strategy","-1953880747":"Stop my bot","-1899230001":"Stopping the current bot will load the Quick Strategy you just created to the workspace.","-2131847097":"Any open contracts can be viewed on the ","-563774117":"Dashboard","-683790172":"Now, <0>run the bot to test out the strategy.","-1127164953":"Hi! Hit <0>Start for a quick tour.","-358288026":"Note: You can also find this tutorial in the <0>Tutorials tab.","-129587613":"Got it, thanks!","-1793577405":"Build from scratch","-358753028":"Create your bot using our drag-and-drop blocks or click Quick Strategy to choose from the ready-to-use bot templates.","-1212601535":"Monitor the market","-21136101":"See how your bot is doing in real-time.","-631097919":"Click <0>Run when you want to start trading, and click <0>Stop when you want to stop.","-1999747212":"Want to retake the tour?","-782992165":"Step 1 :","-1207872534":"First, set the <0>Trade parameters block.","-1656388044":"First, set <0>Market to Derived > Continuous Indices > Volatility 100 (1s) Index.","-1706298865":"Then, set <0>Trade type to Up/Down > Rise/Fall.","-1834358537":"For <0>Default candle interval, set it to 1 minute","-1940971254":"For <0>Trade options, set it as below:","-512839354":"<0>Stake: USD 10 (min: 0.35 - max: 50000)","-753745278":"Step 2 :","-1056713679":"Then, set the <0>Purchase conditions block.","-245497823":"<0>2. Purchase conditions:","-916770284":"<0>Purchase: Rise","-758077259":"Step 3 :","-677396944":"Step 4 :","-295975118":"Next, go to <0>Utility tab under the Blocks menu. Tap the drop-down arrow and hit <0>Loops.","-698493945":"Step 5 :","-1992994687":"Now, tap the <0>Analysis drop-down arrow and hit <0>Contract.","-1844492873":"Go to the <0>Last trade result block and click + icon to add the <0>Result is Win block to the workspace.","-1547091772":"Then, drag the <0>Result is win into the empty slot next to <0>repeat until block.","-736400802":"Step 6 :","-732067680":"Finally, drag and add the whole <0>Repeat block to the <0>Restart trading conditions block.","-1411787252":"Step 1","-1109392787":"Learn how to build your bot from scratch using a simple strategy.","-1263822623":"You can import a bot from your mobile device or from Google drive, see a preview in the bot builder, and start trading by running the bot.","-563921656":"Bot Builder guide","-1596172043":"Quick strategy guides","-1765276625":"Click the multiplier drop-down menu and choose the multiplier value you want to trade with.","-1872233077":"Your potential profit will be multiplied by the multiplier value you’ve chosen.","-614454953":"To learn more about multipliers, please go to the <0>Multipliers page.","-662836330":"Would you like to keep your current contract or close it? If you decide to keep it running, you can check and close it later on the <0>Reports page.","-1717650468":"Online","-1309011360":"Open positions","-1597214874":"Trade table","-1929724703":"Compare CFD accounts","-883103549":"Account deactivated","-45873457":"NEW","-1190972431":"P2P-V2","-1837059346":"Buy / Sell","-1845037007":"Advertiser's page","-494667560":"Orders","-679691613":"My ads","-821418875":"Trader","-679102561":"Contract Details","-430118939":"Complaints policy","-1308346982":"Derived","-579984289":"Derived Demo","-1596515467":"Derived BVI","-222394569":"Derived Vanuatu","-328128497":"Financial","-533935232":"Financial BVI","-565431857":"Financial Labuan","-659955365":"Swap-Free","-291535132":"Swap-Free Demo","-1472945832":"Swap-Free SVG","-144803045":"Only numbers and these special characters are allowed: {{permitted_characters}}","-1450516268":"Only letters, numbers, space, hyphen, period, and apostrophe are allowed.","-1966032552":"The length of token should be 8.","-2128137611":"Should start with letter or number, and may contain hyphen and underscore.","-1590869353":"Up to {{decimal_count}} decimal places are allowed.","-2061307421":"Should be more than {{min_value}}","-1099941162":"Should be less than {{max_value}}","-1528188268":"Straight rows of keys are easy to guess","-1339903234":"Short keyboard patterns are easy to guess","-23980798":"Repeats like \"aaa\" are easy to guess","-235760680":"Avoid repeated words and characters","-1568933154":"Sequences like abc or 6543 are easy to guess","-725663701":"Avoid sequences","-1450768475":"Recent years are easy to guess","-1804838610":"Avoid years that are associated with you","-64849469":"Dates are often easy to guess","-2006915194":"Avoid dates and years that are associated with you","-2124205211":"A word by itself is easy to guess","-1095202689":"All-uppercase is almost as easy to guess as all-lowercase","-2137856661":"Reversed words aren't much harder to guess","-1885413063":"Predictable substitutions like '@' instead of 'a' don't help very much","-369258265":"This password is on the blacklist","-577777971":"You have reached the rate limit of requests per second. Please try later.","-206321775":"Fiat","-522767852":"DEMO","-433761292":"Switching to default account.","-405439829":"Sorry, you can't view this contract because it doesn't belong to this account.","-1590712279":"Gaming","-16448469":"Virtual","-2093768906":"{{name}} has released your funds.
Would you like to give your feedback?","-705744796":"Your demo account balance has reached the maximum limit, and you will not be able to place new trades. Reset your balance to continue trading from your demo account.","-2063700253":"disabled","-1585069798":"Please click the following link to complete your Appropriateness Test.","-1287141934":"Find out more","-367759751":"Your account has not been verified","-596690079":"Enjoy using Deriv?","-265932467":"We’d love to hear your thoughts","-1815573792":"Drop your review on Trustpilot.","-823349637":"Go to Trustpilot","-1204063440":"Set my account currency","-1601813176":"Would you like to increase your daily limits to {{max_daily_buy}} {{currency}} (buy) and {{max_daily_sell}} {{currency}} (sell)?","-1751632759":"Get a faster mobile trading experience with the <0>{{platform_name_go}} app!","-1164554246":"You submitted expired identification documents","-219846634":"Let’s verify your ID","-529038107":"Install","-1738575826":"Please switch to your real account or create one to access the cashier.","-1329329028":"You’ve not set your 30-day turnover limit","-132893998":"Your access to the cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to Self-exclusion and set the limit.","-1852207910":"MT5 withdrawal disabled","-764323310":"MT5 withdrawals have been disabled on your account. Please check your email for more details.","-1744163489":"Please verify your proof of income","-382676325":"To continue trading with us, please submit your proof of income.","-1902997828":"Refresh now","-753791937":"A new version of Deriv is available","-1775108444":"This page will automatically refresh in 5 minutes to load the latest version.","-1175685940":"Please contact us via live chat to enable withdrawals.","-493564794":"Please complete your financial assessment.","-1125797291":"Password updated.","-157145612":"Please log in with your updated password.","-1728185398":"Resubmit proof of address","-612396514":"Please resubmit your proof of address.","-1519764694":"Your proof of address is verified.","-1629185222":"Submit now","-1961967032":"Resubmit proof of identity","-117048458":"Please submit your proof of identity.","-1196422502":"Your proof of identity is verified.","-1392958585":"Please check your email.","-136292383":"Your proof of address verification is pending","-386909054":"Your proof of address verification has failed","-430041639":"Your proof of address did not pass our verification checks, and we’ve placed some restrictions on your account. Please resubmit your proof of address.","-87177461":"Please go to your account settings and complete your personal details to enable deposits.","-904632610":"Reset your balance","-470018967":"Reset balance","-156611181":"Please complete the financial assessment in your account settings to unlock it.","-1925176811":"Unable to process withdrawals in the moment","-980696193":"Withdrawals are temporarily unavailable due to system maintenance. You can make withdrawals when the maintenance is complete.","-1647226944":"Unable to process deposit in the moment","-488032975":"Deposits are temporarily unavailable due to system maintenance. You can make deposits when the maintenance is complete.","-2136953532":"Scheduled cashier maintenance","-849587074":"You have not provided your tax identification number","-47462430":"This information is necessary for legal and regulatory requirements. Please go to your account settings, and fill in your latest tax identification number.","-2067423661":"Stronger security for your Deriv account","-1719731099":"With two-factor authentication, you’ll protect your account with both your password and your phone - so only you can access your account, even if someone knows your password.","-949074612":"Please contact us via live chat.","-2087822170":"You are offline","-1669693571":"Check your connection.","-1706642239":"<0>Proof of ownership <1>required","-553262593":"<0><1>Your account is currently locked <2><3>Please upload your proof of <4>ownership to unlock your account. <5>","-1834929362":"Upload my document","-1043638404":"<0>Proof of ownership <1>verification failed","-1766760306":"<0><1>Please upload your document <2>with the correct details. <3>","-8892474":"Start assessment","-1330929685":"Please submit your proof of identity and proof of address to verify your account and continue trading.","-99461057":"Please submit your proof of address to verify your account and continue trading.","-577279362":"Please submit your proof of identity to verify your account and continue trading.","-197134911":"Your proof of identity is expired","-152823394":"Your proof of identity has expired. Please submit a new proof of identity to verify your account and continue trading.","-822813736":"We're unable to complete with the Wallet upgrade. Please try again later or contact us via live chat.","-285366843":"We are going to update the login process for your Deriv MT5 account.","-978414767":"We require additional information for your Deriv MT5 account(s). Please take a moment to update your information now.","-2142540205":"It appears that the address in your document doesn’t match the address in your Deriv profile. Please update your personal details now with the correct address.","-482715448":"Go to Personal details","-2072411961":"Your proof of address has been verified","-384887227":"Update the address in your profile.","-1470677931":"CFDs on financial instruments.","-1998049070":"If you agree to our use of cookies, click on Accept. For more information, <0>see our policy.","-402093392":"Add Deriv Account","-1721181859":"You’ll need a {{deriv_account}} account","-1989074395":"Please add a {{deriv_account}} account first before adding a {{dmt5_account}} account. Deposits and withdrawals for your {{dmt5_label}} account are done by transferring funds to and from your {{deriv_label}} account.","-689237734":"Proceed","-1642457320":"Help centre","-1966944392":"Network status: {{status}}","-181484419":"Responsible trading","-650505513":"Full screen","-1823504435":"View notifications","-1954045170":"No currency assigned","-1591792668":"Account Limits","-34495732":"Regulatory information","-1496158755":"Go to Deriv.com","-1323441180":"I hereby confirm that my request for opening an account with Deriv to trade OTC products issued and offered exclusively outside Brazil was initiated by me. I fully understand that Deriv is not regulated by CVM and by approaching Deriv I intend to set up a relation with a foreign company.","-1396326507":"Unfortunately, {{website_name}} is not available in your country.","-288996254":"Unavailable","-1019903756":"Synthetic","-735306327":"Manage accounts","-1813972756":"Account creation paused for 24 hours","-366030582":"Sorry, you're unable to create an account at this time. As you declined our previous risk warnings, we need you to wait for 24 hours after your first account creation attempt before you can proceed.<0/><0/>","-534047566":"Thank you for your understanding. You can create your account on {{real_account_unblock_date}} or later.","-399816343":"Trading Experience Assessment<0/>","-1822498621":"As per our regulatory obligations, we are required to assess your trading knowledge and experience.<0/><0/>Please click ‘OK’ to continue","-71049153":"Keep your account secure with a password","-1861974537":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters, numbers, and symbols.","-1965920446":"Start trading","-1485242688":"Step {{step}}: {{step_title}} ({{step}} of {{steps}})","-1829842622":"You can open an account for each cryptocurrency.","-987221110":"Choose a currency you would like to trade with.","-1066574182":"Choose a currency","-1914534236":"Choose your currency","-200560194":"Please switch to your {{fiat_currency}} account to change currencies.","-1829493739":"Choose the currency you would like to trade with.","-1814647553":"Add a new","-1269362917":"Add new","-650480777":"crypto account","-175638343":"Choose an account or add a new one","-1768223277":"Your account is ready","-1215717784":"<0>You have successfully changed your currency to {{currency}}.<0>Make a deposit now to start trading.","-1775006840":"Make a deposit now to start trading.","-983734304":"We need proof of your identity and address before you can start trading.","-917733293":"To get trading, please confirm where you live.","-1282628163":"You'll be able to get trading as soon as verification is complete.","-952649119":"Log In","-3815578":"Sign Up","-1456176427":"Set a currency for your real account","-1329687645":"Create a cryptocurrency account","-1429178373":"Create a new account","-1740162250":"Manage account","-1016775979":"Choose an account","-1362081438":"Adding more real accounts has been restricted for your country.","-1602122812":"24-hour Cool Down Warning","-1519791480":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the risk of losing your money. <0/><0/>\n As you have declined our previous warning, you would need to wait 24 hours before you can proceed further.","-1010875436":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, kindly note that you would need to wait 24 hours before you can proceed further.","-1725418054":"By clicking ‘Accept’ and proceeding with the account opening, you should note that you may be exposing yourself to risks. These risks, which may be significant, include the risk of losing the entire sum invested, and you may not have the knowledge and experience to properly assess or mitigate them.","-1369294608":"Already signed up?","-730377053":"You can’t add another real account","-2100785339":"Invalid inputs","-2061807537":"Something’s not right","-617844567":"An account with your details already exists.","-1534648620":"Your password has been changed","-596199727":"We will now redirect you to the login page.","-310434518":"The email input should not be empty.","-437918412":"No currency assigned to your account","-1193651304":"Country of residence","-707550055":"We need this to make sure our service complies with laws and regulations in your country.","-280139767":"Set residence","-601615681":"Select theme","-1152511291":"Dark","-1428458509":"Light","-1976089791":"Your Deriv account has been unlinked from your {{social_identity_provider}} account. You can now log in to Deriv using your new email address and password.","-505449293":"Enter a new password for your Deriv account.","-1728963310":"Stop creating an account?","-703818088":"Only log in to your account at this secure link, never elsewhere.","-1235799308":"Fake links often contain the word that looks like \"Deriv\" but look out for these differences.","-2102997229":"Examples","-82488190":"I've read the above carefully.","-97775019":"Do not trust and give away your credentials on fake websites, ads or emails.","-2142491494":"OK, got it","-611136817":"Beware of fake links.","-1342699195":"Total profit/loss:","-1941013000":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}, {{legal_entity_name_fx}}, and {{legal_entity_name_v}}.","-594812204":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}.","-813256361":"We are committed to treating our clients fairly and providing them with excellent service.<0/><1/>We would love to hear from you on how we can improve our services to you. Any information you provide will be treated in the strictest confidence. Rest assured that you will be heard, valued, and always treated fairly.","-1622847732":"If you have an inquiry regarding your trading account with {{legal_entity_name}}, you can contact us through our <0>Help centre or by chatting with a representative via <1>Live Chat.<2/><3/>We are committed to resolving your query in the quickest time possible and appreciate your patience in allowing us time to resolve the matter.<4/><5/>We strive to provide the best possible service and support to our customers. However, in the event that we are unable to resolve your query or if you feel that our response is unsatisfactory, we want to hear from you. We welcome and encourage you to submit an official complaint to us so that we can review your concerns and work towards a resolution.","-1406192787":"If you are not satisfied with the outcome, you can escalate your complaint to the <0>Financial Commission.","-2115348800":"1. Introduction","-744009523":"2. Fair treatment","-866831420":"3.1. Submission of a complaint","-1102904026":"3.2. Handling your complaint","-603378979":"3.3. Resolving your complaint","-697569974":"3.4. Your decision","-1280998762":"4. Complaints","-1886635232":"A complaint is any expression of dissatisfaction by a client regarding our products or services that requires a formal response.<0/><1/>If what you submit does not fall within the scope of a complaint, we may reclassify it as a query and forward it to the relevant department for handling. However, if you believe that your query should be classified as a complaint due to its relevance to the investment services provided by {{legal_entity_name}}, you may request that we reclassify it accordingly.","-1771496016":"To submit a complaint, please send an email to <0>complaints@deriv.com, providing as much detail as possible. To help us investigate and resolve your complaint more efficiently, please include the following information:","-1197243525":"<0>•A clear and detailed description of your complaint, including any relevant dates, times, and transactions","-1795134892":"<0>•Any relevant screenshots or supporting documentation that will assist us in understanding the issue","-2053887036":"4.4. Handling your complaint","-717170429":"Once we have received the details of your complaint, we shall review it carefully and keep you updated on the handling process. We might request further information or clarifications to facilitate the resolution of the complaint.","-1841922393":"4.5. Resolving your complaint","-1327119795":"4.6. Your decision","-2019654103":"If we are unable to resolve your complaint or you are not satisfied with the outcome, you can escalate your complaint to the Office of the Arbiter for Financial Services.<0/><1/><2>Filing complaints with the Office of the Arbiter for Financial Services","-687172857":"<0>•You may file a complaint with the Arbiter for Financial Services only if you are not satisfied with our decision or the decision wasn’t made within 15 business days.","-262934706":"<0>•If the complaint is accepted by the Arbiter, you will receive another email with further details relating to the payment of the €25 complaint fee and the processes that follow.","-993572476":"<0>b.The Financial Commission has 5 days to acknowledge that your complaint was received and 14 days to answer the complaint through our Internal Dispute Resolution (IDR) procedure.","-1769159081":"<0>c.You will be able to file a complaint with the Financial Commission only if you are not satisfied with our decision or the decision wasn’t made within 14 days.","-58307244":"3. Determination phase","-356618087":"<0>b.The DRC may request additional information from you or us, who must then provide the requested information within 7 days.","-945718602":"<0>b.If you agree with a DRC decision, you will need to accept it within 14 days. If you do not respond to the DRC decision within 14 days, the complaint is considered closed.","-1500907666":"<0>d.If the decision is made in our favour, you must provide a release for us within 7 days of when the decision is made, and the complaint will be considered closed.","-429248139":"5. Disclaimer","-818926350":"The Financial Commission accepts appeals for 45 days following the date of the incident and only after the trader has tried to resolve the issue with the company directly.","-1825471709":"A whole new trading experience on a powerful yet easy to use platform.","-981017278":"Automated trading at your fingertips. No coding needed.","-583559763":"Menu","-1685795001":"Demo Wallet","-319395348":"Looking for CFDs? Go to Trader’s Hub","-554054753":"Get started","-1364763296":"No need to remember a password","-1274467503":"Sync across devices","-2036288743":"Enhanced security with biometrics or screen lock ","-143216768":"Learn more about passkeys <0> here.","-778309978":"The link you clicked has expired. Ensure to click the link in the latest email in your inbox. Alternatively, enter your email below and click <0>Resend email for a new link.","-2007055538":"Information updated","-521477049":"We are going to update the login process for your Deriv MT5 account. Here is what you need to do when you want to log in via your MT5 mobile app starting from 7 February:","-749864644":"If you have trouble logging into your Deriv MT5 account, please follow this <0>guide.","-238296389":"Need help? Contact us via <0>live chat to assist you with any login questions.","-941870889":"The cashier is for real accounts only","-352838513":"It looks like you don’t have a real {{regulation}} account. To use the cashier, switch to your {{active_real_regulation}} real account, or get an {{regulation}} real account.","-1858915164":"Ready to deposit and trade for real?","-162753510":"Add real account","-1208519001":"You need a real Deriv account to access the cashier.","-715867914":"Successfully deposited","-1271218821":"Account added","-197631101":"Your funds will be available for trading once the verification of your account is complete.","-835056719":"We’ve received your documents","-55435892":"We’ll need 1 - 3 days to review your documents and notify you by email. You can practice with demo accounts in the meantime.","-1916578937":"<0>Explore the exciting new features that your Wallet offers.","-1724438599":"<0>You're almost there!","-1089300025":"We don’t charge deposit fees! Once your account is verified, you will be able to trade, make additional deposits, or withdraw funds.","-476018343":"Live Chat","-1471705969":"<0>{{title}}: {{trade_type_name}} on {{symbol}}","-1771117965":"Trade opened","-1856112961":"The URL you requested isn’t available","-304807228":"<0>You’re not logged in, or<0>Our services are unavailable in your country.","-1567989247":"Submit your proof of identity and address","-523602297":"Forex majors","-1303090739":"Up to 1:1500","-19213603":"Metals","-1264604378":"Up to 1:1000","-1728334460":"Up to 1:300","-646902589":"(US_30, US_100, US_500)","-705682181":"Malta","-1835174654":"1:30","-1647612934":"Spreads from","-1587894214":"about verifications needed.","-466784048":"Regulator/EDR","-2098459063":"British Virgin Islands","-1005069157":"Synthetic indices, basket indices, and derived FX","-1344709651":"40+","-1326848138":"British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114)","-1711743223":"Forex (standard/micro), stocks, stock indices, commodities, cryptocurrencies and ETFs","-1372141447":"Straight-through processing","-1969608084":"Forex and Cryptocurrencies","-800771713":"Labuan Financial Services Authority (licence no. MB/18/0024)","-1497128311":"80+","-1689815930":"You will need to submit proof of identity and address once you reach certain thresholds.","-1175785439":"Deriv (SVG) LLC (company no. 273 LLC 2020)","-139026353":"A selfie of yourself.","-1228847561":"Verification in review.","-618322245":"Verification successful.","-149461870":"Forex: standard/exotic","-1995163270":"ETFs","-651501076":"Derived - SVG","-865172869":"Financial - BVI","-1851765767":"Financial - Vanuatu","-558597854":"Financial - Labuan","-2052425142":"Swap-Free - SVG","-1192904361":"Deriv X Demo","-283929334":"Deriv cTrader Demo","-1269597956":"MT5 Platform","-1302404116":"Maximum leverage","-239789243":"(License no. SIBA/L/18/1114)","-941636117":"MetaTrader 5 Linux app","-1434036215":"Demo Financial","-1416247163":"Financial STP","-1637969571":"Demo Swap-Free","-1882063886":"Demo CFDs","-1347908717":"Demo Financial SVG","-1780324582":"SVG","-860609405":"Password","-742647506":"Fund transfer","-712681566":"Peer-to-peer exchange","-1267880283":"{{field_name}} is required","-2084509650":"{{field_name}} is not properly formatted.","-790488576":"Forgot password?","-476558960":"If you don’t have open positions","-1385484963":"Confirm to change your {{platform}} password","-1990902270":"This will change the password to all of your {{platform}} accounts.","-12535938":"*Volatility 250 Index, Volatility 150 Index, Boom 300 and Crash 300 Index","-201485855":"Up to","-700260448":"demo","-1769158315":"real","-1922462747":"Trader's hub","-16858060":"You have a new Deriv MT5 password to log in to your Deriv MT5 accounts on the web and mobile apps.","-1868608634":"Current password","-2092058806":"8 to 16 characters","-2051033705":"A special character such as ( _ @ ? ! / # )","-1762249687":"A lowercase letter","-535365199":"Enter your {{platform}} password to add a {{platform_name}} {{account}} account.","-184453418":"Enter your {{platform}} password","-393388362":"We’re reviewing your documents. This should take about 1 to 3 days.","-2057918502":"Hint: You may have entered your Deriv password, which is different from your {{platform}} password.","-267598687":"Congratulations, you have successfully created your <0/>{{category}} {{platform}} {{type}} account. To start trading, <1 />transfer funds <2 />from your Deriv account into this account.","-1475660820":"Your Deriv MT5 {{type}} account is ready. ","-1710177700":"Your demo {{type}} account is ready.","-1184248732":"Congratulations, you have successfully created your <0/>{{category}} {{platform}} {{type}} account. ","-1928229820":"Reset Deriv X investor password","-1969916895":"Your password must contain between 8-16 characters that include uppercase and lowercase letters, and at least one number and special character ( _ @ ? ! / # ).","-1087845020":"main","-1950683866":"investor","-1874242353":"Fund top up","-89838213":"You can top up your demo account with an additional <0> if your balance is <1> or less.","-1211122723":"{{ platform }} {{ account_title }} account","-78895143":"Current balance","-149993085":"New current balance","-1615126227":"Manage up to {{max_count}} Deriv cTrader accounts. While you can convert any of your Deriv cTrader accounts into a strategy account, please take note of the following:","-1547739386":"To ensure you can always create and manage strategies with fees, <0>keep at least one account free from being a strategy provider. This way, you’ll always have an account ready for collecting fees, allowing you to have up to four strategies where you may impose fees.","-2145356061":"Download Deriv X on your phone to trade with the Deriv X account","-1547458328":"Run cTrader on your browser","-747382643":"Get another cTrader account","-1986258847":"Server maintenance starts at 01:00 GMT every Sunday, and this process may take up to 2 hours to complete. Service may be disrupted during this time.","-499504077":"Choose a cTrader account to transfer","-251202291":"Broker","-678964540":"to","-206829624":"(1:x)","-616293830":"Enjoy dynamic leverage of <0>up to 1:1500 when trading selected instruments in the forex, commodities, cryptocurrencies, and stock indices markets. Our dynamic leverage adjusts automatically to your trading position, based on asset type and trading volume.","-2042845290":"Your investor password has been changed.","-1882295407":"Your password has been changed.","-254497873":"Use this password to grant viewing access to another user. While they may view your trading account, they will not be able to trade or take any other actions.","-161656683":"Current investor password","-374736923":"New investor password","-1793894323":"Create or reset investor password","-21438174":"Add your Deriv cTrader account under Deriv (SVG) LLC (company no. 273 LLC 2020).","-2026018074":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (SVG) LLC (company no. 273 LLC 2020).","-162320753":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (BVI) Ltd, regulated by the British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114).","-271828350":"Get more out of Deriv MT5 Financial","-2125860351":"Choose a jurisdiction for your Deriv MT5 CFDs account","-1460321521":"Choose a jurisdiction for your {{account_type}} account","-637537305":"Download {{ platform }} on your phone to trade with the {{ platform }} {{ account }} account","-964130856":"{{existing_account_title}}","-879259635":"Enter your Deriv MT5 password to upgrade your account(s).","-1504907646":"Deriv MT5 password","-361998267":"We've introduced additional password requirements to increase your account security. Your password should:","-996995493":"Be between 8 to 16 characters.","-219163415":"Contain at least one special character.","-1446636186":"By clicking on <0>Next you agree to move your {{platform}} {{type_1}} and {{type_2}} {{from_account}} account(s) under Deriv {{account_to_migrate}} Ltd’s <1>terms and conditions.","-1766387013":"Upgrade your MT5 account(s)","-990927225":"Enter your Deriv MT5 password","-1486399361":"Trade with MT5 mobile app","-301350824":"Note: Don't have the MT5 app? Tap the <0>Trade with MT5 mobile app button to download. Once you have\n installed the app, return to this screen and hit the same button to log in.","-648956272":"Use this password to log in to your Deriv X accounts on the web and mobile apps.","-1814308691":"Please click on the link in the email to change your {{platform}} password.","-2015785957":"Compare CFDs {{demo_title}} accounts","-81650212":"MetaTrader 5 web","-508045656":"Coming soon on IOS","-601303096":"Scan the QR code to download Deriv {{ platform }}.","-1357917360":"Web terminal","-1282933308":"Not {{barrier}}","-968190634":"Equals {{barrier}}","-1747377543":"Under {{barrier}}","-1386326276":"Barrier is a required field.","-1418742026":"Higher barrier must be higher than lower barrier.","-92007689":"Lower barrier must be lower than higher barrier.","-1095538960":"Please enter the start time in the format \"HH:MM\".","-1975910372":"Minute must be between 0 and 59.","-866277689":"Expiry time cannot be in the past.","-1455298001":"Now","-256210543":"Trading is unavailable at this time.","-1150099396":"We’re working to have this available for you soon. If you have another account, switch to that account to continue trading. You may add a Deriv MT5 Financial.","-28115241":"{{platform_name_trader}} is not available for this account","-453920758":"Go to {{platform_name_mt5}} dashboard","-402175529":"History","-1013917510":"The reset time is {{ reset_time }}","-925402280":"Indicative low spot","-1075414250":"High spot","-902712434":"Deal cancellation","-988484646":"Deal cancellation (executed)","-444882676":"Deal cancellation (active)","-13423018":"Reference ID","-1371082433":"Reset barrier","-1402197933":"Reset time","-2035315547":"Low barrier","-1745835713":"Selected tick","-1551639437":"No history","-1214703885":"You have yet to update either take profit or stop loss","-504849554":"It will reopen at","-59803288":"In the meantime, try our synthetic indices. They simulate real-market volatility and are open 24/7.","-1278109940":"See open markets","-694105443":"This market is closed","-104603605":"You cannot trade as your documents are still under review. We will notify you by email once your verification is approved.","-439389714":"We’re working on it","-770929448":"Go to {{platform_name_smarttrader}}","-347156282":"Submit Proof","-138538812":"Log in or create a free account to place a trade.","-2036388794":"Create free account","-1813736037":"No further trading is allowed on this contract type for the current trading session. For more info, refer to our <0>terms and conditions.","-1043795232":"Recent positions","-153220091":"{{display_value}} Tick","-802374032":"Hour","-1052279158":"Your <0>payout is the sum of your initial stake and profit.","-1819891401":"You can close your trade anytime. However, be aware of <0>slippage risk.","-231957809":"Win maximum payout if the exit spot is higher than or equal to the upper barrier.","-464144986":"Win maximum payout if the exit spot is lower than or equal to the lower barrier.","-1031456093":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between upper barrier and exit spot.","-968162707":"No payout if exit spot is above or equal to the upper barrier.","-2089488446":"If you select \"Ends Between\", you win the payout if the exit spot is strictly higher than the Low barrier AND strictly lower than the High barrier.","-1876950330":"If you select \"Ends Outside\", you win the payout if the exit spot is EITHER strictly higher than the High barrier, OR strictly lower than the Low barrier.","-546460677":"If the exit spot is equal to either the Low barrier or the High barrier, you don't win the payout.","-1929209278":"If you select \"Even\", you will win the payout if the last digit of the last tick is an even number (i.e., 2, 4, 6, 8, or 0).","-2038865615":"If you select \"Odd\", you will win the payout if the last digit of the last tick is an odd number (i.e., 1, 3, 5, 7, or 9).","-1959473569":"If you select \"Lower\", you win the payout if the exit spot is strictly lower than the barrier.","-1350745673":"If the exit spot is equal to the barrier, you don't win the payout.","-93996528":"By purchasing the \"Close-to-Low\" contract, you'll win the multiplier times the difference between the close and low over the duration of the contract.","-420387848":"The high is the highest point ever reached by the market during the contract period.","-1722190480":"By purchasing the \"High-to-Low\" contract, you'll win the multiplier times the difference between the high and low over the duration of the contract.","-1281286610":"If you select \"Matches\", you will win the payout if the last digit of the last tick is the same as your prediction.","-618782785":"Use multipliers to leverage your potential returns. Predict if the asset price will move upward (bullish) or downward (bearish). We’ll charge a commission when you open a multipliers trade.","-565391674":"If you select \"<0>Up\", your total profit/loss will be the percentage increase in the underlying asset price, times the multiplier and stake, minus commissions.","-1113825265":"Additional features are available to manage your positions: “<0>Take profit” and “<0>Stop loss” allow you to adjust your level of risk aversion.","-1104397398":"Additional features are available to manage your positions: “<0>Take profit”, “<0>Stop loss” and “<0>Deal cancellation” allow you to adjust your level of risk aversion.","-1272255095":"If the exit spot is equal to the barrier or the new barrier (if a reset occurs), you don't win the payout.","-1392065699":"If you select \"Rise\", you win the payout if the exit spot is strictly higher than the entry spot.","-1762566006":"If you select \"Fall\", you win the payout if the exit spot is strictly lower than the entry spot.","-1435306976":"If you select \"Allow equals\", you win the payout if exit spot is higher than or equal to entry spot for \"Rise\". Similarly, you win the payout if exit spot is lower than or equal to entry spot for \"Fall\".","-1812957362":"If you select \"Stays Between\", you win the payout if the market stays between (does not touch) either the High barrier or the Low barrier at any time during the contract period","-220379757":"If you select \"Goes Outside\", you win the payout if the market touches either the High barrier or the Low barrier at any time during the contract period.","-299450697":"If you select \"High Tick\", you win the payout if the selected tick is the highest among the next five ticks.","-1416078023":"If you select \"Touch\", you win the payout if the market touches the barrier at any time during the contract period.","-1565216130":"If you select <0>\"Up\", you’ll earn a payout if the spot price never drops below the barrier.","-1336860323":"If you select <0>\"Down\", you’ll earn a payout if the spot price never rises above the barrier.","-1547935605":"Your payout is equal to the <0>payout per point multiplied by the difference between the <0>final price and the barrier. You will only earn a profit if your payout is higher than your initial stake.","-1307465836":"You may sell the contract up to 15 seconds before expiry. If you do, we’ll pay you the <0>contract value.","-351875097":"Number of ticks","-729830082":"View less","-1649593758":"Trade info","-1382749084":"Go back to trading","-1239477911":"second","-1585766960":"min","-1652791614":"mins","-1977959027":"hours","-442488432":"day","-337314714":"days","-1435392215":"About deal cancellation","-2017825013":"Got it","-1192773792":"Don't show this again","-1341681145":"When this is active, you can cancel your trade within the chosen time frame. Your stake will be returned without loss.","-471757681":"Risk management","-843831637":"Stop loss","-771725194":"Deal Cancellation","-1669741470":"The payout at expiry is equal to the payout per point multiplied by the difference between the final price and the strike price.","-993480898":"Accumulators","-2131851017":"Growth rate","-1422269966":"You can choose a growth rate with values of 1%, 2%, 3%, 4%, and 5%.","-1186791513":"Payout is the sum of your initial stake and profit.","-1682624802":"It is a percentage of the previous spot price. The percentage rate is based on your choice of the index and the growth rate.","-1186082278":"Your payout is equal to the payout per point multiplied by the difference between the final price and barrier.","-584445859":"This is when your contract will expire based on the duration or end time you’ve selected. If the duration is more than 24 hours, the cut-off time and expiry date will apply instead.","-1221049974":"Final price","-1247327943":"This is the spot price of the last tick at expiry.","-1890561510":"Cut-off time","-878534036":"If you select \"Call\", you’ll earn a payout if the final price is above the strike price at expiry. Otherwise, you won’t receive a payout.","-1587076792":"If you select \"Put\", you’ll earn a payout if the final price is below the strike price at expiry. Otherwise, you won’t receive a payout.","-1482134885":"We calculate this based on the strike price and duration you’ve selected.","-565990678":"Your contract will expire on this date (in GMT), based on the End time you’ve selected.","-1545819495":"Your trade will be closed automatically at the nearest available asset price when your loss reaches a certain percentage of your stake, but your loss never exceeds your stake. This percentage depends on the chosen underlying asset and the Multiplier.","-468501352":"If you select this feature, your trade will be closed automatically at the nearest available asset price when your profit reaches or exceeds the take profit amount. Your profit may be more than the amount you entered depending on the market price at closing.","-477936848":"We use next-tick-execution mechanism, which is the next asset price when the trade opening is processed by our servers.","-1476381873":"The latest asset price when the trade closure is processed by our servers.","-148680560":"Spot price of the last tick upon reaching expiry.","-1123926839":"Contracts will expire at exactly 14:00:00 GMT on your selected expiry date.","-1904828224":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price, duration, etc. However, we won’t offer a contract value if the remaining duration is below 24 hours.","-127118348":"Choose {{contract_type}}","-543478618":"Try checking your spelling or use a different term","-338707425":"Minimum duration is 1 day","-1003473648":"Duration: {{duration}} day","-700280380":"Deal cancel. fee","-8998663":"Digit: {{last_digit}} ","-718750246":"Your stake will grow at {{growth_rate}}% per tick as long as the current spot price remains within ±{{tick_size_barrier_percentage}} from the previous spot price.","-1358367903":"Stake","-542594338":"Max. payout","-690963898":"Your contract will be automatically closed when your payout reaches this amount.","-511541916":"Your contract will be automatically closed upon reaching this number of ticks.","-438655760":"<0>Note: You can close your trade anytime. Be aware of slippage risk.","-774638412":"Stake must be between {{min_stake}} {{currency}} and {{max_stake}} {{currency}}","-434270664":"Current Price","-1956787775":"Barrier Price:","-1513281069":"Barrier 2","-390994177":"Should be between {{min}} and {{max}}","-1231210510":"Tick","-2055106024":"Toggle between advanced and simple duration settings","-1012793015":"End time","-1804019534":"Expiry: {{date}}","-2037881712":"Your contract will be closed automatically at the next available asset price on <0>.","-629549519":"Commission <0/>","-2131859340":"Stop out <0/>","-1686280757":"<0>{{commission_percentage}}% of (<1/> * {{multiplier}})","-732683018":"When your profit reaches or exceeds this amount, your trade will be closed automatically.","-339236213":"Multiplier","-1763848396":"Put","-194424366":"above","-857660728":"Strike Prices","-1346404690":"You receive a payout at expiry if the spot price never touches or breaches the barrier throughout the contract duration. Otherwise, your contract will be terminated early.","-1572548510":"Ups & Downs","-71301554":"Ins & Outs","-952298801":"Look Backs","-763273340":"Digits","-2002533437":"Custom function","-215053350":"with:","-1257232389":"Specify a parameter name:","-1885742588":"with: ","-188442606":"function {{ function_name }} {{ function_params }} {{ dummy }}","-313112159":"This block is similar to the one above, except that this returns a value. The returned value can be assigned to a variable of your choice.","-1783320173":"Prematurely returns a value within a function","-1485521724":"Conditional return","-1482801393":"return","-46453136":"get","-1838027177":"first","-1182568049":"Get list item","-1675454867":"This block gives you the value of a specific item in a list, given the position of the item. It can also remove the item from the list.","-381501912":"This block creates a list of items from an existing list, using specific item positions.","-426766796":"Get sub-list","-1679267387":"in list {{ input_list }} find {{ first_or_last }} occurence of item {{ input_value }}","-2087996855":"This block gives you the position of an item in a given list.","-422008824":"Checks if a given list is empty","-1343887675":"This block checks if a given list is empty. It returns “True” if the list is empty, “False” if otherwise.","-1548407578":"length of {{ input_list }}","-1786976254":"This block gives you the total number of items in a given list.","-2113424060":"create list with item {{ input_item }} repeated {{ number }} times","-1955149944":"Repeat an item","-434887204":"set","-197957473":"as","-851591741":"Set list item","-1874774866":"ascending","-1457178757":"Sorts the items in a given list","-350986785":"Sort list","-324118987":"make text from list","-155065324":"This block creates a list from a given string of text, splitting it with the given delimiter. It can also join items in a list into a string of text.","-459051222":"Create list from text","-977241741":"List Statement","-451425933":"{{ break_or_continue }} of loop","-323735484":"continue with next iteration","-1592513697":"Break out/continue","-713658317":"for each item {{ variable }} in list {{ input_list }}","-1825658540":"Iterates through a given list","-952264826":"repeat {{ number }} times","-887757135":"Repeat (2)","-1608672233":"This block is similar to the block above, except that the number of times it repeats is determined by a given variable.","-533154446":"Repeat (1)","-1059826179":"while","-1893063293":"until","-279445533":"Repeat While/Until","-1003706492":"User-defined variable","-359097473":"set {{ variable }} to {{ value }}","-1588521055":"Sets variable value","-980448436":"Set variable","-1538570345":"Get the last trade information and result, then trade again.","-222725327":"Here is where you can decide if your bot should continue trading.","-1638446329":"Result is {{ win_or_loss }}","-1968029988":"Last trade result","-1588406981":"You can check the result of the last trade with this block.","-1459154781":"Contract Details: {{ contract_detail }}","-1652241017":"Reads a selected property from contract details list","-985351204":"Trade again","-2082345383":"These blocks transfer control to the Purchase conditions block.","-172574065":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract.","-403103225":"restart","-837044282":"Ask Price {{ contract_type }}","-1033917049":"This block returns the purchase price for the selected trade type.","-1863737684":"2. Purchase conditions","-228133740":"Specify contract type and purchase conditions.","-1098726473":"This block is mandatory. Only one copy of this block is allowed. You can place the Purchase block (see below) here as well as conditional blocks to define your purchase conditions.","-1777988407":"Payout {{ contract_type }}","-511116341":"This block returns the potential payout for the selected trade type","-1943211857":"Potential payout","-1738427539":"Purchase","-813464969":"buy","-53668380":"True if active contract can be sold before expiration at current market price","-43337012":"Sell profit/loss","-2112866691":"Returns the profit/loss from selling at market price","-2132417588":"This block gives you the potential profit or loss if you decide to sell your contract.","-1360483055":"set {{ variable }} to Bollinger Bands {{ band_type }} {{ dummy }}","-20542296":"Calculates Bollinger Bands (BB) from a list with a period","-1951109427":"Bollinger Bands (BB)","-857226052":"BB is a technical analysis indicator that’s commonly used by traders. The idea behind BB is that the market price stays within the upper and lower bands for 95% of the time. The bands are the standard deviations of the market price, while the line in the middle is a simple moving average line. If the price reaches either the upper or lower band, there’s a possibility of a trend reversal.","-325196350":"set {{ variable }} to Bollinger Bands Array {{ band_type }} {{ dummy }}","-199689794":"Similar to BB. This block gives you a choice of returning the values of either the lower band, higher band, or the SMA line in the middle.","-920690791":"Calculates Exponential Moving Average (EMA) from a list with a period","-960641587":"EMA is a type of moving average that places more significance on the most recent data points. It’s also known as the exponentially weighted moving average. EMA is different from SMA in that it reacts more significantly to recent price changes.","-1557584784":"set {{ variable }} to Exponential Moving Average Array {{ dummy }}","-32333344":"Calculates Moving Average Convergence Divergence (MACD) from a list","-628573413":"MACD is calculated by subtracting the long-term EMA (26 periods) from the short-term EMA (12 periods). If the short-term EMA is greater or lower than the long-term EMA than there’s a possibility of a trend reversal.","-1133676960":"Fast EMA Period {{ input_number }}","-883166598":"Period {{ input_period }}","-450311772":"set {{ variable }} to Relative Strength Index {{ dummy }}","-1861493523":"Calculates Relative Strength Index (RSI) list from a list of values with a period","-880048629":"Calculates Simple Moving Average (SMA) from a list with a period","-1150972084":"Market direction","-276935417":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of “True” or “False”.","-764931948":"in candle list get # from end {{ input_number }}","-924607337":"Returns the last digit of the latest tick","-560033550":"Returns the list of last digits of 1000 recent tick values","-74062476":"Make a List of {{ candle_property }} values in candles list with interval: {{ candle_interval_type }}","-1556495906":"Returns a list of specific values from a candle list according to selected time interval","-166816850":"Create a list of candle values (1)","-1261436901":"Candles List","-1174859923":"Read the selected candle value","-1972165119":"Read candle value (1)","-1956100732":"You can use this block to analyze the ticks, regardless of your trades","-443243232":"The content of this block is called on every tick. Place this block outside of any root block.","-641399277":"Last Tick","-1628954567":"Returns the value of the last tick","-1332756793":"This block gives you the value of the last tick.","-2134440920":"Last Tick String","-1466340125":"Tick value","-467913286":"Tick value Description","-785831237":"This block gives you a list of the last 1000 tick values.","-1546430304":"Tick List String Description","-1788626968":"Returns \"True\" if the given candle is black","-436010611":"Make a list of {{ candle_property }} values from candles list {{ candle_list }}","-1384340453":"Returns a list of specific values from a given candle list","-584859539":"Create a list of candle values (2)","-2010558323":"Read {{ candle_property }} value in candle {{ input_candle }}","-2846417":"This block gives you the selected candle value.","-1587644990":"Read candle value (2)","-1202212732":"This block returns account balance","-1737837036":"Account balance","-1963883840":"Put your blocks in here to prevent them from being removed","-1284013334":"Use this block if you want some instructions to be ignored when your bot runs. Instructions within this block won’t be executed.","-1217253851":"Log","-1987568069":"Warn","-104925654":"Console","-1956819233":"This block displays messages in the developer's console with an input that can be either a string of text, a number, boolean, or an array of data.","-1450461842":"Load block from URL: {{ input_url }}","-1088614441":"Loads blocks from URL","-1747943728":"Loads from URL","-2105753391":"Notify Telegram {{ dummy }} Access Token: {{ input_access_token }} Chat ID: {{ input_chat_id }} Message: {{ input_message }}","-1008209188":"Sends a message to Telegram","-1218671372":"Displays a notification and optionally play selected sound","-2099284639":"This block gives you the total profit/loss of your trading strategy since your bot started running. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-683825404":"Total Profit String","-718220730":"Total Profit String Description","-1861858493":"Number of runs","-264195345":"Returns the number of runs","-303451917":"This block gives you the total number of times your bot has run. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-2132861129":"Conversion Helper Block","-74095551":"Seconds Since Epoch","-15528039":"Returns the number of seconds since January 1st, 1970","-729807788":"This block returns the number of seconds since January 1st, 1970.","-1370107306":"{{ dummy }} {{ stack_input }} Run after {{ number }} second(s)","-558838192":"Delayed run","-1975250999":"This block converts the number of seconds since the Unix Epoch (1 January 1970) into a string of text representing the date and time.","-702370957":"Convert to date/time","-982729677":"Convert to timestamp","-311268215":"This block converts a string of text that represents the date and time into seconds since the Unix Epoch (1 January 1970). The time and time zone offset are optional. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825.","-1797602591":"Stop Loss: {{ currency }} {{ stop_loss }}","-1374685318":"Your contract is closed automatically when your loss is more than or equals to this amount. This block can only be used with the multipliers trade type.","-1214929127":"Stop loss must be a positive number.","-780745489":"If the contract type is “Both”, then the Purchase Conditions should include both Rise and Fall using the “Conditional Block\"","-2142851225":"Multiplier trade options","-625636913":"Amount must be a positive number.","-1466383897":"Duration: {{ duration_unit }} {{ duration_value }}","-440702280":"Trade options","-1193894978":"Define your trade options such as duration and stake. Some options are only applicable for certain trade types.","-46523443":"Duration value is not allowed. To run the bot, please enter a value between {{min}} to {{max}}.","-1483427522":"Trade Type: {{ trade_type_category }} > {{ trade_type }}","-323348124":"1. Trade parameters","-1671903503":"Run once at start:","-783173909":"Trade options:","-376956832":"Here is where you define the parameters of your contract.","-1244007240":"if {{ condition }} then","-1577206704":"else if","-33796979":"true","-1434883449":"This is a single block that returns a boolean value, either true or false.","-1946404450":"Compares two values","-979918560":"This block converts the boolean value (true or false) to its opposite.","-2047257743":"Null","-1274387519":"Performs selected logic operation","-766386234":"This block performs the \"AND\" or the \"OR\" logic operation.","-790995537":"test {{ condition }}","-1860211657":"if false {{ return_value }}","-1643760249":"This block tests if a given value is true or false and returns “True” or “False” accordingly.","-1551875333":"Test value","-52486882":"Arithmetical operations","-1010436425":"This block adds the given number to the selected variable","-999773703":"Change variable","-1272091683":"Mathematical constants","-1396629894":"constrain {{ number }} low {{ low_number }} high {{ high_number }}","-425224412":"This block constrains a given number so that it is within a set range.","-2072551067":"Constrain within a range","-43523220":"remainder of {{ number1 }} ÷ {{ number2 }}","-1291857083":"Returns the remainder after a division","-592154850":"Remainder after division","-736665095":"Returns the remainder after the division of the given numbers.","-1266992960":"Math Number Description","-77191651":"{{ number }} is {{ type }}","-817881230":"even","-142319891":"odd","-1000789681":"whole","-1735674752":"Test a number","-1017805068":"This block tests a given number according to the selection and it returns a value of “True” or “False”. Available options: Even, Odd, Prime, Whole, Positive, Negative, Divisible","-1858332062":"Number","-1053492479":"Enter an integer or fractional number into this block. Please use `.` as a decimal separator for fractional numbers.","-927097011":"sum","-1653202295":"max","-1555878023":"average","-1748351061":"mode","-992067330":"Aggregate operations","-1691561447":"This block gives you a random fraction between 0.0 to 1.0","-523625686":"Random fraction number","-933024508":"Rounds a given number to an integer","-1656927862":"This block rounds a given number according to the selection: round, round up, round down.","-1495304618":"absolute","-61210477":"Operations on a given number","-181644914":"This block performs the selected operations to a given number.","-840732999":"to {{ variable }} append text {{ input_text }}","-1469497908":"Appends a given text to a variable","-1851366276":"Text Append","-1666316828":"Appends a given text to a variable.","-1902332770":"Transform {{ input_text }} to {{ transform_type }}","-1489004405":"Title Case","-904432685":"Changes text case accordingly","-882381096":"letter #","-1027605069":"letter # from end","-2066990284":"random letter","-337089610":"in text {{ input_text1 }} find {{ first_or_last }} occurence of text {{ input_text2 }}","-1966694141":"Searches through a string of text for a specific occurrence of a given character or word, and returns the position.","-697543841":"Text join","-141160667":"length of {{ input_text }}","-1133072029":"Text String Length","-1109723338":"print {{ input_text }}","-736668830":"Print","-1631669591":"string","-1768939692":"number","-1821552998":"trim spaces from {{ side }} of {{ input_text }}","-801766026":"right side","-474779821":"Trims spaces","-1687036846":"Download block","-1266781295":"Expand","-894560707":"function","-1867119688":"Duplicate","-610728049":"Rearrange Vertically","-2033146714":"Collapse All Blocks","-958601558":"Delete Block","-1193267384":"Detach Block","-1750478127":"New variable name","-1061878051":"Y","-2047029150":"Unable to load the block file.","-1410769167":"Target must be an XML file","-609157479":"This URL is already loaded","-241945454":"Proposals are not ready","-1087890592":"Maximum loss amount reached","-1030545878":"You are rate limited for: {{ message_type }}, retrying in {{ delay }}s (ID: {{ request }})","-490766438":"You are disconnected, retrying in {{ delay }}s","-1389975609":"unknown","-1900515692":"Duration must be a positive integer","-245297595":"Please login","-1445046468":"Given candle is not valid","-1891622945":"{{hourPast}}h ago","-1919680487":"workspace","-1703118772":"The {{block_type}} block is misplaced from {{missing_space}}.","-1785726890":"purchase conditions","-461955353":"purchase price","-172348735":"profit","-1624674721":"contract type","-1644154369":"entry spot time","-510792478":"entry spot price","-1974651308":"exit spot time","-1600267387":"exit spot price","-514917720":"barrier","-1072292603":"No Change","-795152863":"green","-1640576332":"blue","-804983649":"yellow","-94281841":"red","-1242470654":"Earned money","-841561409":"Put Spread","-1429914047":"Low","-1893628957":"Open Time","-1896106455":"10 minutes","-999492762":"15 minutes","-1978767852":"30 minutes","-293628675":"1 hour","-385604445":"2 hours","-1965813351":"4 hours","-525321833":"1 day","-1691868913":"Touch/No Touch","-151151292":"Asians","-1048378719":"Reset Call/Reset Put","-1282312809":"High/Low Ticks","-1237186896":"Only Ups/Only Downs","-529846150":"Seconds","-1635771697":"middle","-1529389221":"Histogram","-1819860668":"MACD","-1750896349":"D'Alembert","-102980621":"The Oscar's Grind Strategy is a low-risk positive progression strategy that first appeared in 1965. By using this strategy, the size of your contract will increase after successful trades, but remains unchanged after unsuccessful trades.","-462715374":"Untitled Bot","-280147477":"All transactions","-137444201":"Buy","-130601012":"Please select duration","-232254547":"Custom","-1577570698":"Start date","-1251526905":"Last 7 days","-1904030160":"Transaction performed by (App ID: {{app_id}})","-1876891031":"Currency","-513103225":"Transaction time","-2066666313":"Credit/Debit","-1981004241":"Sell time","-1196431745":"Contract cost","-3423966":"Take profit<0 />Stop loss","-1131753095":"The {{trade_type_name}} contract details aren't currently available. We're working on making them available soon.","-360975483":"You've made no transactions of this type during this period.","-1226595254":"Turbos","-922253974":"Rise/Fall","-1361254291":"Higher/Lower","-335816381":"Ends In/Ends Out","-1789807039":"Asian Up/Asian Down","-330437517":"Matches/Differs","-657360193":"Over/Under","-558031309":"High Tick/Low Tick","-123659792":"Vanillas","-447037544":"Buy price:","-737348236":"Contract cost:","-1694314813":"Contract value:","-113940416":"Current stake:","-1999539705":"Deal cancel. fee:","-155989831":"Decrement value","-338379841":"Indicative price:","-2027409966":"Initial stake:","-1769852749":"N/A","-726626679":"Potential profit/loss:","-1511825574":"Profit/Loss:","-1167474366":"Tick ","-1669418686":"AUD/CAD","-1548588249":"AUD/CHF","-1552890620":"AUD/JPY","-681231560":"AUD/PLN","-64938413":"AUD/USD","-1430522808":"EUR/AUD","-2020477069":"EUR/CAD","-1201853162":"EUR/CHF","-1318070255":"EUR/GBP","-1197505739":"EUR/JPY","-405907358":"EUR/USD","-1536293064":"NZD/JPY","-79700881":"NZD/USD","-642323838":"USD/CAD","-428199705":"USD/CHF","-424108348":"USD/JPY","-548255282":"USD/NOK","-1834131208":"USD/PLN","-524302516":"Silver/USD","-764731776":"Platinum/USD","-853582174":"France 40","-1096386695":"UK 100","-617646862":"Germany 40","-2077690248":"Japan 225","-512194910":"US Tech 100","-381746202":"US 500","-1935463381":"Swiss 20","-1941767726":"Euro 50","-1925264914":"Volatility 25 Index","-708579504":"Volatility 50 Index","-975255670":"Volatility 75 Index","-1736314513":"Crash 300 Index","-342128411":"Crash 500 Index","-9704319":"Crash 1000 Index","-465860988":"Bull Market Index","-390528194":"Step Index","-280323742":"EUR Basket","-563812039":"Volatility 10 (1s) Index","-82971929":"Volatility 25 (1s) Index","-433962508":"Volatility 75 (1s) Index","-764111252":"Volatility 100 (1s) Index","-816110209":"Volatility 150 (1s) Index","-1374309449":"Volatility 200 (1s) Index","-1288044380":"Volatility 250 (1s) Index","-1164978320":"Jump 10 Index","-575272887":"BCH/USD","-295406873":"BTC/ETH","-1713556301":"ZMR/USD","-2046638412":"XRP/USD","-1263203461":"BTC/USD","-1112522776":"DSH/USD","-460689370":"LTC/USD","-132112961":"Sharkfin","-1715390759":"I want to do this later","-56163366":"I don't have any of these","-175164838":"{{seconds_passed}}s ago","-514136557":"{{minutes_passed}}m ago","-1420737287":"{{hours_passed}}h ago","-2092611555":"Sorry, this app is unavailable in your current location.","-1488537825":"If you have an account, log in to continue.","-1603581277":"minutes","-886317740":"The <0>date of birth on your identity document doesn't match your profile.","-1606307809":"We were unable to verify the identity document with the details provided.","-475787720":"The verification status was empty, rejected for lack of information.","-1627868670":"Your identity document has expired.","-1302288704":"The document’s owner is deceased.","-895884696":"The <0>name and <0>date of birth on your identity document don't match your profile.","-1231856133":"The verification status is not available, provider says: Needs Technical Investigation.","-433687715":"For enhanced security, we need to reverify your identity. Kindly resubmit your proof of identity to unlock your account.","-1637538521":"Your document appears to be invalid.","-876579004":"The name on your document doesn’t match your profile.","-746520172":"Some details on your document appear to be invalid, missing, or unclear.","-2146200521":"The serial number of your document couldn’t be verified.","-1945323197":"Your document appears to be in black and white. Please upload a colour photo of your document.","-631393256":"Your document contains markings or text that should not be on your document.","-609103016":"The image quality of your document is too low. Please provide a hi-res photo of your identity document.","-530935718":"We’re unable to verify the document you provided because some details appear to be missing. Please try again or provide another document.","-1027031626":"We’re unable to verify the document you provided because it appears to be damaged. Please try again or upload another document.","-1671621833":"The front of your document appears to be missing. Please provide both sides of your identity document.","-727588232":"Your document appears to be a scanned copy that contains markings or text that shouldn’t be on your document.","-1435064387":"Your document appears to be a printed copy.","-624316211":"Your document appears to be a photo of a device screen.","-1714959941":"This chart display is not ideal for tick contracts","-1254554534":"Please change the chart duration to tick for a better trading experience.","-1658230823":"Contract was sold for <0 />.","-1905867404":"Contract cancelled"} \ No newline at end of file diff --git a/packages/translations/src/translations/ach.json b/packages/translations/src/translations/ach.json index 807e0073c597..f41e39e93c72 100644 --- a/packages/translations/src/translations/ach.json +++ b/packages/translations/src/translations/ach.json @@ -2718,7 +2718,7 @@ "-2146691203": "crwdns1719525:0crwdne1719525:0", "-249184528": "crwdns1719527:0crwdne1719527:0", "-1505234170": "crwdns1925319:0crwdne1925319:0", - "-1901718278": "crwdns5285642:0crwdne5285642:0", + "-1265635180": "crwdns5287252:0crwdne5287252:0", "-1870909526": "crwdns160420:0crwdne160420:0", "-582721696": "crwdns169119:0{{format_min_withdraw_amount}}crwdnd169119:0{{format_max_withdraw_amount}}crwdnd169119:0{{currency}}crwdne169119:0", "-1975494965": "crwdns81493:0crwdne81493:0", diff --git a/packages/translations/src/translations/ar.json b/packages/translations/src/translations/ar.json index 3c1ebf651d02..18df18ed2c27 100644 --- a/packages/translations/src/translations/ar.json +++ b/packages/translations/src/translations/ar.json @@ -2718,7 +2718,7 @@ "-2146691203": "اختيار التنظيم", "-249184528": "يمكنك إنشاء حسابات حقيقية بموجب لوائح الاتحاد الأوروبي أو خارج الاتحاد الأوروبي. انقر فوق <0><0/>الرمز لمعرفة المزيد حول هذه الحسابات.", "-1505234170": "جولة Trader's Hub", - "-1901718278": "المنتجات المعروضة على موقعنا هي منتجات مشتقة معقدة تنطوي على مخاطر كبيرة للخسارة المحتملة. العقود مقابل الفروقات هي أدوات معقدة تنطوي على مخاطر عالية لخسارة الأموال بسرعة بسبب الرافعة المالية. 70.1٪ من حسابات مستثمري التجزئة تخسر الأموال عند تداول العقود مقابل الفروقات مع هذا المزود. يجب أن تفكر فيما إذا كنت تفهم كيفية عمل هذه المنتجات وما إذا كان بإمكانك تحمل المخاطر العالية بخسارة أموالك.", + "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", "-1870909526": "لا يمكن للخادم الخاص بنا استرداد العنوان.", "-582721696": "مبلغ السحب الحالي المسموح به هو {{format_min_withdraw_amount}} إلى {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "كاشير", diff --git a/packages/translations/src/translations/bn.json b/packages/translations/src/translations/bn.json index 2595c2e9c127..3a165ba94337 100644 --- a/packages/translations/src/translations/bn.json +++ b/packages/translations/src/translations/bn.json @@ -74,7 +74,7 @@ "82839270": "আপনার পাসপোর্টের পৃষ্ঠাটি আপলোড করুন যাতে আপনার ছবি ধারণ করে।", "83202647": "ব্লক সঙ্কুচিত", "84402478": "কিভাবে প্রয়োজনীয় ব্লক খুঁজে পেতে পারি?", - "84924586": "বিকল্প এবং মাল্টিপ্লাইয়ারগুলি ট্রেড করতে, প্রথমে একটি ডেরিভ অ্যাপস অ্যাকাউন্ট পান।", + "84924586": "বিকল্প এবং multipliers ট্রেড করতে, প্রথমে একটি ডেরিভ অ্যাপস অ্যাকাউন্ট পান।", "85343079": "আর্থিক মূল্যায়ন", "85359122": "40 বা তার বেশি", "85389154": "আপনার মোবাইলে যাচাইকরণ চালিয়ে যেতে প্রয়োজনীয় পদক্ষেপ", @@ -362,7 +362,7 @@ "386502387": "বট চলছে না", "389923099": "জুম ইন", "390890891": "শেষ চতুর্থাংশ", - "391038015": "মাল্টিপ্লাইয়ারদের জন্য মোবাইল ট্রেডিং অ্যাপ।", + "391038015": "মোবাইল ট্রেডিং অ্যাপ multipliers-এর জন্য।", "391915203": "হেজিং", "392582370": "পতন সমান", "393789743": "শুধুমাত্র অক্ষর, স্পেস, পিরিয়ড, হাইফেন, অ্যাপোস্ট্রফিস।", @@ -1765,7 +1765,7 @@ "1810217569": "চালিয়ে যেতে অনুগ্রহ করে এই পৃষ্ঠাটি রিফ্রেশ করুন।", "1811109068": "এখতিয়ার", "1811138041": "{{ value }} থেকে 9 পর্যন্ত একটি মান লিখুন।", - "1811343027": "2. আপনার মার্টিংগেল গুণক নির্বাচন করুন। এই উদাহরণে, এটি 2।", + "1811343027": "2. আপনার মার্টিংগেল multipliers নির্বাচন করুন। এই উদাহরণে, এটি 2।", "1811972349": "বাজার", "1811973475": "প্রদত্ত স্ট্রিং থেকে একটি নির্দিষ্ট অক্ষর ফেরত পাঠায়", "1812006199": "পরিচয় যাচাইকরণ", @@ -1833,7 +1833,7 @@ "1871664426": "নোট", "1873376454": "এটি একটি মূল্য স্তর যা আপনি বেছে নিন। যদি কখনও এই বাধা অতিক্রম করা হয় তবে আপনার চুক্তি শেষ হবে।", "1874481756": "আপনি চান নির্দিষ্ট চুক্তি ক্রয় করতে এই ব্লক ব্যবহার করুন। আপনি আপনার ক্রয় শর্তাবলী সংজ্ঞায়িত করার জন্য শর্তাধীন ব্লক সহ একাধিক ক্রয় ব্লক যোগ করতে পারেন। এই ব্লকটি শুধুমাত্র ক্রয় শর্তাবলী ব্লকের মধ্যেই ব্যবহার করা যেতে পারে।", - "1874737957": "মাল্টিপ্লাইয়ারগুলি ট্রেড করতে, প্রথমে একটি ডেরিভ অ্যাপস অ্যাকাউন্ট পান।", + "1874737957": "Multipliers ট্রেড করতে, প্রথমে একটি ডেরিভ অ্যাপস অ্যাকাউন্ট পান।", "1874756442": "বিভিআই", "1875702561": "আপনার বট লোড বা তৈরি করুন", "1876015808": "সামাজিক নিরাপত্তা এবং জাতীয় বীমা ট্রাস্ট", @@ -1982,7 +1982,7 @@ "2014536501": "কার্ড নাম্বার", "2014590669": "পরিবর্তনশীল '{{variable_name}}' এর কোন মান নেই। অবহিত করার জন্য অনুগ্রহ করে পরিবর্তনশীল '{{variable_name}}' এর মান নির্ধারণ করুন।", "2017672013": "দয়া করে ডকুমেন্ট ইস্যু করার দেশ নির্বাচন করুন।", - "2018044371": "মাল্টিপ্লাইয়ারগুলি আপনাকে লিভারেজের সাথে ট্রেড করতে দেয় এবং আপনার ঝুঁকি আপনার শেকের মধ্যে সীমাবদ্ <0>ধ করে", + "2018044371": "Multipliers আপনাকে লিভারেজের সাথে ট্রেড করতে দেয় এবং আপনার ঝুঁকি আপনার শেকের মধ্যে সীমাবদ্ <0>ধ করে", "2019596693": "প্রদানকারীর ডকুমেন্ট প্রত্যাখ্যান করা হয়েছে।", "2020545256": "আপনার অ্যাকাউন্ট বন্ধ করবেন?", "2021037737": "অবিরত করার জন্য অনুগ্রহ করে আপনার বিস্তারিত আপডেট করুন।", @@ -2662,11 +2662,11 @@ "-2021135479": "এই ক্ষেত্রটি প্রয়োজন।", "-1002044401": "আপনার নথি নির্বাচন করুন*", "-1272489896": "দয়া করে এই ক্ষেত্রটি সম্পূর্ণ করুন।", - "-721346138": "বিকল্প এবং মাল্টিপ্লাইয়ার ট্রেডিং প্ল্যাটফর্", + "-721346138": "অপশনস এবং multipliers ট্রেডিং প্ল্যাটফর্ম।", "-1874136267": "চূড়ান্ত বট ট্রেডিং প্লাটফর্ম", "-415943890": "উত্তরাধিকার বিকল্প ট্রেডিং প্ল্যাটফ", "-673722343": "লিগেসি বট ট্রেডিং প্ল্যাটফর্ম", - "-897826065": "গুণক ট্রেডিং প্ল্যাটফর্ম।", + "-897826065": "Multipliers ট্রেডিং প্ল্যাটফর্ম।", "-2115275974": "সিএফডি", "-1585707873": "আর্থিক কমিশন", "-199154602": "ভানুয়াটু আর্থিক সেবা কমিশন", @@ -2718,7 +2718,7 @@ "-2146691203": "প্রবিধান পছন্দ", "-249184528": "আপনি ইইউ বা অ-ইইউ নিয়ন্ত্রণের অধীনে প্রকৃত অ্যাকাউন্ট তৈরি করতে পারেন। <0>এই অ্যাকাউন্টগুলি সম্পর্কে আরও জানতে<0/> আইকনে ক্লিক করুন।", "-1505234170": "ট্রেডার'স হাব ট্যুর", - "-1901718278": "আমাদের ওয়েবসাইটে দেওয়া পণ্যগুলি জটিল ডেরিভেটিভ পণ্য যা সম্ভাব্য ক্ষতির উল্লেখযোগ্য ঝুঁকি বহন করে। সিএফডিগুলি জটিল যন্ত্র যার লিভারেজের কারণে দ্রুত অর্থ হারানোর উচ্চ ঝুঁকি রয়েছে। এই সরবরাহকারীর সাথে সিএফডি ট্রেড করার সময় 70.1% খুচরা বিনিয়োগকারী অ্যাকাউন্ট অর্থ হারায় এই পণ্যগুলি কীভাবে কাজ করে তা আপনি বুঝতে পারেন কিনা এবং আপনি আপনার অর্থ হারানোর উচ্চ ঝুঁকি নিতে পারবেন কিনা তা আপনার বিবেচনা করা উচিত।", + "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", "-1870909526": "আমাদের সার্ভার একটি ঠিকানা উদ্ধার করতে পারে না।", "-582721696": "বর্তমান অনুমোদিত প্রত্যাহারের পরিমাণ {{format_min_withdraw_amount}} থেকে {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "ক্যাশিয়ার", @@ -2918,12 +2918,12 @@ "-344769349": "দয়া করে সচেতন থাকুন যে আমরা চিত্রণের জন্য বৃত্তাকার পরিসংখ্যান ব্যবহার করতে পারি, তবে একটি নির্দিষ্ট পরিমাণের শেয়ার সফল ট্রেডে সঠিক পরিমাণের গ্যারান্টি দেয় না। উদাহরণস্বরূপ, 1 USD ডলার শেয়ার অপরিহার্য সফল ট্রেডে 1 USD লাভের সমান নয়।", "-818800551": "Deriv Bot এ মার্টিঙ্গেল কৌশল অন্বেষণ করা", "-533490374": "এগুলি মার্টিঙ্গেল কৌশল সহ Deriv Bot এ ব্যবহৃত ট্রেড পরামিতি।", - "-1507161059": "Multiplier: আপনি যদি কোনও ট্রেড হারাচ্ছেন তবে আপনার ষ্টেক বাড়ানোর জন্য ব্যবহৃত গুণকটি। মান অবশ্যই 1 এর চেয়ে বেশি হতে হবে।", + "-1507161059": "Multiplier: আপনি যদি কোনও ট্রেড হারাচ্ছেন তবে আপনার ষ্টেক বাড়ানোর জন্য ব্যবহৃত multipliersটি। মান অবশ্যই 1 এর চেয়ে বেশি হতে হবে।", "-1333404686": "মার্টিঙ্গেল কৌশলের একটি উদাহরণ", "-1755877136": "3. যদি প্রথম ট্রেডটি হারে শেষ হয়, Deriv Bot স্বয়ংক্রিয়ভাবে পরবর্তী ট্রেডের জন্য আপনার শেয়ারকে দ্বিগুণ করে 2 USD করে দেবে। Deriv Bot প্রতিটি হারানো ট্রেডের পরে শেয়ার দ্বিগুণ করতে থাকবে।", "-1297651002": "আপনি যদি ট্রেডিং শুরু করতে চলেছেন এবং আপনার ঝুঁকি ব্যবস্থাপনার কৌশলের অংশ হিসাবে একটি সর্বোচ্চ স্টেক প্রতিষ্ঠা না করে থাকেন, তাহলে আপনি মার্টিনগেল কৌশল প্রয়োগ করে আপনার তহবিল কতক্ষণ স্থায়ী হবে তা নির্ধারণ করতে পারেন। সহজভাবে এই সূত্র ব্যবহার করুন.", "-46865201": "মার্টিঙ্গেল সূত্র 1", - "-116397598": "এম হল মার্টিঙ্গেল গুণক।", + "-116397598": "এম হল মার্টিঙ্গেল multipliers।", "-658161609": "রাউন্ড সংখ্যা, R ≈ 9.965", "-288082521": "এর মানে হল 10 রাউন্ড পরপর লোকসানের পর, এই ট্রেডার 1023 USD হারাবেন যা 1000 USD-এর ক্ষতির সীমা ছাড়িয়ে যাবে, বট বন্ধ করে দেবে।", "-770387160": "ট্রেডিংয়ে মার্টিনগেল কৌশলটি যথেষ্ট লাভ অফার করতে পারে কিন্তু উল্লেখযোগ্য ঝুঁকির সাথেও আসে। আপনার নির্বাচিত কৌশলের সাথে, Deriv Bot প্রাথমিক ষ্টেক, শেয়ারের আকার, সর্বোচ্চ অংশীদারিত্ব, লাভের থ্রেশহোল্ড এবং ক্ষতির থ্রেশহোল্ড সেট করার মতো ঝুঁকি ব্যবস্থাপনার ব্যবস্থা সহ স্বয়ংক্রিয় ট্রেডিং প্রদান করে। ব্যবসায়ীদের জন্য তাদের ঝুঁকি সহনশীলতা মূল্যায়ন করা, একটি ডেমো অ্যাকাউন্টে অনুশীলন করা এবং প্রকৃত অর্থের সাথে ট্রেড করার আগে কৌশলটি বোঝা অত্যন্ত গুরুত্বপূর্ণ।", diff --git a/packages/translations/src/translations/de.json b/packages/translations/src/translations/de.json index c10502c33089..3c2dda581791 100644 --- a/packages/translations/src/translations/de.json +++ b/packages/translations/src/translations/de.json @@ -2718,7 +2718,7 @@ "-2146691203": "Wahl der Verordnung", "-249184528": "Sie können echte Konten gemäß EU- oder Nicht-EU-Vorschriften erstellen. Klicken Sie auf das <0><0/>Symbol, um mehr über diese Konten zu erfahren.", "-1505234170": "Trader's Hub-Tour", - "-1901718278": "Bei den auf unserer Website angebotenen Produkten handelt es sich um komplexe derivative Produkte, die ein erhebliches Verlustrisiko bergen. CFDs sind komplexe Instrumente mit einem hohen Risiko, aufgrund der Hebelwirkung schnell Geld zu verlieren. 70,1% der Konten von Kleinanlegern verlieren Geld beim Handel mit CFDs bei diesem Anbieter. Sie sollten sich überlegen, ob Sie die Funktionsweise dieser Produkte verstehen und ob Sie es sich leisten können, das hohe Risiko einzugehen, Ihr Geld zu verlieren.", + "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", "-1870909526": "Unser Server kann keine Adresse abrufen.", "-582721696": "Der aktuell zulässige Abhebungsbetrag ist {{format_min_withdraw_amount}} bis {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Kassierer", diff --git a/packages/translations/src/translations/es.json b/packages/translations/src/translations/es.json index 72776be2ca69..eb74a37c0e25 100644 --- a/packages/translations/src/translations/es.json +++ b/packages/translations/src/translations/es.json @@ -2718,7 +2718,7 @@ "-2146691203": "Elección del reglamento", "-249184528": "Puede crear cuentas reales según la normativa comunitaria o extracomunitaria. Haga clic en el <0><0/>icono para obtener más información sobre estas cuentas.", "-1505234170": "Tour por el Trader's Hub", - "-1901718278": "Los productos que se ofrecen en nuestro sitio web son productos derivados complejos que conllevan un riesgo significativo de pérdida potencial. Los CFD son instrumentos complejos con un alto riesgo de perder dinero rápidamente debido al apalancamiento. El 70.1% de las cuentas de inversores minoristas pierden dinero al operar con CFD con este proveedor. Debe considerar si entiende cómo funcionan estos productos y si puede permitirse correr el alto riesgo de perder su dinero.", + "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", "-1870909526": "Nuestro servidor no puede recuperar una dirección.", "-582721696": "La cantidad de retiro permitido actualmente es de {{format_min_withdraw_amount}} a {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Cajero", diff --git a/packages/translations/src/translations/fr.json b/packages/translations/src/translations/fr.json index bb657d352352..bfd022ce5645 100644 --- a/packages/translations/src/translations/fr.json +++ b/packages/translations/src/translations/fr.json @@ -2718,7 +2718,7 @@ "-2146691203": "Choix de la réglementation", "-249184528": "Vous pouvez créer des comptes réels conformément à la réglementation applicable au sein/hors de l'UE. Cliquez sur l'<0><0/>icône pour en savoir plus sur ces comptes.", "-1505234170": "Visite du Trader's Hub", - "-1901718278": "Les produits proposés sur notre site Web sont des produits dérivés complexes qui comportent un risque important de perte potentielle. Les CFD sont des instruments complexes présentant un risque élevé de perdre de l'argent rapidement en raison de l'effet de levier. 70,1 % des comptes d'investisseurs particuliers perdent de l'argent lorsqu'ils négocient des CFD avec ce fournisseur. Vous devez vous demander si vous comprenez le fonctionnement de ces produits et si vous pouvez vous permettre de prendre le risque élevé de perdre votre argent.", + "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", "-1870909526": "Notre serveur ne peut pas récupérer une adresse.", "-582721696": "Le montant actuel du retrait autorisé est de {{format_min_withdraw_amount}} à {{format_max_withdraw_amount}}{{currency}}", "-1975494965": "Caisse", diff --git a/packages/translations/src/translations/it.json b/packages/translations/src/translations/it.json index 56af455b2cfc..e14ba363011e 100644 --- a/packages/translations/src/translations/it.json +++ b/packages/translations/src/translations/it.json @@ -2718,7 +2718,7 @@ "-2146691203": "Scelta del regolamento", "-249184528": "Puoi creare conti reali in base a normative UE o extra UE. Fai clic sull'<0><0/>icona per saperne di più su questi conti.", "-1505234170": "Visita del Trader's Hub", - "-1901718278": "I prodotti offerti sul nostro sito Web sono prodotti derivati complessi che comportano un rischio significativo di perdita potenziale. I CFD sono strumenti complessi con un elevato rischio di perdere denaro rapidamente a causa della leva finanziaria. Il 70,1% dei conti degli investitori al dettaglio perde denaro quando fa trading di CFD con questo fornitore. Dovresti valutare se comprendi come funzionano questi prodotti e se puoi permetterti di correre il rischio elevato di perdere i tuoi soldi.", + "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", "-1870909526": "Il nostro server non è in grado di recuperare l'indirizzo.", "-582721696": "Attualmente è possibile prelevare un importo compreso tra {{format_min_withdraw_amount}} e {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Cassa", diff --git a/packages/translations/src/translations/ko.json b/packages/translations/src/translations/ko.json index d57fcf35d669..3652ada86f9b 100644 --- a/packages/translations/src/translations/ko.json +++ b/packages/translations/src/translations/ko.json @@ -2718,7 +2718,7 @@ "-2146691203": "규제 항목 선택", "-249184528": "EU 또는 비 EU 규정에 따라 실제 계정을 만들 수 있습니다.<0><0/>아이콘을 클릭하면 해당 계정에 대해 자세히 알아볼 수 있습니다.", "-1505234170": "Trader's Hub 투어", - "-1901718278": "당사 웹사이트에서 제공하는 상품은 잠재적 손실 위험이 큰 복합 파생 상품입니다. CFD는 레버리지로 인해 손실이 급속히 커질 위험이 높은 복잡한 상품입니다. 본 업체에서 CFD를 거래하는 개인 투자자 계좌의 70.1% 가 손실을 보고 있습니다. 본인이 이러한 상품의 작동 방식을 이해하고 있는지, 높은 손실 위험을 감수할 수 있는지 고려해야 합니다.", + "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", "-1870909526": "우리의 서버가 주소를 검색할 수 없습니다.", "-582721696": "현재 허용되는 인출금액은 {{format_min_withdraw_amount}} 에서 {{format_max_withdraw_amount}} {{currency}} 입니다", "-1975494965": "캐셔", diff --git a/packages/translations/src/translations/mn.json b/packages/translations/src/translations/mn.json index 920284d0b011..a07cd5e83c4f 100644 --- a/packages/translations/src/translations/mn.json +++ b/packages/translations/src/translations/mn.json @@ -34,14 +34,14 @@ "44877997": "Оршин суух зөвшөөрөл", "45453595": "Binary Coin", "45821474": "Орлогын нотолгоо", - "46523711": "Таны биеийн байцаалтын нотолгоо баталгаажсан", + "46523711": "Таны иргэний үнэмлэхний нотолгоо баталгаажсан", "49404821": "Хэрэв та \"<0>{{trade_type}}\" сонголтыг худалдаж авбал эцсийн үнэ нь ажил хаялтын үнэ {{payout_status}} бол хугацаа дуусах үед төлбөр авах болно. Үгүй бол таны “<0>{{trade_type}}” сонгол тын хугацаа үнэ цэнэгүй хугацаа дуусна.", "53801223": "Хонг Конг 50", "53964766": "5. Ботоо татаж авахын тулд Save дээр дарна уу. Та өөрийн ботыг төхөөрөмж эсвэл Google Drive дээрээ татаж авахыг сонгож болно.", "54185751": "100,000 доллараас бага", - "55340304": "Одоогийн гэрээгээ хадгалж үлдэх үү?", - "55916349": "Бүх", - "57362642": "Хаалттай", + "55340304": "Одоогийн гэрээгээ хадгалах уу?", + "55916349": "Бүгд", + "57362642": "Хаасан", "58254854": "Хамрах хүрээ", "59169515": "Хэрэв та “Asian Rise” -г сонговол сүүлийн шалз нь хачгийн дунджаас өндөр байвал төлбөрийг хожих болно.", "59341501": "Танигдаагүй файлын формат", @@ -2718,7 +2718,7 @@ "-2146691203": "Зохицуулалтын сонголт", "-249184528": "Та ЕХ-ны эсвэл ЕХ-ны бус зохицуулалтын дагуу бодит данс үүсгэж болно. <0>Эдгээр дансуудын <0/> талаар илүү ихийг мэдэхийн тулд дүрс дээр дарна уу.", "-1505234170": "Худалдаачдын төв аялал", - "-1901718278": "Манай вэбсайт дээр санал болгож буй бүтээгдэхүүнүүд нь болзошгүй алдагдал ихээхэн эрсдэлийг дагуулдаг нарийн төвөгтэй дериватив бүтээгдэхүүн юм. CFD нь хөшүүргийн улмаас хурдацтай мөнгө алдах өндөр эрсдэлтэй нарийн төвөгтэй хэрэгсэл юм. 70.1% нь жижиглэнгийн хөрөнгө оруулагчийн дансууд энэ үйлчилгээ үзүүлэгчтэй CFD арилжаалахдаа мөнгө алддаг. Та эдгээр бүтээгдэхүүн хэрхэн ажилладаг, та мөнгөө алдах өндөр эрсдэлийг авч төлж чадах эсэхийг ойлгож байгаа эсэхийг авч үзэх хэрэгтэй.", + "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", "-1870909526": "Манай сервер хаягийг авч чадахгүй.", "-582721696": "Одоогийн зөвшөөрөгдсөн татгалзах хэмжээ нь {{format_min_withdraw_amount}} нь {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Касс", diff --git a/packages/translations/src/translations/pl.json b/packages/translations/src/translations/pl.json index d1e19432316d..c91c5a78f634 100644 --- a/packages/translations/src/translations/pl.json +++ b/packages/translations/src/translations/pl.json @@ -2718,7 +2718,7 @@ "-2146691203": "Wybór regulacji", "-249184528": "Możesz tworzyć konta rzeczywiste zgodnie z przepisami UE lub spoza UE. Kliknij <0><0/>ikonę, aby dowiedzieć się więcej o tych kontach.", "-1505234170": "Wycieczka po Trader's Hub", - "-1901718278": "Produkty oferowane na naszej stronie internetowej to złożone produkty pochodne, które niosą ze sobą znaczne ryzyko potencjalnej straty. Kontrakty CFD to złożone instrumenty o wysokim ryzyku szybkiej utraty pieniędzy z powodu dźwigni finansowej. 70,1% kont inwestorów detalicznych traci pieniądze podczas handlu kontraktami CFD u tego dostawcy. Powinieneś rozważyć, czy rozumiesz, jak działają te produkty i czy możesz sobie pozwolić na podjęcie wysokiego ryzyka utraty pieniędzy.", + "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", "-1870909526": "Nasze serwery nie mogą pobrać adresu.", "-582721696": "Dozwolona kwota wypłaty to {{format_min_withdraw_amount}} - {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Kasjer", diff --git a/packages/translations/src/translations/pt.json b/packages/translations/src/translations/pt.json index 9ce0667afe4b..ac343749da25 100644 --- a/packages/translations/src/translations/pt.json +++ b/packages/translations/src/translations/pt.json @@ -2718,7 +2718,7 @@ "-2146691203": "Escolha de regulamentação", "-249184528": "Pode criar contas reais ao abrigo da regulamentação da UE ou de países não pertencentes à UE. Clique no ícone <0><0/> para saber mais sobre estas contas.", "-1505234170": "Visita ao Trader's Hub", - "-1901718278": "Os produtos oferecidos no nosso site são produtos derivados complexos que comportam um risco significativo de perda potencial. Os CFDs são instrumentos complexos que apresentam um elevado risco de perda rápida de dinheiro devido à alavancagem. 70,1% das contas de investidores não profissionais perdem dinheiro ao negociar CFDs com este fornecedor. Deve considerar se compreende o funcionamento destes produtos e se pode correr o risco elevado de perder o seu dinheiro.", + "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", "-1870909526": "O nosso servidor não consegue recuperar um endereço.", "-582721696": "O montante de levantamento atual permitido é de {{format_min_withdraw_amount}} a {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Caixa", diff --git a/packages/translations/src/translations/ru.json b/packages/translations/src/translations/ru.json index fd485637b6a6..5d187807b280 100644 --- a/packages/translations/src/translations/ru.json +++ b/packages/translations/src/translations/ru.json @@ -2718,7 +2718,7 @@ "-2146691203": "Выбор регулятора", "-249184528": "Можно открыть счет под юрисдикцией регулятора в ЕС или за его пределами. Нажмите <0><0/>, чтобы узнать больше об этих счетах.", "-1505234170": "Тур по Trader's Hub", - "-1901718278": "Продукты, предлагаемые на нашем сайте, являются сложными производными продуктами и несут значительный риск потенциальных потерь. CFD — это сложные инструменты с высоким риском быстрой потери денег из-за кредитного плеча. 70.1% розничных счетов теряют деньги на CFD с этим провайдером. Оцените понимание этих продуктов и свою готовность к высокому риску потерь.", + "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", "-1870909526": "Нашему серверу не удалось получить адрес.", "-582721696": "Разрешенная сумма вывода сейчас составляет от {{format_min_withdraw_amount}} до {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Касса", diff --git a/packages/translations/src/translations/si.json b/packages/translations/src/translations/si.json index e4c661a5d8c5..0692893c6798 100644 --- a/packages/translations/src/translations/si.json +++ b/packages/translations/src/translations/si.json @@ -2718,7 +2718,7 @@ "-2146691203": "නියාමන තේරීම", "-249184528": "ඔබට යුරෝපීය සංගමයේ හෝ යුරෝපීය නොවන සංගමයේ රෙගුලාසි යටතේ සැබෑ ගිණුම් සෑදිය හැක. මෙම ගිණුම් ගැන තව දැන ගැනීමට <0><0/> අයිකනය ක්ලික් කරන්න.", "-1505234170": "Trader's Hub චාරිකාව", - "-1901718278": "අපගේ වෙබ් අඩවියේ ඉදිරිපත් කර ඇති නිෂ්පාදන සංකීර්ණ ව්‍යුත්පන්න නිෂ්පාදන වන අතර ඒවා විය හැකි අලාභයේ සැලකිය යුතු අවදානමක් දරයි. CFD යනු උත්තෝලනය හේතුවෙන් වේගයෙන් මුදල් අහිමි වීමේ ඉහළ අවදානමක් සහිත සංකීර්ණ මෙවලම් වේ. මෙම සැපයුම්කරු සමඟ CFD ගනුදෙනු කිරීමේදී සිල්ලර ආයෝජක ගිණුම්වලින් 70.1%කට මුදල් අහිමි වේ. මෙම නිෂ්පාදන ක්‍රියා කරන ආකාරය ඔබ තේරුම් ගන්නේද යන්න සහ ඔබේ මුදල් අහිමි වීමේ ඉහළ අවදානමක් දැරීමට ඔබට හැකියාව තිබේද යන්න ඔබ විසින් සලකා බැලිය යුතුය.", + "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", "-1870909526": "අපගේ සේවාදායකයට ලිපිනයක් ලබා ගත නොහැක.", "-582721696": "දැනට අවසර දී ඇති ආපසු ගැනීමේ මුදල {{format_min_withdraw_amount}} සිට {{format_max_withdraw_amount}} {{currency}} වේ.", "-1975494965": "අයකැමි", diff --git a/packages/translations/src/translations/sw.json b/packages/translations/src/translations/sw.json index 0db0bba64828..7ac28654b7ab 100644 --- a/packages/translations/src/translations/sw.json +++ b/packages/translations/src/translations/sw.json @@ -402,7 +402,7 @@ "437138731": "Unda nenosiri jipya la {{platform}}", "437453244": "Chagua cryptocurrency unayopendelea", "437485293": "Aina ya faili haiwezi kutumika", - "437904704": "Idadi ya juu ya nafasi zakufungua", + "437904704": "Idadi ya juu ya nafasi za kufungua", "438067535": "Zaidi ya $500,000", "439398769": "Mkakati huu kwa sasa hauendani na Deriv Bot.", "442281706": "Umefuta tu kizuizi.", @@ -795,7 +795,7 @@ "848083350": "Malipo yako ni sawa na <0>malipo kwa kila pointi zidisha na tofauti kati ya bei ya mwisho na bei ya ushindani. Utapata faida ikiwa tu malipo yako ni makubwa kuliko dau lako la awali.", "850582774": "Tafadhali sasisha taarifa zako binafsi", "851054273": "Ukichagua “Higher”, utashinda malipo ikiwa bei ya kutoka ni kubwa zaidi kuliko kizuizi.", - "851264055": "Inaunda orodha na kipengee kilichopewa kurudiwa kwa idadi maalum ya mara.", + "851264055": "Huunda orodha yenye kipengee ilichochaguliwa na kinachojirudia kwa idadi maalum ya muda.", "851508288": "Kizuizi hiki kinadhibiti nambari iliyopewa ndani ya safu iliyowekwa.", "852527030": "Hatua ya 2", "852583045": "Angalia Kamba ya Orodha", @@ -1700,7 +1700,7 @@ "1746051371": "Pakua app", "1746273643": "Tofauti ya Uingiliano wa Wastani", "1747501260": "Vigezo vya kuuza", - "1747674345": "Tafadhali tumia `.` kama mgawanyiko wa kukata kwa nambari za sehemu.", + "1747674345": "Tafadhali tumia `.` kama kipangilio cha desimali kwa nambari zenye sehemu.", "1747682136": "Mkataba ulighairiwa.", "1748754976": "Endesha", "1753082252": "Makala hii inachunguza mkakati uliojumuishwa katika Deriv Bot, bot ya biashara inayotengenezwa kufanya biashara ya mali kama Forex, Bidhaa, na Fahirisi zilizotokana. Tutachunguza vigezo vya msingi vya mkakati huo, matumizi yake, na kutoa huduma muhimu kwa wafanyabiashara wanaotafuta kutumia bot kwa ufanisi.", @@ -1791,7 +1791,7 @@ "1837762008": "Tafadhali wasilisha uthibitisho wako wa utambulisho na uthibitisho wa anwani ili kuthibitisha akaunti yako katika mipangilio ya akaunti yako ili kufikia keshia.", "1839021527": "Tafadhali ingiza nambari halali ya akaunti. Mfano: CR123456789", "1840721160": "Deriv MT5 mahitaji ya nenosiri la hivi karibuni", - "1840865068": "weka {{ variable }} kwa Sura ya wastani rahisi ya kusonga {{ dummy }}", + "1840865068": "weka {{ variable }} kwa Wastani Rahisi wa Kusonga Mfululizo {{ dummy }}", "1841788070": "Palladium/USD", "1841996888": "Kikomo cha hasara ya kila siku", "1842266423": "nyuma", @@ -1939,7 +1939,7 @@ "1981940238": "Sera hii ya malalamiko, ambayo inaweza kubadilika mara kwa mara, inatumika kwa akaunti yako iliyosajiliwa kwa {{legal_entity_name_svg}} na {{legal_entity_name_v}}.", "1982790875": "Boresha akaunti yako ya <0/><1>{{account_title}} {{platform}} ", "1982796981": "Tamko", - "1982912252": "Kielelezo cha Nguvu ya Uhusiano (RSI) kutoka orodha yenye kipindi", + "1982912252": "Kiwango cha Ushirikiano wa Kulinganisha (RSI) kutoka kwenye orodha yenye kipindi", "1983001416": "Fafanua chaguzi zako za biashara kama vile viongezaji na hisa. Kizuizi hiki kinaweza kutumika tu na aina ya biashara ya viongezeka. Ikiwa utachagua aina nyingine ya biashara, kizuizi hiki kitabadilishwa na kizuizi cha chaguzi za Biashara.", "1983358602": "Sera hii, ambayo inaweza kubadilika mara kwa mara, inatumika kwa akaunti yako iliyosajiliwa na {{legal_entity_name}}.", "1983387308": "Hakiki", @@ -1992,7 +1992,7 @@ "2023762268": "Ninapendelea tovuti nyingine ya biashara.", "2025339348": "Ondoka mbali na mwanga wa moja kwa moja - hakuna mng'ao", "2027441253": "Kwa nini tunakusanya hii?", - "2027625329": "Mfululizo rahisi wa wastani wa kusonga (SMAA)", + "2027625329": "Mfululizo wa Wastani wa Kusonga Rahisi (SMAA)", "2027638150": "Kuboresha", "2027696535": "Taarifa ya kodi", "2028163119": "EOS/USD", @@ -2259,7 +2259,7 @@ "-1784470716": "Jimbo haipo katika muundo sahihi", "-1699820408": "Tafadhali ingiza {{field_name}} chini ya herufi {{max_number}} .", "-1575567374": "msimbo wa posta/ZIP", - "-816263501": "Herufi, nambari, nafasi na nyama tu zinaruhusiwa.", + "-816263501": "Herufi, nambari, nafasi na alama (-) tu zinaruhusiwa.", "-755626951": "Kamilisha taarifa zako za anwani", "-1024240099": "Anwani", "-1534917661": "Chagua sarafu unayopendelea", @@ -2300,7 +2300,7 @@ "-1281693513": "Tarehe ya kuzaliwa inahitajika.", "-26599672": "Uraia unahitajika", "-912174487": "Namba ya simu inahitajika.", - "-673765468": "Barua, nambari, nafasi, vipindi, vipindi vya nyama na vipande vya mbele tu.", + "-673765468": "Herufi, nambari, nafasi, kipindi, alama ya vistari (-) na alama ya mkwaju (/) tu.", "-212167954": "Nambari ya Utambulisho wa Kodi haijaumbizwa ipasavyo.", "-1823540512": "Taarifa binafsi", "-1227878799": "Utasari", @@ -2327,7 +2327,7 @@ "-1116008222": "Unapaswa kuingiza nambari 9-35.", "-1995979930": "Mstari wa kwanza wa anwani unahitajika.", "-703454156": "Tafadhali ingiza msimbo wa posta/zip chini ya herufi 20.", - "-2113555886": "Herufi, nambari, nafasi, na nyama tu zinaruhusiwa.", + "-2113555886": "Herufi, nambari, nafasi, na alama ya vistari (-) tu zinaruhusiwa.", "-1103497546": "Mapato ya kodi", "-700600899": "Uthibitisho wa anwani ya biashara", "-1073862586": "Mkataba", @@ -2338,7 +2338,7 @@ "-1411635770": "Jifunze zaidi juu ya ukomo wa akaunti", "-1340125291": "Imekamilika", "-1101543580": "Kikomo", - "-858297154": "Inawakilisha kiwango cha juu cha fedha ambazo unaweza kushikilia kwenye akaunti yako. Ikiwa kiwango cha juu kinafikiwa, utaulizwa kuondoa fedha.", + "-858297154": "Huwakilisha kiwango cha juu cha fedha ambazo unaweza kuwa nazo kwenye akaunti yako. Ikiwa kiwango cha juu kimefikiwa, utaombwa kutoa fedha.", "-976258774": "Haiwekwa", "-1182362640": "Inawakilisha malipo ya jumla ya juu kwenye mikataba yasiyo katika portfolio yako. Ikiwa kiwango cha juu kinapatikana, huwezi kununua mikataba ya ziada bila kwanza kufunga nafasi zilizopo.", "-1781293089": "Malipo ya jumla ya juu kwenye nafasi za wazi", @@ -2718,7 +2718,7 @@ "-2146691203": "Uchaguzi wa udhibiti", "-249184528": "Unaweza kuunda akaunti halisi chini ya kanuni ya EU au ya non-EU. Bonyeza <0><0/> ikoni ili kujifunza zaidi kuhusu akaunti hizi.", "-1505234170": "Ziara katika Trader's Hub", - "-1901718278": "Bidhaa zinazotolewa kwenye wavuti yetu ni bidhaa ngumu za matokeo ambazo zina hatari kubwa ya upotezaji. CFD ni zana ngumu zilizo na hatari kubwa ya kupoteza pesa haraka kutokana na ufanisi. 70.1% ya akaunti za wawekezaji wa rejareja hupoteza pesa wakati wa kufanya biashara ya CFD na mtoa huduma huyu. Unapaswa kuzingatia ikiwa unaelewa jinsi bidhaa hizi zinavyofanya kazi na ikiwa unaweza kumudu kuchukua hatari kubwa ya kupoteza pesa zako.", + "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", "-1870909526": "Seva yetu haiwezi kurejesha anwani.", "-582721696": "Kiasi cha kutoa kinachoruhusiwa kwa sasa ni {{format_min_withdraw_amount}} hadi {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Cashier", @@ -2730,12 +2730,12 @@ "-1392897508": "Nyaraka za kitambulisho ulizowasilisha zimeisha. Tafadhali wasilisha hati halali za kitambulisho ili kufungua Kasaja ", "-954082208": "Mpesa wako kwa sasa amefungwa. Tafadhali wasiliana nasi kupi <0>tia mazungum zo ya moja kwa moja ili kujua jinsi ya kuifungua.", "-929148387": "Tafadhali weka sarafu ya akaunti yako ili kuwezesha amana na uondoaji.", - "-2027907316": "Unaweza kuondoa mara tu uthibitishaji wa akaunti yako utakapokamilika.", - "-541392118": "Akaunti yako haijathibitishwa. Tafadhali wasilisha u <0>thibitisho wako wa utambu <1>lisho na uthibitisho wa anwani ili kuthibitisha akaunti yako na ufikie pesa", - "-599998434": "Huwezi kufanya uhamisho wa mfuko kwani hati zako bado zinakaguliwa. Tutakujulisha kwa barua pepe ndani ya siku 3 mara tu uthibitishaji wako utakapoidhinishwa.", - "-247122507": "Pasheria wako umefungwa. Tafadhali kamilisha <0>tathmini ya kifedha ili kuifungua.", - "-1443721737": "Pasheria wako umefungwa. Angalia <0>jinsi tunavyokulinda fedha z ako kabla ya kuendelea.", - "-901712457": "Ufikiaji wako wa Msafiri umezimwa kwa muda kwani haujawaweka kikomo chako cha mauzo ya siku 30. Tafadhali nenda kwenye K <0>ujitolewa na weke kikomo chako cha mauzo ya siku 30.", + "-2027907316": "Utaweza utoaji pesa mara tu uthibitishaji wa akaunti yako utakapokamilika.", + "-541392118": "Akaunti yako haijathibitishwa. Tafadhali wasilisha <0>uthibitisho wako wa kitambulisho na <1>uthibitisho wa anwani ili kuthibitisha akaunti yako na kuweza kufikia cashier.", + "-599998434": "Huwezi kufanya uhamishaji wa fedha kwani hati zako bado zinakaguliwa. Tutakujulisha kwa barua pepe ndani ya siku 3 mara tu uthibitishaji wako utakapoidhinishwa.", + "-247122507": "Cashier yako imefungwa. Tafadhali kamilisha <0>tathmini ya kifedha ili kufungua.", + "-1443721737": "Cashier yako imefungwa. Angalia <0>jinsi tunavyolinda fedha zako kabla ya kuendelea.", + "-901712457": "Ufikiaji wako wa Cashier umezuiliwa kwa muda kwakuwa haujaweka kikomo chako cha mauzo ya siku 30. Tafadhali nenda kwenye <0>Kujitenga-binafsi na uweke kikomo chako cha mauzo ya siku 30.", "-166472881": "Maelezo yako <0>ya kibinaf si hayakamilika. Tafadhali nenda kwenye mipangilio ya akaunti yako na ukamilisha maelezo yako ya kibinafsi ili kuwezesha amana na uondoaji", "-666905139": "Uwekaji pesa umefungwa", "-378858101": "<0>Taarifa zako binafsi hazijakamilika. Tafadhali nenda kwenye mipangilio ya akaunti yako na ukamilishe taarifa zako binafsi ili uweze kuweka pesa.", @@ -2765,13 +2765,13 @@ "-2052373215": "Tafadhali weka pesa ili kutumia huduma hii.", "-379487596": "{{selected_percentage}}% ya salio linalopatikana ({{format_amount}} {{currency__display_code}})", "-1957498244": "zaidi", - "-1059419768": "Vidokezo", + "-1059419768": "Kumbuka", "-285921910": "Jifunze zaidi kuhusu <0>njia za malipo.", "-190084602": "Muamala", "-1995606668": "Kiasi", "-2024290965": "Uthibitisho", "-811190405": "Muda", - "-728508487": "{{currency}} shughuli za hivi karibuni", + "-728508487": "{{currency}} miamala ya hivi karibuni", "-1984478597": "Maelezo ya muamala huu yanapatikana kwenye CoinSpaid.", "-316545835": "Tafadhali hakikisha <0>taarifa zote ni <0>sahihi kabla ya kufanya uhamishaji pesa wako.", "-949073402": "Ninathibitisha kuwa nimethibitisha taarifa za uhamishaji pesa wa mteja.", @@ -2814,7 +2814,7 @@ "-1935946851": "Tazama zaidi", "-1744490898": "Kwa bahati mbaya, hatuwezi kurejesha taarifa kwa wakati huu. ", "-338505133": "Hatutoi ada ya uhamisho kwa uhamisho kwa sarafu sawa kati ya akaunti zako za Deriv fiat na {{platform_name_mt5}} , kati ya akaunti zako za Deriv fiat na {{platform_name_ctrader}} , na kati ya akaunti zako za Deriv fiat na {{platform_name_dxtrade}} .", - "-2056016338": "Hutatozwa ada ya uhamisho kwa uhamisho kwa sarafu sawa kati ya akaunti zako za Deriv fiat na {{platform_name_mt5}} .", + "-2056016338": "Hutatozwa ada ya uhamishaji kwa uhamisho wa sarafu ya aina moja kati ya akaunti zako za Deriv fiat na {{platform_name_mt5}}.", "-599632330": "Tutatoza ada ya uhamisho wa 1% kwa uhamisho katika sarafu tofauti kati ya akaunti zako za Deriv fiat na {{platform_name_mt5}} na kati ya akaunti zako za Deriv fiat na {{platform_name_dxtrade}} .", "-1196994774": "Tutatoza ada ya uhamisho wa 2% au {{minimum_fee}} {{currency}}, yoyote iliyo juu, kwa uhamisho kati ya akaunti zako za cryptocurrency za Deriv.", "-993556039": "Tutatoza ada ya uhamishaji ya 2% au {{minimum_fee}} {{currency}}, yoyote iliyo juu, kwa uhamishaji kati ya akaunti zako za Deriv cryptocurrency na Deriv MT5 na kati ya akaunti zako za Deriv cryptocurrency na {{platform_name_dxtrade}}.", @@ -3256,7 +3256,7 @@ "-144803045": "Nambari tu na herufi hizi maalum zinaruhusiwa: {{permitted_characters}}", "-1450516268": "Herufi pekee, nambari, nafasi, mkato, kipindi, na alama ya kuuliza tu ndizo zinazoruhusiwa.", "-1966032552": "Urefu wa tokeni unapaswa kuwa 8.", - "-2128137611": "Inapaswa kuanza na herufi au namba, na inaweza kuwa na nyama na msingi.", + "-2128137611": "Hupaswa kuanza na herufi au nambari, na inaweza kuwa na alama ya juu (-) na alama ya chini (_).", "-1590869353": "Hadi nafasi {{decimal_count}} za desimali zinaruhusiwa.", "-2061307421": "Inapaswa kuwa zaidi ya {{min_value}}", "-1099941162": "Inapaswa kuwa chini ya {{max_value}}", @@ -3271,14 +3271,14 @@ "-64849469": "Tarehe mara nyingi ni rahisi kukisia", "-2006915194": "Epuka tarehe na miaka ambayo inahusishwa na wewe", "-2124205211": "Neno lenyewe ni rahisi kukisia", - "-1095202689": "Herufi kubwa zote ni karibu rahisi kudhikiria kama herufi ndogo zote", + "-1095202689": "Herufi kubwa na ndogo zote kwa pamoja ni rahisi kukisia", "-2137856661": "Maneno yaliyogeuzwa sio vigumu sana kukisia", "-1885413063": "Ubadilishaji unaotabirika kama '@' badala ya 'a' hausaidii sana", "-369258265": "Nenosiri hili liko kwenye orodha ya manenosiri yaliyofungiwa", "-577777971": "Umefikia kikomo cha kiwango cha maombi kwa sekunde. Tafadhali jaribu tena baadae.", "-206321775": "Fiat", "-522767852": "DEMO", - "-433761292": "Kubadili kwenye akaunti default.", + "-433761292": "Kubadili kwenda kwenye akaunti ya chaguo-msingi.", "-405439829": "Samahani, huwezi kutazama mkataba huu kwa sababu sio wa akaunti hii.", "-1590712279": "Michezo ya Kubahatisha", "-16448469": "Dhahania", @@ -3410,9 +3410,9 @@ "-1740162250": "Dhibiti akaunti", "-1016775979": "Chagua akaunti", "-1362081438": "Kuongeza akaunti halisi zaidi kumezuiliwa kwa nchi yako.", - "-1602122812": "Onyo ya Baridi ya 24", - "-1519791480": "CFD na vyombo vingine vya kifedha huja na hatari kubwa ya kupoteza pesa haraka kutokana na mkopo. Unapaswa kuzingatia ikiwa unaelewa jinsi CFD na vyombo vingine vya kifedha zinavyofanya kazi na ikiwa unaweza kumudu kuchukua hatari kubwa ya kupoteza pesa zako. \n<0/><0/> Kwa kuwa umekataa onyo letu la awali, utahitaji kusubiri masaa 24 kabla ya kuendelea zaidi.", - "-1010875436": "CFD na vyombo vingine vya kifedha huja na hatari kubwa ya kupoteza pesa haraka kutokana na ufanisi. Unapaswa kuzingatia ikiwa unavyoelewa jinsi CFD na vyombo vingine vya kifedha zinavyofanya kazi na ikiwa unaweza kumudu kuchukua hatari kubwa ya kupoteza pesa zako. <0/> <0/> Ili kuendelea, kumbuka kuwa utahitaji kusubiri masaa 24 kabla ya kuendelea zaidi.", + "-1602122812": "Onyo la Kusubiri kwa Masaa 24", + "-1519791480": "CFDs na vyombo vingine vya kifedha huja na hatari kubwa ya kupoteza pesa haraka kutokana na mkopo. Unapaswa kuzingatia ikiwa unaelewa jinsi CFDs na vyombo vingine vya kifedha zinavyofanya kazi na ikiwa unaweza kumudu kuchukua hatari kubwa ya kupoteza pesa zako. \n<0/><0/> Kwa kuwa umekataa onyo letu la awali, utahitaji kusubiri masaa 24 kabla ya kuendelea zaidi.", + "-1010875436": "CFDs na vyombo vingine vya kifedha huja na hatari kubwa ya kupoteza pesa haraka kutokana na mkopo. Unapaswa kuzingatia ikiwa unaelewa jinsi CFDs na vyombo vingine vya kifedha zinavyofanya kazi na ikiwa unaweza kumudu kuchukua hatari kubwa ya kupoteza pesa zako. <0/> <0/> Ili kuendelea, kumbuka kuwa utahitaji kusubiri masaa 24 kabla ya kuendelea zaidi.", "-1725418054": "Kwa kubonyeza 'Kubali' na kuendelea na kufungua akaunti, unapaswa kutambua kuwa unaweza kuingia katika hatari. Hatari hizi, ambazo zinaweza kutokea, ni pamoja na hatari ya kupoteza jumla ya kiasi ulichowekeza, na huenda usiwe na maarifa na uzoefu wa kutathmini vizuri au kuzipunguza.", "-1369294608": "Je, tayari umejisajili?", "-730377053": "Huwezi kuongeza akaunti nyingine halisi", @@ -3540,7 +3540,7 @@ "-1192904361": "Derive X Demo", "-283929334": "Deriv cTrader Demo", "-1269597956": "Jukwaa la MT5", - "-1302404116": "Kiwango cha juu", + "-1302404116": "Kiwango cha juu cha mkopo", "-239789243": "(Leseni na. SIBA/L/18/1114)", "-941636117": "MetaTrader 5 Linux app", "-1434036215": "Demo Financial", @@ -3606,13 +3606,13 @@ "-2026018074": "Ongeza akaunti yako ya Deriv MT5 <0>{{account_type_name}} chini ya Deriv (SVG) LLC (kampuni na. 273 LLC 2020).", "-162320753": "Ongeza akaunti yako ya Deriv MT5 <0>{{account_type_name}} chini ya Deriv (BVI) Ltd, inayodhibitiwa na British Virgin Islands Financial Services Commission (Leseni na. SIBA/L/18/1114).", "-271828350": "Pata zaidi kutoka kwa Deriv MT5 Financial", - "-2125860351": "Chagua mamlaka ya akaunti yako ya Deriv MT5 CFDs", + "-2125860351": "Chagua eneo la mamlaka kwa akaunti yako ya Deriv MT5 CFDs", "-1460321521": "Chagua mamlaka ya akaunti yako ya {{account_type}}", "-637537305": "Pakua {{ platform }} kwenye simu yako ili kufanya biashara na akaunti ya {{ platform }} {{ account }}", "-964130856": "{{existing_account_title}}", "-879259635": "Ingiza nenosiri lako la Deriv MT5 ili kuboresha akaunti yako.", "-1504907646": "Nenosiri la Deriv MT5", - "-361998267": "Tumeanzisha mahitaji ya ziada ya nenosiri ili kuongeza usalama wa akaunti yako. Nenosiri lako linapaswa:", + "-361998267": "Tumeweka mahitaji ya ziada ya nenosiri ili kuongeza usalama wa akaunti yako. Nenosiri lako linapaswa:", "-996995493": "Kuwa kati ya herufi 8 hadi 16.", "-219163415": "Ina angalau tabia moja maalum.", "-1446636186": "Kwa kubonye <0>za Next unakubali kuhamisha akaunti yako ya {{platform}} {{type_1}} na {{type_2}} {{from_account}} chini ya sheria na masharti ya Deriv {{account_to_migrate}} Ltd<1>.", @@ -3670,7 +3670,7 @@ "-153220091": "{{display_value}} Tick", "-802374032": "Saa", "-1052279158": "<0>Malipo yako ni jumla ya dau lako la awali na faida.", - "-1819891401": "Unaweza kufunga biashara yako wakati wowote. Walakini, fahamu hatari ya <0>kuteleza.", + "-1819891401": "Unaweza kufunga biashara yako wakati wowote. Walakini, fahamu <0>hatari ya kuteleza.", "-231957809": "Shinda malipo ya juu ikiwa mahali pa kuondoka ni kubwa kuliko au sawa na kizuizi cha juu.", "-464144986": "Shinda malipo ya juu ikiwa mahali pa kuondoka ni chini kuliko au sawa na kizuizi cha chini.", "-1031456093": "Ushinda hadi malipo ya juu ikiwa nafasi ya kuondoka ni kati ya kizuizi cha chini na ya juu, kwa uwiano wa tofauti kati ya kizuizi cha juu na sehemu ya kutoka.", @@ -3684,24 +3684,24 @@ "-1350745673": "Ikiwa eneo la kutoka ni sawa na kizuizi, hutashinda malipo.", "-93996528": "Kwa kununua mkataba wa “Close-to-Low”, utashinda multiplier zidisha na tofauti kati ya close na low katika kipindi cha mkataba.'.", "-420387848": "High ni hatua ya juu zaidi iliyowahi kufikiwa na soko wakati wa kipindi cha mkataba.", - "-1722190480": "Kwa kununua mkataba wa “High-to-Chini”, utashinda mara nyingi za kuongeza tofauti kati ya juu na ya chini kwa muda wa mkataba.'", + "-1722190480": "Kwa kununua mkataba wa “High-to-Low”, utashinda multiplier zidisha na tofauti kati ya juu na ya chini katika kipindi cha mkataba.'.", "-1281286610": "Ukichagua “Matches”, utashinda malipo ikiwa tarakimu ya mwisho ya tick ya mwisho ni sawa na utabiri wako.", - "-618782785": "Tumia viongezaji ili kutumia faida yako inayowezekana. Utabiri ikiwa bei ya mali itasonga juu (kupanda) au kushuka (bearish). Tutalipa tume unapofungua biashara ya viongezeka.", - "-565391674": "Ikiwa utachagua \"Ju <0>u “, faida/hasara yako ya jumla itakuwa ongezeko la asilimia katika bei ya mali ya msingi, mara nyingi ya uzizaji na hisa, punguza tume.", - "-1113825265": "Vipengele vya ziada vinapatikana kusimamia nafasi <0>zako: “Chu kua faida” na “Kuacha hasara<0>” hukuruhusu kurekebisha kiwango chako cha kuzuia hatari.", - "-1104397398": "Vipengele vya ziada vinapatikana kudhibiti nafasi <0>zako: “Chu kua faida”, “Ku <0>acha hasara” na “Kufuta <0>mpango” hukuruhusu kurekebisha kiwango chako cha kuzuia hatari.", + "-618782785": "Tumia multipliers ili kutumia faida yako inayowezekana. Tabiri ikiwa bei ya mali itasonga juu (bullish) au kushuka (bearish). Tutatoza gawio unapofungua biashara ya multipliers.", + "-565391674": "Ukichagua \"<0>Up\", faida/hasara yako ya jumla itakuwa ongezeko la asilimia katika bei ya mali ya msingi, zidisha na multiplier na dau, ukitoa gawio.", + "-1113825265": "Vipengele vya ziada vinapatikana kusimamia nafasi zako: <0>Chukua faida” na “<0>Zuia hasara\" hivi hukuruhusu kudhibiti kiwango chako cha hatari.", + "-1104397398": "Vipengele vya ziada vinapatikana kusimamia nafasi zako: <0>Chukua faida”, “<0>Zuia hasara\" na “<0>Ghairi mpango” hivi hukuruhusu kudhibiti kiwango chako cha hatari.", "-1272255095": "Ikiwa eneo la kutoka ni sawa na kizuizi au kizuizi kipya (ikiwa kuweka upya kunatokea), hutashinda malipo.", "-1392065699": "Ukichagua “Rise”, utashinda malipo ikiwa bei ya kutoka ni kubwa zaidi kuliko bei ya kuingia.", - "-1762566006": "Ukichagua “Kuanguka”, unashinda malipo ikiwa mahali pa kuondoka ni chini kabisa kuliko nafasi ya kuingia.", - "-1435306976": "Ukichagua “Ruhusu sawa”, unashinda malipo ikiwa nafasi ya kuondoka ni kubwa kuliko au sawa na nafasi ya kuingia kwa “Kupanda”. Vivyo hivyo, unashinda malipo ikiwa nafasi ya kuondoka ni chini kuliko au sawa na nafasi ya kuingia kwa “Fall”.", - "-1812957362": "Ukichagua “Stays Between”, unashinda malipo ikiwa soko linakaa kati ya (haligusa) ama kizuizi cha juu au kizuizi cha chini wakati wowote wakati wowote wakati wa mkataba", + "-1762566006": "Ukichagua “Fall”, utashinda malipo ikiwa bei ya kutoka ni ya chini kabisa kuliko bei ya kuingia.", + "-1435306976": "Ukichagua “Allow equals”, utashinda malipo ikiwa bei ya kutoka ni kubwa kuliko au sawa na bei ya kuingia kwa “Rise”. Vivyo hivyo, utashinda malipo ikiwa bei ya kutoka ni ndogo kuliko au sawa na bei ya kuingia kwa “Fall”.", + "-1812957362": "Ukichagua “Stays Between”, utashinda malipo ikiwa soko litakaa kati ya (haligusi) ama kizuizi cha juu au kizuizi cha chini wakati wowote katika kipindi cha mkataba", "-220379757": "Ukichagua “Goes Outside”, unashinda malipo ikiwa soko linagusa kama kizuizi cha juu au kizuizi cha chini wakati wowote wakati wowote wakati wa mkataba.", "-299450697": "Ukichagua “High Tick”, utashinda malipo ikiwa tick iliyochaguliwa ni ya juu baina ya tick tano zinazofuata.", "-1416078023": "Ukichagua “Gusa”, unashinda malipo ikiwa soko linagusa kizuizi wakati wowote wakati wowote wakati wa mkataba.", "-1565216130": "Ukichagua <0>\"Up\", utapata malipo ikiwa bei ya hapo haitashuka chini ya kizuizi.", "-1336860323": "Ukichagua <0>\"Down\", utapata malipo ikiwa bei ya hapo haitaongezeka juu ya kizuizi.", "-1547935605": "Malipo yako ni sawa na mali <0>po kwa kila pointi iliyoongezwa na tofauti kati ya bei ya <0>mwisho na kiz uizi. Utapata faida tu ikiwa malipo yako ni kubwa kuliko hisa yako ya awali.", - "-1307465836": "Unaweza kuuza mkataba hadi sekunde 15 kabla ya kumalizika. Ikiwa utafanya hivyo, tutakulipa thamani ya <0>mkataba.", + "-1307465836": "Unaweza kuuza mkataba hadi sekunde 15 kabla ya kumalizika. Ikiwa utafanya hivyo, tutakulipa <0>thamani ya mkataba.", "-351875097": "Idadi ya ticks", "-729830082": "Tazama kidogo", "-1649593758": "Maelezo ya biashara", @@ -3753,7 +3753,7 @@ "-690963898": "Mkataba wako utafungwa otomatiki wakati malipo yako yatapofikia kiasi hiki.", "-511541916": "Mkataba wako utafungwa otomatiki baada ya kufikia idadi hii ya tick.", "-438655760": "<0>Kumbuka: Unaweza kufunga biashara yako wakati wowote. Jihadhari na hatari ya kuteleza.", - "-774638412": "Hifadhi lazima iwe kati ya {{min_stake}} {{currency}} na {{max_stake}} {{currency}}", + "-774638412": "Dau lazima liwe kati ya {{min_stake}} {{currency}} na {{max_stake}} {{currency}}", "-434270664": "Bei ya sasa", "-1956787775": "Bei ya kizuizi:", "-1513281069": "Kizuizi 2", diff --git a/packages/translations/src/translations/th.json b/packages/translations/src/translations/th.json index 8d0aefce3cb4..33dad0d4be09 100644 --- a/packages/translations/src/translations/th.json +++ b/packages/translations/src/translations/th.json @@ -2718,7 +2718,7 @@ "-2146691203": "ทางเลือกของกฎระเบียบ", "-249184528": "คุณสามารถสร้างบัญชีจริงภายใต้กฎระเบียบของสหภาพยุโรปหรือที่ไม่ใช่สหภาพยุโรป คลิกที่ไอคอน <0><0/>เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับบัญชีเหล่านี้", "-1505234170": "เยี่ยมชม Trader's Hub", - "-1901718278": "ผลิตภัณฑ์ที่นำเสนอบนเว็บไซต์ของเรานั้นเป็นผลิตภัณฑ์อนุพันธ์ที่ซับซ้อนซึ่งมาพร้อมกับความเสี่ยงสูงที่จะขาดทุนสูญเสีย สัญญาการเทรดส่วนต่างหรือ CFD เป็นตราสารที่ซับซ้อนและมาพร้อมกับความเสี่ยงสูงที่จะสูญเสียเงินอย่างรวดเร็วเนื่องจากเลเวอเรจ 70.1% ของบัญชีนักลงทุนรายย่อยสูญเสียเงินเมื่อเทรด CFD กับผู้ให้บริการรายนี้ ดังนั้นคุณควรพิจารณาว่าคุณเข้าใจวิธีการทำงานของผลิตภัณฑ์เหล่านี้หรือไม่ และคุณสามารถที่จะรับความเสี่ยงสูงในการสูญเสียเงินได้หรือไม่", + "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", "-1870909526": "เซิร์ฟเวอร์ของเราไม่สามารถดึงข้อมูลที่อยู่ได้", "-582721696": "จำนวนการถอนที่อนุญาตในปัจจุบันคือ {{format_min_withdraw_amount}} ถึง {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "แคชเชียร์", diff --git a/packages/translations/src/translations/tr.json b/packages/translations/src/translations/tr.json index 1d49a71dbd44..9bb52d8570f9 100644 --- a/packages/translations/src/translations/tr.json +++ b/packages/translations/src/translations/tr.json @@ -2718,7 +2718,7 @@ "-2146691203": "Düzenleme seçimi", "-249184528": "AB veya AB dışı düzenlemeler kapsamında gerçek hesaplar oluşturabilirsiniz. Bu hesaplar hakkında daha fazla bilgi edinmek için <0><0/> simgesine tıklayın.", "-1505234170": "Trader's Hub turu", - "-1901718278": "Web sitemizde sunulan ürünler, önemli ölçüde potansiyel kayıp riski taşıyan karmaşık türev ürünlerdir. CFD'ler, kaldıraç nedeniyle hızla para kaybetme riski yüksek olan karmaşık araçlardır. Perakende yatırımcı hesaplarının %70.1'i bu sağlayıcı ile CFD ticareti yaparken para kaybetmektedir. Bu ürünlerin nasıl çalıştığını anlayıp anlamadığınızı ve paranızı kaybetme riskini göze alıp alamayacağınızı düşünmelisiniz.", + "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", "-1870909526": "Sunucumuz bir adres kurtaramıyor.", "-582721696": "İzin verilen geçerli geri çekme miktarı {{format_min_withdraw_amount}} ile {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Kasiyer", diff --git a/packages/translations/src/translations/vi.json b/packages/translations/src/translations/vi.json index a80003329766..ef04d91d904c 100644 --- a/packages/translations/src/translations/vi.json +++ b/packages/translations/src/translations/vi.json @@ -311,7 +311,7 @@ "339610914": "Chênh lệch Tăng/Chênh lệch Giảm", "339879944": "GBP/USD", "340807218": "Không có mô tả.", - "342181776": "Hủy bỏ giao dịch", + "342181776": "Hủy giao dịch", "343873723": "Khung này hiển thị một thông báo. Bạn có thể chỉ định màu của tin nhắn và chọn từ 6 tùy chọn âm thanh khác nhau.", "344418897": "Các tính năng giới hạn giao dịch và quyền tự ngăn giao dịch giúp bạn kiểm soát số tiền và thời gian bạn dành cho {{brand_website_name}} và thực hiện <0>giao dịch có trách nhiệm.", "345320063": "Mốc thời gian không hợp lệ", @@ -2718,7 +2718,7 @@ "-2146691203": "Lựa chọn giám sát", "-249184528": "Bạn có thể tạo tài khoản thực theo quy định của châu Âu hoặc theo quy định của các nước không thuộc châu Âu. Nhấp vào biểu tượng <0><0/> để tìm hiểu thêm về các tài khoản này.", "-1505234170": "Khám phá Trader's Hub", - "-1901718278": "Các sản phẩm được cung cấp trên trang web của chúng tôi là các sản phẩm phái sinh phức tạp có nguy cơ mất mát đáng kể. CFD là công cụ phức tạp có nguy cơ mất tiền nhanh chóng do đòn bẩy. 70,1% tài khoản nhà đầu tư bán lẻ bị mất tiền khi giao dịch CFD với nhà cung cấp này. Bạn nên xem xét liệu bạn có hiểu cách thức hoạt động của các sản phẩm này và liệu bạn có đủ khả năng để chấp nhận rủi ro mất tiền cao hay không.", + "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", "-1870909526": "Máy chủ của chúng tôi không thể thu hồi địa chỉ.", "-582721696": "Số tiền được phép rút hiện tại là từ {{format_min_withdraw_amount}} đến {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Thanh toán", diff --git a/packages/translations/src/translations/zh_cn.json b/packages/translations/src/translations/zh_cn.json index 77bc2503b4eb..8a47d6cde2a9 100644 --- a/packages/translations/src/translations/zh_cn.json +++ b/packages/translations/src/translations/zh_cn.json @@ -2718,7 +2718,7 @@ "-2146691203": "选择法规", "-249184528": "可以根据欧盟或非欧盟法规开立真实账户。点击<0><0/>图标了解有关这些账户的更多信息。", "-1505234170": "Trader's Hub 浏览", - "-1901718278": "网站上提供的产品是复杂的衍生产品,潜在的亏损风险很高。差价合约是复杂的工具,并且由于杠杆作用,具有快速亏损的高风险。70.1%的零售投资者账户在与该提供商交易差价合约时会亏损。您必须考虑自己是否了解这些产品的运作方式,以及是否有能力承担损失资金的高风险。", + "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", "-1870909526": "服务器无法取回地址。", "-582721696": "当前允许取款额为 {{format_min_withdraw_amount}} 至 {{format_max_withdraw_amount}}", "-1975494965": "收银台", diff --git a/packages/translations/src/translations/zh_tw.json b/packages/translations/src/translations/zh_tw.json index 422cd1038f93..c812737064d7 100644 --- a/packages/translations/src/translations/zh_tw.json +++ b/packages/translations/src/translations/zh_tw.json @@ -2718,7 +2718,7 @@ "-2146691203": "選擇法規", "-249184528": "可以根據歐盟或非歐盟法規開立真實帳戶。按一下<0><0/>圖示以進一步瞭解這些帳戶。", "-1505234170": "Trader's Hub 瀏覽", - "-1901718278": "網站上提供的產品是複雜的衍生產品,可能虧損的風險很高。差價合約是複雜的工具,並且由於槓桿作用,具有快速虧損的高風險。 70.1% 的零售投資者帳戶在與該供應商交易差價合約時損失。您必須考慮自己是否了解這些產品的運作方式,以及是否有能力承擔損失資金的高風險。", + "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", "-1870909526": "伺服器無法取回地址。", "-582721696": "目前允許取款額為 {{format_min_withdraw_amount}} 至 {{format_max_withdraw_amount}}", "-1975494965": "收銀台", From e6ec1ae9aed80cfb24931cb776a0246b712c428b Mon Sep 17 00:00:00 2001 From: Sandeep Rajput <90243468+sandeep-deriv@users.noreply.github.com> Date: Thu, 16 May 2024 14:13:55 +0800 Subject: [PATCH 22/95] chore: :fire: fix the active_symbols refetching issue on bot (#15151) * chore: :fire: fix the active_symbols refetching issue on bot * chore: :fire: added useeffect to refrain the bot from calling the api multiple times' --- packages/bot-web-ui/src/app/app-content.jsx | 10 ++++++---- packages/bot-web-ui/src/stores/app-store.ts | 9 +++++++++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/packages/bot-web-ui/src/app/app-content.jsx b/packages/bot-web-ui/src/app/app-content.jsx index 7c9a94ec58a3..c9c96e7eddad 100644 --- a/packages/bot-web-ui/src/app/app-content.jsx +++ b/packages/bot-web-ui/src/app/app-content.jsx @@ -99,10 +99,12 @@ const AppContent = observer(() => { // eslint-disable-next-line react-hooks/exhaustive-deps }, []); - // use is_landing_company_loaded to know got details of accounts to identify should show an error or not - if (client.is_landing_company_loaded) { - changeActiveSymbolLoadingState(); - } + React.useEffect(() => { + if (client.is_logged_in && client.is_landing_company_loaded) { + changeActiveSymbolLoadingState(); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [client.is_landing_company_loaded]); React.useEffect(() => { const onDisconnectFromNetwork = () => { diff --git a/packages/bot-web-ui/src/stores/app-store.ts b/packages/bot-web-ui/src/stores/app-store.ts index 0cec88843b7a..62357cd146fd 100644 --- a/packages/bot-web-ui/src/stores/app-store.ts +++ b/packages/bot-web-ui/src/stores/app-store.ts @@ -23,6 +23,15 @@ export default class AppStore { makeObservable(this, { onMount: action, onUnmount: action, + onBeforeUnload: action, + registerReloadOnLanguageChange: action, + registerCurrencyReaction: action, + registerOnAccountSwitch: action, + registerLandingCompanyChangeReaction: action, + registerResidenceChangeReaction: action, + setDBotEngineStores: action, + onClickOutsideBlockly: action, + showDigitalOptionsMaltainvestError: action, }); this.root_store = root_store; From 8fd223e0dfe5b032b23c660de6871c569a74df5c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 16 May 2024 10:20:45 +0400 Subject: [PATCH 23/95] =?UTF-8?q?translations:=20=F0=9F=93=9A=20sync=20tra?= =?UTF-8?q?nslations=20with=20crowdin=20(#15192)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: DerivFE --- packages/translations/src/translations/ar.json | 2 +- packages/translations/src/translations/bn.json | 2 +- packages/translations/src/translations/de.json | 2 +- packages/translations/src/translations/es.json | 2 +- packages/translations/src/translations/fr.json | 2 +- packages/translations/src/translations/it.json | 2 +- packages/translations/src/translations/ko.json | 2 +- packages/translations/src/translations/mn.json | 2 +- packages/translations/src/translations/pl.json | 2 +- packages/translations/src/translations/pt.json | 2 +- packages/translations/src/translations/ru.json | 2 +- packages/translations/src/translations/si.json | 2 +- packages/translations/src/translations/sw.json | 2 +- packages/translations/src/translations/th.json | 2 +- packages/translations/src/translations/tr.json | 2 +- packages/translations/src/translations/vi.json | 2 +- packages/translations/src/translations/zh_cn.json | 2 +- packages/translations/src/translations/zh_tw.json | 2 +- 18 files changed, 18 insertions(+), 18 deletions(-) diff --git a/packages/translations/src/translations/ar.json b/packages/translations/src/translations/ar.json index 18df18ed2c27..dad47577670a 100644 --- a/packages/translations/src/translations/ar.json +++ b/packages/translations/src/translations/ar.json @@ -2718,7 +2718,7 @@ "-2146691203": "اختيار التنظيم", "-249184528": "يمكنك إنشاء حسابات حقيقية بموجب لوائح الاتحاد الأوروبي أو خارج الاتحاد الأوروبي. انقر فوق <0><0/>الرمز لمعرفة المزيد حول هذه الحسابات.", "-1505234170": "جولة Trader's Hub", - "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", + "-1265635180": "المنتجات المعروضة على موقعنا هي منتجات مشتقة معقدة تنطوي على مخاطر كبيرة للخسارة المحتملة. العقود مقابل الفروقات هي أدوات معقدة تنطوي على مخاطر عالية لخسارة الأموال بسرعة بسبب الرافعة المالية. 67.28٪ من حسابات مستثمري التجزئة تخسر الأموال عند تداول العقود مقابل الفروقات مع هذا المزود. يجب أن تفكر فيما إذا كنت تفهم كيفية عمل هذه المنتجات وما إذا كان بإمكانك تحمل المخاطر العالية بخسارة أموالك.", "-1870909526": "لا يمكن للخادم الخاص بنا استرداد العنوان.", "-582721696": "مبلغ السحب الحالي المسموح به هو {{format_min_withdraw_amount}} إلى {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "كاشير", diff --git a/packages/translations/src/translations/bn.json b/packages/translations/src/translations/bn.json index 3a165ba94337..b626d4786d0e 100644 --- a/packages/translations/src/translations/bn.json +++ b/packages/translations/src/translations/bn.json @@ -2718,7 +2718,7 @@ "-2146691203": "প্রবিধান পছন্দ", "-249184528": "আপনি ইইউ বা অ-ইইউ নিয়ন্ত্রণের অধীনে প্রকৃত অ্যাকাউন্ট তৈরি করতে পারেন। <0>এই অ্যাকাউন্টগুলি সম্পর্কে আরও জানতে<0/> আইকনে ক্লিক করুন।", "-1505234170": "ট্রেডার'স হাব ট্যুর", - "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", + "-1265635180": "আমাদের ওয়েবসাইটে দেওয়া পণ্যগুলি জটিল ডেরিভেটিভ পণ্য যা সম্ভাব্য ক্ষতির উল্লেখযোগ্য ঝুঁকি বহন করে। সিএফডিগুলি জটিল যন্ত্র যার লিভারেজের কারণে দ্রুত অর্থ হারানোর উচ্চ ঝুঁকি রয়েছে। এই সরবরাহকারীর সাথে সিএফডি ট্রেড করার সময় 67.28% খুচরা বিনিয়োগকারী অ্যাকাউন্ট অর্থ হারায় এই পণ্যগুলি কীভাবে কাজ করে তা আপনি বুঝতে পারেন কিনা এবং আপনি আপনার অর্থ হারানোর উচ্চ ঝুঁকি নিতে পারবেন কিনা তা আপনার বিবেচনা করা উচিত।", "-1870909526": "আমাদের সার্ভার একটি ঠিকানা উদ্ধার করতে পারে না।", "-582721696": "বর্তমান অনুমোদিত প্রত্যাহারের পরিমাণ {{format_min_withdraw_amount}} থেকে {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "ক্যাশিয়ার", diff --git a/packages/translations/src/translations/de.json b/packages/translations/src/translations/de.json index 3c2dda581791..449b2792061b 100644 --- a/packages/translations/src/translations/de.json +++ b/packages/translations/src/translations/de.json @@ -2718,7 +2718,7 @@ "-2146691203": "Wahl der Verordnung", "-249184528": "Sie können echte Konten gemäß EU- oder Nicht-EU-Vorschriften erstellen. Klicken Sie auf das <0><0/>Symbol, um mehr über diese Konten zu erfahren.", "-1505234170": "Trader's Hub-Tour", - "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", + "-1265635180": "Bei den auf unserer Website angebotenen Produkten handelt es sich um komplexe derivative Produkte, die ein erhebliches Verlustrisiko bergen. CFDs sind komplexe Instrumente mit einem hohen Risiko, aufgrund der Hebelwirkung schnell Geld zu verlieren. 67,28% der Konten von Kleinanlegern verlieren Geld beim Handel mit CFDs bei diesem Anbieter. Sie sollten sich überlegen, ob Sie die Funktionsweise dieser Produkte verstehen und ob Sie es sich leisten können, das hohe Risiko einzugehen, Ihr Geld zu verlieren.", "-1870909526": "Unser Server kann keine Adresse abrufen.", "-582721696": "Der aktuell zulässige Abhebungsbetrag ist {{format_min_withdraw_amount}} bis {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Kassierer", diff --git a/packages/translations/src/translations/es.json b/packages/translations/src/translations/es.json index eb74a37c0e25..18dfc6898fee 100644 --- a/packages/translations/src/translations/es.json +++ b/packages/translations/src/translations/es.json @@ -2718,7 +2718,7 @@ "-2146691203": "Elección del reglamento", "-249184528": "Puede crear cuentas reales según la normativa comunitaria o extracomunitaria. Haga clic en el <0><0/>icono para obtener más información sobre estas cuentas.", "-1505234170": "Tour por el Trader's Hub", - "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", + "-1265635180": "Los productos que se ofrecen en nuestro sitio web son productos derivados complejos que conllevan un riesgo significativo de pérdida potencial. Los CFD son instrumentos complejos con un alto riesgo de perder dinero rápidamente debido al apalancamiento. El 67.28% de las cuentas de inversores minoristas pierden dinero al operar con CFD con este proveedor. Debe considerar si entiende cómo funcionan estos productos y si puede permitirse correr el alto riesgo de perder su dinero.", "-1870909526": "Nuestro servidor no puede recuperar una dirección.", "-582721696": "La cantidad de retiro permitido actualmente es de {{format_min_withdraw_amount}} a {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Cajero", diff --git a/packages/translations/src/translations/fr.json b/packages/translations/src/translations/fr.json index bfd022ce5645..8b943b9639c9 100644 --- a/packages/translations/src/translations/fr.json +++ b/packages/translations/src/translations/fr.json @@ -2718,7 +2718,7 @@ "-2146691203": "Choix de la réglementation", "-249184528": "Vous pouvez créer des comptes réels conformément à la réglementation applicable au sein/hors de l'UE. Cliquez sur l'<0><0/>icône pour en savoir plus sur ces comptes.", "-1505234170": "Visite du Trader's Hub", - "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", + "-1265635180": "Les produits proposés sur notre site Web sont des produits dérivés complexes qui comportent un risque important de perte potentielle. Les CFD sont des instruments complexes présentant un risque élevé de perdre de l'argent rapidement en raison de l'effet de levier. 67,28 % des comptes d'investisseurs particuliers perdent de l'argent lorsqu'ils négocient des CFD avec ce fournisseur. Vous devez vous demander si vous comprenez le fonctionnement de ces produits et si vous pouvez vous permettre de prendre le risque élevé de perdre votre argent.", "-1870909526": "Notre serveur ne peut pas récupérer une adresse.", "-582721696": "Le montant actuel du retrait autorisé est de {{format_min_withdraw_amount}} à {{format_max_withdraw_amount}}{{currency}}", "-1975494965": "Caisse", diff --git a/packages/translations/src/translations/it.json b/packages/translations/src/translations/it.json index e14ba363011e..d19b3a77cdac 100644 --- a/packages/translations/src/translations/it.json +++ b/packages/translations/src/translations/it.json @@ -2718,7 +2718,7 @@ "-2146691203": "Scelta del regolamento", "-249184528": "Puoi creare conti reali in base a normative UE o extra UE. Fai clic sull'<0><0/>icona per saperne di più su questi conti.", "-1505234170": "Visita del Trader's Hub", - "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", + "-1265635180": "I prodotti offerti sul nostro sito Web sono prodotti derivati complessi che comportano un rischio significativo di perdita potenziale. I CFD sono strumenti complessi con un elevato rischio di perdere denaro rapidamente a causa della leva finanziaria. Il 67,28% dei conti degli investitori al dettaglio perde denaro quando fa trading di CFD con questo fornitore. Dovresti valutare se comprendi come funzionano questi prodotti e se puoi permetterti di correre il rischio elevato di perdere i tuoi soldi.", "-1870909526": "Il nostro server non è in grado di recuperare l'indirizzo.", "-582721696": "Attualmente è possibile prelevare un importo compreso tra {{format_min_withdraw_amount}} e {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Cassa", diff --git a/packages/translations/src/translations/ko.json b/packages/translations/src/translations/ko.json index 3652ada86f9b..1090eff6e8d7 100644 --- a/packages/translations/src/translations/ko.json +++ b/packages/translations/src/translations/ko.json @@ -2718,7 +2718,7 @@ "-2146691203": "규제 항목 선택", "-249184528": "EU 또는 비 EU 규정에 따라 실제 계정을 만들 수 있습니다.<0><0/>아이콘을 클릭하면 해당 계정에 대해 자세히 알아볼 수 있습니다.", "-1505234170": "Trader's Hub 투어", - "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", + "-1265635180": "당사 웹사이트에서 제공하는 상품은 잠재적 손실 위험이 큰 복합 파생 상품입니다. CFD는 레버리지로 인해 손실이 급속히 커질 위험이 높은 복잡한 상품입니다. 본 업체에서 CFD를 거래하는 개인 투자자 계좌의 67.28% 가 손실을 보고 있습니다. 본인이 이러한 상품의 작동 방식을 이해하고 있는지, 높은 손실 위험을 감수할 수 있는지 고려해야 합니다.", "-1870909526": "우리의 서버가 주소를 검색할 수 없습니다.", "-582721696": "현재 허용되는 인출금액은 {{format_min_withdraw_amount}} 에서 {{format_max_withdraw_amount}} {{currency}} 입니다", "-1975494965": "캐셔", diff --git a/packages/translations/src/translations/mn.json b/packages/translations/src/translations/mn.json index a07cd5e83c4f..ae3ef6cb4f8e 100644 --- a/packages/translations/src/translations/mn.json +++ b/packages/translations/src/translations/mn.json @@ -2718,7 +2718,7 @@ "-2146691203": "Зохицуулалтын сонголт", "-249184528": "Та ЕХ-ны эсвэл ЕХ-ны бус зохицуулалтын дагуу бодит данс үүсгэж болно. <0>Эдгээр дансуудын <0/> талаар илүү ихийг мэдэхийн тулд дүрс дээр дарна уу.", "-1505234170": "Худалдаачдын төв аялал", - "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", + "-1265635180": "Манай вэбсайт дээр санал болгож буй бүтээгдэхүүнүүд нь болзошгүй алдагдал ихээхэн эрсдэлийг дагуулдаг нарийн төвөгтэй дериватив бүтээгдэхүүн юм. CFD нь хөшүүргийн улмаас хурдацтай мөнгө алдах өндөр эрсдэлтэй нарийн төвөгтэй хэрэгсэл юм. 67.28% нь жижиглэнгийн хөрөнгө оруулагчийн дансууд энэ үйлчилгээ үзүүлэгчтэй CFD арилжаалахдаа мөнгө алддаг. Та эдгээр бүтээгдэхүүн хэрхэн ажилладаг, та мөнгөө алдах өндөр эрсдэлийг авч төлж чадах эсэхийг ойлгож байгаа эсэхийг авч үзэх хэрэгтэй.", "-1870909526": "Манай сервер хаягийг авч чадахгүй.", "-582721696": "Одоогийн зөвшөөрөгдсөн татгалзах хэмжээ нь {{format_min_withdraw_amount}} нь {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Касс", diff --git a/packages/translations/src/translations/pl.json b/packages/translations/src/translations/pl.json index c91c5a78f634..2d0db70c8e55 100644 --- a/packages/translations/src/translations/pl.json +++ b/packages/translations/src/translations/pl.json @@ -2718,7 +2718,7 @@ "-2146691203": "Wybór regulacji", "-249184528": "Możesz tworzyć konta rzeczywiste zgodnie z przepisami UE lub spoza UE. Kliknij <0><0/>ikonę, aby dowiedzieć się więcej o tych kontach.", "-1505234170": "Wycieczka po Trader's Hub", - "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", + "-1265635180": "Produkty oferowane na naszej stronie internetowej to złożone produkty pochodne, które niosą ze sobą znaczne ryzyko potencjalnej straty. Kontrakty CFD to złożone instrumenty o wysokim ryzyku szybkiej utraty pieniędzy z powodu dźwigni finansowej. 67,28% kont inwestorów detalicznych traci pieniądze podczas handlu kontraktami CFD u tego dostawcy. Powinieneś rozważyć, czy rozumiesz, jak działają te produkty i czy możesz sobie pozwolić na podjęcie wysokiego ryzyka utraty pieniędzy.", "-1870909526": "Nasze serwery nie mogą pobrać adresu.", "-582721696": "Dozwolona kwota wypłaty to {{format_min_withdraw_amount}} - {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Kasjer", diff --git a/packages/translations/src/translations/pt.json b/packages/translations/src/translations/pt.json index ac343749da25..15fbe3ea7c85 100644 --- a/packages/translations/src/translations/pt.json +++ b/packages/translations/src/translations/pt.json @@ -2718,7 +2718,7 @@ "-2146691203": "Escolha de regulamentação", "-249184528": "Pode criar contas reais ao abrigo da regulamentação da UE ou de países não pertencentes à UE. Clique no ícone <0><0/> para saber mais sobre estas contas.", "-1505234170": "Visita ao Trader's Hub", - "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", + "-1265635180": "Os produtos oferecidos no nosso site são produtos derivados complexos que comportam um risco significativo de perda potencial. Os CFDs são instrumentos complexos que apresentam um elevado risco de perda rápida de dinheiro devido à alavancagem. 67,28% das contas de investidores não profissionais perdem dinheiro ao negociar CFDs com este fornecedor. Deve considerar se compreende o funcionamento destes produtos e se pode correr o risco elevado de perder o seu dinheiro.", "-1870909526": "O nosso servidor não consegue recuperar um endereço.", "-582721696": "O montante de levantamento atual permitido é de {{format_min_withdraw_amount}} a {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Caixa", diff --git a/packages/translations/src/translations/ru.json b/packages/translations/src/translations/ru.json index 5d187807b280..68be0bf6fa13 100644 --- a/packages/translations/src/translations/ru.json +++ b/packages/translations/src/translations/ru.json @@ -2718,7 +2718,7 @@ "-2146691203": "Выбор регулятора", "-249184528": "Можно открыть счет под юрисдикцией регулятора в ЕС или за его пределами. Нажмите <0><0/>, чтобы узнать больше об этих счетах.", "-1505234170": "Тур по Trader's Hub", - "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", + "-1265635180": "Продукты, предлагаемые на нашем сайте, являются сложными производными продуктами и несут значительный риск потенциальных потерь. CFD — это сложные инструменты с высоким риском быстрой потери денег из-за кредитного плеча. 67.28% розничных счетов теряют деньги на CFD с этим провайдером. Оцените понимание этих продуктов и свою готовность к высокому риску потерь.", "-1870909526": "Нашему серверу не удалось получить адрес.", "-582721696": "Разрешенная сумма вывода сейчас составляет от {{format_min_withdraw_amount}} до {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Касса", diff --git a/packages/translations/src/translations/si.json b/packages/translations/src/translations/si.json index 0692893c6798..3fcd5883a207 100644 --- a/packages/translations/src/translations/si.json +++ b/packages/translations/src/translations/si.json @@ -2718,7 +2718,7 @@ "-2146691203": "නියාමන තේරීම", "-249184528": "ඔබට යුරෝපීය සංගමයේ හෝ යුරෝපීය නොවන සංගමයේ රෙගුලාසි යටතේ සැබෑ ගිණුම් සෑදිය හැක. මෙම ගිණුම් ගැන තව දැන ගැනීමට <0><0/> අයිකනය ක්ලික් කරන්න.", "-1505234170": "Trader's Hub චාරිකාව", - "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", + "-1265635180": "අපගේ වෙබ් අඩවියේ ඉදිරිපත් කර ඇති නිෂ්පාදන සංකීර්ණ ව්‍යුත්පන්න නිෂ්පාදන වන අතර ඒවා විය හැකි අලාභයේ සැලකිය යුතු අවදානමක් දරයි. CFD යනු උත්තෝලනය හේතුවෙන් වේගයෙන් මුදල් අහිමි වීමේ ඉහළ අවදානමක් සහිත සංකීර්ණ මෙවලම් වේ. මෙම සැපයුම්කරු සමඟ CFD ගනුදෙනු කිරීමේදී සිල්ලර ආයෝජක ගිණුම්වලින් 67.28%කට මුදල් අහිමි වේ. මෙම නිෂ්පාදන ක්‍රියා කරන ආකාරය ඔබ තේරුම් ගන්නේද යන්න සහ ඔබේ මුදල් අහිමි වීමේ ඉහළ අවදානමක් දැරීමට ඔබට හැකියාව තිබේද යන්න ඔබ විසින් සලකා බැලිය යුතුය.", "-1870909526": "අපගේ සේවාදායකයට ලිපිනයක් ලබා ගත නොහැක.", "-582721696": "දැනට අවසර දී ඇති ආපසු ගැනීමේ මුදල {{format_min_withdraw_amount}} සිට {{format_max_withdraw_amount}} {{currency}} වේ.", "-1975494965": "අයකැමි", diff --git a/packages/translations/src/translations/sw.json b/packages/translations/src/translations/sw.json index 7ac28654b7ab..9d226d978f42 100644 --- a/packages/translations/src/translations/sw.json +++ b/packages/translations/src/translations/sw.json @@ -2718,7 +2718,7 @@ "-2146691203": "Uchaguzi wa udhibiti", "-249184528": "Unaweza kuunda akaunti halisi chini ya kanuni ya EU au ya non-EU. Bonyeza <0><0/> ikoni ili kujifunza zaidi kuhusu akaunti hizi.", "-1505234170": "Ziara katika Trader's Hub", - "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", + "-1265635180": "Bidhaa zinazotolewa kwenye wavuti yetu ni bidhaa ngumu za matokeo ambazo zina hatari kubwa ya upotezaji. CFD ni zana ngumu zilizo na hatari kubwa ya kupoteza pesa haraka kutokana na ufanisi. 67.28% ya akaunti za wawekezaji wa rejareja hupoteza pesa wakati wa kufanya biashara ya CFD na mtoa huduma huyu. Unapaswa kuzingatia ikiwa unaelewa jinsi bidhaa hizi zinavyofanya kazi na ikiwa unaweza kumudu kuchukua hatari kubwa ya kupoteza pesa zako.", "-1870909526": "Seva yetu haiwezi kurejesha anwani.", "-582721696": "Kiasi cha kutoa kinachoruhusiwa kwa sasa ni {{format_min_withdraw_amount}} hadi {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Cashier", diff --git a/packages/translations/src/translations/th.json b/packages/translations/src/translations/th.json index 33dad0d4be09..6d88e597b364 100644 --- a/packages/translations/src/translations/th.json +++ b/packages/translations/src/translations/th.json @@ -2718,7 +2718,7 @@ "-2146691203": "ทางเลือกของกฎระเบียบ", "-249184528": "คุณสามารถสร้างบัญชีจริงภายใต้กฎระเบียบของสหภาพยุโรปหรือที่ไม่ใช่สหภาพยุโรป คลิกที่ไอคอน <0><0/>เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับบัญชีเหล่านี้", "-1505234170": "เยี่ยมชม Trader's Hub", - "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", + "-1265635180": "ผลิตภัณฑ์ที่นำเสนอบนเว็บไซต์ของเรานั้นเป็นผลิตภัณฑ์อนุพันธ์ที่ซับซ้อนซึ่งมาพร้อมกับความเสี่ยงสูงที่จะขาดทุนสูญเสีย สัญญาการเทรดส่วนต่างหรือ CFD เป็นตราสารที่ซับซ้อนและมาพร้อมกับความเสี่ยงสูงที่จะสูญเสียเงินอย่างรวดเร็วเนื่องจากเลเวอเรจ 67.28% ของบัญชีนักลงทุนรายย่อยสูญเสียเงินเมื่อเทรด CFD กับผู้ให้บริการรายนี้ ดังนั้นคุณควรพิจารณาว่าคุณเข้าใจวิธีการทำงานของผลิตภัณฑ์เหล่านี้หรือไม่ และคุณสามารถที่จะรับความเสี่ยงสูงในการสูญเสียเงินได้หรือไม่", "-1870909526": "เซิร์ฟเวอร์ของเราไม่สามารถดึงข้อมูลที่อยู่ได้", "-582721696": "จำนวนการถอนที่อนุญาตในปัจจุบันคือ {{format_min_withdraw_amount}} ถึง {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "แคชเชียร์", diff --git a/packages/translations/src/translations/tr.json b/packages/translations/src/translations/tr.json index 9bb52d8570f9..899dd6ae09c6 100644 --- a/packages/translations/src/translations/tr.json +++ b/packages/translations/src/translations/tr.json @@ -2718,7 +2718,7 @@ "-2146691203": "Düzenleme seçimi", "-249184528": "AB veya AB dışı düzenlemeler kapsamında gerçek hesaplar oluşturabilirsiniz. Bu hesaplar hakkında daha fazla bilgi edinmek için <0><0/> simgesine tıklayın.", "-1505234170": "Trader's Hub turu", - "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", + "-1265635180": "Web sitemizde sunulan ürünler, önemli ölçüde potansiyel kayıp riski taşıyan karmaşık türev ürünlerdir. CFD'ler, kaldıraç nedeniyle hızla para kaybetme riski yüksek olan karmaşık araçlardır. Perakende yatırımcı hesaplarının %67.28'i bu sağlayıcı ile CFD ticareti yaparken para kaybetmektedir. Bu ürünlerin nasıl çalıştığını anlayıp anlamadığınızı ve paranızı kaybetme riskini göze alıp alamayacağınızı düşünmelisiniz.", "-1870909526": "Sunucumuz bir adres kurtaramıyor.", "-582721696": "İzin verilen geçerli geri çekme miktarı {{format_min_withdraw_amount}} ile {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Kasiyer", diff --git a/packages/translations/src/translations/vi.json b/packages/translations/src/translations/vi.json index ef04d91d904c..f4b0dbccc13a 100644 --- a/packages/translations/src/translations/vi.json +++ b/packages/translations/src/translations/vi.json @@ -2718,7 +2718,7 @@ "-2146691203": "Lựa chọn giám sát", "-249184528": "Bạn có thể tạo tài khoản thực theo quy định của châu Âu hoặc theo quy định của các nước không thuộc châu Âu. Nhấp vào biểu tượng <0><0/> để tìm hiểu thêm về các tài khoản này.", "-1505234170": "Khám phá Trader's Hub", - "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", + "-1265635180": "Các sản phẩm được cung cấp trên trang web của chúng tôi là các sản phẩm phái sinh phức tạp có nguy cơ mất mát đáng kể. CFD là công cụ phức tạp có nguy cơ mất tiền nhanh chóng do đòn bẩy. 67.28% tài khoản nhà đầu tư bán lẻ bị mất tiền khi giao dịch CFD với nhà cung cấp này. Bạn nên xem xét liệu bạn có hiểu cách thức hoạt động của các sản phẩm này và liệu bạn có đủ khả năng để chấp nhận rủi ro mất tiền cao hay không.", "-1870909526": "Máy chủ của chúng tôi không thể thu hồi địa chỉ.", "-582721696": "Số tiền được phép rút hiện tại là từ {{format_min_withdraw_amount}} đến {{format_max_withdraw_amount}} {{currency}}", "-1975494965": "Thanh toán", diff --git a/packages/translations/src/translations/zh_cn.json b/packages/translations/src/translations/zh_cn.json index 8a47d6cde2a9..c28f4a1d4fe5 100644 --- a/packages/translations/src/translations/zh_cn.json +++ b/packages/translations/src/translations/zh_cn.json @@ -2718,7 +2718,7 @@ "-2146691203": "选择法规", "-249184528": "可以根据欧盟或非欧盟法规开立真实账户。点击<0><0/>图标了解有关这些账户的更多信息。", "-1505234170": "Trader's Hub 浏览", - "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", + "-1265635180": "网站上提供的产品是复杂的衍生产品,潜在的亏损风险很高。差价合约是复杂的工具,并且由于杠杆作用,具有快速亏损的高风险。67.28%的零售投资者账户在与该提供商交易差价合约时会亏损。您必须考虑自己是否了解这些产品的运作方式,以及是否有能力承担损失资金的高风险。", "-1870909526": "服务器无法取回地址。", "-582721696": "当前允许取款额为 {{format_min_withdraw_amount}} 至 {{format_max_withdraw_amount}}", "-1975494965": "收银台", diff --git a/packages/translations/src/translations/zh_tw.json b/packages/translations/src/translations/zh_tw.json index c812737064d7..4d29903073a0 100644 --- a/packages/translations/src/translations/zh_tw.json +++ b/packages/translations/src/translations/zh_tw.json @@ -2718,7 +2718,7 @@ "-2146691203": "選擇法規", "-249184528": "可以根據歐盟或非歐盟法規開立真實帳戶。按一下<0><0/>圖示以進一步瞭解這些帳戶。", "-1505234170": "Trader's Hub 瀏覽", - "-1265635180": "The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.", + "-1265635180": "網站上提供的產品是複雜的衍生產品,可能虧損的風險很高。差價合約是複雜的工具,並且由於槓桿作用,具有快速虧損的高風險。 67.28% 的零售投資者帳戶在與該供應商交易差價合約時損失。您必須考慮自己是否了解這些產品的運作方式,以及是否有能力承擔損失資金的高風險。", "-1870909526": "伺服器無法取回地址。", "-582721696": "目前允許取款額為 {{format_min_withdraw_amount}} 至 {{format_max_withdraw_amount}}", "-1975494965": "收銀台", From ce809bb6f7487962fb24e4d9180704667583cda9 Mon Sep 17 00:00:00 2001 From: lubega-deriv <142860499+lubega-deriv@users.noreply.github.com> Date: Thu, 16 May 2024 17:20:48 +0800 Subject: [PATCH 24/95] chore: TransferFormAccountSelection unit test (#15124) --- .../TransferFormAccountSelection.tsx | 15 +- .../TransferFormAccountSelection.spec.tsx | 192 ++++++++++++++++++ 2 files changed, 205 insertions(+), 2 deletions(-) create mode 100644 packages/wallets/src/features/cashier/modules/Transfer/components/TransferFormAccountSelection/__tests__/TransferFormAccountSelection.spec.tsx diff --git a/packages/wallets/src/features/cashier/modules/Transfer/components/TransferFormAccountSelection/TransferFormAccountSelection.tsx b/packages/wallets/src/features/cashier/modules/Transfer/components/TransferFormAccountSelection/TransferFormAccountSelection.tsx index e61f6b767a45..d7ef0844311f 100644 --- a/packages/wallets/src/features/cashier/modules/Transfer/components/TransferFormAccountSelection/TransferFormAccountSelection.tsx +++ b/packages/wallets/src/features/cashier/modules/Transfer/components/TransferFormAccountSelection/TransferFormAccountSelection.tsx @@ -18,7 +18,12 @@ type TProps = { toAccount?: TAccount; }; -const TitleLine = () =>
; +const TitleLine = () => ( +
+); const TransferFormAccountSelection: React.FC = ({ accountsList, @@ -53,7 +58,11 @@ const TransferFormAccountSelection: React.FC = ({ {label}
-
@@ -73,6 +82,7 @@ const TransferFormAccountSelection: React.FC = ({ className={classNames('wallets-transfer-form-account-selection__accounts-group', { 'wallets-transfer-form-account-selection__accounts-group--divider': shouldShowDivider, })} + data-testid='dt_wallets_transfer_form_account_selection_accounts_group' key={accountsGroupName} >
@@ -88,6 +98,7 @@ const TransferFormAccountSelection: React.FC = ({ 'wallets-transfer-form-account-selection__account--selected': account?.loginid === selectedAccount?.loginid, })} + data-testid='dt_wallets_transfer_form_account_selection_account' key={`account-selection-${account?.loginid}`} onClick={() => { onSelect(account); diff --git a/packages/wallets/src/features/cashier/modules/Transfer/components/TransferFormAccountSelection/__tests__/TransferFormAccountSelection.spec.tsx b/packages/wallets/src/features/cashier/modules/Transfer/components/TransferFormAccountSelection/__tests__/TransferFormAccountSelection.spec.tsx new file mode 100644 index 000000000000..03858f46eaad --- /dev/null +++ b/packages/wallets/src/features/cashier/modules/Transfer/components/TransferFormAccountSelection/__tests__/TransferFormAccountSelection.spec.tsx @@ -0,0 +1,192 @@ +import React from 'react'; +import { fireEvent, render, screen } from '@testing-library/react'; +import { useModal } from '../../../../../../../components/ModalProvider'; +import useDevice from '../../../../../../../hooks/useDevice'; +import TransferFormAccountSelection from '../TransferFormAccountSelection'; + +jest.mock('../../../../../../../hooks/useDevice', () => jest.fn()); + +jest.mock('../../../../../../../components/ModalProvider', () => ({ + useModal: jest.fn(), +})); + +describe('TransferFormAccountSelection', () => { + const mockModalHide = jest.fn(); + const mockOnSelect = jest.fn(); + + const props = { + accountsList: { + tradingAccounts: [ + { accountName: 'Account 1', currencyConfig: { display_code: 'USD' }, loginid: 'CR123' }, + { accountName: 'Account 2', currencyConfig: { display_code: 'EUR' }, loginid: 'CR124' }, + ], + wallets: [{ accountName: 'Wallet 1', currencyConfig: { display_code: 'GBP' }, loginid: 'CRW123' }], + }, + activeWallet: { accountName: 'Active Wallet', currencyConfig: { display_code: 'USD' }, loginid: 'CR123' }, + label: 'Transfer from', + onSelect: mockOnSelect, + selectedAccount: { loginid: 'CR123' }, + }; + + beforeEach(() => { + (useDevice as jest.Mock).mockReturnValue({ isMobile: false }); + (useModal as jest.Mock).mockReturnValue({ hide: mockModalHide }); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + it('should render without crashing', () => { + const emptyProps = { + accountsList: { + tradingAccounts: [undefined], + }, + activeWallet: undefined, + fromAccount: undefined, + label: 'Transfer to', + onSelect: mockOnSelect, + selectedAccount: undefined, + toAccount: undefined, + }; + + render( + // @ts-expect-error - since this is a mock, we only need partial properties of the hook + + ); + + expect(screen.getByText('Transfer to')).toBeInTheDocument(); + expect(screen.queryByText('Account 1')).not.toBeInTheDocument(); + expect(screen.queryByText('Account 2')).not.toBeInTheDocument(); + expect(screen.getByTestId('dt_wallets_transfer_form_account_selection_account')).toBeInTheDocument(); + }); + + it('should render content for empty accounts list correctly', () => { + const emptyProps = { + accountsList: { tradingAccounts: [] }, + }; + + render( + // @ts-expect-error - since this is a mock, we only need partial properties of the hook + + ); + + expect(screen.queryByText('Account 1')).not.toBeInTheDocument(); + expect(screen.queryByText('Account 2')).not.toBeInTheDocument(); + expect(screen.queryByTestId('dt_wallets_transfer_form_account_selection_account')).not.toBeInTheDocument(); + }); + + it('should render content with accounts correctly', () => { + render( + // @ts-expect-error - since this is a mock, we only need partial properties of the hook + + ); + + expect(screen.getByText('Transfer from')).toBeInTheDocument(); + expect(screen.getByText('Account 1')).toBeInTheDocument(); + expect(screen.getByText('Account 2')).toBeInTheDocument(); + expect(screen.getAllByTestId('dt_wallets_transfer_form_account_selection_account')[0]).toBeInTheDocument(); + }); + + it('should handle account selection and modal close on click of account', () => { + render( + // @ts-expect-error - since this is a mock, we only need partial properties of the hook + + ); + + const buttons = screen.getAllByRole('button'); + fireEvent.click(buttons[1]); + expect(mockOnSelect).toHaveBeenCalledWith(props.accountsList.tradingAccounts[0]); + expect(mockModalHide).toHaveBeenCalled(); + }); + + it('should display conditional transfer hint when label is "Transfer to"', () => { + const newProps = { + ...props, + activeWallet: { accountName: 'Active Wallet', currencyConfig: undefined, loginid: 'CR123' }, + fromAccount: { accountName: 'Source Account' }, + label: 'Transfer to', + toAccount: { accountName: 'Linked Account', loginid: 'CR123' }, + }; + + render( + // @ts-expect-error - since this is a mock, we only need partial properties of the hook + + ); + + expect( + screen.getByText(/You can only transfers funds from the Source Account to the linked Active Wallet./) + ).toBeInTheDocument(); + }); + + it('should render title for wallets only accounts list correctly', () => { + (useDevice as jest.Mock).mockReturnValue({ isMobile: true }); + const newProps = { + ...props, + accountsList: { + wallets: [{ accountName: 'Wallet 1', loginid: 'CRW123' }], + }, + }; + + render( + // @ts-expect-error - since this is a mock, we only need partial properties of the hook + + ); + + expect(screen.getByText('Wallets')).toBeInTheDocument(); + expect(screen.queryByText(/Trading/)).not.toBeInTheDocument(); + }); + + it('should render content for mobile correctly', () => { + (useDevice as jest.Mock).mockReturnValue({ isMobile: true }); + + render( + // @ts-expect-error - since this is a mock, we only need partial properties of the hook + + ); + + expect(screen.getByText('Trading accounts linked with USD Wallet')).toBeInTheDocument(); + expect(screen.getAllByTestId('dt_wallets_transfer_form_account_selection_title_line')[0]).toBeInTheDocument(); + }); + + it('should close modal on click of close button', () => { + render( + // @ts-expect-error - since this is a mock, we only need partial properties of the hook + + ); + + fireEvent.click(screen.getByTestId('dt_wallets_transfer_form_account_selection_close_button')); + expect(mockModalHide).toBeCalled(); + }); + + it('should render dividers between account groups when more than one group is present and not mobile', () => { + render( + // @ts-expect-error - since this is a mock, we only need partial properties of the hook + + ); + + const groups = screen.getAllByTestId('dt_wallets_transfer_form_account_selection_accounts_group'); + expect(groups).toHaveLength(2); + expect(groups[0]).toHaveClass('wallets-transfer-form-account-selection__accounts-group--divider'); + expect(groups[1]).not.toHaveClass('wallets-transfer-form-account-selection__accounts-group--divider'); + }); + + it('should not render dividers when there is only one group of accounts', () => { + const singleGroupProps = { + ...props, + accountsList: { + tradingAccounts: [{ accountName: 'Account 1', currencyConfig: {} }], + }, + }; + + render( + // @ts-expect-error - since this is a mock, we only need partial properties of the hook + + ); + + const groups = screen.getAllByTestId('dt_wallets_transfer_form_account_selection_accounts_group'); + expect(groups[0]).not.toHaveClass('wallets-transfer-form-account-selection__accounts-group--divider'); + expect(screen.queryByText('Trading accounts linked with USD Wallet')).toBeInTheDocument(); + expect(screen.queryByText('Wallets')).not.toBeInTheDocument(); + }); +}); From 8dc26ac13e7f4dcbcc820027c1d5b91eee38b14d Mon Sep 17 00:00:00 2001 From: Jim Daniels Wasswa <104334373+jim-deriv@users.noreply.github.com> Date: Thu, 16 May 2024 17:24:25 +0800 Subject: [PATCH 25/95] [WALL] Jim/WALL-4001/ Send email when forgot password is clicked (#15107) * chore: send email when forgot password is clicked * chore: add sendemail call to modal on mobile * chore: rename hook * docs: add tsdoc * chore: add sendemail to dependency array * chore: add error handling logic * chore: add error handling for sent email template * chore: remove unnecessary dependencies --- .../SentEmailContent/SentEmailContent.tsx | 39 ++++---- .../DxtradeEnterPasswordModal.tsx | 89 ++++++++++++++----- .../screens/EnterPassword/EnterPassword.tsx | 9 +- .../useSendPasswordResetEmail.spec.tsx | 42 +++++++++ .../src/hooks/useSendPasswordResetEmail.ts | 50 +++++++++++ 5 files changed, 184 insertions(+), 45 deletions(-) create mode 100644 packages/wallets/src/hooks/__tests__/useSendPasswordResetEmail.spec.tsx create mode 100644 packages/wallets/src/hooks/useSendPasswordResetEmail.ts diff --git a/packages/wallets/src/components/SentEmailContent/SentEmailContent.tsx b/packages/wallets/src/components/SentEmailContent/SentEmailContent.tsx index e38cf2d798e7..0b0c479b953f 100644 --- a/packages/wallets/src/components/SentEmailContent/SentEmailContent.tsx +++ b/packages/wallets/src/components/SentEmailContent/SentEmailContent.tsx @@ -1,7 +1,6 @@ import React, { FC, Fragment, useEffect, useState } from 'react'; import { Trans } from 'react-i18next'; import { useCountdown } from 'usehooks-ts'; -import { useActiveWalletAccount, useSettings, useVerifyEmail } from '@deriv/api-v2'; import { DerivLightIcEmailSentIcon, DerivLightIcEmailSentPasskeyIcon, @@ -12,9 +11,10 @@ import { } from '@deriv/quill-icons'; import { PlatformDetails } from '../../features/cfd/constants'; import useDevice from '../../hooks/useDevice'; +import useSendPasswordResetEmail from '../../hooks/useSendPasswordResetEmail'; import { TPlatforms } from '../../types'; -import { platformPasswordResetRedirectLink } from '../../utils/cfd'; import { WalletButton, WalletText } from '../Base'; +import { WalletError } from '../WalletError'; import { WalletsActionScreen } from '../WalletsActionScreen'; import './SentEmailContent.scss'; @@ -22,6 +22,7 @@ type SentEmailContentProps = { description?: string; isChangePassword?: boolean; // NOTE: This prop is ONLY used for rendering different email icons between either Change Password/Forgot password email modal isInvestorPassword?: boolean; + onErrorButtonClick?: () => void; platform?: TPlatforms.All; }; @@ -57,12 +58,12 @@ const SentEmailContent: FC = ({ description, isChangePassword = false, isInvestorPassword = false, + onErrorButtonClick, platform, }) => { const [shouldShowResendEmailReasons, setShouldShowResendEmailReasons] = useState(false); const [hasCountdownStarted, setHasCountdownStarted] = useState(false); - const { data } = useSettings(); - const { mutate: verifyEmail } = useVerifyEmail(); + const { error: resetPasswordError, sendEmail } = useSendPasswordResetEmail(); const { isMobile } = useDevice(); const mt5Platform = PlatformDetails.mt5.platform; const { title } = PlatformDetails[platform ?? mt5Platform]; @@ -80,29 +81,25 @@ const SentEmailContent: FC = ({ isChangePassword || isInvestorPassword ? DerivLightIcEmailSentIcon : DerivLightIcEmailSentPasskeyIcon; const resendEmail = () => { - if (data?.email) { - verifyEmail({ - type: platform === mt5Platform ? mt5ResetType : 'trading_platform_dxtrade_password_reset', - url_parameters: { - redirect_to: platformPasswordResetRedirectLink(platform ?? mt5Platform, activeWallet?.is_virtual), - }, - verify_email: data?.email, - }); - resetCountdown(); - startCountdown(); - setHasCountdownStarted(true); - } + sendEmail({ isInvestorPassword, platform }); + resetCountdown(); + startCountdown(); + setHasCountdownStarted(true); }; useEffect(() => { if (count === 0) setHasCountdownStarted(false); }, [count]); - const { data: activeWallet } = useActiveWalletAccount(); - - const mt5ResetType = isInvestorPassword - ? 'trading_platform_investor_password_reset' - : 'trading_platform_mt5_password_reset'; + if (resetPasswordError) { + return ( + + ); + } return (
diff --git a/packages/wallets/src/features/cfd/modals/DxtradeEnterPasswordModal/DxtradeEnterPasswordModal.tsx b/packages/wallets/src/features/cfd/modals/DxtradeEnterPasswordModal/DxtradeEnterPasswordModal.tsx index b030baf35ca7..606c0be87325 100644 --- a/packages/wallets/src/features/cfd/modals/DxtradeEnterPasswordModal/DxtradeEnterPasswordModal.tsx +++ b/packages/wallets/src/features/cfd/modals/DxtradeEnterPasswordModal/DxtradeEnterPasswordModal.tsx @@ -1,4 +1,4 @@ -import React, { useCallback, useMemo, useState } from 'react'; +import React, { useCallback, useEffect, useMemo, useState } from 'react'; import { useHistory } from 'react-router-dom'; import { useAccountStatus, @@ -10,6 +10,7 @@ import { SentEmailContent, WalletError } from '../../../../components'; import { ModalStepWrapper, ModalWrapper, WalletButton, WalletButtonGroup } from '../../../../components/Base'; import { useModal } from '../../../../components/ModalProvider'; import useDevice from '../../../../hooks/useDevice'; +import useSendPasswordResetEmail from '../../../../hooks/useSendPasswordResetEmail'; import { PlatformDetails } from '../../constants'; import { CFDSuccess, CreatePassword, EnterPassword } from '../../screens'; import './DxtradeEnterPasswordModal.scss'; @@ -19,9 +20,23 @@ const DxtradeEnterPasswordModal = () => { const { isMobile } = useDevice(); const [password, setPassword] = useState(''); const { data: getAccountStatus, isSuccess: accountStatusSuccess } = useAccountStatus(); - const { data: createdAccount, error, isLoading, isSuccess, mutateAsync, status } = useCreateOtherCFDAccount(); + const { + data: createdAccount, + error, + isLoading, + isSuccess: isCreateAccountSuccessful, + mutateAsync, + status, + } = useCreateOtherCFDAccount(); + const { data: dxtradeAccount, isSuccess: dxtradeAccountListSuccess } = useDxtradeAccountsList(); const { data: activeWallet } = useActiveWalletAccount(); + const { + error: resetPasswordError, + isLoading: isResetPasswordLoading, + isSuccess: isResetPasswordSuccessful, + sendEmail, + } = useSendPasswordResetEmail(); const { hide, show } = useModal(); const accountType = activeWallet?.is_virtual ? 'demo' : 'real'; const dxtradePlatform = PlatformDetails.dxtrade.platform; @@ -45,12 +60,29 @@ const DxtradeEnterPasswordModal = () => { : `Transfer funds from your ${activeWallet?.currency} Wallet to your ${PlatformDetails.dxtrade.title} account to start trading.`; }, [accountType, activeWallet?.currency, activeWallet?.display_balance]); + useEffect(() => { + if (!isResetPasswordSuccessful) return; + if (!isDxtradePasswordNotSet && isMobile) { + show( + + + + ); + } else if (!isDxtradePasswordNotSet) { + show( + + + + ); + } + }, [dxtradePlatform, hide, isDxtradePasswordNotSet, isMobile, isResetPasswordSuccessful, show]); + const dxtradeBalance = useMemo(() => { return dxtradeAccount?.find(account => account.market_type === 'all')?.display_balance; }, [dxtradeAccount]); const renderFooter = useMemo(() => { - if (isSuccess) { + if (isCreateAccountSuccessful) { if (accountType === 'demo') { return (
@@ -83,12 +115,11 @@ const DxtradeEnterPasswordModal = () => { { - show( - - - - ); + sendEmail({ + platform: dxtradePlatform, + }); }} size={isMobile ? 'lg' : 'md'} variant='outlined' @@ -125,17 +156,18 @@ const DxtradeEnterPasswordModal = () => { dxtradePlatform, hide, history, + isCreateAccountSuccessful, isDxtradePasswordNotSet, isLoading, isMobile, - isSuccess, + isResetPasswordLoading, onSubmit, password, - show, + sendEmail, ]); const successComponent = useMemo(() => { - if (isSuccess && dxtradeAccountListSuccess) { + if (isCreateAccountSuccessful && dxtradeAccountListSuccess) { return ( { ); } }, [ - isSuccess, + isCreateAccountSuccessful, dxtradeAccountListSuccess, successDescription, dxtradeBalance, @@ -160,7 +192,7 @@ const DxtradeEnterPasswordModal = () => { ]); const passwordComponent = useMemo(() => { - if (!isSuccess && accountStatusSuccess) { + if (!isCreateAccountSuccessful && accountStatusSuccess) { return isDxtradePasswordNotSet ? ( { /> ) : ( setPassword(e.target.value)} onPrimaryClick={onSubmit} - onSecondaryClick={() => - show( - - - - ) - } + onSecondaryClick={() => { + sendEmail({ + platform: dxtradePlatform, + }); + }} password={password} passwordError={error?.error?.code === 'PasswordError'} platform={dxtradePlatform} @@ -190,20 +221,32 @@ const DxtradeEnterPasswordModal = () => { ); } }, [ - isSuccess, + isCreateAccountSuccessful, accountStatusSuccess, isDxtradePasswordNotSet, isLoading, onSubmit, password, dxtradePlatform, + isResetPasswordLoading, error?.error?.code, - show, + sendEmail, ]); + if (status === 'error' && error?.error?.code !== 'PasswordError') { return ; } + if (resetPasswordError) { + return ( + + ); + } + if (isMobile) { return ( renderFooter} title={' '}> @@ -213,7 +256,7 @@ const DxtradeEnterPasswordModal = () => { ); } return ( - + {successComponent} {passwordComponent} diff --git a/packages/wallets/src/features/cfd/screens/EnterPassword/EnterPassword.tsx b/packages/wallets/src/features/cfd/screens/EnterPassword/EnterPassword.tsx index f89620b2922a..2b06e82fa7b5 100644 --- a/packages/wallets/src/features/cfd/screens/EnterPassword/EnterPassword.tsx +++ b/packages/wallets/src/features/cfd/screens/EnterPassword/EnterPassword.tsx @@ -8,6 +8,7 @@ import { CFD_PLATFORMS, MarketTypeDetails, PlatformDetails } from '../../constan import './EnterPassword.scss'; type TProps = { + isForgotPasswordLoading?: boolean; isLoading?: boolean; marketType: TMarketTypes.CreateOtherCFDAccount; onPasswordChange?: (e: React.ChangeEvent) => void; @@ -20,6 +21,7 @@ type TProps = { }; const EnterPassword: React.FC = ({ + isForgotPasswordLoading, isLoading, marketType, onPasswordChange, @@ -70,7 +72,12 @@ const EnterPassword: React.FC = ({
{isDesktop && (
- + Forgot password? ({ + ...jest.requireActual('@deriv/api-v2'), + useSettings: jest.fn(() => ({ + data: { + email: 'test@meme.com', + }, + })), + useVerifyEmail: jest.fn(() => ({ + mutate: mockMutate, + })), +})); + +const wrapper = ({ children }: PropsWithChildren) => ( + + {children} + +); + +describe('useSendPasswordResetEmail', () => { + it('should call mutate when sendEmail is called', () => { + const { result } = renderHook(() => useSendPasswordResetEmail(), { wrapper }); + result.current.sendEmail({ + isInvestorPassword: true, + platform: 'mt5', + }); + expect(mockMutate).toHaveBeenCalledWith({ + type: 'trading_platform_investor_password_reset', + url_parameters: { + redirect_to: 10, + }, + verify_email: 'test@meme.com', + }); + }); +}); diff --git a/packages/wallets/src/hooks/useSendPasswordResetEmail.ts b/packages/wallets/src/hooks/useSendPasswordResetEmail.ts new file mode 100644 index 000000000000..5924e9b7dd9a --- /dev/null +++ b/packages/wallets/src/hooks/useSendPasswordResetEmail.ts @@ -0,0 +1,50 @@ +import { useCallback } from 'react'; +import { useActiveWalletAccount, useSettings, useVerifyEmail } from '@deriv/api-v2'; +import { PlatformDetails } from '../features/cfd/constants'; +import { TPlatforms } from '../types'; +import { platformPasswordResetRedirectLink } from '../utils/cfd'; + +type TSendEmailPayload = { + isInvestorPassword?: boolean; + platform?: TPlatforms.All; +}; + +/** + * @description This hook is used to send a password reset email to the user. It handles MT5, DXTrade, and Investor password reset. + * @returns {Object} sendEmail - A function that sends a password reset email to the user. + */ +const useSendPasswordResetEmail = () => { + const { data } = useSettings(); + const { mutate: verifyEmail, ...rest } = useVerifyEmail(); + const { data: activeWallet } = useActiveWalletAccount(); + + const sendEmail = useCallback( + ({ isInvestorPassword = false, platform }: TSendEmailPayload) => { + const mt5ResetType = isInvestorPassword + ? 'trading_platform_investor_password_reset' + : 'trading_platform_mt5_password_reset'; + const mt5Platform = PlatformDetails.mt5.platform; + + if (data?.email) { + verifyEmail({ + type: platform === mt5Platform ? mt5ResetType : 'trading_platform_dxtrade_password_reset', + url_parameters: { + redirect_to: platformPasswordResetRedirectLink( + platform ?? mt5Platform, + activeWallet?.is_virtual + ), + }, + verify_email: data?.email, + }); + } + }, + [activeWallet?.is_virtual, data?.email, verifyEmail] + ); + + return { + sendEmail, + ...rest, + }; +}; + +export default useSendPasswordResetEmail; From 2019b6a9c6bab0efe166406e33ac41de7c38cd2c Mon Sep 17 00:00:00 2001 From: Aum Bhatt <125039206+aum-deriv@users.noreply.github.com> Date: Thu, 16 May 2024 18:57:26 +0400 Subject: [PATCH 26/95] [WALL] aum / WALL-2990/ unit-test-transfer-form (#15162) * perf: added a test case and some mocks for TransferForm tests * perf: added more test cases * perf: added more test cases --- .../components/TransferForm/TransferForm.tsx | 3 +- .../__tests__/TransferForm.spec.tsx | 145 ++++++++++++++++++ 2 files changed, 147 insertions(+), 1 deletion(-) create mode 100644 packages/wallets/src/features/cashier/modules/Transfer/components/TransferForm/__tests__/TransferForm.spec.tsx diff --git a/packages/wallets/src/features/cashier/modules/Transfer/components/TransferForm/TransferForm.tsx b/packages/wallets/src/features/cashier/modules/Transfer/components/TransferForm/TransferForm.tsx index baa3ebf4ecaa..acf2778cfa59 100644 --- a/packages/wallets/src/features/cashier/modules/Transfer/components/TransferForm/TransferForm.tsx +++ b/packages/wallets/src/features/cashier/modules/Transfer/components/TransferForm/TransferForm.tsx @@ -52,10 +52,11 @@ const TransferForm = () => { />
-
+
Transfer diff --git a/packages/wallets/src/features/cashier/modules/Transfer/components/TransferForm/__tests__/TransferForm.spec.tsx b/packages/wallets/src/features/cashier/modules/Transfer/components/TransferForm/__tests__/TransferForm.spec.tsx new file mode 100644 index 000000000000..5ac1cf82e80b --- /dev/null +++ b/packages/wallets/src/features/cashier/modules/Transfer/components/TransferForm/__tests__/TransferForm.spec.tsx @@ -0,0 +1,145 @@ +import React, { useEffect } from 'react'; +import { useFormikContext } from 'formik'; +import { render, screen, waitFor, within } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import useDevice from '../../../../../../../hooks/useDevice'; +import { TransferProvider, useTransfer } from '../../../provider'; +import TransferForm from '../TransferForm'; + +const mockAccounts = ['CR1', 'CR2']; +let mockFormikValues: unknown; + +jest.mock('../../../../../../../hooks/useDevice', () => jest.fn()); + +jest.mock('../../../provider', () => ({ + ...jest.requireActual('../../../provider'), + TransferProvider: jest.fn(({ children }) =>
{children}
), + useTransfer: jest.fn(), +})); // const mockUseFormikContext = jest.spyOn(formik, 'useFormikContext') as jest.Mock; + +jest.mock('../../TransferFormAmountInput', () => ({ + ...jest.requireActual('../../TransferFormAmountInput'), + TransferFormAmountInput: jest.fn(({ fieldName }) => ), +})); + +jest.mock('../../TransferFormDropdown', () => ({ + ...jest.requireActual('../../TransferFormDropdown'), + TransferFormDropdown: jest.fn(({ fieldName }) =>
{fieldName}
), +})); + +const mockTransferMessages = jest.fn(() => { + const { setValues } = useFormikContext(); + useEffect(() => { + setValues(mockFormikValues); + }, [setValues]); + + return
TransferMessages
; +}); + +jest.mock('../../TransferMessages', () => ({ + ...jest.requireActual('../../TransferMessages'), + TransferMessages: jest.fn(() => mockTransferMessages()), +})); + +const wrapper: React.FC = ({ children }) => {children}; + +describe('', () => { + beforeEach(() => { + (useDevice as jest.Mock).mockReturnValue({ + isMobile: false, + }); + }); + + it('should test if the loader is shown until values are received from useTransfer hook', () => { + (useTransfer as jest.Mock).mockReturnValue({ + isLoading: true, + }); + + render(, { wrapper }); + + expect(screen.getByTestId('dt_wallets_loader')).toBeInTheDocument(); + }); + + it('should test that transfer button is disabled when fromAmount is 0', async () => { + (useTransfer as jest.Mock).mockReturnValue({ + activeWallet: mockAccounts[0], + isLoading: false, + requestTransferBetweenAccounts: jest.fn(), + }); + + mockFormikValues = { + activeAmountFieldName: 'fromAmount', + fromAccount: mockAccounts[0], + fromAmount: 0, + isError: false, + toAccount: mockAccounts[1], + toAmount: 10, + }; + + render(, { wrapper }); + + await waitFor(() => { + expect(within(screen.getByTestId('dt_transfer_form_submit_btn')).getByRole('button')).toBeDisabled(); + }); + }); + + it('should test that transfer button is disabled when toAmount is 0', async () => { + (useTransfer as jest.Mock).mockReturnValue({ + activeWallet: mockAccounts[0], + isLoading: false, + requestTransferBetweenAccounts: jest.fn(), + }); + + mockFormikValues = { + activeAmountFieldName: 'fromAmount', + fromAccount: mockAccounts[0], + fromAmount: 1000, + isError: false, + toAccount: mockAccounts[1], + toAmount: 0, + }; + + render(, { wrapper }); + + await waitFor(() => { + expect(within(screen.getByTestId('dt_transfer_form_submit_btn')).getByRole('button')).toBeDisabled(); + }); + }); + + it('should test if API is called with correct params when transfer button is clicked', async () => { + const dummyRequest = jest.fn(); + + mockFormikValues = { + activeAmountFieldName: 'fromAmount', + fromAccount: mockAccounts[0], + fromAmount: 100, + isError: false, + toAccount: mockAccounts[1], + toAmount: 10, + }; + + (useTransfer as jest.Mock).mockReturnValue({ + activeWallet: mockAccounts[0], + isLoading: false, + requestTransferBetweenAccounts: dummyRequest, + }); + + render(, { wrapper }); + + await waitFor(() => { + const transferSubmitButton = within(screen.getByTestId('dt_transfer_form_submit_btn')).getByRole('button'); + userEvent.click(transferSubmitButton); + }); + + await waitFor(() => { + expect(dummyRequest).toBeCalledWith({ + activeAmountFieldName: 'fromAmount', + fromAccount: mockAccounts[0], + fromAmount: 100, + isError: false, + toAccount: mockAccounts[1], + toAmount: 10, + }); + }); + }); +}); From fcc172bbf121b1a833640b6f1d13ecafc399bbbb Mon Sep 17 00:00:00 2001 From: lubega-deriv <142860499+lubega-deriv@users.noreply.github.com> Date: Thu, 16 May 2024 23:04:40 +0800 Subject: [PATCH 27/95] chore: transfer api error (#15203) --- .../WalletsErrorScreen/WalletsErrorScreen.tsx | 20 +++-- .../__tests__/WalletsErrorScreen.spec.tsx | 6 +- packages/wallets/src/constants/errorCodes.ts | 4 + .../cashier/modules/Transfer/Transfer.tsx | 31 +++---- .../Transfer/__tests__/Transfer.spec.tsx | 88 +++++++++++++++++++ 5 files changed, 120 insertions(+), 29 deletions(-) create mode 100644 packages/wallets/src/features/cashier/modules/Transfer/__tests__/Transfer.spec.tsx diff --git a/packages/wallets/src/components/WalletsErrorScreen/WalletsErrorScreen.tsx b/packages/wallets/src/components/WalletsErrorScreen/WalletsErrorScreen.tsx index 45058a720e43..cc923ca4fa0f 100644 --- a/packages/wallets/src/components/WalletsErrorScreen/WalletsErrorScreen.tsx +++ b/packages/wallets/src/components/WalletsErrorScreen/WalletsErrorScreen.tsx @@ -9,14 +9,16 @@ type TProps = { buttonVariant?: ComponentProps['variant']; message?: string; onClick?: () => void; + showIcon?: boolean; title?: string; }; const WalletsErrorScreen: React.FC = ({ - buttonText = 'Try again', + buttonText, buttonVariant = 'ghost', - message = 'Sorry an error occurred. Please try accessing our cashier page again.', + message = 'Sorry an error occurred. Please try accessing our cashier again.', onClick, + showIcon = true, title = 'Oops, something went wrong!', }) => { const { isMobile } = useDevice(); @@ -28,12 +30,14 @@ const WalletsErrorScreen: React.FC = ({ return ( } - renderButtons={() => ( - - {buttonText} - - )} + icon={showIcon && } + renderButtons={() => + buttonText ? ( + + {buttonText} + + ) : null + } title={title} /> ); diff --git a/packages/wallets/src/components/WalletsErrorScreen/__tests__/WalletsErrorScreen.spec.tsx b/packages/wallets/src/components/WalletsErrorScreen/__tests__/WalletsErrorScreen.spec.tsx index e6679b13d965..32f6b87f6f43 100644 --- a/packages/wallets/src/components/WalletsErrorScreen/__tests__/WalletsErrorScreen.spec.tsx +++ b/packages/wallets/src/components/WalletsErrorScreen/__tests__/WalletsErrorScreen.spec.tsx @@ -1,5 +1,6 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; +import useDevice from '../../../hooks/useDevice'; import WalletsErrorScreen from '../WalletsErrorScreen'; jest.mock('../../../hooks/useDevice', () => @@ -18,7 +19,7 @@ describe('WalletsErrorScreen', () => { expect(screen.getByTestId('dt_error_icon')).toBeInTheDocument(); expect(screen.getByText('Oops, something went wrong!')).toBeInTheDocument(); expect( - screen.getByText('Sorry an error occurred. Please try accessing our cashier page again.') + screen.getByText('Sorry an error occurred. Please try accessing our cashier again.') ).toBeInTheDocument(); }); @@ -28,9 +29,10 @@ describe('WalletsErrorScreen', () => { }); it('should trigger onClick callback', () => { + (useDevice as jest.Mock).mockReturnValue({ isMobile: true }); const onClickHandler = jest.fn(); - render(); + render(); screen.getByRole('button', { name: 'Try again' }).click(); expect(onClickHandler).toHaveBeenCalled(); }); diff --git a/packages/wallets/src/constants/errorCodes.ts b/packages/wallets/src/constants/errorCodes.ts index 65961cada3dd..8b902343721d 100644 --- a/packages/wallets/src/constants/errorCodes.ts +++ b/packages/wallets/src/constants/errorCodes.ts @@ -1,3 +1,7 @@ export enum CryptoWithdrawalErrorCodes { InvalidToken = 'InvalidToken', } + +export enum TransferErrorCodes { + TransferBetweenAccountsError = 'TransferBetweenAccountsError', +} diff --git a/packages/wallets/src/features/cashier/modules/Transfer/Transfer.tsx b/packages/wallets/src/features/cashier/modules/Transfer/Transfer.tsx index f2c9ab1f9aa2..0558229a1643 100644 --- a/packages/wallets/src/features/cashier/modules/Transfer/Transfer.tsx +++ b/packages/wallets/src/features/cashier/modules/Transfer/Transfer.tsx @@ -1,5 +1,6 @@ import React from 'react'; -import { WalletButton, WalletText } from '../../../../components'; +import { WalletsErrorScreen } from '../../../../components'; +import { TransferErrorCodes } from '../../../../constants/errorCodes'; import type { THooks } from '../../../../types'; import { TransferForm, TransferReceipt } from './components'; import { TransferProvider, useTransfer } from './provider'; @@ -17,26 +18,18 @@ const TransferModule: React.FC = ({ accounts }) => { }; const Transfer: React.FC = () => { - const { error, receipt, resetTransfer } = useTransfer(); + const { error: transferError, receipt, resetTransfer } = useTransfer(); + const errorMessage = transferError?.error.message; + const transferBetweenAccountsError = transferError?.error.code === TransferErrorCodes.TransferBetweenAccountsError; - //temporary error handling - if (error?.error.message) + if (errorMessage) return ( -
- - {error?.error.message} - - resetTransfer()} variant='contained'> - Reset error - -
+ resetTransfer()} + title='Error' + /> ); if (receipt) return ; diff --git a/packages/wallets/src/features/cashier/modules/Transfer/__tests__/Transfer.spec.tsx b/packages/wallets/src/features/cashier/modules/Transfer/__tests__/Transfer.spec.tsx new file mode 100644 index 000000000000..17e80ab4d253 --- /dev/null +++ b/packages/wallets/src/features/cashier/modules/Transfer/__tests__/Transfer.spec.tsx @@ -0,0 +1,88 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import { TransferProvider, useTransfer } from '../provider'; +import TransferModule from '../Transfer'; + +jest.mock('../components', () => ({ + ...jest.requireActual('../components'), + TransferForm: jest.fn(() =>
TransferForm
), + TransferReceipt: jest.fn(() =>
TransferReceipt
), +})); + +const wrapper: React.FC = ({ children }) => {children}; + +jest.mock('../provider', () => ({ + ...jest.requireActual('../provider'), + TransferProvider: jest.fn(({ children }) =>
{children}
), + useTransfer: jest.fn(), +})); + +const mockResetTransfer = jest.fn(); + +describe('Transfer', () => { + beforeEach(() => { + (useTransfer as jest.Mock).mockReturnValue({ + error: null, + receipt: undefined, + resetTransfer: mockResetTransfer, + }); + }); + + it('should render the TransferForm', () => { + render(, { wrapper }); + + expect(screen.getByText('TransferForm')).toBeInTheDocument(); + }); + + it('should render the TransferReceipt', () => { + (useTransfer as jest.Mock).mockReturnValue({ + error: null, + receipt: {}, + resetTransfer: mockResetTransfer, + }); + render(, { wrapper }); + + expect(screen.getByText('TransferReceipt')).toBeInTheDocument(); + }); + + it('should render the error screen when error is received', () => { + (useTransfer as jest.Mock).mockReturnValue({ + error: { error: { code: 'Error', message: 'Error message' } }, + receipt: undefined, + resetTransfer: mockResetTransfer, + }); + render(, { wrapper }); + + expect(screen.getByText('Error')).toBeInTheDocument(); + expect(screen.getByText('Error message')).toBeInTheDocument(); + expect(screen.getByRole('button', { name: 'Reset error' })).toBeInTheDocument(); + }); + + it('should call reset transfer when reset error button is clicked', () => { + (useTransfer as jest.Mock).mockReturnValue({ + error: { error: { code: 'Error', message: 'Error message' } }, + receipt: undefined, + resetTransfer: mockResetTransfer, + }); + render(, { wrapper }); + + const resetErrorButton = screen.getByRole('button', { name: 'Reset error' }); + expect(resetErrorButton).toBeInTheDocument(); + userEvent.click(resetErrorButton); + expect(mockResetTransfer).toBeCalled(); + }); + + it('should render the correct error screen when transfer between accounts error is received', () => { + (useTransfer as jest.Mock).mockReturnValue({ + error: { error: { code: 'TransferBetweenAccountsError', message: 'Transfer Between Accounts Error' } }, + receipt: undefined, + resetTransfer: mockResetTransfer, + }); + render(, { wrapper }); + + expect(screen.getByText('Error')).toBeInTheDocument(); + expect(screen.getByText('Transfer Between Accounts Error')).toBeInTheDocument(); + expect(screen.queryByText('Reset error')).not.toBeInTheDocument(); + }); +}); From b63e0f305f8689d51272077f2b0b5eea359855cc Mon Sep 17 00:00:00 2001 From: lubega-deriv <142860499+lubega-deriv@users.noreply.github.com> Date: Thu, 16 May 2024 23:12:19 +0800 Subject: [PATCH 28/95] [WALL] Lubega / WALL-3274 / Crypto connection and cryptocurrency suspend API errors (#15074) * feat: suspend cryptocurrency deposit * Merge branch 'master' of github.com:binary-com/deriv-app into WALL-3274/suspend-cryptocashier-deposit * fix: updated unit tests * fix: updated withdrawal error screen unit test * chore: added check for CryptoConnectionError * chore: added providers for deposit and withdrawal error screens * fix: updated content components * fix: updated component structure --- packages/wallets/src/constants/errorCodes.ts | 10 ++ .../flows/WalletDeposit/WalletDeposit.tsx | 38 ++++- .../__tests__/WalletDeposit.spec.tsx | 87 +++++++++++- .../WalletWithdrawal/WalletWithdrawal.tsx | 10 +- .../CashierLocked/CashierLockedContent.tsx | 15 +- .../__tests__/CashierLockedContent.spec.tsx | 4 +- .../modules/DepositFiat/DepositFiat.tsx | 19 +-- .../__tests__/DepositFiat.spec.tsx | 28 +--- .../DepositErrorScreen.scss | 7 + .../DepositErrorScreen/DepositErrorScreen.tsx | 67 +++++++++ .../__tests__/DepositErrorScreen.spec.tsx | 91 ++++++++++++ .../screens/DepositErrorScreen/index.ts | 1 + .../WithdrawalErrorScreen.scss | 7 + .../WithdrawalErrorScreen.tsx | 94 +++++++++---- .../__tests__/WithdrawalErrorScreen.spec.tsx | 131 +++++++++++++++--- .../src/features/cashier/screens/index.ts | 1 + 16 files changed, 502 insertions(+), 108 deletions(-) create mode 100644 packages/wallets/src/features/cashier/screens/DepositErrorScreen/DepositErrorScreen.scss create mode 100644 packages/wallets/src/features/cashier/screens/DepositErrorScreen/DepositErrorScreen.tsx create mode 100644 packages/wallets/src/features/cashier/screens/DepositErrorScreen/__tests__/DepositErrorScreen.spec.tsx create mode 100644 packages/wallets/src/features/cashier/screens/DepositErrorScreen/index.ts create mode 100644 packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/WithdrawalErrorScreen.scss diff --git a/packages/wallets/src/constants/errorCodes.ts b/packages/wallets/src/constants/errorCodes.ts index 8b902343721d..17d2de56284f 100644 --- a/packages/wallets/src/constants/errorCodes.ts +++ b/packages/wallets/src/constants/errorCodes.ts @@ -1,5 +1,15 @@ +export enum CryptoDepositErrorCodes { + CryptoConnectionError = 'CryptoConnectionError', + SuspendedCurrency = 'CryptoSuspendedCurrency', + SuspendedDeposit = 'CryptoDisabledCurrencyDeposit', +} + export enum CryptoWithdrawalErrorCodes { + CryptoConnectionError = 'CryptoConnectionError', + CryptoInvalidAddress = 'CryptoInvalidAddress', InvalidToken = 'InvalidToken', + SuspendedCurrency = 'CryptoSuspendedCurrency', + SuspendedWithdrawal = 'CryptoDisabledCurrencyWithdrawal', } export enum TransferErrorCodes { diff --git a/packages/wallets/src/features/cashier/flows/WalletDeposit/WalletDeposit.tsx b/packages/wallets/src/features/cashier/flows/WalletDeposit/WalletDeposit.tsx index 0c98d1f3e672..2028f26fd11a 100644 --- a/packages/wallets/src/features/cashier/flows/WalletDeposit/WalletDeposit.tsx +++ b/packages/wallets/src/features/cashier/flows/WalletDeposit/WalletDeposit.tsx @@ -1,10 +1,44 @@ -import React from 'react'; -import { useActiveWalletAccount } from '@deriv/api-v2'; +import React, { useEffect } from 'react'; +import { useActiveWalletAccount, useAuthorize, useCashierFiatAddress, useDepositCryptoAddress } from '@deriv/api-v2'; +import { Loader } from '../../../../components'; +import { isServerError } from '../../../../utils/utils'; import { DepositCryptoModule, DepositFiatModule } from '../../modules'; +import { DepositErrorScreen } from '../../screens'; const WalletDeposit = () => { const { data } = useActiveWalletAccount(); + const { isSuccess: isAuthorizeSuccess } = useAuthorize(); + const { + error: depositFiatError, + isLoading: isFiatAddressLoading, + mutate: mutateDepositFiat, + } = useCashierFiatAddress(); + const { + error: depositCryptoError, + isLoading: isCryptoAddressLoading, + mutate: mutateDepositCrypto, + } = useDepositCryptoAddress(); + + const isLoading = isFiatAddressLoading || isCryptoAddressLoading; + const currency = data?.currency; const isCrypto = data?.currency_config?.is_crypto; + const depositError = isCrypto ? depositCryptoError?.error : depositFiatError?.error; + + useEffect(() => { + if (isAuthorizeSuccess) { + if (isCrypto) { + mutateDepositCrypto(); + } else { + mutateDepositFiat('deposit'); + } + } + }, [isAuthorizeSuccess, isCrypto, mutateDepositCrypto, mutateDepositFiat]); + + if (isLoading) return ; + + if (isServerError(depositError)) { + return ; + } return isCrypto ? : ; }; diff --git a/packages/wallets/src/features/cashier/flows/WalletDeposit/__tests__/WalletDeposit.spec.tsx b/packages/wallets/src/features/cashier/flows/WalletDeposit/__tests__/WalletDeposit.spec.tsx index 5f1c26bc116c..26dc438baafc 100644 --- a/packages/wallets/src/features/cashier/flows/WalletDeposit/__tests__/WalletDeposit.spec.tsx +++ b/packages/wallets/src/features/cashier/flows/WalletDeposit/__tests__/WalletDeposit.spec.tsx @@ -1,11 +1,14 @@ import React, { PropsWithChildren } from 'react'; -import { useActiveWalletAccount } from '@deriv/api-v2'; +import { useActiveWalletAccount, useAuthorize, useCashierFiatAddress, useDepositCryptoAddress } from '@deriv/api-v2'; import { render, screen } from '@testing-library/react'; import { CashierLocked, DepositLocked } from '../../../modules'; import WalletDeposit from '../WalletDeposit'; jest.mock('@deriv/api-v2', () => ({ useActiveWalletAccount: jest.fn(), + useAuthorize: jest.fn(), + useCashierFiatAddress: jest.fn(), + useDepositCryptoAddress: jest.fn(), })); jest.mock('../../../modules', () => ({ @@ -13,7 +16,14 @@ jest.mock('../../../modules', () => ({ DepositCryptoModule: jest.fn(() =>
MockedDepositCryptoModule
), DepositFiatModule: jest.fn(() =>
MockedDepositFiatModule
), DepositLocked: jest.fn(({ children }) => <>{children}), - SystemMaintenance: jest.fn(({ children }) => <>{children}), +})); + +jest.mock('../../../../../components', () => ({ + Loader: jest.fn(() =>
Loading...
), +})); + +jest.mock('../../../screens', () => ({ + DepositErrorScreen: jest.fn(({ error }) =>
MockedDepositErrorScreen - {error.message}
), })); const wrapper = ({ children }: PropsWithChildren) => ( @@ -23,14 +33,21 @@ const wrapper = ({ children }: PropsWithChildren) => ( ); describe('WalletDeposit', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + it('should render crypto module when wallet is crypto', () => { - (useActiveWalletAccount as jest.Mock).mockReturnValueOnce({ + (useActiveWalletAccount as jest.Mock).mockReturnValue({ data: { currency_config: { is_crypto: true, }, }, }); + (useAuthorize as jest.Mock).mockReturnValue({ isSuccess: true }); + (useCashierFiatAddress as jest.Mock).mockReturnValue({ mutate: jest.fn() }); + (useDepositCryptoAddress as jest.Mock).mockReturnValue({ mutate: jest.fn() }); render(, { wrapper }); @@ -38,18 +55,78 @@ describe('WalletDeposit', () => { expect(screen.queryByText(/MockedDepositFiatModule/)).not.toBeInTheDocument(); }); - it('should render fiat module when wallet is not crypto', () => { - (useActiveWalletAccount as jest.Mock).mockReturnValueOnce({ + it('should render fiat module when wallet is fiat', () => { + (useActiveWalletAccount as jest.Mock).mockReturnValue({ data: { currency_config: { is_crypto: false, }, }, }); + (useAuthorize as jest.Mock).mockReturnValue({ isSuccess: true }); + (useCashierFiatAddress as jest.Mock).mockReturnValue({ mutate: jest.fn() }); + (useDepositCryptoAddress as jest.Mock).mockReturnValue({ mutate: jest.fn() }); render(, { wrapper }); expect(screen.getByText(/MockedDepositFiatModule/)).toBeInTheDocument(); expect(screen.queryByText(/MockedDepositCryptoModule/)).not.toBeInTheDocument(); }); + + it('should render loader while data is loading', () => { + (useActiveWalletAccount as jest.Mock).mockReturnValue({ undefined }); + (useAuthorize as jest.Mock).mockReturnValue({ isSuccess: false }); + (useCashierFiatAddress as jest.Mock).mockReturnValue({ + isLoading: true, + mutate: jest.fn(), + }); + (useDepositCryptoAddress as jest.Mock).mockReturnValue({ + isLoading: true, + mutate: jest.fn(), + }); + + render(, { wrapper }); + + expect(screen.getByText('Loading...')).toBeInTheDocument(); + }); + + it('should render error screen for a specific crypto error', () => { + (useActiveWalletAccount as jest.Mock).mockReturnValue({ + data: { + currency_config: { + is_crypto: true, + }, + }, + }); + (useAuthorize as jest.Mock).mockReturnValue({ isSuccess: true }); + (useDepositCryptoAddress as jest.Mock).mockReturnValue({ + error: { error: { code: 'CryptoSuspendedCurrency', message: 'Crypto Suspended Error' } }, + mutate: jest.fn(), + }); + (useCashierFiatAddress as jest.Mock).mockReturnValue({ mutate: jest.fn() }); + + render(, { wrapper }); + + expect(screen.getByText(/MockedDepositErrorScreen - Crypto Suspended Error/)).toBeInTheDocument(); + }); + + it('should render error screen for a specific fiat error', () => { + (useActiveWalletAccount as jest.Mock).mockReturnValue({ + data: { + currency_config: { + is_crypto: false, + }, + }, + }); + (useAuthorize as jest.Mock).mockReturnValue({ isSuccess: true }); + (useCashierFiatAddress as jest.Mock).mockReturnValue({ + error: { error: { code: 'CashierForwardError', message: 'Fiat Error' } }, + mutate: jest.fn(), + }); + (useDepositCryptoAddress as jest.Mock).mockReturnValue({ mutate: jest.fn() }); + + render(, { wrapper }); + + expect(screen.getByText(/MockedDepositErrorScreen - Fiat Error/)).toBeInTheDocument(); + }); }); diff --git a/packages/wallets/src/features/cashier/flows/WalletWithdrawal/WalletWithdrawal.tsx b/packages/wallets/src/features/cashier/flows/WalletWithdrawal/WalletWithdrawal.tsx index 1e704f046403..2bafce209048 100644 --- a/packages/wallets/src/features/cashier/flows/WalletWithdrawal/WalletWithdrawal.tsx +++ b/packages/wallets/src/features/cashier/flows/WalletWithdrawal/WalletWithdrawal.tsx @@ -36,6 +36,7 @@ const WalletWithdrawal = () => { }, [activeWallet?.loginid, switchAccount]); const isCrypto = activeWallet?.currency_config?.is_crypto; + const currency = activeWallet?.currency; const onCloseHandler = () => setVerificationCode(''); @@ -45,7 +46,14 @@ const WalletWithdrawal = () => { }; if (isServerError(error)) { - return ; + return ( + + ); } if (!activeWallet) return ; diff --git a/packages/wallets/src/features/cashier/modules/CashierLocked/CashierLockedContent.tsx b/packages/wallets/src/features/cashier/modules/CashierLocked/CashierLockedContent.tsx index 67a7491f376c..161d75460e7f 100644 --- a/packages/wallets/src/features/cashier/modules/CashierLocked/CashierLockedContent.tsx +++ b/packages/wallets/src/features/cashier/modules/CashierLocked/CashierLockedContent.tsx @@ -35,30 +35,27 @@ export const getSystemMaintenanceContent = ({ isWithdrawalLocked, }: TSystemMaintenanceDescProps) => { let content = null; - const generateContent = (descriptionDefault: string, titleDefault: string) => ({ + const generateContent = (textDefault: string) => ({ description: ( ), title: ( - + ), }); if (isCashierLocked) { - content = generateContent('deposits and withdrawals with', 'deposits and withdrawals'); + content = generateContent('deposits and withdrawals'); } else if (isCrypto) { if (isDepositLocked) { - content = generateContent('deposits into', 'deposits'); + content = generateContent('deposits'); } else if (isWithdrawalLocked) { - content = generateContent('withdrawals from', 'withdrawals'); + content = generateContent('withdrawals'); } } diff --git a/packages/wallets/src/features/cashier/modules/CashierLocked/__tests__/CashierLockedContent.spec.tsx b/packages/wallets/src/features/cashier/modules/CashierLocked/__tests__/CashierLockedContent.spec.tsx index a71f91c9bc37..902828a41fc4 100644 --- a/packages/wallets/src/features/cashier/modules/CashierLocked/__tests__/CashierLockedContent.spec.tsx +++ b/packages/wallets/src/features/cashier/modules/CashierLocked/__tests__/CashierLockedContent.spec.tsx @@ -74,7 +74,7 @@ describe('CashierLockedContent', () => { if (result) render(result.description); expect( screen.getByText( - 'Due to system maintenance, deposits into your BTC Wallet are unavailable at the moment. Please try again later.' + 'Due to system maintenance, deposits with your BTC Wallet are unavailable at the moment. Please try again later.' ) ).toBeInTheDocument(); @@ -94,7 +94,7 @@ describe('CashierLockedContent', () => { if (result) render(result.description); expect( screen.getByText( - 'Due to system maintenance, withdrawals from your BTC Wallet are unavailable at the moment. Please try again later.' + 'Due to system maintenance, withdrawals with your BTC Wallet are unavailable at the moment. Please try again later.' ) ).toBeInTheDocument(); diff --git a/packages/wallets/src/features/cashier/modules/DepositFiat/DepositFiat.tsx b/packages/wallets/src/features/cashier/modules/DepositFiat/DepositFiat.tsx index 06918a963141..aa599e037b9b 100644 --- a/packages/wallets/src/features/cashier/modules/DepositFiat/DepositFiat.tsx +++ b/packages/wallets/src/features/cashier/modules/DepositFiat/DepositFiat.tsx @@ -1,23 +1,12 @@ -import React, { useEffect, useState } from 'react'; -import { useAuthorize, useCashierFiatAddress } from '@deriv/api-v2'; -import { Loader, WalletsErrorScreen } from '../../../../components'; -import { isServerError } from '../../../../utils/utils'; +import React, { useState } from 'react'; +import { useCashierFiatAddress } from '@deriv/api-v2'; +import { Loader } from '../../../../components'; import './DepositFiat.scss'; const DepositFiat = () => { - const { isSuccess: isAuthorizeSuccess } = useAuthorize(); - const { data: iframeUrl, error: depositError, isError, mutate } = useCashierFiatAddress(); + const { data: iframeUrl } = useCashierFiatAddress(); const [isLoading, setIsLoading] = useState(true); - useEffect(() => { - if (isAuthorizeSuccess) { - mutate('deposit'); - } - }, [isAuthorizeSuccess, mutate]); - - if (isError && isServerError(depositError.error)) - return window.location.reload()} />; - return ( {isLoading && } diff --git a/packages/wallets/src/features/cashier/modules/DepositFiat/__tests__/DepositFiat.spec.tsx b/packages/wallets/src/features/cashier/modules/DepositFiat/__tests__/DepositFiat.spec.tsx index 8d7d3369c337..bc5baa9df4a9 100644 --- a/packages/wallets/src/features/cashier/modules/DepositFiat/__tests__/DepositFiat.spec.tsx +++ b/packages/wallets/src/features/cashier/modules/DepositFiat/__tests__/DepositFiat.spec.tsx @@ -1,43 +1,20 @@ import React from 'react'; -import { useAuthorize, useCashierFiatAddress } from '@deriv/api-v2'; +import { useCashierFiatAddress } from '@deriv/api-v2'; import { fireEvent, render, screen } from '@testing-library/react'; import DepositFiat from '../DepositFiat'; jest.mock('@deriv/api-v2', () => ({ - useAuthorize: jest.fn(), useCashierFiatAddress: jest.fn(), })); describe('DepositFiat', () => { - beforeEach(() => { - (useAuthorize as jest.Mock).mockReturnValue({ isSuccess: true }); - }); - afterEach(() => { jest.clearAllMocks(); }); - it('should render error screen if isError and depositError is a server error', () => { - const serverError = { code: '500', message: 'Server Error' }; - - (useCashierFiatAddress as jest.Mock).mockReturnValueOnce({ - data: null, - error: { error: serverError }, - isError: true, - mutate: jest.fn(), - }); - - render(); - expect(screen.getByText('Server Error')).toBeInTheDocument(); - }); - it('should render loader initially', () => { - (useAuthorize as jest.Mock).mockReturnValueOnce({ isSuccess: false }); (useCashierFiatAddress as jest.Mock).mockReturnValueOnce({ data: null, - error: null, - isError: false, - mutate: jest.fn(), }); render(); @@ -48,9 +25,6 @@ describe('DepositFiat', () => { it('should display iframe correctly after onLoad event', () => { (useCashierFiatAddress as jest.Mock).mockReturnValue({ data: 'https://iframe_url', - error: null, - isError: false, - mutate: jest.fn(), }); render(); diff --git a/packages/wallets/src/features/cashier/screens/DepositErrorScreen/DepositErrorScreen.scss b/packages/wallets/src/features/cashier/screens/DepositErrorScreen/DepositErrorScreen.scss new file mode 100644 index 000000000000..e200db2d8a89 --- /dev/null +++ b/packages/wallets/src/features/cashier/screens/DepositErrorScreen/DepositErrorScreen.scss @@ -0,0 +1,7 @@ +.wallets-deposit-error-screen__no-icon { + margin-top: 3.2rem; + + @include mobile { + margin-top: 5.6rem; + } +} diff --git a/packages/wallets/src/features/cashier/screens/DepositErrorScreen/DepositErrorScreen.tsx b/packages/wallets/src/features/cashier/screens/DepositErrorScreen/DepositErrorScreen.tsx new file mode 100644 index 000000000000..8f5fc1bbeb52 --- /dev/null +++ b/packages/wallets/src/features/cashier/screens/DepositErrorScreen/DepositErrorScreen.tsx @@ -0,0 +1,67 @@ +import React from 'react'; +import classNames from 'classnames'; +import { TSocketError } from '@deriv/api-v2/types'; +import { WalletsErrorScreen } from '../../../../components'; +import { CryptoDepositErrorCodes } from '../../../../constants/errorCodes'; +import './DepositErrorScreen.scss'; + +type TProps = { + currency?: string; + error: TSocketError<'cashier'>['error']; +}; + +type TErrorContent = { + buttonText?: string; + message?: string; + onClick?: () => void; + showIcon?: boolean; + title?: string; +}; + +type TErrorCodeHandlers = Record; + +const DepositErrorScreen: React.FC = ({ currency, error }) => { + const defaultContent: TErrorContent = { + buttonText: 'Try again', + message: error.message, + onClick: () => window.location.reload(), + showIcon: true, + title: undefined, + }; + + const depositErrorCodeHandlers: TErrorCodeHandlers = { + [CryptoDepositErrorCodes.CryptoConnectionError]: { + ...defaultContent, + buttonText: undefined, + title: 'Maintenance in progess', + }, + [CryptoDepositErrorCodes.SuspendedCurrency]: { + ...defaultContent, + buttonText: undefined, + message: `Due to system maintenance, deposits with your ${currency} Wallet are unavailable at the moment. Please try again later.`, + showIcon: false, + title: `${currency} Wallet deposits are temporarily unavailable`, + }, + [CryptoDepositErrorCodes.SuspendedDeposit]: { + ...defaultContent, + buttonText: undefined, + message: `Due to system maintenance, deposits with your ${currency} Wallet are unavailable at the moment. Please try again later.`, + showIcon: false, + title: `${currency} Wallet deposits are temporarily unavailable`, + }, + }; + + const content = depositErrorCodeHandlers[error.code] || defaultContent; + + return ( +
+ +
+ ); +}; + +export default DepositErrorScreen; diff --git a/packages/wallets/src/features/cashier/screens/DepositErrorScreen/__tests__/DepositErrorScreen.spec.tsx b/packages/wallets/src/features/cashier/screens/DepositErrorScreen/__tests__/DepositErrorScreen.spec.tsx new file mode 100644 index 000000000000..f54cb9841036 --- /dev/null +++ b/packages/wallets/src/features/cashier/screens/DepositErrorScreen/__tests__/DepositErrorScreen.spec.tsx @@ -0,0 +1,91 @@ +import React from 'react'; +import { fireEvent, render, screen } from '@testing-library/react'; +import DepositErrorScreen from '../DepositErrorScreen'; + +describe('DepositErrorScreen', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + it('should show default deposit error details', () => { + const error = { + code: 'MyError', + message: 'Error message', + }; + + render(); + + expect(screen.getByText('Oops, something went wrong!')).toBeInTheDocument(); + expect(screen.getByText('Error message')).toBeInTheDocument(); + expect(screen.getByRole('button', { name: 'Try again' })).toBeInTheDocument(); + }); + + it('should show correct deposit error screen for crypto suspended currency error', () => { + const error = { + code: 'CryptoSuspendedCurrency', + message: 'Crypto Suspended Currency', + }; + + render(); + + expect(screen.getByText('BTC Wallet deposits are temporarily unavailable')).toBeInTheDocument(); + expect( + screen.getByText( + 'Due to system maintenance, deposits with your BTC Wallet are unavailable at the moment. Please try again later.' + ) + ).toBeInTheDocument(); + expect(screen.queryByText('Try again')).not.toBeInTheDocument(); + }); + + it('should show correct deposit error screen for crypto suspended deposit error', () => { + const error = { + code: 'CryptoDisabledCurrencyDeposit', + message: 'Crypto Disabled Currency Deposit', + }; + + render(); + + expect(screen.getByText('BTC Wallet deposits are temporarily unavailable')).toBeInTheDocument(); + expect( + screen.getByText( + 'Due to system maintenance, deposits with your BTC Wallet are unavailable at the moment. Please try again later.' + ) + ).toBeInTheDocument(); + expect(screen.queryByText('Try again')).not.toBeInTheDocument(); + }); + + it('should show correct deposit error screen for crypto connection error', () => { + const error = { + code: 'CryptoConnectionError', + message: 'Crypto Connection Error', + }; + + render(); + + expect(screen.getByText('Maintenance in progess')).toBeInTheDocument(); + expect(screen.getByText('Crypto Connection Error')).toBeInTheDocument(); + expect(screen.queryByText('Try again')).not.toBeInTheDocument(); + }); + + it('should reload page when user clicks on button', () => { + const reloadMock = jest.fn(); + Object.defineProperty(window, 'location', { + value: { reload: reloadMock }, + writable: true, + }); + + const error = { + code: 'CashierForwardError', + message: 'Error message', + }; + + render(); + + expect(screen.getByText('Oops, something went wrong!')).toBeInTheDocument(); + expect(screen.getByText('Error message')).toBeInTheDocument(); + const ReloadButton = screen.getByRole('button', { name: 'Try again' }); + + fireEvent.click(ReloadButton); + expect(reloadMock).toHaveBeenCalled(); + }); +}); diff --git a/packages/wallets/src/features/cashier/screens/DepositErrorScreen/index.ts b/packages/wallets/src/features/cashier/screens/DepositErrorScreen/index.ts new file mode 100644 index 000000000000..f7117c22479c --- /dev/null +++ b/packages/wallets/src/features/cashier/screens/DepositErrorScreen/index.ts @@ -0,0 +1 @@ +export { default as DepositErrorScreen } from './DepositErrorScreen'; diff --git a/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/WithdrawalErrorScreen.scss b/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/WithdrawalErrorScreen.scss new file mode 100644 index 000000000000..9c9dede73f28 --- /dev/null +++ b/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/WithdrawalErrorScreen.scss @@ -0,0 +1,7 @@ +.wallets-withdrawal-error-screen__no-icon { + margin-top: 3.2rem; + + @include mobile { + margin-top: 5.6rem; + } +} diff --git a/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/WithdrawalErrorScreen.tsx b/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/WithdrawalErrorScreen.tsx index 9209cb4aa07c..b9196f5cc0c5 100644 --- a/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/WithdrawalErrorScreen.tsx +++ b/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/WithdrawalErrorScreen.tsx @@ -1,38 +1,84 @@ -import React from 'react'; +import React, { ComponentProps } from 'react'; +import classNames from 'classnames'; import { TSocketError } from '@deriv/api-v2/types'; -import { WalletsErrorScreen } from '../../../../components'; +import { WalletButton, WalletsErrorScreen } from '../../../../components'; import { CryptoWithdrawalErrorCodes } from '../../../../constants/errorCodes'; type TProps = { + currency?: string; error: TSocketError<'cashier'>['error']; resetError: VoidFunction; setResendEmail: React.Dispatch>; }; -const WithdrawalErrorScreen: React.FC = ({ error, resetError, setResendEmail }) => { - if (error.code === CryptoWithdrawalErrorCodes.InvalidToken) { - return ( - { - resetError(); - setResendEmail(true); - }} - title='Email verification failed' - /> - ); - } +type TErrorContent = { + buttonText?: string; + buttonVariant?: ComponentProps['variant']; + message?: string; + onClick?: () => void; + showIcon?: boolean; + title?: string; +}; + +type TErrorCodeHandlers = Record; + +const WithdrawalErrorScreen: React.FC = ({ currency, error, resetError, setResendEmail }) => { + const defaultContent: TErrorContent = { + buttonText: 'Try again', + buttonVariant: 'ghost', + message: error.message, + onClick: () => window.location.reload(), + showIcon: true, + }; + + const withdrawalErrorCodeHandlers: TErrorCodeHandlers = { + [CryptoWithdrawalErrorCodes.InvalidToken]: { + ...defaultContent, + buttonText: 'Resend email', + buttonVariant: 'contained', + message: 'The verification link you used is invalid or expired. Please request for a new one.', + onClick: () => { + resetError(); + setResendEmail(true); + }, + title: 'Email verification failed', + }, + [CryptoWithdrawalErrorCodes.CryptoInvalidAddress]: { + ...defaultContent, + onClick: resetError, + title: 'Error', + }, + [CryptoWithdrawalErrorCodes.SuspendedCurrency]: { + ...defaultContent, + buttonText: undefined, + message: `Due to system maintenance, withdrawals with your ${currency} Wallet are unavailable at the moment. Please try again later.`, + showIcon: false, + title: `${currency} Wallet withdrawals are temporarily unavailable`, + }, + [CryptoWithdrawalErrorCodes.SuspendedWithdrawal]: { + ...defaultContent, + buttonText: undefined, + message: `Due to system maintenance, withdrawals with your ${currency} Wallet are unavailable at the moment. Please try again later.`, + showIcon: false, + title: `${currency} Wallet withdrawals are temporarily unavailable`, + }, + [CryptoWithdrawalErrorCodes.CryptoConnectionError]: { + ...defaultContent, + buttonText: undefined, + title: 'Maintenance in progress', + }, + }; + + const content = withdrawalErrorCodeHandlers[error.code] || defaultContent; return ( - +
+ +
); }; diff --git a/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/__tests__/WithdrawalErrorScreen.spec.tsx b/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/__tests__/WithdrawalErrorScreen.spec.tsx index db935a539f9d..40a9f5792d59 100644 --- a/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/__tests__/WithdrawalErrorScreen.spec.tsx +++ b/packages/wallets/src/features/cashier/screens/WithdrawalErrorScreen/__tests__/WithdrawalErrorScreen.spec.tsx @@ -11,36 +11,38 @@ describe('WithdrawalErrorScreen', () => { setResendEmail = jest.fn(); }); - describe('InvalidToken', () => { + it('should show proper error for `InvalidToken` error code', () => { const error = { code: 'InvalidToken', message: 'Error message', }; - it('should show proper error for `InvalidToken` error code', () => { - render(); + render(); - expect(screen.getByText('Email verification failed')).toBeInTheDocument(); - expect( - screen.getByText('The verification link you used is invalid or expired. Please request for a new one.') - ).toBeInTheDocument(); - expect(screen.getByRole('button', { name: 'Resend email' })).toBeInTheDocument(); - }); + expect(screen.getByText('Email verification failed')).toBeInTheDocument(); + expect( + screen.getByText('The verification link you used is invalid or expired. Please request for a new one.') + ).toBeInTheDocument(); + expect(screen.getByRole('button', { name: 'Resend email' })).toBeInTheDocument(); + }); - it('should trigger proper callbacks when the user is clicking on `Resend email` button', () => { - render(); + it('should trigger proper callbacks when the user is clicking on `Resend email` button', () => { + const error = { + code: 'InvalidToken', + message: 'Error message', + }; - const resendEmailBtn = screen.getByRole('button', { name: 'Resend email' }); + render(); - userEvent.click(resendEmailBtn); + const resendEmailBtn = screen.getByRole('button', { name: 'Resend email' }); - expect(resetError).toHaveBeenCalledTimes(1); - expect(setResendEmail).toHaveBeenCalledTimes(1); - expect(setResendEmail).toHaveBeenCalledWith(true); - }); + userEvent.click(resendEmailBtn); + expect(resetError).toHaveBeenCalledTimes(1); + expect(setResendEmail).toHaveBeenCalledTimes(1); + expect(setResendEmail).toHaveBeenCalledWith(true); }); - it('should show default error', () => { + it('should show withdrawal error details', () => { const error = { code: 'MyError', message: 'Error message', @@ -48,12 +50,78 @@ describe('WithdrawalErrorScreen', () => { render(); - expect(screen.getByText('Error')).toBeInTheDocument(); + expect(screen.getByText('Oops, something went wrong!')).toBeInTheDocument(); expect(screen.getByText('Error message')).toBeInTheDocument(); - expect(screen.getByRole('button', { name: 'OK' })).toBeInTheDocument(); + expect(screen.getByRole('button', { name: 'Try again' })).toBeInTheDocument(); + }); + + it('should show correct withdrawal error screen for crypto suspended currency error', () => { + const error = { + code: 'CryptoSuspendedCurrency', + message: 'Crypto Suspended Currency', + }; + + render( + + ); + + expect(screen.getByText('BTC Wallet withdrawals are temporarily unavailable')).toBeInTheDocument(); + expect( + screen.getByText( + 'Due to system maintenance, withdrawals with your BTC Wallet are unavailable at the moment. Please try again later.' + ) + ).toBeInTheDocument(); + expect(screen.queryByText('Try again')).not.toBeInTheDocument(); + }); + + it('should show correct withdrawal error screen for crypto suspended withdrawal error', () => { + const error = { + code: 'CryptoDisabledCurrencyWithdrawal', + message: 'Crypto Disabled Currency Withdrawal', + }; + + render( + + ); + + expect(screen.getByText('BTC Wallet withdrawals are temporarily unavailable')).toBeInTheDocument(); + expect( + screen.getByText( + 'Due to system maintenance, withdrawals with your BTC Wallet are unavailable at the moment. Please try again later.' + ) + ).toBeInTheDocument(); + expect(screen.queryByText('Try again')).not.toBeInTheDocument(); + }); + + it('should show correct withdrawal error screen for crypto connection error', () => { + const error = { + code: 'CryptoConnectionError', + message: 'Crypto Connection Error', + }; + + render(); + + expect(screen.getByText('Maintenance in progress')).toBeInTheDocument(); + expect(screen.getByText('Crypto Connection Error')).toBeInTheDocument(); + expect(screen.queryByText('Try again')).not.toBeInTheDocument(); }); - it('should trigger `resetError` callback whe the user is clicking on `OK` button', () => { + it('should reload page when the user clicks on `Try again` button', () => { + const reloadMock = jest.fn(); + Object.defineProperty(window, 'location', { + value: { reload: reloadMock }, + writable: true, + }); const error = { code: 'MyError', message: 'Error message', @@ -61,10 +129,27 @@ describe('WithdrawalErrorScreen', () => { render(); - const OKBtn = screen.getByRole('button', { name: 'OK' }); + expect(screen.getByText('Oops, something went wrong!')).toBeInTheDocument(); + expect(screen.getByText('Error message')).toBeInTheDocument(); + const ReloadButton = screen.getByRole('button', { name: 'Try again' }); + + userEvent.click(ReloadButton); + expect(reloadMock).toHaveBeenCalled(); + }); - userEvent.click(OKBtn); + it('should reload page when the user clicks on `Try again` button for invalid crypto address error', () => { + const error = { + code: 'CryptoInvalidAddress', + message: 'Crypto Invalid Address', + }; + + render(); + + expect(screen.getByText('Error')).toBeInTheDocument(); + expect(screen.getByText('Crypto Invalid Address')).toBeInTheDocument(); + const ReloadButton = screen.getByRole('button', { name: 'Try again' }); + userEvent.click(ReloadButton); expect(resetError).toHaveBeenCalledTimes(1); }); }); diff --git a/packages/wallets/src/features/cashier/screens/index.ts b/packages/wallets/src/features/cashier/screens/index.ts index 1d32ab74fef2..45435f02bac8 100644 --- a/packages/wallets/src/features/cashier/screens/index.ts +++ b/packages/wallets/src/features/cashier/screens/index.ts @@ -1,3 +1,4 @@ +export * from './DepositErrorScreen'; export * from './TransferNotAvailable'; export * from './WithdrawalErrorScreen'; export * from './WithdrawalNoBalance'; From 2dcbde51fb0e3aaca276a5bb0921f1ad79762481 Mon Sep 17 00:00:00 2001 From: Aizad Ridzo <103104395+aizad-deriv@users.noreply.github.com> Date: Thu, 16 May 2024 23:18:19 +0800 Subject: [PATCH 29/95] [WALL] Aizad/wall 3964/wallet onboarding (#15099) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: wait for switch * chore: Implement new joyride steps * chore: update react-joyride and remove old joyride implementation * chore: small style changes for Desktop flow * chore: update steps in tour guide * chore: update onboarding for Mobile view for wallets * chore: refactor tour guide for wallets * chore: fix test case for AccountList * chore: refactor joyride * feat: reverted back to previous version * chore: i think i fix the flickering 👀 * chore: replace deriv/react-joyride with the react-joyride * chore: update import statements * chore: fix not scrolling when press back * chore: fix test cases * chore: added small changes for tour guide --------- Co-authored-by: Wojciech Brygola --- .../wallets-carousel-content.spec.tsx | 10 +- packages/wallets/package.json | 2 +- .../components/AccountsList/AccountsList.tsx | 22 +-- .../__tests__/AccountsList.spec.tsx | 31 ++-- .../OptionsAndMultipliersListing.tsx | 15 +- .../WalletsCarouselLoader.scss | 5 + .../WalletsCarouselLoader.tsx | 6 + .../WalletListHeader/WalletListHeader.scss | 4 - .../WalletListHeader/WalletListHeader.tsx | 4 +- .../WalletTourGuide/DesktopSteps.tsx | 160 ---------------- .../WalletTourGuide/MobileSteps.tsx | 175 ------------------ .../WalletTourGuide/WalletMobileTourGuide.tsx | 149 --------------- .../WalletTourGuide/WalletTourGuide.tsx | 114 +++++------- .../WalletTourGuideSettings.tsx | 30 +-- .../WalletTourGuide/WalletTourGuideSteps.tsx | 121 ++++++++++++ .../src/components/WalletTourGuide/index.tsx | 1 - .../WalletsCarousel/WalletsCarousel.tsx | 25 +-- .../WalletsCarouselContent.scss | 19 +- .../WalletsCarouselContent.tsx | 88 ++++----- .../src/features/cfd/CFDPlatformsList.tsx | 12 +- .../CFDPlatformsListAccounts.tsx | 20 +- .../WalletsListingRoute.tsx | 2 +- .../__tests__/WalletsListingRoute.spec.tsx | 4 +- 23 files changed, 302 insertions(+), 717 deletions(-) delete mode 100644 packages/wallets/src/components/WalletTourGuide/DesktopSteps.tsx delete mode 100644 packages/wallets/src/components/WalletTourGuide/MobileSteps.tsx delete mode 100644 packages/wallets/src/components/WalletTourGuide/WalletMobileTourGuide.tsx create mode 100644 packages/wallets/src/components/WalletTourGuide/WalletTourGuideSteps.tsx diff --git a/packages/wallets/component-tests/wallets-carousel-content.spec.tsx b/packages/wallets/component-tests/wallets-carousel-content.spec.tsx index 8b14c9269d96..3ac1cb01cf60 100644 --- a/packages/wallets/component-tests/wallets-carousel-content.spec.tsx +++ b/packages/wallets/component-tests/wallets-carousel-content.spec.tsx @@ -6,7 +6,7 @@ import { mockProposalOpenContract } from './mocks/mockProposalOpenContract'; import mockWalletsAuthorize, { DEFAULT_WALLET_ACCOUNTS } from './mocks/mockWalletsAuthorize'; import mockWalletsLoggedIn from './mocks/mockWalletsLoggedIn'; -const CAROUSEL_SELECTOR = '.wallets-carousel-content__container .wallets-card:nth-child(1)'; +const CAROUSEL_SELECTOR = '.wallets-carousel-content__cards .wallets-card:nth-child(1)'; // swipe function async function swipeLeft(mobilePage: Page) { @@ -64,22 +64,22 @@ test.describe('Wallets - Mobile carousel', () => { const card1text = await mobilePage .locator( - '.wallets-carousel-content__container .wallets-card:nth-child(1) .wallets-card__details-bottom span:last-child' + '.wallets-carousel-content__cards .wallets-card:nth-child(1) .wallets-card__details-bottom span:last-child' ) .innerText(); const card2text = await mobilePage .locator( - '.wallets-carousel-content__container .wallets-card:nth-child(2) .wallets-card__details-bottom span:last-child' + '.wallets-carousel-content__cards .wallets-card:nth-child(2) .wallets-card__details-bottom span:last-child' ) .innerText(); const card3text = await mobilePage .locator( - '.wallets-carousel-content__container .wallets-card:nth-child(3) .wallets-card__details-bottom span:last-child' + '.wallets-carousel-content__cards .wallets-card:nth-child(3) .wallets-card__details-bottom span:last-child' ) .innerText(); const card4text = await mobilePage .locator( - '.wallets-carousel-content__container .wallets-card:nth-child(4) .wallets-card__details-bottom span:last-child' + '.wallets-carousel-content__cards .wallets-card:nth-child(4) .wallets-card__details-bottom span:last-child' ) .innerText(); diff --git a/packages/wallets/package.json b/packages/wallets/package.json index 26831ee991ce..c5c39b2669a5 100644 --- a/packages/wallets/package.json +++ b/packages/wallets/package.json @@ -19,7 +19,7 @@ "@deriv/api-v2": "^1.0.0", "@deriv/integration": "^1.0.0", "@deriv/quill-icons": "^1.22.4", - "@deriv/react-joyride": "^2.6.2", + "react-joyride": "^2.5.3", "@deriv/utils": "^1.0.0", "@tanstack/react-table": "^8.10.3", "@zxcvbn-ts/core": "^3.0.4", diff --git a/packages/wallets/src/components/AccountsList/AccountsList.tsx b/packages/wallets/src/components/AccountsList/AccountsList.tsx index 735891544744..b4e4256dc6b9 100644 --- a/packages/wallets/src/components/AccountsList/AccountsList.tsx +++ b/packages/wallets/src/components/AccountsList/AccountsList.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React, { FC } from 'react'; import { useTranslation } from 'react-i18next'; import { CFDPlatformsList } from '../../features'; import useDevice from '../../hooks/useDevice'; @@ -9,17 +9,10 @@ import { WalletsPrimaryTabPanels, WalletsPrimaryTabs, } from '../WalletsPrimaryTabs'; -import { WalletMobileTourGuide } from '../WalletTourGuide'; import './AccountsList.scss'; -type TProps = { - isWalletSettled?: boolean; -}; - -const AccountsList = ({ isWalletSettled }: TProps) => { +const AccountsList: FC = () => { const { isMobile } = useDevice(); - const [isMT5PlatformListLoaded, setIsMT5PlatformListLoaded] = useState(false); - const [isOptionsAndMultipliersLoaded, setIsOptionsAndMultipliersLoaded] = useState(false); const { t } = useTranslation(); if (isMobile) { @@ -28,19 +21,12 @@ const AccountsList = ({ isWalletSettled }: TProps) => { - + - + - ); } diff --git a/packages/wallets/src/components/AccountsList/__tests__/AccountsList.spec.tsx b/packages/wallets/src/components/AccountsList/__tests__/AccountsList.spec.tsx index 6405dc1e3256..0907d361455e 100644 --- a/packages/wallets/src/components/AccountsList/__tests__/AccountsList.spec.tsx +++ b/packages/wallets/src/components/AccountsList/__tests__/AccountsList.spec.tsx @@ -1,31 +1,24 @@ import React, { ComponentProps, PropsWithChildren } from 'react'; +import { WalletTourGuide } from 'src/components/WalletTourGuide'; import { APIProvider } from '@deriv/api-v2'; import { render, screen } from '@testing-library/react'; import WalletsAuthProvider from '../../../AuthProvider'; import useDevice from '../../../hooks/useDevice'; import { ModalProvider } from '../../ModalProvider'; -import WalletMobileTourGuide from '../../WalletTourGuide/WalletMobileTourGuide'; import AccountsList from '../AccountsList'; jest.mock('../../../hooks/useDevice'); const mockUseDevice = useDevice as jest.MockedFunction; -const mockWalletMobileTourGuide = jest.fn(); +const mockWalletTourGuide = jest.fn(); jest.mock( - '../../WalletTourGuide/WalletMobileTourGuide', + '../../WalletTourGuide/WalletTourGuide', // eslint-disable-next-line react/display-name - () => (props: ComponentProps) => { - mockWalletMobileTourGuide(props); + () => (props: ComponentProps) => { + mockWalletTourGuide(props); return (

mock wallet tour guide

-

{props.isMT5PlatformListLoaded ? 'mt5 list loaded' : 'mt5 list not loaded'}

-

- {props.isOptionsAndMultipliersLoaded - ? 'options and multipliers loaded' - : 'options and multipliers not loaded'} -

-

{props.isWalletSettled ? 'wallet settled' : 'wallet not settled'}

); } @@ -46,7 +39,7 @@ describe('AccountsList', () => { isMobile: true, isTablet: false, }); - render(, { wrapper }); + render(, { wrapper }); expect(screen.getByTestId('dt_tabs')).toBeInTheDocument(); expect(screen.getByTestId('dt_tab_list')).toBeInTheDocument(); expect(screen.getByTestId('dt_tab_panels')).toBeInTheDocument(); @@ -61,7 +54,7 @@ describe('AccountsList', () => { isMobile: true, isTablet: false, }); - render(, { wrapper }); + render(, { wrapper }); expect(screen.getByTestId('dt_tab_panels')).toBeInTheDocument(); expect(screen.getByText('CFDs')).toBeInTheDocument(); expect(screen.getAllByText('Options')[0]).toBeInTheDocument(); @@ -81,7 +74,7 @@ describe('AccountsList', () => { isMobile: false, isTablet: false, }); - render(, { wrapper }); + render(, { wrapper }); expect(screen.getByTestId('dt_desktop_accounts_list')).toBeInTheDocument(); expect(screen.getByText('CFDs')).toBeInTheDocument(); @@ -94,8 +87,8 @@ describe('AccountsList', () => { isMobile: true, isTablet: false, }); - render(, { wrapper }); - expect(mockWalletMobileTourGuide).toBeCalledWith(expect.objectContaining({ isWalletSettled: false })); + render(, { wrapper }); + expect(mockWalletTourGuide); }); it('should render wallet tour guide in mobile view with isWalletSettled set to true', () => { @@ -104,7 +97,7 @@ describe('AccountsList', () => { isMobile: true, isTablet: false, }); - render(, { wrapper }); - expect(mockWalletMobileTourGuide).toBeCalledWith(expect.objectContaining({ isWalletSettled: true })); + render(, { wrapper }); + expect(mockWalletTourGuide); }); }); diff --git a/packages/wallets/src/components/OptionsAndMultipliersListing/OptionsAndMultipliersListing.tsx b/packages/wallets/src/components/OptionsAndMultipliersListing/OptionsAndMultipliersListing.tsx index b682c0fc411a..fa4ae731a5ac 100644 --- a/packages/wallets/src/components/OptionsAndMultipliersListing/OptionsAndMultipliersListing.tsx +++ b/packages/wallets/src/components/OptionsAndMultipliersListing/OptionsAndMultipliersListing.tsx @@ -1,4 +1,4 @@ -import React, { useEffect } from 'react'; +import React from 'react'; import classNames from 'classnames'; import { Trans } from 'react-i18next'; import { useHistory } from 'react-router-dom'; @@ -15,10 +15,6 @@ import './OptionsAndMultipliersListing.scss'; type TLinkTitleProps = Pick; -type TOptionsAndMultipliersListingProps = { - onOptionsAndMultipliersLoaded?: (value: boolean) => void; -}; - const LinkTitle: React.FC = ({ icon, title }) => { const handleClick = (event: React.KeyboardEvent | React.MouseEvent) => { event.persist(); @@ -59,18 +55,11 @@ const LinkTitle: React.FC = ({ icon, title }) => { ); }; -const OptionsAndMultipliersListing: React.FC = ({ - onOptionsAndMultipliersLoaded, -}) => { +const OptionsAndMultipliersListing: React.FC = () => { const { isMobile } = useDevice(); const history = useHistory(); const { data: activeLinkedToTradingAccount } = useActiveLinkedToTradingAccount(); - useEffect(() => { - onOptionsAndMultipliersLoaded?.(true); - return () => onOptionsAndMultipliersLoaded?.(false); - }, [onOptionsAndMultipliersLoaded]); - return (
diff --git a/packages/wallets/src/components/SkeletonLoader/WalletsCarouselLoader/WalletsCarouselLoader.scss b/packages/wallets/src/components/SkeletonLoader/WalletsCarouselLoader/WalletsCarouselLoader.scss index 0bba0fe70446..59ac41154223 100644 --- a/packages/wallets/src/components/SkeletonLoader/WalletsCarouselLoader/WalletsCarouselLoader.scss +++ b/packages/wallets/src/components/SkeletonLoader/WalletsCarouselLoader/WalletsCarouselLoader.scss @@ -7,6 +7,10 @@ width: 100%; padding-block: 0.8rem; + &__title { + margin: 0.8rem 1.4rem 0; + } + &__actions { display: flex; padding-left: 2.4rem; @@ -44,6 +48,7 @@ gap: 1.6rem; overflow: hidden; transform: translateX(calc(50% - 14.4rem)); + height: 18rem; } } diff --git a/packages/wallets/src/components/SkeletonLoader/WalletsCarouselLoader/WalletsCarouselLoader.tsx b/packages/wallets/src/components/SkeletonLoader/WalletsCarouselLoader/WalletsCarouselLoader.tsx index ea8ca05ea35f..a0bf2c6b0ea5 100644 --- a/packages/wallets/src/components/SkeletonLoader/WalletsCarouselLoader/WalletsCarouselLoader.tsx +++ b/packages/wallets/src/components/SkeletonLoader/WalletsCarouselLoader/WalletsCarouselLoader.tsx @@ -1,9 +1,15 @@ import React from 'react'; +import { WalletText } from '../../Base'; import './WalletsCarouselLoader.scss'; const WalletsCarouselLoader = () => { return (
+
+ + Trader's Hub + +
{Array.from({ length: 3 }).map((_, idx) => (
{ const demoAccount = wallets?.find(wallet => wallet.is_virtual)?.loginid; const firstRealAccount = wallets?.find(wallet => !wallet.is_virtual)?.loginid; - const shouldShowSwitcher = !isMobile && demoAccount && firstRealAccount; + const shouldShowSwitcher = demoAccount && firstRealAccount; const isDemo = activeWallet?.is_virtual; const [isChecked, setIsChecked] = useState(!isDemo); @@ -31,6 +31,8 @@ const WalletListHeader: React.FC = () => { setIsChecked(!isDemo); }, [isDemo]); + if (isMobile) return null; + return (
diff --git a/packages/wallets/src/components/WalletTourGuide/DesktopSteps.tsx b/packages/wallets/src/components/WalletTourGuide/DesktopSteps.tsx deleted file mode 100644 index 3afe0445a072..000000000000 --- a/packages/wallets/src/components/WalletTourGuide/DesktopSteps.tsx +++ /dev/null @@ -1,160 +0,0 @@ -import React from 'react'; -import { Step } from '@deriv/react-joyride'; -import { WalletText } from '../Base'; -import './WalletTourGuide.scss'; - -const getDesktopSteps = ( - isDemoWallet: boolean, - hasMT5Account: boolean, - hasDerivAppsTradingAccount: boolean, - isAllWalletsAlreadyAdded: boolean -): Step[] => [ - // Wallet header - { - content: ( - - This is your Wallet. These are the functions that you can perform within this Wallet and you can - conveniently view your total balance here. - - ), - disableBeacon: true, - disableOverlayClose: true, - placement: 'bottom', - spotlightPadding: 0, - styles: { spotlight: { borderRadius: '1.6rem 1.6rem 0rem 0rem' } }, - target: `.wallets-card__header`, - title: ( - - Wallets - - ), - }, - // Actions - { - content: isDemoWallet ? ( - - Perform Transfer and Reset balance using your Demo Wallet. You can also view your Demo wallet's - transaction history. - - ) : ( - - Perform deposits, withdrawals, and fund transfers using your Wallet. You can also view your - Wallet's transaction history. - - ), - disableBeacon: true, - disableOverlayClose: true, - placement: 'bottom', - spotlightPadding: 4, - styles: { - spotlight: { - borderRadius: '6.4rem', - }, - }, - target: `.wallets-card__header .wallets-header__actions`, - title: ( - - Wallet actions - - ), - }, - // CFDs - { - content: hasMT5Account ? ( - - This is your CFDs trading account. Click Transfer to move funds between your Wallet and trading account. - - ) : ( - - This is your CFDs trading account. Click Get to create the trading account you desire for trading. - - ), - disableBeacon: true, - disableOverlayClose: true, - placement: 'right', - spotlightPadding: 5, - styles: { spotlight: { borderRadius: '0.4rem' } }, - target: '.wallets-cfd-list-accounts__content .wallets-trading-account-card', - title: ( - - CFDs trading accounts - - ), - }, - // create DTrader account - { - content: hasDerivAppsTradingAccount ? ( - - This is your Options trading account balance. Click Transfer to move funds between your Wallet and - Options trading account. - - ) : ( - - This is your Options trading account. Click Get to create the Options trading account for trading. - - ), - disableBeacon: true, - disableOverlayClose: true, - placement: 'left', - spotlightPadding: 0, - styles: { spotlight: { borderRadius: '0.8rem' } }, - target: '.wallets-deriv-apps-section', - title: ( - - Options trading account - - ), - }, - // Open DTrade - { - content: hasDerivAppsTradingAccount ? ( - Choose a Deriv app to trade options or multipliers. - ) : ( - - Once you have get an Options trading account, choose a Deriv app to trade options or multipliers. - - ), - disableBeacon: true, - disableOverlayClose: true, - placement: 'right', - spotlightPadding: 5, - styles: { spotlight: { borderRadius: '0.8rem' } }, - target: '.wallets-options-and-multipliers-listing__content .wallets-trading-account-card', - title: ( - - Deriv apps - - ), - }, - // Add more wallets - { - content: Click Add on each card for more Wallets., - disableBeacon: true, - disableOverlayClose: true, - placement: 'right', - styles: { spotlight: { borderRadius: '1.6rem' } }, - target: isAllWalletsAlreadyAdded ? 'null' : '.wallets-add-more__card', // skip this if all wallets already added - title: ( - - Explore more Wallets - - ), - }, - // Onboarding logo - { - content: Click here to repeat this tour., - disableBeacon: true, - disableOverlayClose: true, - placement: 'bottom', - spotlightPadding: 12, - styles: { spotlight: { borderRadius: '0.4rem' } }, - target: '.traders-hub-header__tradershub--onboarding--logo', - title: ( - - Trader's Hub tour - - ), - }, -]; - -export { getDesktopSteps }; diff --git a/packages/wallets/src/components/WalletTourGuide/MobileSteps.tsx b/packages/wallets/src/components/WalletTourGuide/MobileSteps.tsx deleted file mode 100644 index 5ae12a9f6886..000000000000 --- a/packages/wallets/src/components/WalletTourGuide/MobileSteps.tsx +++ /dev/null @@ -1,175 +0,0 @@ -import React from 'react'; -import { Step } from '@deriv/react-joyride'; -import { WalletText } from '../Base'; - -const getMobileSteps = ( - isDemoWallet: boolean, - hasMT5Account: boolean, - hasDerivAppsTradingAccount: boolean, - isAllWalletsAlreadyAdded: boolean, - walletNumber = 1 -): Step[] => [ - // Wallet card - { - content: ( - - This is your Wallet. These are the functions that you can perform within this Wallet and you can - conveniently view your total balance here. - - ), - disableBeacon: true, - disableOverlayClose: true, - placement: 'bottom', - spotlightPadding: 0, - styles: { spotlight: { borderRadius: '0.8rem' } }, - target: `.wallets-carousel-content__container .wallets-card:nth-child(${walletNumber})`, - title: ( - - Wallets - - ), - }, - // Choose Wallets - { - content: ( - - Choose your preferred Wallet above and tap the trade type to see which account is linked to that Wallet. - - ), - disableBeacon: true, - disableOverlayClose: true, - placement: 'bottom', - spotlightPadding: 4, - styles: { spotlight: { borderRadius: '0.6rem' } }, - target: '.wallets-tabs-list', - title: ( - - Choose Wallets - - ), - }, - // Actions - { - content: isDemoWallet ? ( - - Perform Transfer and Reset balance using your Demo Wallet. You can also view your Demo wallet's - transaction history. - - ) : ( - - Perform deposits, withdrawals, and fund transfers using your Wallet. You can also view your - Wallet's transaction history. - - ), - disableBeacon: true, - disableOverlayClose: true, - placement: 'bottom', - spotlightPadding: 4, - styles: { spotlight: { borderRadius: '0.8rem' } }, - target: '.wallets-mobile-actions', - title: ( - - Wallet actions - - ), - }, - // CFDs - { - content: hasMT5Account ? ( - - This is your CFDs trading account. Click Transfer to move funds between your Wallet and trading account. - - ) : ( - - This is your CFDs trading account. Click Get to create the trading account you desire for trading. - - ), - disableBeacon: true, - disableOverlayClose: true, - placement: 'top', - spotlightPadding: 5, - styles: { spotlight: { borderRadius: '0.8rem' } }, - target: '.wallets-cfd-list-accounts__content .wallets-trading-account-card', - title: ( - - CFDs trading accounts - - ), - }, - // create DTrader account - { - content: hasDerivAppsTradingAccount ? ( - - This is your Options trading account balance. Click Transfer to move funds between your Wallet and - Options trading account. - - ) : ( - - This is your Options trading account. Click Get to create the Options trading account for trading. - - ), - disableBeacon: true, - disableOverlayClose: true, - placement: 'top', - spotlightPadding: 0, - styles: { spotlight: { borderRadius: '0.8rem' } }, - target: '.wallets-deriv-apps-section', - title: ( - - Options trading account - - ), - }, - // Open DTrade - { - content: hasDerivAppsTradingAccount ? ( - Choose a Deriv app to trade options or multipliers. - ) : ( - - Once you have get an Options trading account, choose a Deriv app to trade options or multipliers. - - ), - disableBeacon: true, - disableOverlayClose: true, - placement: 'top', - spotlightPadding: 5, - styles: { spotlight: { borderRadius: '0.8rem' } }, - target: '.wallets-options-and-multipliers-listing__content .wallets-trading-account-card', - title: ( - - Deriv apps - - ), - }, - // Add more wallets - { - content: Click Add on each card for more Wallets., - disableBeacon: true, - disableOverlayClose: true, - placement: 'top', - styles: { spotlight: { borderRadius: '1.6rem' } }, - target: isAllWalletsAlreadyAdded ? 'null' : '.wallets-add-more__card', // skip this if all wallets already added - title: ( - - Explore more Wallets - - ), - }, - // Onboarding logo - { - content: Click here to repeat this tour., - disableBeacon: true, - disableOverlayClose: true, - placement: 'bottom', - spotlightPadding: 12, - styles: { spotlight: { borderRadius: '0.4rem' } }, - target: '.traders-hub-header__tradershub--onboarding--logo', - title: ( - - Trader's Hub tour - - ), - }, -]; - -export { getMobileSteps }; diff --git a/packages/wallets/src/components/WalletTourGuide/WalletMobileTourGuide.tsx b/packages/wallets/src/components/WalletTourGuide/WalletMobileTourGuide.tsx deleted file mode 100644 index ddb84bac8894..000000000000 --- a/packages/wallets/src/components/WalletTourGuide/WalletMobileTourGuide.tsx +++ /dev/null @@ -1,149 +0,0 @@ -import React, { useEffect, useState } from 'react'; -import { useLocalStorage, useReadLocalStorage } from 'usehooks-ts'; -import { useActiveWalletAccount, useAllWalletAccounts, useAuthorize, useWalletAccountsList } from '@deriv/api-v2'; -import Joyride, { ACTIONS, CallBackProps, EVENTS, STATUS } from '@deriv/react-joyride'; -import { PlatformDetails } from '../../features/cfd/constants'; -import useDevice from '../../hooks/useDevice'; -import useWalletAccountSwitcher from '../../hooks/useWalletAccountSwitcher'; -import { useTabs } from '../WalletsPrimaryTabs/WalletsPrimaryTabs'; -import { - getFiatWalletLoginId, - getWalletIndexForTarget, - TooltipComponent, - tourStepConfig, - walletsOnboardingLocalStorageKey as key, - walletsOnboardingStartValue as startValue, -} from './WalletTourGuideSettings'; -import './WalletTourGuide.scss'; - -type TProps = { - isMT5PlatformListLoaded?: boolean; - isOptionsAndMultipliersLoaded?: boolean; - isWalletSettled?: boolean; -}; - -const WalletMobileTourGuide = ({ - isMT5PlatformListLoaded = true, - isOptionsAndMultipliersLoaded = true, - isWalletSettled = true, -}: TProps) => { - const switchWalletAccount = useWalletAccountSwitcher(); - - const [walletsOnboarding, setWalletsOnboarding] = useLocalStorage(key, useReadLocalStorage(key) ?? ''); - const { isMobile } = useDevice(); - const { activeTabIndex, setActiveTabIndex } = useTabs(); - const [onboardingStep, setOnboardingStep] = useState(0); - const [run, setRun] = useState(true); - - const { isFetching, isLoading, isSuccess } = useAuthorize(); - const { data: wallets } = useWalletAccountsList(); - const { data: activeWallet } = useActiveWalletAccount(); - const { data: availableWallets } = useAllWalletAccounts(); - - const fiatWalletLoginId = getFiatWalletLoginId(wallets); - const walletIndex = getWalletIndexForTarget(fiatWalletLoginId, wallets); - const activeWalletLoginId = activeWallet?.loginid; - - const callbackHandle = (data: CallBackProps) => { - const { action, index, status, type } = data; - - const switchTab = (idx: number) => { - if (activeTabIndex !== idx) { - setActiveTabIndex(idx); - } - }; - - const setPrevNextStep = () => { - setOnboardingStep(index + (action === ACTIONS.PREV ? -1 : 1)); - }; - - // switch tab to Options & Multipliers after step #4 - if (index >= 4) switchTab(1); - else switchTab(0); - - // wait for isWalletSettled - if (index === 0) { - setRun(walletsOnboarding === startValue && isWalletSettled); - } - - // pause if target was not found - if (type === EVENTS.TARGET_NOT_FOUND) { - // check for "Add more wallets" step - if (onboardingStep !== 6) setRun(false); - else setPrevNextStep(); - } - - // Update step to advance the tour - if (type === EVENTS.STEP_AFTER) { - setPrevNextStep(); - } else if (status === STATUS.FINISHED || status === STATUS.SKIPPED) { - // Reset onboarding - setWalletsOnboarding(''); - setOnboardingStep(0); - } - }; - - useEffect(() => { - const switchToFiatWallet = () => { - if (fiatWalletLoginId && fiatWalletLoginId !== activeWalletLoginId) { - switchWalletAccount(fiatWalletLoginId).then(() => { - setRun(false); - }); - } - }; - - const needToStart = walletsOnboarding === startValue; - if (needToStart) { - switchToFiatWallet(); - } - }, [activeWalletLoginId, fiatWalletLoginId, switchWalletAccount, walletsOnboarding]); - - // for isMT5PlatformListLoaded - useEffect(() => { - if (onboardingStep === 3 && !run) setRun(walletsOnboarding === startValue && isMT5PlatformListLoaded); - }, [isMT5PlatformListLoaded, onboardingStep, run, walletsOnboarding]); - - // for isWalletSettled - useEffect(() => { - if (onboardingStep === 0 && !run) setRun(walletsOnboarding === startValue && isWalletSettled); - }, [isWalletSettled, onboardingStep, run, walletsOnboarding]); - - // for isOptionsAndMultipliersLoaded - useEffect(() => { - if (onboardingStep === 4 && !run) setRun(walletsOnboarding === startValue && isOptionsAndMultipliersLoaded); - }, [isOptionsAndMultipliersLoaded, onboardingStep, run, walletsOnboarding]); - - const isDemoWallet = Boolean(activeWallet?.is_virtual); - const hasMT5Account = Boolean( - activeWallet?.linked_to?.some(account => account.platform === PlatformDetails.mt5.platform) - ); - const hasDerivAppsTradingAccount = Boolean(activeWallet?.dtrade_loginid); - const isAllWalletsAlreadyAdded = Boolean(availableWallets?.every(wallet => wallet.is_added)); - - if (!isMobile) return null; - - return ( - - ); -}; - -export default WalletMobileTourGuide; diff --git a/packages/wallets/src/components/WalletTourGuide/WalletTourGuide.tsx b/packages/wallets/src/components/WalletTourGuide/WalletTourGuide.tsx index 896842db0d95..38a7e37f5726 100644 --- a/packages/wallets/src/components/WalletTourGuide/WalletTourGuide.tsx +++ b/packages/wallets/src/components/WalletTourGuide/WalletTourGuide.tsx @@ -1,82 +1,76 @@ -import React, { useEffect, useRef, useState } from 'react'; +import React, { useEffect, useState } from 'react'; +import Joyride, { CallBackProps, STATUS } from 'react-joyride'; import { useLocalStorage, useReadLocalStorage } from 'usehooks-ts'; -import { useActiveWalletAccount, useAllWalletAccounts, useAuthorize, useWalletAccountsList } from '@deriv/api-v2'; -import Joyride, { ACTIONS, CallBackProps } from '@deriv/react-joyride'; -import { PlatformDetails } from '../../features/cfd/constants'; +import { + useActiveWalletAccount, + useAuthorize, + useCtraderAccountsList, + useDxtradeAccountsList, + useSortedMT5Accounts, + useWalletAccountsList, +} from '@deriv/api-v2'; import useDevice from '../../hooks/useDevice'; import useWalletAccountSwitcher from '../../hooks/useWalletAccountSwitcher'; import { getFiatWalletLoginId, - getWalletIndexForTarget, TooltipComponent, - tourStepConfig, walletsOnboardingLocalStorageKey as key, - walletsOnboardingStartValue as startValue, + walletsOnboardingStartValue as START_VALUE, } from './WalletTourGuideSettings'; -import './WalletTourGuide.scss'; +import { desktopStepTourGuide, mobileStepTourGuide } from './WalletTourGuideSteps'; const WalletTourGuide = () => { const [walletsOnboarding, setWalletsOnboarding] = useLocalStorage(key, useReadLocalStorage(key) ?? ''); - const [addMoreWalletsTransformValue, setAddMoreWalletsTransformValue] = useState(''); + const [run, setRun] = useState(false); const { isMobile } = useDevice(); const switchWalletAccount = useWalletAccountSwitcher(); const { isFetching, isLoading, isSuccess } = useAuthorize(); const { data: wallets } = useWalletAccountsList(); const { data: activeWallet } = useActiveWalletAccount(); - const { data: availableWallets } = useAllWalletAccounts(); - - const addMoreWalletRef = useRef(document.getElementById('wallets_add_more_carousel_wrapper')); + const { isFetching: ctraderIsLoading } = useCtraderAccountsList(); + const { isFetching: dxtradeIsLoading } = useDxtradeAccountsList(); + const { isFetching: sortedAccountsIsLoading } = useSortedMT5Accounts(); - const fiatWalletLoginId = getFiatWalletLoginId(wallets); - const walletIndex = getWalletIndexForTarget(fiatWalletLoginId, wallets); + const needToStart = walletsOnboarding === START_VALUE; const activeWalletLoginId = activeWallet?.loginid; - - const isDemoWallet = Boolean(activeWallet?.is_virtual); - const hasMT5Account = Boolean( - activeWallet?.linked_to?.some(account => account.platform === PlatformDetails.mt5.platform) - ); - const hasDerivAppsTradingAccount = Boolean(activeWallet?.dtrade_loginid); - const isAllWalletsAlreadyAdded = Boolean(availableWallets?.every(wallet => wallet.is_added)); - - const callbackHandle = (data: CallBackProps) => { - const { action, index, lifecycle } = data; - - if (index === 0 && !isAllWalletsAlreadyAdded) { - if (addMoreWalletRef.current && lifecycle === 'init' && action === 'start') { - setAddMoreWalletsTransformValue(addMoreWalletRef.current.style.transform); - addMoreWalletRef.current.style.transform = 'translate3d(0px, 0px, 0px)'; - } - } - - if (action === ACTIONS.RESET) { - setWalletsOnboarding(''); - if (!isAllWalletsAlreadyAdded && addMoreWalletRef.current) { - addMoreWalletRef.current.style.transform = addMoreWalletsTransformValue; - } - } - }; + const fiatWalletLoginId = getFiatWalletLoginId(wallets); + const activeFiatWalletLoginId = fiatWalletLoginId == activeWalletLoginId; + const isEverythingLoaded = + !isLoading && !isFetching && isSuccess && !ctraderIsLoading && !dxtradeIsLoading && !sortedAccountsIsLoading; useEffect(() => { - const switchToFiatWallet = () => { - if (fiatWalletLoginId && fiatWalletLoginId !== activeWalletLoginId) { - switchWalletAccount(fiatWalletLoginId); + const switchAccountAndRun = async () => { + if (needToStart) { + if (fiatWalletLoginId && !activeFiatWalletLoginId) { + await switchWalletAccount(fiatWalletLoginId); + } + if (isEverythingLoaded && activeFiatWalletLoginId) { + setWalletsOnboarding(''); + setRun(true); + } } }; - const needToStart = walletsOnboarding === startValue; - if (needToStart) { - switchToFiatWallet(); - } - }, [activeWalletLoginId, fiatWalletLoginId, switchWalletAccount, walletsOnboarding]); + switchAccountAndRun(); + }, [ + run, + setRun, + needToStart, + fiatWalletLoginId, + activeFiatWalletLoginId, + isEverythingLoaded, + switchWalletAccount, + setWalletsOnboarding, + ]); - useEffect(() => { - if (!addMoreWalletRef.current) { - addMoreWalletRef.current = document.getElementById('wallets_add_more_carousel_wrapper'); + const callbackHandle = async (data: CallBackProps) => { + const { status } = data; + const finishedStatuses: string[] = [STATUS.FINISHED, STATUS.SKIPPED]; + if (finishedStatuses.includes(status)) { + setRun(false); } - }, []); - - if (isMobile) return null; + }; return ( { disableCloseOnEsc disableOverlayClose floaterProps={{ disableAnimation: true }} - run={walletsOnboarding === startValue && !isLoading && !isFetching && isSuccess} - scrollDuration={0} - scrollOffset={150} - steps={tourStepConfig( - false, - isDemoWallet, - hasMT5Account, - hasDerivAppsTradingAccount, - isAllWalletsAlreadyAdded, - walletIndex - )} + run={run} + scrollOffset={isMobile ? 100 : 80} + steps={isMobile ? mobileStepTourGuide : desktopStepTourGuide} tooltipComponent={TooltipComponent} /> ); diff --git a/packages/wallets/src/components/WalletTourGuide/WalletTourGuideSettings.tsx b/packages/wallets/src/components/WalletTourGuide/WalletTourGuideSettings.tsx index b268a9f586f4..ee9f15c61bd0 100644 --- a/packages/wallets/src/components/WalletTourGuide/WalletTourGuideSettings.tsx +++ b/packages/wallets/src/components/WalletTourGuide/WalletTourGuideSettings.tsx @@ -1,27 +1,13 @@ -import React from 'react'; +import React, { PropsWithChildren } from 'react'; +import { TooltipRenderProps } from 'react-joyride'; import { LegacyClose2pxIcon } from '@deriv/quill-icons'; -import { Step, TooltipRenderProps } from '@deriv/react-joyride'; import { THooks } from '../../types'; -import { WalletButton } from '../Base'; -import { getDesktopSteps } from './DesktopSteps'; -import { getMobileSteps } from './MobileSteps'; +import { WalletButton, WalletText } from '../Base'; import './WalletTourGuide.scss'; export const walletsOnboardingLocalStorageKey = 'walletsOnboarding'; export const walletsOnboardingStartValue = 'started'; -export const tourStepConfig = ( - isMobile: boolean, - isDemoWallet: boolean, - hasMT5Account: boolean, - hasDerivAppsTradingAccount: boolean, - isAllWalletsAlreadyAdded: boolean, - walletIndex = 1 -): Step[] => - isMobile - ? getMobileSteps(isDemoWallet, hasMT5Account, hasDerivAppsTradingAccount, isAllWalletsAlreadyAdded, walletIndex) - : getDesktopSteps(isDemoWallet, hasMT5Account, hasDerivAppsTradingAccount, isAllWalletsAlreadyAdded); - export const TooltipComponent = ({ backProps, closeProps, @@ -57,10 +43,12 @@ export const TooltipComponent = ({ ); }; +export const SpotLightHeader = ({ children }: PropsWithChildren) => ( + + {children} + +); + export const getFiatWalletLoginId = (wallets?: THooks.WalletAccountsList[]) => { return wallets?.find(wallet => !wallet.is_crypto)?.loginid; }; - -export const getWalletIndexForTarget = (loginid?: string, wallets?: THooks.WalletAccountsList[]) => { - return (wallets?.findIndex(wallet => wallet.loginid === loginid) ?? 0) + 1; -}; diff --git a/packages/wallets/src/components/WalletTourGuide/WalletTourGuideSteps.tsx b/packages/wallets/src/components/WalletTourGuide/WalletTourGuideSteps.tsx new file mode 100644 index 000000000000..34e1faedb08c --- /dev/null +++ b/packages/wallets/src/components/WalletTourGuide/WalletTourGuideSteps.tsx @@ -0,0 +1,121 @@ +import React from 'react'; +import { Step } from 'react-joyride'; +import { WalletText } from '../Base'; +import { SpotLightHeader } from './WalletTourGuideSettings'; +import './WalletTourGuide.scss'; + +const stepProps = { + disableBeacon: true, + disableOverlayClose: true, + spotlightPadding: 0, +}; + +export const desktopStepTourGuide: Step[] = [ + { + content: Manage your funds with Wallets., + placement: 'bottom-start', + styles: { spotlight: { borderRadius: '1.6rem' } }, + target: '.wallets-container__header', + title: This is your Wallet, + ...stepProps, + }, + { + content: Press the tab to switch between Demo or Real Wallets., + disableScrolling: true, + placement: 'bottom', + target: '.wallets-list-header__slider', + title: Select Demo or Real, + ...stepProps, + }, + { + content: Use the drop-down menu to switch between your Wallets., + disableScrolling: false, + placement: 'bottom', + target: '.wallets-textfield__box', + title: Switch between Wallets, + ...stepProps, + spotlightPadding: 8, + }, + { + content: ( + + Want Wallets in other currencies too? Press Add. + + ), + disableScrolling: false, + placement: 'right', + styles: { spotlight: { borderRadius: '1.6rem' } }, + target: '.wallets-add-more__card', + title: ( + + Explore more Wallets + + ), + ...stepProps, + }, + { + content: Press here to repeat this tour., + placement: 'bottom', + styles: { spotlight: { borderRadius: '0 0 0.8rem 0.8rem' } }, + target: '.traders-hub-header__tradershub--onboarding--logo', + title: ( + + Trader's Hub tour + + ), + ...stepProps, + spotlightPadding: 12, + }, +]; + +export const mobileStepTourGuide: Step[] = [ + { + content: Manage your funds with Wallets., + placement: 'bottom', + styles: { spotlight: { borderRadius: '0' } }, + target: '.wallets-carousel-content', + title: This is your Wallet, + ...stepProps, + }, + { + content: Swipe left or right to switch between Wallets., + placement: 'bottom', + styles: { spotlight: { borderRadius: '0' } }, + target: '.wallets-carousel-content__wrapper', + title: Switch between Wallets, + ...stepProps, + }, + { + content: Press the tab to switch between CFDs and Options accounts., + placement: 'bottom', + styles: { spotlight: { borderRadius: '0.8rem' } }, + target: '.wallets-tabs-list', + title: Select your account type, + ...stepProps, + }, + { + content: ( + + Want Wallets in other currencies too? Press Add. + + ), + placement: 'top', + styles: { spotlight: { borderRadius: '1.6rem' } }, + target: '.wallets-add-more__card', + title: Add more currencies, + ...stepProps, + }, + { + content: Press here to repeat this tour., + placement: 'bottom', + styles: { spotlight: { borderRadius: '0 0 0.8rem 0.8rem' } }, + target: '.traders-hub-header__tradershub--onboarding--logo', + title: ( + + Trader's Hub tour + + ), + ...stepProps, + spotlightPadding: 12, + }, +]; diff --git a/packages/wallets/src/components/WalletTourGuide/index.tsx b/packages/wallets/src/components/WalletTourGuide/index.tsx index f8e5a248c0e4..585a4a7419a4 100644 --- a/packages/wallets/src/components/WalletTourGuide/index.tsx +++ b/packages/wallets/src/components/WalletTourGuide/index.tsx @@ -1,2 +1 @@ -export { default as WalletMobileTourGuide } from './WalletMobileTourGuide'; export { default as WalletTourGuide } from './WalletTourGuide'; diff --git a/packages/wallets/src/components/WalletsCarousel/WalletsCarousel.tsx b/packages/wallets/src/components/WalletsCarousel/WalletsCarousel.tsx index 6f36e1c2f283..74aa738c17a1 100644 --- a/packages/wallets/src/components/WalletsCarousel/WalletsCarousel.tsx +++ b/packages/wallets/src/components/WalletsCarousel/WalletsCarousel.tsx @@ -6,7 +6,6 @@ import { WalletsCarouselHeader } from '../WalletsCarouselHeader'; import './WalletsCarousel.scss'; const WalletsCarousel: React.FC = () => { - const [isWalletSettled, setIsWalletSettled] = useState(true); const [hideWalletsCarouselHeader, setHideWalletsCarouselHeader] = useState(true); const contentRef = useRef(null); const { data: activeWallet, isLoading: isActiveWalletLoading } = useActiveWalletAccount(); @@ -38,18 +37,20 @@ const WalletsCarousel: React.FC = () => { return (
- {!isActiveWalletLoading && ( -
- {activeWallet?.currency_config?.is_crypto ? ( - - ) : ( - - )} + {activeWallet?.currency_config?.is_crypto ? : }
); }; diff --git a/packages/wallets/src/features/cfd/components/CFDPlatformsListAccounts/CFDPlatformsListAccounts.tsx b/packages/wallets/src/features/cfd/components/CFDPlatformsListAccounts/CFDPlatformsListAccounts.tsx index b880e4d7d942..85b84621818d 100644 --- a/packages/wallets/src/features/cfd/components/CFDPlatformsListAccounts/CFDPlatformsListAccounts.tsx +++ b/packages/wallets/src/features/cfd/components/CFDPlatformsListAccounts/CFDPlatformsListAccounts.tsx @@ -1,4 +1,4 @@ -import React, { useEffect, useMemo } from 'react'; +import React, { useMemo } from 'react'; import { useActiveWalletAccount, useCtraderAccountsList, @@ -17,15 +17,12 @@ import { import { GetMoreMT5Accounts } from '../../screens'; import './CFDPlatformsListAccounts.scss'; -type TProps = { - onMT5PlatformListLoaded?: (value: boolean) => void; -}; - -const CFDPlatformsListAccounts: React.FC = ({ onMT5PlatformListLoaded }) => { +const CFDPlatformsListAccounts: React.FC = () => { const { areAllAccountsCreated, data: mt5AccountsList, - isFetchedAfterMount: isMT5FetchedAfterMount, + isFetchedAfterMount, + isLoading: isMT5Loading, } = useSortedMT5Accounts(); const { data: ctraderAccountsList } = useCtraderAccountsList(); const { data: dxtradeAccountsList } = useDxtradeAccountsList(); @@ -37,16 +34,11 @@ const CFDPlatformsListAccounts: React.FC = ({ onMT5PlatformListLoaded }) const hasCTraderAccount = !!ctraderAccountsList?.length; const hasDxtradeAccount = !!dxtradeAccountsList?.length; - useEffect(() => { - onMT5PlatformListLoaded?.(isMT5FetchedAfterMount); - return () => onMT5PlatformListLoaded?.(false); - }, [isMT5FetchedAfterMount, onMT5PlatformListLoaded]); - return (
{/* TODO: Update loader with updated skeleton loader design */} - {!isMT5FetchedAfterMount && } - {isMT5FetchedAfterMount && + {(isMT5Loading || !isFetchedAfterMount) && } + {(!isMT5Loading || isFetchedAfterMount) && mt5AccountsList?.map((account, index) => { if (account.is_added) return ( diff --git a/packages/wallets/src/routes/WalletsListingRoute/WalletsListingRoute.tsx b/packages/wallets/src/routes/WalletsListingRoute/WalletsListingRoute.tsx index bdd0d69dadae..aa60d7166f19 100644 --- a/packages/wallets/src/routes/WalletsListingRoute/WalletsListingRoute.tsx +++ b/packages/wallets/src/routes/WalletsListingRoute/WalletsListingRoute.tsx @@ -18,8 +18,8 @@ const WalletsListingRoute: React.FC = () => { {isMobile ? : } - {!isMobile && } +
); }; diff --git a/packages/wallets/src/routes/WalletsListingRoute/__tests__/WalletsListingRoute.spec.tsx b/packages/wallets/src/routes/WalletsListingRoute/__tests__/WalletsListingRoute.spec.tsx index 239de1a653be..8fc56b59e1ef 100644 --- a/packages/wallets/src/routes/WalletsListingRoute/__tests__/WalletsListingRoute.spec.tsx +++ b/packages/wallets/src/routes/WalletsListingRoute/__tests__/WalletsListingRoute.spec.tsx @@ -25,8 +25,8 @@ describe('WalletsListingRoute', () => { render(, { wrapper }); expect(screen.getByText('WalletListHeader')).toBeInTheDocument(); expect(screen.getByText('DesktopWalletsList')).toBeInTheDocument(); - expect(screen.getByText('WalletTourGuide')).toBeInTheDocument(); expect(screen.queryByText('WalletsCarousel')).not.toBeInTheDocument(); + expect(screen.getByText('WalletTourGuide')).toBeInTheDocument(); }); it('renders WalletsCarousel and WalletsAddMoreCarousel correctly on mobile', () => { @@ -36,6 +36,6 @@ describe('WalletsListingRoute', () => { expect(screen.getByText('WalletListHeader')).toBeInTheDocument(); expect(screen.queryByText('DesktopWalletsList')).not.toBeInTheDocument(); expect(screen.getByText('WalletsCarousel')).toBeInTheDocument(); - expect(screen.queryByText('WalletTourGuide')).not.toBeInTheDocument(); + expect(screen.queryByText('WalletTourGuide')).toBeInTheDocument(); }); }); From 92c487eb00032865457864263d538e7bb1950c6e Mon Sep 17 00:00:00 2001 From: Hasan Mobarak <126637868+hasan-deriv@users.noreply.github.com> Date: Fri, 17 May 2024 10:56:16 +0800 Subject: [PATCH 30/95] [CFDS] Hasan/CFDS-3424/mt5 deeplink redirect issue (#14547) * chore: console mobile os detect func * chore: console mobile os detect func * chore: console mobile os detect func * chore: updated mobile os detect function * chore: updated mobile os detect function * chore: created async based os detect function * chore: console * chore: console * chore: test react-device-detect package * chore: test react-device-detect package * chore: test react-device-detect package * Revert "chore: test react-device-detect package" This reverts commit 1ec874f140d40f42627f5079da334f793a951d00. * Revert "chore: test react-device-detect package" This reverts commit a71712abe2969943057fd6af5f3e1db26713c25b. * Revert "chore: test react-device-detect package" This reverts commit 397a006d9e206e487e598b85dcf1439eef8df91c. * chore: test new regex * chore: test new regex * Revert "chore: test new regex" This reverts commit 74835137bdf93181acfcab5ff0f1844e127a83b9. * Revert "chore: test new regex" This reverts commit fba5af888b0168a11792b046d68d7ea72772c1e3. * chore: removed test useEffect * chore: updated test cases * fix: sonarcloud issues * fix: updated huawei regex * fix: console * fix: removed updated regex * fix: updated regex * fix: updated regex to Set * chore: console ua parser * chore: console ua parser * Revert "chore: console ua parser" This reverts commit 4f6e5813c57a421e9f84356b88d5798656a9e975. * Revert "chore: console ua parser" This reverts commit 6d3e714b5752e02ef7a8a9e4f58467c675a55b12. * chore: merge master --- .../mt5-mobile-redirect-option.spec.js | 17 +- .../Containers/mt5-mobile-redirect-option.tsx | 5 +- packages/cfd/src/Helpers/constants.ts | 10 +- packages/shared/src/utils/os/os_detect.ts | 168 ++++++++++++++++++ 4 files changed, 187 insertions(+), 13 deletions(-) diff --git a/packages/cfd/src/Containers/__tests__/mt5-mobile-redirect-option.spec.js b/packages/cfd/src/Containers/__tests__/mt5-mobile-redirect-option.spec.js index cc30b5ac3441..7f9374c4e586 100644 --- a/packages/cfd/src/Containers/__tests__/mt5-mobile-redirect-option.spec.js +++ b/packages/cfd/src/Containers/__tests__/mt5-mobile-redirect-option.spec.js @@ -1,6 +1,6 @@ import React from 'react'; import { render } from '@testing-library/react'; -import { isSafariBrowser, mobileOSDetect } from '@deriv/shared'; +import { isSafariBrowser, mobileOSDetect, mobileOSDetectAsync } from '@deriv/shared'; import MT5MobileRedirectOption from '../mt5-mobile-redirect-option'; import { DEEP_LINK, getMobileAppInstallerURL, getPlatformMt5DownloadLink } from '../../../src/Helpers/constants'; @@ -63,10 +63,11 @@ describe('', () => { configurable: true, }); - expect(mobileOSDetect()).toBe('iOS'); + const os = await mobileOSDetectAsync(); + expect(os).toBe('iOS'); expect(isSafariBrowser()).toBe(true); - const expectedUrl = getMobileAppInstallerURL({ mt5_trade_account: mock_props.mt5_trade_account }); + const expectedUrl = await getMobileAppInstallerURL({ mt5_trade_account: mock_props.mt5_trade_account }); expect(expectedUrl).toBe(mock_props.mt5_trade_account.white_label_links.ios); }); @@ -75,10 +76,11 @@ describe('', () => { value: 'Mozilla/5.0 (Linux; Android 10; SM-A205U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36', configurable: true, }); - expect(mobileOSDetect()).toBe('Android'); + const os = await mobileOSDetectAsync(); + expect(os).toBe('Android'); expect(isSafariBrowser()).toBe(false); - const expectedUrl = getMobileAppInstallerURL({ mt5_trade_account: mock_props.mt5_trade_account }); + const expectedUrl = await getMobileAppInstallerURL({ mt5_trade_account: mock_props.mt5_trade_account }); expect(expectedUrl).toBe(mock_props.mt5_trade_account.white_label_links.android); }); @@ -87,10 +89,11 @@ describe('', () => { value: 'Mozilla/5.0 (Linux; Android 10; ELE-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36', configurable: true, }); - expect(mobileOSDetect()).toBe('huawei'); + const os = await mobileOSDetectAsync(); + expect(os).toBe('huawei'); expect(isSafariBrowser()).toBe(false); - const expectedUrl = getMobileAppInstallerURL({ mt5_trade_account: mock_props.mt5_trade_account }); + const expectedUrl = await getMobileAppInstallerURL({ mt5_trade_account: mock_props.mt5_trade_account }); expect(expectedUrl).toBe(getPlatformMt5DownloadLink('huawei')); }); diff --git a/packages/cfd/src/Containers/mt5-mobile-redirect-option.tsx b/packages/cfd/src/Containers/mt5-mobile-redirect-option.tsx index c98d142a10d0..bb4d966863d3 100644 --- a/packages/cfd/src/Containers/mt5-mobile-redirect-option.tsx +++ b/packages/cfd/src/Containers/mt5-mobile-redirect-option.tsx @@ -12,11 +12,12 @@ type TMT5MobileRedirectOptionProps = { const MT5MobileRedirectOption = ({ mt5_trade_account }: TMT5MobileRedirectOptionProps) => { let mobile_url; - const mobileURLSet = () => { + const mobileURLSet = async () => { mobile_url = window.location.replace(DEEP_LINK({ mt5_trade_account })); + const mobileAppURL = await getMobileAppInstallerURL({ mt5_trade_account }); const timeout = setTimeout(() => { - mobile_url = window.location.replace(getMobileAppInstallerURL({ mt5_trade_account }) as string); + mobile_url = mobileAppURL && window.location.replace(mobileAppURL); }, 1500); if (!isSafariBrowser()) { diff --git a/packages/cfd/src/Helpers/constants.ts b/packages/cfd/src/Helpers/constants.ts index 1b3c71ab9e9e..70b028b651b9 100644 --- a/packages/cfd/src/Helpers/constants.ts +++ b/packages/cfd/src/Helpers/constants.ts @@ -5,7 +5,7 @@ import { validLength, validPassword, validMT5Password, - mobileOSDetect, + mobileOSDetectAsync, } from '@deriv/shared'; import { localize } from '@deriv/translations'; import { TCFDsPlatformType, TDetailsOfEachMT5Loginid, TMobilePlatforms } from 'Components/props.types'; @@ -151,10 +151,12 @@ const validatePassword = (password: string): string | undefined => { } }; -const getMobileAppInstallerURL = ({ mt5_trade_account }: { mt5_trade_account: TDetailsOfEachMT5Loginid }) => { - if (mobileOSDetect() === 'iOS') { +const getMobileAppInstallerURL = async ({ mt5_trade_account }: { mt5_trade_account: TDetailsOfEachMT5Loginid }) => { + const os = await mobileOSDetectAsync(); + + if (os === 'iOS') { return mt5_trade_account?.white_label_links?.ios; - } else if (mobileOSDetect() === 'huawei') { + } else if (os === 'huawei') { return getPlatformMt5DownloadLink('huawei'); } return mt5_trade_account?.white_label_links?.android; diff --git a/packages/shared/src/utils/os/os_detect.ts b/packages/shared/src/utils/os/os_detect.ts index 33e9ad860d4d..273a4a6578da 100644 --- a/packages/shared/src/utils/os/os_detect.ts +++ b/packages/shared/src/utils/os/os_detect.ts @@ -9,8 +9,24 @@ declare global { msDetachStream: () => void; }; } + interface Navigator { + userAgentData?: NavigatorUAData; + } } +type NavigatorUAData = { + brands: Array<{ brand: string; version: string }>; + mobile: boolean; + getHighEntropyValues(hints: string[]): Promise; +}; + +type HighEntropyValues = { + platform?: string; + platformVersion?: string; + model?: string; + uaFullVersion?: string; +}; + export const systems = { mac: ['Mac68K', 'MacIntel', 'MacPPC'], linux: [ @@ -92,4 +108,156 @@ export const mobileOSDetect = () => { return 'unknown'; }; +// Simple regular expression to match potential Huawei device codes +const huaweiDevicesRegex = /\b([A-Z]{3}-)\b/gi; + +// Set of valid Huawei device codes +const validCodes = new Set([ + 'ALP-', + 'AMN-', + 'ANA-', + 'ANE-', + 'ANG-', + 'AQM-', + 'ARS-', + 'ART-', + 'ATU-', + 'BAC-', + 'BLA-', + 'BRQ-', + 'CAG-', + 'CAM-', + 'CAN-', + 'CAZ-', + 'CDL-', + 'CDY-', + 'CLT-', + 'CRO-', + 'CUN-', + 'DIG-', + 'DRA-', + 'DUA-', + 'DUB-', + 'DVC-', + 'ELE-', + 'ELS-', + 'EML-', + 'EVA-', + 'EVR-', + 'FIG-', + 'FLA-', + 'FRL-', + 'GLK-', + 'HMA-', + 'HW-', + 'HWI-', + 'INE-', + 'JAT-', + 'JEF-', + 'JER-', + 'JKM-', + 'JNY-', + 'JSC-', + 'LDN-', + 'LIO-', + 'LON-', + 'LUA-', + 'LYA-', + 'LYO-', + 'MAR-', + 'MED-', + 'MHA-', + 'MLA-', + 'MRD-', + 'MYA-', + 'NCE-', + 'NEO-', + 'NOH-', + 'NOP-', + 'OCE-', + 'PAR-', + 'PIC-', + 'POT-', + 'PPA-', + 'PRA-', + 'RNE-', + 'SEA-', + 'SLA-', + 'SNE-', + 'SPN-', + 'STK-', + 'TAH-', + 'TAS-', + 'TET-', + 'TRT-', + 'VCE-', + 'VIE-', + 'VKY-', + 'VNS-', + 'VOG-', + 'VTR-', + 'WAS-', + 'WKG-', + 'WLZ-', + 'JAD-', + 'MLD-', + 'RTE-', + 'NAM-', + 'NEN-', + 'BAL-', + 'JLN-', + 'YAL-', + 'MGA-', + 'FGD-', + 'XYAO-', + 'BON-', + 'ALN-', + 'ALT-', + 'BRA-', + 'DBY2-', + 'STG-', + 'MAO-', + 'LEM-', + 'GOA-', + 'FOA-', + 'MNA-', + 'LNA-', +]); + +// Function to validate Huawei device codes from a string +function validateHuaweiCodes(inputString: string) { + const matches = inputString.match(huaweiDevicesRegex); + if (matches) { + return matches.filter(code => validCodes.has(code.toUpperCase())).length > 0; + } + return false; +} + +export const mobileOSDetectAsync = async () => { + const userAgent = navigator.userAgent ?? window.opera ?? ''; + // Windows Phone must come first because its UA also contains "Android" + if (/windows phone/i.test(userAgent)) { + return 'Windows Phone'; + } + + if (/android/i.test(userAgent)) { + // Check if navigator.userAgentData is available for modern browsers + if (navigator?.userAgentData) { + const ua = await navigator.userAgentData.getHighEntropyValues(['model']); + if (validateHuaweiCodes(ua?.model || '')) { + return 'huawei'; + } + } else if (validateHuaweiCodes(userAgent) || /huawei/i.test(userAgent)) { + return 'huawei'; + } + return 'Android'; + } + + if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) { + return 'iOS'; + } + + return 'unknown'; +}; + export const getOSNameWithUAParser = () => UAParser().os.name; From 81c9be65b6ddc108f88f1cc4836897d208de2e36 Mon Sep 17 00:00:00 2001 From: Akmal Djumakhodjaev Date: Fri, 17 May 2024 14:16:49 +0800 Subject: [PATCH 31/95] feat: add test coverage for empty trade history message and indicative cell (#15194) --- .../contract-card-sell.tsx | 1 + .../empty-trade-history-message.spec.tsx | 30 ++++++++ .../__tests__/indicative-cell.spec.tsx | 72 +++++++++++++++++++ .../src/Components/indicative-cell.tsx | 3 +- 4 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 packages/reports/src/Components/__tests__/empty-trade-history-message.spec.tsx create mode 100644 packages/reports/src/Components/__tests__/indicative-cell.spec.tsx diff --git a/packages/components/src/components/contract-card/contract-card-items/contract-card-sell.tsx b/packages/components/src/components/contract-card/contract-card-items/contract-card-sell.tsx index cb6c8778190c..a7f663e99434 100644 --- a/packages/components/src/components/contract-card/contract-card-items/contract-card-sell.tsx +++ b/packages/components/src/components/contract-card/contract-card-items/contract-card-sell.tsx @@ -32,6 +32,7 @@ const ContractCardSell = ({ contract_info, getCardLabels, is_sell_requested, onC className={classNames('dc-btn--sell', { 'dc-btn--loading': is_sell_requested, })} + data-testid='dt_contract_card_sell' is_disabled={is_sell_requested} text={getCardLabels().SELL} onClick={onClick} diff --git a/packages/reports/src/Components/__tests__/empty-trade-history-message.spec.tsx b/packages/reports/src/Components/__tests__/empty-trade-history-message.spec.tsx new file mode 100644 index 000000000000..8a9c5f3d7017 --- /dev/null +++ b/packages/reports/src/Components/__tests__/empty-trade-history-message.spec.tsx @@ -0,0 +1,30 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import EmptyTradeHistoryMessage from '../empty-trade-history-message'; + +const mockProps = { + component_icon: 'calendar', + has_selected_date: false, + localized_message: 'No trades in your history yet.', + localized_period_message: 'No trades for the selected period.', +}; + +describe('EmptyTradeHistoryMessage component', () => { + it('should render the message without a selected date', () => { + render(); + + const icon = screen.getByTestId('dt_empty_trade_history_icon'); + const text = screen.getByText(mockProps.localized_message); + + expect(icon).toBeInTheDocument(); + expect(text).toBeInTheDocument(); + }); + + it('should render the message for a selected date', () => { + render(); + + const text = screen.getByText(mockProps.localized_period_message); + + expect(text).toBeInTheDocument(); + }); +}); diff --git a/packages/reports/src/Components/__tests__/indicative-cell.spec.tsx b/packages/reports/src/Components/__tests__/indicative-cell.spec.tsx new file mode 100644 index 000000000000..9c47d0377f37 --- /dev/null +++ b/packages/reports/src/Components/__tests__/indicative-cell.spec.tsx @@ -0,0 +1,72 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import { mockStore } from '@deriv/stores'; +import ReportsProviders from '../../reports-providers'; +import IndicativeCell from '../indicative-cell'; + +const customStore = mockStore({ + portfolio: { + onClickSell: jest.fn(), + }, +}); + +const mockProps = { + amount: 100.01, + contract_info: { id: '123' }, + currency: 'USD', + is_footer: false, + is_sell_requested: false, + profit: '5.23', +}; + +describe('IndicativeCell component', () => { + it('should render the amount and arrow indicator', () => { + render( + + + + ); + + const amountElement = screen.getByText(Math.abs(mockProps.amount).toString()); + const arrow = screen.getByTestId('dt_arrow_indicator'); + + expect(amountElement).toBeInTheDocument(); + expect(arrow).toBeInTheDocument(); + }); + + it('should render the profit amount with a profit class', () => { + render( + + + + ); + + const amountContainer = screen.getByTestId('dt_amount_container'); + + expect(amountContainer).toHaveClass('dc-contract-card--profit'); + }); + + it('should render the loss amount with a loss class', () => { + render( + + + + ); + + const amountContainer = screen.getByTestId('dt_amount_container'); + + expect(amountContainer).toHaveClass('dc-contract-card--loss'); + }); + + it('should not render the ContractCard.Sell component for footer cells', () => { + render( + + + + ); + + const sellButton = screen.queryByTestId('dt_contract_card_sell'); + + expect(sellButton).not.toBeInTheDocument(); + }); +}); diff --git a/packages/reports/src/Components/indicative-cell.tsx b/packages/reports/src/Components/indicative-cell.tsx index c0d196f377bd..7c16bdf7da72 100644 --- a/packages/reports/src/Components/indicative-cell.tsx +++ b/packages/reports/src/Components/indicative-cell.tsx @@ -27,10 +27,11 @@ const IndicativeCell = observer((props: TIndicativeCell) => { 'dc-contract-card--profit': Number(profit) > 0, 'dc-contract-card--loss': Number(profit) < 0, })} + data-testid='dt_amount_container' >
- +
{!is_footer && ( From 8a7054809f9db6034557300ab4ff41eb57f630f1 Mon Sep 17 00:00:00 2001 From: henry-deriv <118344354+henry-deriv@users.noreply.github.com> Date: Fri, 17 May 2024 14:17:38 +0800 Subject: [PATCH 32/95] [DTRA] henry/dtra-1237/fix: dtrader-v2 setup (#14991) * fix: initial setup * fix: partially finished setup * fix: ensure new header only appears for mobile * fix: quill-ui version bump * fix: change classnames * fix: change to kebab case file names * fix: resolve comments * fix: add color to text * fix: add tests * fix: sonarcloud * fix: sonarcloud issues * fix: parse JSON with try catch in case FeatureFlagsStore returns empty * fix: change to quill icons * fix: add missing css * fix: change hamburger menu icon to standalone * fix: move quill-ui to core and wrap application with themeprovider * fix: import themeprovider from quill/ui * fix: wrong import * fix: remove unused css and make header bold * fix: make labels red when active * fix: change text to correct component * fix: move themeprovider to appcontent to react to changes in store * chore: reset package lock * fix: update package-lock and add quill-ui to traders package * fix: jest config error * fix: ignore errors from quill-ui * fix: jest config and add babel config * fix: remove a plugin * fix: lets try this * fix: remove irrelevant files * fix: test * fix: change * fix: asdf * fix: errors * fix: give contract details page a new header --- package-lock.json | 36 ++++++-- packages/core/package.json | 1 + packages/core/src/App/AppContent.tsx | 5 +- .../Layout/header/__tests__/header.spec.tsx | 1 + .../Layout/header/dtrader-v2-header.tsx | 34 ++++++++ .../App/Containers/Layout/header/header.tsx | 31 +++++-- .../src/sass/app/_common/layout/header.scss | 36 ++++++++ packages/trader/build/constants.js | 1 + packages/trader/jest.config.js | 3 + packages/trader/package.json | 2 + .../__tests__/bottom-nav-item.spec.tsx | 39 +++++++++ .../BottomNav/__tests__/bottom-nav.spec.tsx | 45 ++++++++++ .../Components/BottomNav/bottom-nav-item.tsx | 28 +++++++ .../Components/BottomNav/bottom-nav.scss | 27 ++++++ .../AppV2/Components/BottomNav/bottom-nav.tsx | 72 ++++++++++++++++ .../src/AppV2/Components/BottomNav/index.ts | 4 + .../src/AppV2/Containers/Markets/index.ts | 4 + .../src/AppV2/Containers/Markets/markets.scss | 0 .../src/AppV2/Containers/Markets/markets.tsx | 8 ++ .../trader/src/AppV2/Containers/Menu/index.ts | 4 + .../src/AppV2/Containers/Menu/menu.scss | 0 .../trader/src/AppV2/Containers/Menu/menu.tsx | 8 ++ .../src/AppV2/Containers/Positions/index.ts | 4 + .../AppV2/Containers/Positions/positions.scss | 0 .../AppV2/Containers/Positions/positions.tsx | 8 ++ .../src/AppV2/Containers/Trade/index.ts | 4 + .../src/AppV2/Containers/Trade/trade.scss | 0 .../src/AppV2/Containers/Trade/trade.tsx | 8 ++ .../trader/src/AppV2/__tests__/app.spec.tsx | 84 +++++++++++++++++++ packages/trader/src/AppV2/app.tsx | 38 +++++++++ packages/trader/src/AppV2/index.tsx | 3 + packages/trader/src/index.tsx | 18 +++- packages/trader/tsconfig.json | 2 + 33 files changed, 544 insertions(+), 14 deletions(-) create mode 100644 packages/core/src/App/Containers/Layout/header/dtrader-v2-header.tsx create mode 100644 packages/trader/src/AppV2/Components/BottomNav/__tests__/bottom-nav-item.spec.tsx create mode 100644 packages/trader/src/AppV2/Components/BottomNav/__tests__/bottom-nav.spec.tsx create mode 100644 packages/trader/src/AppV2/Components/BottomNav/bottom-nav-item.tsx create mode 100644 packages/trader/src/AppV2/Components/BottomNav/bottom-nav.scss create mode 100644 packages/trader/src/AppV2/Components/BottomNav/bottom-nav.tsx create mode 100644 packages/trader/src/AppV2/Components/BottomNav/index.ts create mode 100644 packages/trader/src/AppV2/Containers/Markets/index.ts create mode 100644 packages/trader/src/AppV2/Containers/Markets/markets.scss create mode 100644 packages/trader/src/AppV2/Containers/Markets/markets.tsx create mode 100644 packages/trader/src/AppV2/Containers/Menu/index.ts create mode 100644 packages/trader/src/AppV2/Containers/Menu/menu.scss create mode 100644 packages/trader/src/AppV2/Containers/Menu/menu.tsx create mode 100644 packages/trader/src/AppV2/Containers/Positions/index.ts create mode 100644 packages/trader/src/AppV2/Containers/Positions/positions.scss create mode 100644 packages/trader/src/AppV2/Containers/Positions/positions.tsx create mode 100644 packages/trader/src/AppV2/Containers/Trade/index.ts create mode 100644 packages/trader/src/AppV2/Containers/Trade/trade.scss create mode 100644 packages/trader/src/AppV2/Containers/Trade/trade.tsx create mode 100644 packages/trader/src/AppV2/__tests__/app.spec.tsx create mode 100644 packages/trader/src/AppV2/app.tsx create mode 100644 packages/trader/src/AppV2/index.tsx diff --git a/package-lock.json b/package-lock.json index 0ac866733a7d..e01ab52a805d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "@datadog/browser-logs": "^5.11.0", "@datadog/browser-rum": "^5.11.0", "@deriv-com/analytics": "1.4.13", + "@deriv-com/quill-ui": "^1.9.17", "@deriv-com/ui": "^1.14.5", "@deriv-com/utils": "^0.0.20", "@deriv/api-types": "^1.0.172", @@ -2961,6 +2962,35 @@ "npm": "9.x" } }, + "node_modules/@deriv-com/quill-ui": { + "version": "1.9.22", + "resolved": "https://registry.npmjs.org/@deriv-com/quill-ui/-/quill-ui-1.9.22.tgz", + "integrity": "sha512-qvbL8RnmxpJM5XNCtn6nEPnwPgds17uNtGOafH4SZDmhAFrZb+YWXkIb2xybIDb8U+34W78dMDCvm1wxLKj4BQ==", + "dependencies": { + "@deriv/quill-icons": "^1.19.20", + "@headlessui/react": "^1.7.18", + "react-swipeable": "^6.2.1", + "usehooks-ts": "^3.0.2", + "uuid": "^9.0.1" + }, + "optionalDependencies": { + "@rollup/rollup-linux-x64-gnu": "^4.9.6" + } + }, + "node_modules/@deriv-com/quill-ui/node_modules/usehooks-ts": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/usehooks-ts/-/usehooks-ts-3.1.0.tgz", + "integrity": "sha512-bBIa7yUyPhE1BCc0GmR96VU/15l/9gP1Ch5mYdLcFBaFGQsdmXkvjV0TtOqW1yUd6VjIwDunm+flSciCQXujiw==", + "dependencies": { + "lodash.debounce": "^4.0.8" + }, + "engines": { + "node": ">=16.15.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18" + } + }, "node_modules/@deriv-com/ui": { "version": "1.14.5", "resolved": "https://registry.npmjs.org/@deriv-com/ui/-/ui-1.14.5.tgz", @@ -3622,7 +3652,6 @@ "version": "1.7.18", "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.18.tgz", "integrity": "sha512-4i5DOrzwN4qSgNsL4Si61VMkUcWbcSKueUV7sFhpHzQcSShdlHENE5+QBntMSRvHt8NyoFO2AGG8si9lq+w4zQ==", - "peer": true, "dependencies": { "@tanstack/react-virtual": "^3.0.0-beta.60", "client-only": "^0.0.1" @@ -17964,7 +17993,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.1.3.tgz", "integrity": "sha512-YCzcbF/Ws/uZ0q3Z6fagH+JVhx4JLvbSflgldMgLsuvB8aXjZLLb3HvrEVxY480F9wFlBiXlvQxOyXb5ENPrNA==", - "peer": true, "dependencies": { "@tanstack/virtual-core": "3.1.3" }, @@ -17993,7 +18021,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.1.3.tgz", "integrity": "sha512-Y5B4EYyv1j9V8LzeAoOVeTg0LI7Fo5InYKgAjkY1Pu9GjtUwX/EKxNcU7ng3sKr99WEf+bPTcktAeybyMOYo+g==", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" @@ -23023,8 +23050,7 @@ "node_modules/client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", - "peer": true + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" }, "node_modules/clipboard": { "version": "2.0.11", diff --git a/packages/core/package.json b/packages/core/package.json index 5102814d20f3..fefcd7528670 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -96,6 +96,7 @@ "@babel/polyfill": "^7.4.4", "@datadog/browser-rum": "^5.11.0", "@deriv-com/analytics": "1.4.13", + "@deriv-com/quill-ui": "^1.9.17", "@deriv-com/utils": "^0.0.20", "@deriv/account": "^1.0.0", "@deriv/account-v2": "^1.0.0", diff --git a/packages/core/src/App/AppContent.tsx b/packages/core/src/App/AppContent.tsx index b5882cb80e57..d3149f0f068d 100644 --- a/packages/core/src/App/AppContent.tsx +++ b/packages/core/src/App/AppContent.tsx @@ -20,6 +20,7 @@ import AppModals from './Containers/Modals'; import Routes from './Containers/Routes/routes.jsx'; import Devtools from './Devtools'; import initDatadog from '../Utils/Datadog'; +import { ThemeProvider } from '@deriv-com/quill-ui'; const AppContent: React.FC<{ passthrough: unknown }> = observer(({ passthrough }) => { const store = useStore(); @@ -89,7 +90,7 @@ const AppContent: React.FC<{ passthrough: unknown }> = observer(({ passthrough } }, [has_wallet, store.common, store.ui]); return ( - <> +
@@ -107,7 +108,7 @@ const AppContent: React.FC<{ passthrough: unknown }> = observer(({ passthrough } - + ); }); diff --git a/packages/core/src/App/Containers/Layout/header/__tests__/header.spec.tsx b/packages/core/src/App/Containers/Layout/header/__tests__/header.spec.tsx index a4c858816548..6a92d406e1ea 100644 --- a/packages/core/src/App/Containers/Layout/header/__tests__/header.spec.tsx +++ b/packages/core/src/App/Containers/Layout/header/__tests__/header.spec.tsx @@ -7,6 +7,7 @@ import Header from '../header'; jest.mock('@deriv/hooks', () => ({ ...jest.requireActual('@deriv/hooks'), useStoreWalletAccountsList: jest.fn(() => ({ data: [], has_wallet: false })), + useFeatureFlags: jest.fn(() => ({})), })); jest.mock('react-router-dom', () => ({ ...jest.requireActual('react-router-dom'), diff --git a/packages/core/src/App/Containers/Layout/header/dtrader-v2-header.tsx b/packages/core/src/App/Containers/Layout/header/dtrader-v2-header.tsx new file mode 100644 index 000000000000..03570a438017 --- /dev/null +++ b/packages/core/src/App/Containers/Layout/header/dtrader-v2-header.tsx @@ -0,0 +1,34 @@ +import React from 'react'; +import { observer, useStore } from '@deriv/stores'; +import { getCurrencyDisplayCode } from '@deriv/shared'; +import AccountInfoIcon from 'App/Components/Layout/Header/account-info-icon'; +import { CaptionText } from '@deriv-com/quill-ui'; + +const DTraderV2Header = observer(() => { + const { client } = useStore(); + const { balance, currency, is_virtual, loginid } = client; + + const currency_lower = currency?.toLowerCase(); + + return ( +
+ }> +
+
+ + {(is_virtual || currency) && ( + + )} + + {loginid} +
+
+ {`${balance} ${getCurrencyDisplayCode(currency)}`} +
+
+
+
+ ); +}); + +export default DTraderV2Header; diff --git a/packages/core/src/App/Containers/Layout/header/header.tsx b/packages/core/src/App/Containers/Layout/header/header.tsx index 3940b1f0e531..d64912d999b3 100644 --- a/packages/core/src/App/Containers/Layout/header/header.tsx +++ b/packages/core/src/App/Containers/Layout/header/header.tsx @@ -1,8 +1,10 @@ import React from 'react'; import { useLocation } from 'react-router-dom'; +import { useFeatureFlags } from '@deriv/hooks'; import { useReadLocalStorage } from 'usehooks-ts'; import { makeLazyLoader, moduleLoader, routes } from '@deriv/shared'; import { observer, useStore } from '@deriv/stores'; +import { useDevice } from '@deriv/components'; const HeaderFallback = () =>
; @@ -37,10 +39,16 @@ const TradersHubHeaderWallets = makeLazyLoader( () => )(); +const DTraderV2Header = makeLazyLoader( + () => moduleLoader(() => import(/* webpackChunkName: "dtrader-v2-header" */ './dtrader-v2-header')), + () => +)(); + const Header = observer(() => { const { client } = useStore(); const { accounts, has_wallet, is_logged_in, setAccounts, loginid, switchAccount } = client; const { pathname } = useLocation(); + const { is_mobile } = useDevice(); const is_wallets_cashier_route = pathname.includes(routes.wallets_cashier); @@ -59,6 +67,7 @@ const Header = observer(() => { is_wallets_cashier_route; const client_accounts = useReadLocalStorage('client.accounts'); + const { is_dtrader_v2_enabled } = useFeatureFlags(); React.useEffect(() => { if (has_wallet && is_logged_in) { @@ -74,12 +83,22 @@ const Header = observer(() => { if (is_logged_in) { let result; - if (traders_hub_routes) { - result = has_wallet ? : ; - } else if (pathname === routes.onboarding) { - result = null; - } else { - result = has_wallet ? : ; + switch (true) { + case pathname === routes.onboarding: + result = null; + break; + case is_dtrader_v2_enabled && + is_mobile && + (pathname === routes.trade || + pathname.startsWith('/contract/') === routes.contract.startsWith('/contract/')): + result = ; + break; + case traders_hub_routes: + result = has_wallet ? : ; + break; + default: + result = has_wallet ? : ; + break; } return result; } else if (pathname === routes.onboarding) { diff --git a/packages/core/src/sass/app/_common/layout/header.scss b/packages/core/src/sass/app/_common/layout/header.scss index 6ae40b699dfd..22fd79bbc7b1 100644 --- a/packages/core/src/sass/app/_common/layout/header.scss +++ b/packages/core/src/sass/app/_common/layout/header.scss @@ -382,3 +382,39 @@ } } } + +.header-v2 { + display: flex; + justify-content: center; + + &__acc-info { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + + &--top { + display: flex; + align-items: center; + justify-content: center; + gap: var(--semantic-spacing-gap-sm); + } + + &--logo { + height: var(--core-size-800); + width: var(--core-size-800); + + svg { + width: var(--core-size-800); + height: var(--core-size-800); + } + } + + &--bottom { + display: flex; + align-items: center; + justify-content: center; + gap: var(--semantic-spacing-gap-sm); + } + } +} diff --git a/packages/trader/build/constants.js b/packages/trader/build/constants.js index 2560c6ae2b60..9803c9519d30 100644 --- a/packages/trader/build/constants.js +++ b/packages/trader/build/constants.js @@ -33,6 +33,7 @@ const { const ALIASES = { _common: path.resolve(__dirname, '../src/_common'), App: path.resolve(__dirname, '../src/App'), + AppV2: path.resolve(__dirname, '../src/AppV2'), Assets: path.resolve(__dirname, '../src/Assets'), Constants: path.resolve(__dirname, '../src/Constants'), Fonts: path.resolve(__dirname, '../src/public/fonts'), diff --git a/packages/trader/jest.config.js b/packages/trader/jest.config.js index 97d0c11394ac..37428844f2f5 100644 --- a/packages/trader/jest.config.js +++ b/packages/trader/jest.config.js @@ -4,9 +4,11 @@ module.exports = { ...baseConfigForPackages, moduleNameMapper: { '\\.s(c|a)ss$': '/../../__mocks__/styleMock.js', + '\\.css$': '/../../__mocks__/styleMock.js', '^.+\\.svg$': '/../../__mocks__/styleMock.js', '^_common/(.*)$': '/src/_common/$1', '^App/(.*)$': '/src/App/$1', + '^AppV2/(.*)$': '/src/AppV2/$1', '^Assets/(.*)$': '/src/Assets/$1', '^Constants/(.*)$': '/src/Constants/$1', '^Constants$': '/src/Constants/index.js', @@ -16,4 +18,5 @@ module.exports = { '^Services/(.*)$': '/src/Services/$1', '^Stores/(.*)$': '/src/Stores/$1', }, + transformIgnorePatterns: ['/node_modules/(?!(@deriv-com/quill-ui|@simplewebauthn/browser)).+\\.js$'], }; diff --git a/packages/trader/package.json b/packages/trader/package.json index 1744ea5b9aa8..2ce1dc85cb65 100644 --- a/packages/trader/package.json +++ b/packages/trader/package.json @@ -89,6 +89,7 @@ "dependencies": { "@cloudflare/stream-react": "^1.9.1", "@deriv-com/analytics": "1.4.13", + "@deriv-com/quill-ui": "^1.9.17", "@deriv-com/utils": "^0.0.20", "@deriv/api-types": "^1.0.172", "@deriv/components": "^1.0.0", @@ -99,6 +100,7 @@ "@deriv/shared": "^1.0.0", "@deriv/stores": "^1.0.0", "@deriv/translations": "^1.0.0", + "@deriv/quill-icons": "^1.22.4", "@types/react-loadable": "^5.5.6", "classnames": "^2.2.6", "extend": "^3.0.2", diff --git a/packages/trader/src/AppV2/Components/BottomNav/__tests__/bottom-nav-item.spec.tsx b/packages/trader/src/AppV2/Components/BottomNav/__tests__/bottom-nav-item.spec.tsx new file mode 100644 index 000000000000..ac4db99aaa2d --- /dev/null +++ b/packages/trader/src/AppV2/Components/BottomNav/__tests__/bottom-nav-item.spec.tsx @@ -0,0 +1,39 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import BottomNavItem from '../bottom-nav-item'; +import userEvent from '@testing-library/user-event'; + +jest.mock('@deriv-com/quill-ui', () => ({ + Text: jest.fn(() => { + return 'MockedText'; + }), +})); + +describe('BottomNavItem', () => { + const mockProps = { + icon:
Icon
, + selectedIndex: 0, + label: 'Label', + setSelectedIndex: jest.fn(), + index: 0, + }; + + it('should render icon and label', () => { + render(); + expect(screen.getByText('Icon')).toBeInTheDocument(); + expect(screen.getByText('MockedText')).toBeInTheDocument(); + }); + it('should have bottom-nav-item--active class when active', () => { + render(); + expect(screen.getByText('MockedText')).toHaveClass('bottom-nav-item--active'); + }); + it('should have not bottomNav-item--active class when not active', () => { + render(); + expect(screen.getByText('MockedText')).not.toHaveClass('bottom-nav-item--active'); + }); + it('should call setSelectedIndex with index when clicked', () => { + render(); + userEvent.click(screen.getByText('MockedText')); + expect(mockProps.setSelectedIndex).toHaveBeenCalledWith(0); + }); +}); diff --git a/packages/trader/src/AppV2/Components/BottomNav/__tests__/bottom-nav.spec.tsx b/packages/trader/src/AppV2/Components/BottomNav/__tests__/bottom-nav.spec.tsx new file mode 100644 index 000000000000..74be614d911d --- /dev/null +++ b/packages/trader/src/AppV2/Components/BottomNav/__tests__/bottom-nav.spec.tsx @@ -0,0 +1,45 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import BottomNav from '../bottom-nav'; +import userEvent from '@testing-library/user-event'; + +jest.mock('../bottom-nav-item', () => { + return jest.fn(({ index, setSelectedIndex }) => ( + + )); +}); + +jest.mock('@deriv-com/quill-ui', () => ({ + Badge: jest.fn(() => { + return 'MockedBadge'; + }), +})); +describe('BottomNav', () => { + const mockedTradeContainer =
MockedTrade
; + const mockedMarketsContainer =
MockedMarkets
; + const mockedPositionsContainer =
MockedPositions
; + const renderedBottomNav = ( + +
{mockedTradeContainer}
+
{mockedMarketsContainer}
+
{mockedPositionsContainer}
+
+ ); + it('should render correctly', () => { + const { container } = render(renderedBottomNav); + expect(container).toBeInTheDocument(); + }); + it('should render the correct number of BottomNavItem components', () => { + render(renderedBottomNav); + expect(screen.getAllByText(/MockedBottomNavItem/i)).toHaveLength(4); + }); + it('should render MockedTrade by default since selected index is 0', () => { + render(renderedBottomNav); + expect(screen.getByText('MockedTrade')).toBeInTheDocument(); + }); + it('should render MockedPositions if 3rd MockedBottomNavItem is selected', () => { + render(renderedBottomNav); + userEvent.click(screen.getAllByText('MockedBottomNavItem')[2]); + expect(screen.getByText('MockedPositions')).toBeInTheDocument(); + }); +}); diff --git a/packages/trader/src/AppV2/Components/BottomNav/bottom-nav-item.tsx b/packages/trader/src/AppV2/Components/BottomNav/bottom-nav-item.tsx new file mode 100644 index 000000000000..6825630a156f --- /dev/null +++ b/packages/trader/src/AppV2/Components/BottomNav/bottom-nav-item.tsx @@ -0,0 +1,28 @@ +import { Text } from '@deriv-com/quill-ui'; +import classNames from 'classnames'; +import React from 'react'; + +type BottomNavItemProps = { + icon: React.ReactNode; + selectedIndex: number; + label: React.ReactNode; + setSelectedIndex: (index: number) => void; + index: number; +}; + +const BottomNavItem = ({ icon, selectedIndex, label, index, setSelectedIndex }: BottomNavItemProps) => { + const isActive = index === selectedIndex; + return ( + + ); +}; + +export default BottomNavItem; diff --git a/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.scss b/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.scss new file mode 100644 index 000000000000..404f176c8c95 --- /dev/null +++ b/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.scss @@ -0,0 +1,27 @@ +.bottom-nav { + &-container { + display: flex; + padding: var(--core-spacing-400); + align-items: flex-start; + gap: var(--core-spacing-500); + position: fixed; + bottom: 0; + width: 100%; + border-top: 1px solid var(--core-color-opacity-black-100); // waiting on quill tokens in deriv-app + } + &-item { + display: flex; + flex-direction: column; + align-items: center; + flex: 1 0 0; + + &--active { + .bottom-nav-item-label { + color: var(--core-color-opacity-coral-600); + } + svg { + fill: var(--core-color-opacity-coral-600); + } + } + } +} diff --git a/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.tsx b/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.tsx new file mode 100644 index 000000000000..34bb66871e42 --- /dev/null +++ b/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.tsx @@ -0,0 +1,72 @@ +import React from 'react'; +import { Localize } from '@deriv/translations'; +import { + LegacyMarketBasketIndicesIcon, + StandaloneBarsRegularIcon, + StandaloneChartCandlestickRegularIcon, + StandaloneClockThreeRegularIcon, +} from '@deriv/quill-icons'; +import BottomNavItem from './bottom-nav-item'; +import { Badge } from '@deriv-com/quill-ui'; + +type BottomNavProps = { + className?: string; + children: React.ReactNode[]; +}; + +const bottomNavItems = [ + { + icon: ( + + ), + label: , + }, + { + icon: ( + + ), + label: , + }, + { + icon: ( + + + + ), + label: , + }, + { + icon: , + label: , + }, +]; + +const BottomNav = ({ className, children }: BottomNavProps) => { + const [selectedIndex, setSelectedIndex] = React.useState(0); + + return ( +
+
+ {bottomNavItems.map((item, index) => ( + + ))} +
+ {children[selectedIndex]} +
+ ); +}; + +export default BottomNav; diff --git a/packages/trader/src/AppV2/Components/BottomNav/index.ts b/packages/trader/src/AppV2/Components/BottomNav/index.ts new file mode 100644 index 000000000000..21d2f7347c52 --- /dev/null +++ b/packages/trader/src/AppV2/Components/BottomNav/index.ts @@ -0,0 +1,4 @@ +import BottomNav from './bottom-nav'; +import './bottom-nav.scss'; + +export default BottomNav; diff --git a/packages/trader/src/AppV2/Containers/Markets/index.ts b/packages/trader/src/AppV2/Containers/Markets/index.ts new file mode 100644 index 000000000000..e0a4d38c98f2 --- /dev/null +++ b/packages/trader/src/AppV2/Containers/Markets/index.ts @@ -0,0 +1,4 @@ +import Markets from './markets'; +import './markets.scss'; + +export default Markets; diff --git a/packages/trader/src/AppV2/Containers/Markets/markets.scss b/packages/trader/src/AppV2/Containers/Markets/markets.scss new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/trader/src/AppV2/Containers/Markets/markets.tsx b/packages/trader/src/AppV2/Containers/Markets/markets.tsx new file mode 100644 index 000000000000..ed928bd61b90 --- /dev/null +++ b/packages/trader/src/AppV2/Containers/Markets/markets.tsx @@ -0,0 +1,8 @@ +import { Text } from '@deriv-com/quill-ui'; +import React from 'react'; + +const Markets = () => { + return Markets; +}; + +export default Markets; diff --git a/packages/trader/src/AppV2/Containers/Menu/index.ts b/packages/trader/src/AppV2/Containers/Menu/index.ts new file mode 100644 index 000000000000..7a551143c11d --- /dev/null +++ b/packages/trader/src/AppV2/Containers/Menu/index.ts @@ -0,0 +1,4 @@ +import Menu from './menu'; +import './menu.scss'; + +export default Menu; diff --git a/packages/trader/src/AppV2/Containers/Menu/menu.scss b/packages/trader/src/AppV2/Containers/Menu/menu.scss new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/trader/src/AppV2/Containers/Menu/menu.tsx b/packages/trader/src/AppV2/Containers/Menu/menu.tsx new file mode 100644 index 000000000000..b6d4970fee25 --- /dev/null +++ b/packages/trader/src/AppV2/Containers/Menu/menu.tsx @@ -0,0 +1,8 @@ +import React from 'react'; +import { Text } from '@deriv-com/quill-ui'; + +const Menu = () => { + return Menu; +}; + +export default Menu; diff --git a/packages/trader/src/AppV2/Containers/Positions/index.ts b/packages/trader/src/AppV2/Containers/Positions/index.ts new file mode 100644 index 000000000000..78305ae41d77 --- /dev/null +++ b/packages/trader/src/AppV2/Containers/Positions/index.ts @@ -0,0 +1,4 @@ +import Positions from './positions'; +import './positions.scss'; + +export default Positions; diff --git a/packages/trader/src/AppV2/Containers/Positions/positions.scss b/packages/trader/src/AppV2/Containers/Positions/positions.scss new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/trader/src/AppV2/Containers/Positions/positions.tsx b/packages/trader/src/AppV2/Containers/Positions/positions.tsx new file mode 100644 index 000000000000..815cf0156296 --- /dev/null +++ b/packages/trader/src/AppV2/Containers/Positions/positions.tsx @@ -0,0 +1,8 @@ +import React from 'react'; +import { Text } from '@deriv-com/quill-ui'; + +const Positions = () => { + return Positions; +}; + +export default Positions; diff --git a/packages/trader/src/AppV2/Containers/Trade/index.ts b/packages/trader/src/AppV2/Containers/Trade/index.ts new file mode 100644 index 000000000000..e507a8c9916f --- /dev/null +++ b/packages/trader/src/AppV2/Containers/Trade/index.ts @@ -0,0 +1,4 @@ +import Trade from './trade'; +import './trade.scss'; + +export default Trade; diff --git a/packages/trader/src/AppV2/Containers/Trade/trade.scss b/packages/trader/src/AppV2/Containers/Trade/trade.scss new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/trader/src/AppV2/Containers/Trade/trade.tsx b/packages/trader/src/AppV2/Containers/Trade/trade.tsx new file mode 100644 index 000000000000..28e20fe5ded0 --- /dev/null +++ b/packages/trader/src/AppV2/Containers/Trade/trade.tsx @@ -0,0 +1,8 @@ +import React from 'react'; +import { Text } from '@deriv-com/quill-ui'; + +const Trade = () => { + return Trade; +}; + +export default Trade; diff --git a/packages/trader/src/AppV2/__tests__/app.spec.tsx b/packages/trader/src/AppV2/__tests__/app.spec.tsx new file mode 100644 index 000000000000..52f42a2fc3a1 --- /dev/null +++ b/packages/trader/src/AppV2/__tests__/app.spec.tsx @@ -0,0 +1,84 @@ +import React from 'react'; +import { render } from '@testing-library/react'; +import App from '../app'; +import { mockStore } from '@deriv/stores'; +import moment from 'moment'; + +const rootStore = mockStore({ + common: { + server_time: moment(new Date()).utc(), + }, + client: { + is_landing_company_loaded: true, + is_logged_in: false, + }, + modules: { + cashier: { + general_store: { + onMountCommon: jest.fn(), + setAccountSwitchListener: jest.fn(), + }, + }, + }, +}); + +const mockWs = { + activeSymbols: jest.fn(), + authorized: { + activeSymbols: jest.fn(), + subscribeProposalOpenContract: jest.fn(), + send: jest.fn(), + }, + buy: jest.fn(), + storage: { + contractsFor: jest.fn(), + send: jest.fn(), + }, + contractUpdate: jest.fn(), + contractUpdateHistory: jest.fn(), + subscribeTicksHistory: jest.fn(), + forgetStream: jest.fn(), + forget: jest.fn(), + forgetAll: jest.fn(), + send: jest.fn(), + subscribeProposal: jest.fn(), + subscribeTicks: jest.fn(), + time: jest.fn(), + tradingTimes: jest.fn(), + wait: jest.fn(), +}; + +jest.mock('AppV2/Components/BottomNav', () => { + const MockedBottomNav = () =>
; + MockedBottomNav.displayName = 'MockedBottomNav'; + return MockedBottomNav; +}); + +describe('App', () => { + it('should render the app component', () => { + const { container } = render( + + ); + expect(container).toBeInTheDocument(); + }); + + it('should call setPromptHandler on unmount', () => { + const setPromptHandler = jest.fn(); + rootStore.ui.setPromptHandler = setPromptHandler; + const { unmount } = render( + + ); + unmount(); + expect(setPromptHandler).toHaveBeenCalledWith(false); + }); +}); diff --git a/packages/trader/src/AppV2/app.tsx b/packages/trader/src/AppV2/app.tsx new file mode 100644 index 000000000000..d9d796474e9d --- /dev/null +++ b/packages/trader/src/AppV2/app.tsx @@ -0,0 +1,38 @@ +import React from 'react'; +import type { TWebSocket } from 'Types'; +import initStore from 'App/init-store'; +import 'Sass/app.scss'; +import type { TCoreStores } from '@deriv/stores/types'; +import TraderProviders from '../trader-providers'; +import BottomNav from './Components/BottomNav'; +import Trade from './Containers/Trade'; +import Markets from './Containers/Markets'; +import Positions from './Containers/Positions'; +import Menu from './Containers/Menu'; + +type Apptypes = { + passthrough: { + root_store: TCoreStores; + WS: TWebSocket; + }; +}; + +const App = ({ passthrough }: Apptypes) => { + const root_store = initStore(passthrough.root_store, passthrough.WS); + React.useEffect(() => { + return () => root_store.ui.setPromptHandler(false); + }, [root_store]); + + return ( + + + + + + + + + ); +}; + +export default App; diff --git a/packages/trader/src/AppV2/index.tsx b/packages/trader/src/AppV2/index.tsx new file mode 100644 index 000000000000..ee338bcf04d3 --- /dev/null +++ b/packages/trader/src/AppV2/index.tsx @@ -0,0 +1,3 @@ +import App from './app'; + +export default App; diff --git a/packages/trader/src/index.tsx b/packages/trader/src/index.tsx index 918c31b2dc0c..8c6b7f14d25d 100644 --- a/packages/trader/src/index.tsx +++ b/packages/trader/src/index.tsx @@ -3,7 +3,23 @@ import { makeLazyLoader, moduleLoader } from '@deriv/shared'; import { Loading } from '@deriv/components'; const App = makeLazyLoader( - () => moduleLoader(() => import(/* webpackChunkName: "trader-app", webpackPreload: true */ './App/index')), + () => + moduleLoader(() => { + let is_dtrader_v2; + try { + is_dtrader_v2 = JSON.parse(localStorage.getItem('FeatureFlagsStore') ?? '').data.dtrader_v2; + } catch (error) { + // eslint-disable-next-line no-console + console.error('FeatureFlagsStore does not exist in local storage:', error); + is_dtrader_v2 = null; + } + const is_mobile = window.innerWidth < 600; + + if (is_dtrader_v2 && is_mobile) { + return import(/* webpackChunkName: "trader-app-v2", webpackPreload: true */ './AppV2/index'); + } + return import(/* webpackChunkName: "trader-app", webpackPreload: true */ './App/index'); + }), () => )(); diff --git a/packages/trader/tsconfig.json b/packages/trader/tsconfig.json index 8449b4a84c39..0198b7b39286 100644 --- a/packages/trader/tsconfig.json +++ b/packages/trader/tsconfig.json @@ -4,6 +4,7 @@ "paths": { "_common/*": ["src/_common/*"], "App/*": ["src/App/*"], + "AppV2/*": ["src/AppV2/*"], "Assets/*": ["src/Assets/*"], "Constants/*": ["src/Constants/*"], "Fonts/*": ["src/public/fonts/*"], @@ -17,6 +18,7 @@ "Utils/*": ["src/Utils/*"], "@deriv/*": ["../*/src"] }, + "useDefineForClassFields": true, "outDir": "./dist", "baseUrl": "./" }, From 941906c1aa892e28af0b7846dcff787b1bdb3bd6 Mon Sep 17 00:00:00 2001 From: Maryia <103177211+maryia-deriv@users.noreply.github.com> Date: Fri, 17 May 2024 09:18:21 +0300 Subject: [PATCH 33/95] [DTRA] Maryia/DTRA-1265/fix: improve alignment in open positions for desktop (#15053) * fix: alignment in open positions * fix: take profit for accu alignment --- .../reports/src/sass/app/modules/reports.scss | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/packages/reports/src/sass/app/modules/reports.scss b/packages/reports/src/sass/app/modules/reports.scss index b3347f4c1f44..be75988c7bf5 100644 --- a/packages/reports/src/sass/app/modules/reports.scss +++ b/packages/reports/src/sass/app/modules/reports.scss @@ -829,6 +829,7 @@ $side-padding: 1.2em; .table__cell { font-weight: bold; align-items: flex-start; + justify-content: center; } } .table__body { @@ -839,6 +840,10 @@ $side-padding: 1.2em; .table__foot { font-weight: bold; white-space: normal; + + .table__cell { + justify-content: center; + } } } &__row { @@ -913,6 +918,11 @@ $side-padding: 1.2em; .color2-fill { fill: var(--brand-secondary); } + &:is(.open-positions .market-symbol-icon) { + @include desktop { + justify-content: center; + } + } &-name, &-category { display: flex; @@ -967,7 +977,7 @@ $side-padding: 1.2em; .dc-btn__text { font-size: 1.2rem; } - &:first-child { + &:first-child:not(:only-child) { margin-bottom: 0.4rem; } } @@ -982,14 +992,12 @@ $side-padding: 1.2em; white-space: break-spaces; } } - .limit_order { + .limit_order:not(.table__head *) { flex-direction: column; - align-items: flex-end; - text-align: right; - justify-content: flex-start; + align-items: center; + justify-content: center; } .action { - padding-bottom: 0; justify-content: center; } } @@ -1030,13 +1038,6 @@ $side-padding: 1.2em; grid-template-columns: minmax(85px, 1fr) minmax(125px, 1fr) minmax(65px, 1fr) minmax(105px, 1fr) minmax(105px, 1fr) minmax(112px, 1fr) minmax(149px, 1fr) minmax(90px, 1fr); - - .limit_order { - @include desktop { - justify-content: center; - align-items: center; - } - } } & .dc-contract-card-item { &:nth-child(3), From 3f7b60219e049c18a428c90c7f756c96b883a801 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 17 May 2024 10:48:51 +0400 Subject: [PATCH 34/95] =?UTF-8?q?translations:=20=F0=9F=93=9A=20sync=20tra?= =?UTF-8?q?nslations=20with=20crowdin=20(#15215)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: DerivFE --- packages/p2p/src/translations/es.json | 6 ++-- packages/p2p/src/translations/th.json | 16 +++++----- packages/translations/crowdin/messages.json | 2 +- .../translations/src/translations/ach.json | 2 ++ .../translations/src/translations/ar.json | 2 ++ .../translations/src/translations/bn.json | 2 ++ .../translations/src/translations/de.json | 2 ++ .../translations/src/translations/es.json | 2 ++ .../translations/src/translations/fr.json | 2 ++ .../translations/src/translations/it.json | 2 ++ .../translations/src/translations/ko.json | 2 ++ .../translations/src/translations/mn.json | 30 ++++++++++--------- .../translations/src/translations/pl.json | 2 ++ .../translations/src/translations/pt.json | 2 ++ .../translations/src/translations/ru.json | 2 ++ .../translations/src/translations/si.json | 2 ++ .../translations/src/translations/sw.json | 2 ++ .../translations/src/translations/th.json | 2 ++ .../translations/src/translations/tr.json | 2 ++ .../translations/src/translations/vi.json | 2 ++ .../translations/src/translations/zh_cn.json | 2 ++ .../translations/src/translations/zh_tw.json | 2 ++ 22 files changed, 64 insertions(+), 26 deletions(-) diff --git a/packages/p2p/src/translations/es.json b/packages/p2p/src/translations/es.json index 74dacc021fcd..02f16047b023 100644 --- a/packages/p2p/src/translations/es.json +++ b/packages/p2p/src/translations/es.json @@ -210,7 +210,7 @@ "1859308030": "Dar su opinión", "1874956952": "Pulse el botón de abajo para añadir métodos de pago.", "1881018702": "hora", - "1881201992": "Su balance Deriv P2P solo incluye los depósitos que no pueden revertirse.", + "1881201992": "Su saldo Deriv P2P solo incluye los depósitos que no pueden revertirse.", "1902229457": "No se puede bloquear al anunciante", "1908023954": "Lo sentimos, ha ocurrido un error al procesar tu solicitud.", "1914014145": "Hoy", @@ -391,7 +391,7 @@ "-740038242": "Su tasa es", "-1072444041": "Actualizar anuncio", "-2085839488": "Este anuncio no aparece en Compra/Venta porque su pedido mínimo es superior al importe restante del anuncio ({{remaining_amount}} {{currency}}).", - "-987612578": "Este anuncio no aparece en Compra/Venta porque su pedido mínimo es superior a su balance disponible Deriv P2P ({{balance}} {{currency}}).", + "-987612578": "Este anuncio no aparece en Compra/Venta porque su pedido mínimo es superior a su saldo disponible Deriv P2P ({{balance}} {{currency}}).", "-84644774": "Este anuncio no aparece en Compra/Venta porque su pedido mínimo es superior a su límite diario restante ({{remaining_limit}} {{currency}}).", "-452142075": "No está permitido utilizar Deriv P2P para hacer publicidad. Póngase en contacto con nosotros a través de Live Chat para obtener más información.", "-1886565882": "Sus anuncios con tasas flotantes han sido desactivados. Establezca las tasas fijas para reactivarlos.", @@ -422,7 +422,7 @@ "-392043307": "¿Desea eliminar este anuncio?", "-854930519": "Ya NO se podrá restaurar.", "-1600783504": "Establezca una tasa flotante para su anuncio.", - "-1907448242": "Balance de Deriv P2P disponible", + "-1907448242": "Saldo Deriv P2P disponible", "-268565332": "¿Cuál es su alias?", "-532709160": "Su alias", "-1016461467": "Su alias no puede cambiarse más adelante.", diff --git a/packages/p2p/src/translations/th.json b/packages/p2p/src/translations/th.json index 36804a339b38..6a80f9eecfa1 100644 --- a/packages/p2p/src/translations/th.json +++ b/packages/p2p/src/translations/th.json @@ -26,7 +26,7 @@ "203271702": "ลองอีกครั้ง", "231473252": "สกุลเงินที่ต้องการ", "233677840": "ของอัตราดอกเบี้ยในตลาด", - "257637860": "อัปโหลดเอกสารเพื่อตรวจสอบยืนยันที่อยู่ของคุณ", + "257637860": "อัพโหลดเอกสารเพื่อตรวจสอบยืนยันที่อยู่ของคุณ", "276261353": "เวลาจ่ายโดยเฉลี่ย <0>30d", "277542386": "โปรดใช้ช่องทาง <0>แชทสด เพื่อติดต่อทีมสนับสนุนลูกค้าของเราเพื่อขอความช่วยเหลือ", "316725580": "คุณไม่สามารถให้คะแนนธุรกรรมนี้ได้อีกแล้ว", @@ -65,7 +65,7 @@ "625563394": "อนุญาตให้ใช้ตัวเลขเท่านั้น", "625586185": "ไม่รวมการฝากเงินผ่านบัตรและวิธีการชำระเงินดังต่อไปนี้: Maestro, Diners Club, ZingPay, Skrill, Neteller, Ozow และ UPI QR", "628581263": "อัตราตลาด {{local_currency}} ได้มีการเปลี่ยนแปลง", - "639382772": "โปรดอัปโหลดประเภทไฟล์ที่มีการรองรับ", + "639382772": "โปรดอัพโหลดประเภทไฟล์ที่มีการรองรับ", "649549724": "ฉันยังไม่ได้รับการชำระเงินใดๆ", "654193846": "ลิงก์เพื่อการตรวจสอบยืนยันนั้นดูเหมือนว่าจะไม่ถูกต้อง โปรดกดปุ่มด้านล่างเพื่อขอลิงก์อันใหม่", "655733440": "อื่นๆ", @@ -100,7 +100,7 @@ "954233511": "ถูกขายแล้ว", "957807235": "ไม่สามารถทำการบล็อกได้เนื่องจาก {{name}} ไม่ได้ใช้งานแอป Deriv P2P อีกต่อไป", "988380202": "คำสั่งของคุณ", - "993198283": "ไฟล์ที่คุณอัปโหลดไม่ได้รับการรองรับ โปรดอัปโหลดไฟล์อื่น", + "993198283": "ไฟล์ที่คุณอัพโหลดไม่ได้รับการรองรับ โปรดอัพโหลดไฟล์อื่น", "1001160515": "คำสั่งขาย", "1002264993": "ชื่อจริงของผู้ขาย", "1009032439": "ทุกเวลา", @@ -156,7 +156,7 @@ "1376329801": "60 วันที่ผ่านมา", "1378388952": "โปรโมทโฆษณาของคุณโดยแชร์คิวอาร์โค้ดและลิงก์นี้", "1381949324": "<0>ที่อยู่ ผ่านการตรวจสอบยืนยันแล้ว", - "1385570445": "อัปโหลดเอกสารเพื่อตรวจสอบยืนยันตัวตนของคุณ", + "1385570445": "อัพโหลดเอกสารเพื่อตรวจสอบยืนยันตัวตนของคุณ", "1398938904": "เราไม่สามารถส่งอีเมล์ไปยังที่อยู่นี้ได้ (ปกติแล้ว เนื่องจากมีการตั้งไฟร์วอลล์หรือมีตัวคัดกรอง)", "1422356389": "ไม่พบผลลัพธ์สำหรับ \"{{text}}\"", "1426213515": "หากคุณได้รับ {{amount}} {{local_currency}} จาก {{name}} ในบัญชีธนาคารหรือในวอลเล็ทของคุณแล้ว ให้กดปุ่มด้านล่างเพื่อทำให้ออร์เดอร์หรือคำสั่งซื้อขายนี้เสร็จสมบูรณ์", @@ -187,7 +187,7 @@ "1685888862": "เกิดข้อผิดพลาดภายใน", "1686592014": "หากต้องการวางออร์เดอร์ ให้ใช้หนึ่งในบรรดาวิธีการชำระเงินที่ผู้โฆษณาต้องการดังนี้:", "1691540875": "แก้ไขวิธีการชำระเงิน", - "1699829275": "ไม่สามารถอัปโหลดไฟล์ขนาดเกิน 5MB", + "1699829275": "ไม่สามารถอัพโหลดไฟล์ขนาดเกิน 5MB", "1702855414": "โฆษณาของคุณไม่ได้อยู่ในรายการ ซื้อ/ขาย เนื่องจากเหตุผลดังต่อไปนี้:", "1703154819": "คุณกำลังแก้ไขโฆษณาเพื่อขาย <0>{{ target_amount }} {{ target_currency }}...", "1721422292": "แสดงชื่อจริงของฉัน", @@ -389,7 +389,7 @@ "-1086586743": "กรุณาส่ง <0>หลักฐานแสดงที่อยู่ ของคุณมาให้เรา คุณจะสามารถใช้ Deriv P2P ได้ภายหลังจากที่เราได้ตรวจสอบยืนยันเอกสารของคุณแล้ว", "-559300364": "แคชเชียร์ Deriv P2P ของคุณได้ถูกปิดกั้น", "-740038242": "อัตราของคุณคือ", - "-1072444041": "อัปเดตโฆษณา", + "-1072444041": "อัพเดทโฆษณา", "-2085839488": "โฆษณานี้ไม่ปรากฏในรายการ ซื้อ/ขาย เนื่องจากคำสั่งซื้อขั้นต่ำของมันนั้นยังคงสูงกว่าจำนวนที่เหลือ ({{remaining_amount}} {{currency}}) ของโฆษณา", "-987612578": "โฆษณานี้ไม่ปรากฏในรายการ ซื้อ/ขาย เนื่องจากคำสั่งซื้อขั้นต่ำของมันนั้นยังสูงกว่ายอดคงเหลือ Deriv P2P ({{balance}} {{currency}}) ที่มีอยู่", "-84644774": "โฆษณานี้ไม่ปรากฏในรายการ ซื้อ/ขาย เนื่องจากคำสั่งซื้อขั้นต่ำของมันนั้นยังสูงกว่าขีดจำกัดรายวันที่เหลืออยู่ ({{remaining_limit}} {{currency}}) ของคุณ", @@ -432,9 +432,9 @@ "-1989544601": "ยกเลิกคำสั่งซื้อนี้", "-492996224": "อย่าทำการยกเลิก", "-1447732068": "การยืนยันการชำระเงิน", - "-1951344681": "โปรดตรวจสอบว่าคุณได้ชำระเงิน {{amount}} {{currency}} ให้กับ {{other_user_name}} และอัปโหลดใบเสร็จรับเงินเป็นหลักฐานการชำระเงินของคุณ", + "-1951344681": "โปรดตรวจสอบว่าคุณได้ชำระเงิน {{amount}} {{currency}} ให้กับ {{other_user_name}} และอัพโหลดใบเสร็จรับเงินเป็นหลักฐานการชำระเงินของคุณ", "-637818525": "การส่งเอกสารปลอมจะส่งผลให้ถูกแบนทันทีและถาวร", - "-670364940": "อัปโหลดใบเสร็จที่นี่", + "-670364940": "อัพโหลดใบเสร็จที่นี่", "-937707753": "ย้อนกลับไป", "-1340125291": "เสร็จสิ้นแล้ว", "-1854199094": "{{type}} {{account_currency}}", diff --git a/packages/translations/crowdin/messages.json b/packages/translations/crowdin/messages.json index 3ca165b1a258..3e10d9bad5d7 100644 --- a/packages/translations/crowdin/messages.json +++ b/packages/translations/crowdin/messages.json @@ -1 +1 @@ -{"1485191":"1:1000","2082741":"additional document number","2091451":"Deriv Bot - your automated trading partner","3125515":"Your Deriv MT5 password is for logging in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","3215342":"Last 30 days","3420069":"To avoid delays, enter your <0>name and <0>date of birth exactly as they appear on your identity document.","4547840":"<0>Verify your account to transfer funds. <1>Verify now","5149403":"Learn more about trade types","7100308":"Hour must be between 0 and 23.","9488203":"Deriv Bot is a web-based strategy builder for trading digital options. It’s a platform where you can build your own automated trading bot using drag-and-drop 'blocks'.","9757544":"Please submit your proof of address","11539750":"set {{ variable }} to Relative Strength Index Array {{ dummy }}","11706633":"Loss threshold: The bot will stop trading if your total loss exceeds this amount.","11872052":"Yes, I'll come back later","14365404":"Request failed for: {{ message_type }}, retrying in {{ delay }}s","15377251":"Profit amount: {{profit}}","17843034":"Check proof of identity document verification status","19424289":"Username","19552684":"USD Basket","21035405":"Please tell us why you’re leaving. (Select up to {{ allowed_reasons }} reasons.)","24900606":"Gold Basket","25854018":"This block displays messages in the developer’s console with an input that can be either a string of text, a number, boolean, or an array of data.","26566655":"Summary","26596220":"Finance","27582393":"Example :","27582767":"{{amount}} {{currency}}","27731356":"Your account is temporarily disabled. Please contact us via <0>live chat to enable deposits and withdrawals again.","27830635":"Deriv (V) Ltd","28581045":"Add a real MT5 account","33433576":"Please use an e-wallet to withdraw your funds.","35089987":"Upload the front and back of your driving licence.","41737927":"Thank you","44877997":"Residence permit","45453595":"Binary Coin","45821474":"Proof of income","46523711":"Your proof of identity is verified","49404821":"If you buy a \"<0>{{trade_type}}\" option, you receive a payout at expiry if the final price is {{payout_status}} the strike price. Otherwise, your “<0>{{trade_type}}” option will expire worthless.","53801223":"Hong Kong 50","53964766":"5. Hit Save to download your bot. You can choose to download your bot to your device or your Google Drive.","54185751":"Less than $100,000","55340304":"Keep your current contract?","55916349":"All","57362642":"Closed","58254854":"Scopes","59169515":"If you select \"Asian Rise\", you will win the payout if the last tick is higher than the average of the ticks.","59341501":"Unrecognized file format","59662816":"Stated limits are subject to change without prior notice.","62748351":"List Length","63869411":"This block tests a given number according to the selection","64402604":"Check transfer information","65185694":"Fiat onramp","65982042":"Total","66519591":"Investor password","66610627":"We were unable to verify your selfie because it’s not clear. Please take a clearer photo and try again. Ensure that there’s enough light where you are and that your entire face is in the frame.","67923436":"No, Deriv Bot will stop running when your web browser is closed.","68885999":"Repeats the previous trade when an error is encountered.","69005593":"The example below restarts trading after 30 or more seconds after 1 minute candle was started.","71016232":"OMG/USD","71232823":"Manage funds","71445658":"Open","71563326":"A fast and secure fiat-to-crypto payment service. Deposit cryptocurrencies from anywhere in the world using your credit/debit cards and bank transfers.","71853457":"$100,001 - $500,000","72500774":"Please fill in Tax residence.","73086872":"You have self-excluded from trading","73326375":"The low is the lowest point ever reached by the market during the contract period.","74963864":"Under","76635112":"To proceed, resubmit these documents","76916358":"You have reached the withdrawal limit.<0/>Please upload your proof of identity and address to lift the limit to continue your withdrawal.","76925355":"Check your bot’s performance","77982950":"Vanilla options allow you to predict an upward (bullish) or downward (bearish) direction of the underlying asset by purchasing a \"Call\" or a \"Put\".","81091424":"To complete the upgrade, please log out and log in again to add more accounts and make transactions with your Wallets.","81450871":"We couldn’t find that page","82839270":"Upload the page of your passport that contains your photo.","83202647":"Collapse Block","84402478":"Where do I find the blocks I need?","84924586":"To trade options and multipliers, get a Deriv Apps account first.","85343079":"Financial assessment","85359122":"40 or more","85389154":"Steps required to continue verification on your mobile","90266322":"2. Start a chat with your newly created Telegram bot and make sure to send it some messages before proceeding to the next step. (e.g. Hello Bot!)","91993812":"The Martingale Strategy is a classic trading technique that has been used for more than a hundred years, popularised by the French mathematician Paul Pierre Levy in the 18th century.","93154671":"1. Hit Reset at the bottom of stats panel.","96381225":"ID verification failed","98473502":"We’re not obliged to conduct an appropriateness test, nor provide you with any risk warnings.","98972777":"random item","100239694":"Upload front of card from your computer","102226908":"Field cannot be empty","105871033":"Your age in the document you provided appears to be below 18 years. We’re only allowed to offer our services to clients above 18 years old, so we’ll need to close your account. If you have a balance in your account, contact us via live chat and we’ll help to withdraw your funds before your account is closed.","107537692":"These limits apply to your options trades only. For example, <0>maximum total loss refers to the losses on all your trades on options trading platforms.","108916570":"Duration: {{duration}} days","109073671":"Please use an e-wallet that you have used for deposits previously. Ensure the e-wallet supports withdrawal. See the list of e-wallets that support withdrawals <0>here.","111215238":"Move away from direct light","111718006":"End date","111931529":"Max. total stake over 7 days","112152170":"Your passkey is successfully removed. To avoid sign-in prompts, also remove the passkey from your password manager. ","113378532":"ETH/USD","115032488":"Buy price and P/L","116005488":"Indicators","117056711":"We’re updating our site","117318539":"Password should have lower and uppercase English letters with numbers.","117366356":"Turbo options allow you to predict the direction of the underlying asset’s movements.","118727646":"{{new_account_title}}","119261701":"Prediction:","119446122":"Contract type is not selected","120340777":"Complete your personal details","122617359":"View tutorial","122993457":"This is to confirm that it's you making the withdrawal request.","123454801":"{{withdraw_amount}} {{currency_symbol}}","124723298":"Upload a proof of address to verify your address","125354367":"An example of D’Alembert's Grind strategy","125443840":"6. Restart last trade on error","125842960":"{{name}} is required.","127307725":"A politically exposed person (PEP) is someone appointed with a prominent public position. Close associates and family members of a PEP are also considered to be PEPs.","129005644":"The idea is that successful trades may recoup previous losses. However, it is crucial to exercise caution as the risk can quickly increase with this strategy. With Deriv Bot, you can minimise your risk by setting a maximum stake. This is an optional risk management feature. Let’s say a maximum stake of 3 USD. If your stake for the next trade is set to exceed 3 USD, your stake will reset to the initial stake of 1 USD. If you didn't set a maximum stake, it would have increased beyond 3 USD.","129137937":"You decide how much and how long to trade. You can take a break from trading whenever you want. This break can be from 6 weeks to 5 years. When it’s over, you can extend it or resume trading after a 24-hour cooling-off period. If you don’t want to set a specific limit, leave the field empty.","129729742":"Tax Identification Number*","130567238":"THEN","132596476":"In providing our services to you, we are required to ask you for some information to assess if a given product or service is appropriate for you and whether you have the experience and knowledge to understand the risks involved.<0/><0/>","132689841":"Trade on web terminal","133523018":"Please go to the Deposit page to get an address.","133536621":"and","133655768":"Note: If you wish to learn more about the Bot Builder, you can proceed to the <0>Tutorials tab.","137589354":"To assess your trading experience and if our products are suitable for you. Please provide accurate and complete answers, as they may affect the outcome of this assessment.","138055021":"Synthetic indices","139454343":"Confirm my limits","141265840":"Funds transfer information","141626595":"Make sure your device has a working camera","142050447":"set {{ variable }} to create text with","142390699":"Connected to your mobile","143970826":"Payment problems?","145511192":"s is the initial stake.","145633981":"Unavailable as your documents are still under review","145736466":"Take a selfie","150156106":"Save changes","150486954":"Token name","151279367":"2. Set the Purchase conditions. In this example, your bot will purchase a Rise contract when it starts and after a contract closes.","151646545":"Unable to read file {{name}}","152415091":"Math","152524253":"Trade the world’s markets with our popular user-friendly platform.","157593038":"random integer from {{ start_number }} to {{ end_number }}","157871994":"Link expired","158355408":"Some services may be temporarily unavailable.","160746023":"Tether as an Omni token (USDT) is a version of Tether that is hosted on the Omni layer on the Bitcoin blockchain.","160863687":"Camera not detected","164112826":"This block allows you to load blocks from a URL if you have them stored on a remote server, and they will be loaded only when your bot runs.","164564432":"Deposits are temporarily unavailable due to system maintenance. You can make your deposits when the maintenance is complete.","165294347":"Please set your country of residence in your account settings to access the cashier.","165312615":"Continue on phone","165682516":"If you don’t mind sharing, which other trading platforms do you use?","167094229":"• Current stake: Use this variable to store the stake amount. You can assign any amount you want, but it must be a positive number.","170185684":"Ignore","170244199":"I’m closing my account for other reasons.","171307423":"Recovery","171579918":"Go to Self-exclusion","171638706":"Variables","173991459":"We’re sending your request to the blockchain.","174793462":"Strike","176078831":"Added","176319758":"Max. total stake over 30 days","176654019":"$100,000 - $250,000","177099483":"Your address verification is pending, and we’ve placed some restrictions on your account. The restrictions will be lifted once your address is verified.","178413314":"First name should be between 2 and 50 characters.","179083332":"Date","181107754":"Your new <0>{{platform}} {{eligible_account_to_migrate}} account(s) are ready for trading.","181346014":"Notes ","181881956":"Contract Type: {{ contract_type }}","182630355":"Thank you for submitting your information.","184024288":"lower case","189705706":"This block uses the variable \"i\" to control the iterations. With each iteration, the value of \"i\" is determined by the items in a given list.","189759358":"Creates a list by repeating a given item","190834737":"Guide","191372501":"Accumulation of Income/Savings","192436105":"No need for symbols, digits, or uppercase letters","192573933":"Verification complete","195136585":"Trading View Chart","195972178":"Get character","196810983":"If the duration is more than 24 hours, the Cut-off time and Expiry date will apply instead.","196998347":"We hold customer funds in bank accounts separate from our operational accounts which would not, in the event of insolvency, form part of the company's assets. This meets the <0>Gambling Commission's requirements for the segregation of customer funds at the level: <1>medium protection.","197190401":"Expiry date","201091938":"30 days","203179929":"<0>You can open this account once your submitted documents have been verified.","203271702":"Try again","203297887":"The Quick Strategy you just created will be loaded to the workspace.","203924654":"Hit the <0>Start button to begin and follow the tutorial.","204797764":"Transfer to client","204863103":"Exit time","206010672":"Delete {{ delete_count }} Blocks","207521645":"Reset Time","207824122":"Please withdraw your funds from the following Deriv account(s):","209533725":"You’ve transferred {{amount}} {{currency}}","210385770":"If you have an active account, please log in to continue. Otherwise, please sign up.","210872733":"The verification status is not available, provider says: Malformed JSON.","211224838":"Investment","211461880":"Common names and surnames are easy to guess","211487193":"Document number (e.g. identity card, passport, driver's license)","211847965":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable withdrawals.","216650710":"You are using a demo account","217377529":"5. If the next trades are profitable, the stake for the following trade will be reduced by 2 USD. This can be shown above where the stake of 3 USD is reduced to 1 USD. See A3.","217403651":"St. Vincent & Grenadines","217504255":"Financial assessment submitted successfully","218441288":"Identity card number","220014242":"Upload a selfie from your computer","220186645":"Text Is empty","221261209":"A Deriv account will allow you to fund (and withdraw from) your CFDs account(s).","223120514":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 50 days.","223607908":"Last digit stats for latest 1000 ticks for {{underlying_name}}","224650827":"IOT/USD","225887649":"This block is mandatory. It's added to your strategy by default when you create new strategy. You can not add more than one copy of this block to the canvas.","227591929":"To timestamp {{ input_datetime }} {{ dummy }}","227903202":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts.","228521812":"Tests whether a string of text is empty. Returns a boolean value (true or false).","233500222":"- High: the highest price","235583807":"SMA is a frequently used indicator in technical analysis. It calculates the average market price over a specified period, and is usually used to identify market trend direction: up or down. For example, if the SMA is moving upwards, it means the market trend is up. ","235994721":"Forex (standard/exotic) and cryptocurrencies","236642001":"Journal","238496287":"Leverage trading is high-risk, so it's a good idea to use risk management features such as stop loss. Stop loss allows you to","241546739":"Please choose the correct Deriv company and server name when logging in, as shown on Trader’s Hub.","243537306":"1. Under the Blocks menu, go to Utility > Variables.","243614144":"This is only available for existing clients.","245005091":"lower","245187862":"The DRC will make a <0>decision on the complaint (please note that the DRC mentions no timeframe for announcing its decision).","245812353":"if {{ condition }} return {{ value }}","246428134":"Step-by-step guides","248153700":"Reset your password","248565468":"Check your {{ identifier_title }} account email and click the link in the email to proceed.","248909149":"Send a secure link to your phone","251134918":"Account Information","251445658":"Dark theme","251882697":"Thank you! Your response has been recorded into our system.<0/><0/>Please click ‘OK’ to continue.","254912581":"This block is similar to EMA, except that it gives you the entire EMA line based on the input list and the given period.","256031314":"Cash Business","256602726":"If you close your account:","258448370":"MT5","258912192":"Trading assessment","260069181":"An error occured while trying to load the URL","260086036":"Place blocks here to perform tasks once when your bot starts running.","260361841":"Tax Identification Number can't be longer than 25 characters.","260393332":"You cannot make further deposits as your documents are still under review. We will notify you by email within 3 days once your verification is approved.","261074187":"4. Once the blocks are loaded onto the workspace, tweak the parameters if you want, or hit Run to start trading.","261250441":"Drag the <0>Trade again block and add it into the <0>do part of the <0>Repeat until block.","262095250":"If you select <0>\"Put\", you’ll earn a payout if the final price is below the strike price at expiry. Otherwise, you won’t receive a payout.","264976398":"3. 'Error' displays a message in red to highlight something that needs to be resolved immediately.","265644304":"Trade types","267992618":"The platforms lack key features or functionality.","268940240":"Your balance ({{format_balance}} {{currency}}) is less than the current minimum withdrawal allowed ({{format_min_withdraw_amount}} {{currency}}). Please top up your account to continue with your withdrawal.","269322978":"Deposit with your local currency via peer-to-peer exchange with fellow traders in your country.","269607721":"Upload","270339490":"If you select \"Over\", you will win the payout if the last digit of the last tick is greater than your prediction.","270396691":"<0>Your Wallets are ready!","270610771":"In this example, the open price of a candle is assigned to the variable \"candle_open_price\".","270712176":"descending","270780527":"You've reached the limit for uploading your documents.","271637055":"Download is unavailable while your bot is running.","272179372":"This block is commonly used to adjust the parameters of your next trade and to implement stop loss/take profit logic.","273350342":"Copy and paste the token into the app.","273728315":"Should not be 0 or empty","274268819":"Volatility 100 Index","275116637":"Deriv X","276770377":"New MT5 account(s) under the {{to_account}} jurisdiction will be created for new trades.","277469417":"Exclude time cannot be for more than five years.","278684544":"get sub-list from # from end","280021988":"Use these shortcuts","281110034":"Effective trading with the D'Alembert system requires careful consideration of its stake progression and risk management. Traders can automate this approach using Deriv Bot, setting profit and loss thresholds to ensure balanced and controlled trading. However, it is crucial for traders to assess their risk appetite, test strategies on a demo account, and align with their own trading style before transitioning to real money trading. This optimization process helps strike a balance between potential gains and losses while managing risk prudently.","282319001":"Check your image","282564053":"Next, we'll need your proof of address.","283830551":"Your address doesn’t match your profile","284527272":"antimode","284772879":"Contract","284809500":"Financial Demo","287934290":"Are you sure you want to cancel this transaction?","291344459":"The table illustrates this principle in the second session. After a trade resulting in loss in round 4 followed by a successful trade in round 5, the stake will increase to 2 USD for round 6. This is in line with the strategy's rule of raising the stake only after a loss is followed by a successful trade.","291744889":"<0>1. Trade parameters:<0>","291817757":"Go to our Deriv community and learn about APIs, API tokens, ways to use Deriv APIs, and more.","292526130":"Tick and candle analysis","292589175":"This will display the SMA for the specified period, using a candle list.","292887559":"Transfer to {{selected_value}} is not allowed, Please choose another account from dropdown","293250845":"Are you sure you want to continue?","294043810":"I confirm that my tax information is accurate and complete.","294305803":"Manage account settings","294335229":"Sell at market price","296017162":"Back to Bot","301441673":"Select your citizenship/nationality as it appears on your passport or other government-issued ID.","304309961":"We're reviewing your withdrawal request. You may still cancel this transaction if you wish. Once we start processing, you won't be able to cancel.","304506198":"Total balance:","310234308":"Close all your positions.","312142140":"Save new limits?","312300092":"Trims the spaces within a given string or text.","313741895":"This block returns “True” if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","315306603":"You have an account that do not have currency assigned. Please choose a currency to trade with this account.","316694303":"Is candle black?","318865860":"close","318984807":"This block repeats the instructions contained within for a specific number of times.","321457615":"Oops, something went wrong!","323179846":"The time interval for each candle can be set from one minute to one day.","323209316":"Select a Deriv Bot Strategy","323360883":"Baskets","325662004":"Expand Block","325763347":"result","326770937":"Withdraw {{currency}} ({{currency_symbol}}) to your wallet","327534692":"Duration value is not allowed. To run the bot, please enter {{min}}.","328539132":"Repeats inside instructions specified number of times","329353047":"Malta Financial Services Authority (MFSA) (licence no. IS/70156)","329404045":"<0>Switch to your real account<1> to create a {{platform}} {{account_title}} account.","330384187":"Enable trading with your first transfer.","333456603":"Withdrawal limits","333807745":"Click on the block you want to remove and press Delete on your keyboard.","334942497":"Buy time","337023006":"Start time cannot be in the past.","339449279":"Remaining time","339610914":"Spread Up/Spread Down","339879944":"GBP/USD","340807218":"Description not found.","342181776":"Cancel transaction","343873723":"This block displays a message. You can specify the color of the message and choose from 6 different sound options.","344418897":"These trading limits and self-exclusion help you control the amount of money and time you spend on {{brand_website_name}} and exercise <0>responsible trading.","345320063":"Invalid timestamp","345818851":"Sorry, an internal error occurred. Hit the above checkbox to try again.","346843343":"CFDs on financial and derived instruments with copy trading.","347029309":"Forex: standard/micro","347039138":"Iterate (2)","348951052":"Your cashier is currently locked","349047911":"Over","349110642":"<0>{{payment_agent}}<1>'s contact details","350602311":"Stats show the history of consecutive tick counts, i.e. the number of ticks the price remained within range continuously.","351744408":"Tests if a given text string is empty","352363702":"You may see links to websites with a fake Deriv login page where you’ll get scammed for your money.","353731490":"Job done","354945172":"Submit document","357477280":"No face found","357672069":"Income verification failed","359053005":"Please enter a token name.","359649435":"Given candle list is not valid","359809970":"This block gives you the selected candle value from a list of candles within the selected time interval. You can choose from open price, close price, high price, low price, and open time.","360224937":"Logic","360773403":"Bot Builder","363576009":"- High price: the highest price","363738790":"Browser","363990763":"Sell price:","367801124":"Total assets in your Deriv accounts.","368160866":"in list","369035361":"<0>•Your account number","371151609":"Last used","371710104":"This scope will allow third-party apps to buy and sell contracts for you, renew your expired purchases, and top up your demo accounts.","372291654":"Exclude time must be after today.","372645383":"True if the market direction matches the selection","372805409":"You should enter 9-35 characters.","373021397":"random","373306660":"{{label}} is required.","373495360":"This block returns the entire SMA line, containing a list of all values for a given period.","374537470":"No results for \"{{text}}\"","375714803":"Deal Cancellation Error","377231893":"Deriv Bot is unavailable in the EU","377538732":"Key parameters","379523479":"To avoid loss of funds, do not share tokens with the Admin scope with unauthorised parties.","380606668":"tick","380694312":"Maximum consecutive trades","381972464":"Your document has expired.","384303768":"This block returns \"True\" if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","384707870":"CRS confirmation","386278304":"Install the {{platform_name_trader}} web app","386502387":"Bot is not running","389923099":"Zoom in","390890891":"Last quarter","391038015":"The mobile trading app for multipliers.","391915203":"Hedging","392582370":"Fall Equals","393789743":"Letters, spaces, periods, hyphens, apostrophes only.","396418990":"Offline","398816980":"Launch {{platform_name_trader}} in seconds the next time you want to trade.","401339495":"Verify address","401345454":"Head to the Tutorials tab to do so.","403456289":"The formula for SMA is:","406359555":"Contract details","406497323":"Sell your active contract if needed (optional)","411482865":"Add {{deriv_account}} account","412433839":"I agree to the <0>terms and conditions.","413594348":"Only letters, numbers, space, hyphen, period, and forward slash are allowed.","417864079":"You’ll not be able to change currency once you have made a deposit.","418265501":"Demo Derived","419485005":"Spot","419496000":"Your contract is closed automatically when your profit is more than or equals to this amount. This block can only be used with the multipliers trade type.","420072489":"CFD trading frequency","422055502":"From","424101652":"Quick strategy guides >","424272085":"We take your financial well-being seriously and want to ensure you are fully aware of the risks before trading.<0/><0/>","424897068":"Do you understand that you could potentially lose 100% of the money you use to trade?","426031496":"Stop","427134581":"Try using another file type.","427617266":"Bitcoin","429970999":"To avoid delays, enter your <0>name exactly as it appears on your {{document_name}}.","431267979":"Here’s a quick guide on how to use Deriv Bot on the go.","432273174":"1:100","432508385":"Take Profit: {{ currency }} {{ take_profit }}","432519573":"Document uploaded","433348384":"Real accounts are not available to politically exposed persons (PEPs).","433616983":"2. Investigation phase","434548438":"Highlight function definition","434896834":"Custom functions","436364528":"Your account will be opened with {{legal_entity_name}}, and will be subject to the laws of Saint Vincent and the Grenadines.","436534334":"<0>We've sent you an email.","437138731":"Create a new {{platform}} password","437453244":"Choose your preferred cryptocurrency","437485293":"File type not supported","437904704":"Maximum open positions","438067535":"Over $500,000","439398769":"This strategy is currently not compatible with Deriv Bot.","442281706":"You’ve just deleted a block.","442520703":"$250,001 - $500,000","443559872":"Financial SVG","444484637":"Logic negation","445419365":"1 - 2 years","450983288":"Your deposit is unsuccessful due to an error on the blockchain. Please contact your crypto wallet service provider for more info.","451852761":"Continue on your phone","452054360":"Similar to RSI, this block gives you a list of values for each entry in the input list.","452949978":"The 1-3-2-6 strategy is designed to capitalise on consecutive successful trades while minimising losses during losing streaks. The rationale behind this strategy lies in statistical probabilities, with adjustments to stake sizes based on the perceived likelihood of success. There is a higher likelihood of success in the second trade after one successful trade. Hence the stake adjusts to 3 in the second trade. In the third trade, the stake adjusts to 2 units due to a lower probability of a successful trade. If the third trade is also successful, the strategy then allocates all the previous gains (a total of 6 units of initial stake) into the fourth trade with the aim of doubling the potential profits. If the fourth trade results in a positive outcome, the strategy helps achieve a total gain of 12 units. However, it is crucial to exercise caution, as the risk can escalate quickly with this strategy, and any loss in the fourth trade forfeits all previous gains.","453175851":"Your MT5 Financial STP account will be opened through {{legal_entity_name}}. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","454196938":"Regulation:","456746157":"Grant access to your camera from your browser settings","457020083":"It’ll take longer to verify you if we can’t read it","457494524":"1. From the block library, enter a name for the new variable and click Create.","459612953":"Select account","459817765":"Pending","460070238":"Congratulations","460975214":"Complete your Appropriateness Test","461795838":"Please contact us via live chat to unlock it.","462079779":"Resale not offered","463361726":"Select an item","465993338":"Oscar's Grind","466424460":"Oscar’s Grind","466837068":"Yes, increase my limits","467839232":"I trade forex CFDs and other complex financial instruments regularly on other platforms.","471402292":"Your bot uses a single trade type for each run.","473154195":"Settings","474306498":"We’re sorry to see you leave. Your account is now closed.","475492878":"Try Synthetic Indices","476023405":"Didn't receive the email?","477557241":"Remote blocks to load must be a collection.","478280278":"This block displays a dialog box that uses a customised message to prompt for an input. The input can be either a string of text or a number and can be assigned to a variable. When the dialog box is displayed, your strategy is paused and will only resume after you enter a response and click \"OK\".","478827886":"We calculate this based on the barrier you’ve selected.","479420576":"Tertiary","480356486":"*Boom 300 and Crash 300 Index","481276888":"Goes Outside","483279638":"Assessment Completed<0/><0/>","483591040":"Delete all {{ delete_count }} blocks?","485379166":"View transactions","487239607":"Converts a given True or False to the opposite value","488150742":"Resend email","489768502":"Change investor password","490053735":"If you select this feature, your trade will be closed automatically at the nearest available asset price when your loss reaches or exceeds the stop loss amount. Your loss may be more than the amount you entered depending on the market price at closing.","491603904":"Unsupported browser","492198410":"Make sure everything is clear","492566838":"Taxpayer identification number","497518317":"Function that returns a value","498562439":"or","499522484":"1. for \"string\": 1325.68 USD","500855527":"Chief Executives, Senior Officials and Legislators","500920471":"This block performs arithmetic operations between two numbers.","501401157":"You are only allowed to make deposits","501537611":"*Maximum number of open positions","502007051":"Demo Swap-Free SVG","502041595":"This block gives you a specific candle from within the selected time interval.","505793554":"last letter","508390614":"Demo Financial STP","511679687":"Accumulators allow you to express a view on the range of movement of an index and grow your stake exponentially at a fixed <0>growth rate.","514031715":"list {{ input_list }} is empty","514776243":"Your {{account_type}} password has been changed.","514948272":"Copy link","517631043":"We’ve sent your e-book. Check your email to download it.","517833647":"Volatility 50 (1s) Index","518955798":"7. Run Once at Start","519205761":"You can no longer open new positions with this account.","520136698":"Boom 500 Index","520458365":"Last used: ","521872670":"item","522703281":"divisible by","523123321":"- 10 to the power of a given number","524459540":"How do I create variables?","527329988":"This is a top-100 common password","529056539":"Options","531114081":"3. Contract Type","531675669":"Euro","532724086":"Employment contract","533403953":"Your existing <0>{{platform}} {{type}} {{from_account}} account(s) will remain accessible.","535041346":"Max. total stake per day","537788407":"Other CFDs Platform","538017420":"0.5 pips","538042340":"Principle 2: The stake only increases when a loss trade is followed by a successful trade","538228086":"Close-Low","541650045":"Manage {{platform}} password","541700024":"First, enter your driving licence number and the expiry date.","542038694":"Only letters, numbers, space, underscore, and hyphen are allowed for {{label}}.","542305026":"You must also submit a proof of identity.","543413346":"You have no open positions for this asset. To view other open positions, click Go to Reports","547029855":"If you select this feature, you can cancel your trade within a chosen time frame if the asset price moves against your favour. You will get your stake back without profit/loss. We charge a small fee for this. Take profit and stop loss are disabled when deal cancellation is active.","549479175":"Deriv Multipliers","549799607":"Go to LiveChat","551569133":"Learn more about trading limits","554135844":"Edit","554410233":"This is a top-10 common password","555351771":"After defining trade parameters and trade options, you may want to instruct your bot to purchase contracts when specific conditions are met. To do that you can use conditional blocks and indicators blocks to help your bot to make decisions.","555881991":"National Identity Number Slip","558866810":"Run your bot","559224320":"Our classic “drag-and-drop” tool for creating trading bots, featuring pop-up trading charts, for advanced users.","560759471":"You'll see these details once the contract starts.","561982839":"Change your currency","562599414":"This block returns the purchase price for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","563034502":"We shall try to resolve your complaint within 15 business days. We will inform you of the outcome together with an explanation of our position and propose any remedial measures we intend to take.","563166122":"We shall acknowledge receiving your complaint, review it carefully, and keep you updated on the handling process. We might request further information or clarifications to facilitate the resolution of the complaint.","563652273":"Go to block","565410797":"The below image illustrates how Simple Moving Average Array block works:","566274201":"1. Market","567019968":"A variable is among the most important and powerful components in creating a bot. It is a way to store information, either as text or numbers. The information stored as a variable can be used and changed according to the given instructions. Variables can be given any name, but usually they are given useful, symbolic names so that it is easier to call them during the execution of instructions.","567163880":"Create a {{platform}} password","567755787":"Tax Identification Number is required.","569057236":"In which country was your document issued?","571921777":"Funds protection level","572576218":"Languages","573173477":"Is candle {{ input_candle }} black?","575668969":"3. For trades that result in a profit, the stake for the next trade will be increased by 2 USD. Deriv Bot will continue to add 2 USD for every successful trade. See A1.","575702000":"Remember, selfies, pictures of houses, or non-related images will be rejected.","575968081":"Account created. Select payment method for deposit.","576355707":"Select your country and citizenship:","577215477":"count with {{ variable }} from {{ start_number }} to {{ end_number }} by {{ step_size }}","577779861":"Withdrawal","577883523":"4. Awards and orders","578640761":"Call Spread","579529868":"Show all details — including the bottom 2 lines","580431127":"Restart buy/sell on error (disable for better performance): {{ checkbox }}","580665362":"Stays In/Goes Out","580774080":"insert at","581168980":"Legal","582945649":"2 minutes","584028307":"Allow equals","587577425":"Secure my account","587856857":"Want to know more about APIs?","588609216":"Repeat tour","592087722":"Employment status is required.","592381383":"Passkey successfully removed","593459109":"Try a different currency","594937260":"Derived - BVI","595080994":"Example: CR123456789","595136687":"Save Strategy","597089493":"Here is where you can decide to sell your contract before it expires. Only one copy of this block is allowed.","597481571":"DISCLAIMER","597707115":"Tell us about your trading experience.","599469202":"{{secondPast}}s ago","602278674":"Verify identity","603849445":"Strike price","603849863":"Look for the <0>Repeat While/Until, and click the + icon to add the block to the workspace area.","603899222":"Distance to current spot","606240547":"- Natural log","606877840":"Back to today","607807243":"Get candle","609519227":"This is the email address associated with your Deriv account.","609650241":"Infinite loop detected","610537973":"Any information you provide is confidential and will be used for verification purposes only.","611020126":"View address on Blockchain","613418320":"<0>Setup unsuccessful","613877038":"Chart","615156635":"Your selfie does not match your document.","617345387":"If you select \"Reset-Up”, you win the payout if the exit spot is strictly higher than either the entry spot or the spot at reset time.","617910072":"Use your Deriv account email and password to login into the {{ platform }} platform.","618520466":"Example of a cut-off document","619268911":"<0>a.The Financial Commission will investigate the validity of the complaint within 5 business days.","619407328":"Are you sure you want to unlink from {{identifier_title}}?","621829484":"{{days_passed}}d ago","623192233":"Please complete the <0>Appropriateness Test to access your cashier.","623542160":"Exponential Moving Average Array (EMAA)","625571750":"Entry spot:","626175020":"Standard Deviation Up Multiplier {{ input_number }}","626809456":"Resubmit","627292452":"<0>Your Proof of Identity or Proof of Address did not meet our requirements. Please check your email for further instructions.","627814558":"This block returns a value when a condition is true. Use this block within either of the function blocks above.","628193133":"Account ID","629003252":"If your current password doesn't match these requirements, you'll need to create a new one in the next step.","629145209":"In case if the \"AND\" operation is selected, the block returns \"True\" only if both given values are \"True\"","629395043":"All growth rates","632398049":"This block assigns a null value to an item or statement.","632897893":"If any of the above applies to you, select <0>Yes. Otherwise, select <0>No.","634219491":"You have not provided your tax identification number. This information is necessary for legal and regulatory requirements. Please go to <0>Personal details in your account settings, and fill in your latest tax identification number.","634274250":"How long each trade takes to expire.","636219628":"<0>c.If no settlement opportunity can be found, the complaint will proceed to the determination phase to be handled by the DRC.","636427296":"Need help with tax info? Let us know via <0>live chat.","636579615":"Number of unit(s) to be added to the next trade after a losing trade. One unit is equivalent to the amount of initial stake.","639382772":"Please upload supported file type.","640249298":"Normal","640596349":"You have yet to receive any notifications","640730141":"Refresh this page to restart the identity verification process","641420532":"We've sent you an email","642210189":"Please check your email for the verification link to complete the process.","642393128":"Enter amount","642546661":"Upload back of license from your computer","644150241":"The number of contracts you have won since you last cleared your stats.","645902266":"EUR/NZD","646773081":"Profit threshold: The bot will stop trading if your total profit exceeds this amount.","647039329":"Proof of address required","647745382":"Input List {{ input_list }}","648035589":"Other CFD Platforms","649317411":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><1/>","649923867":"Adds a sign to a number to create a barrier offset. (deprecated)","650836587":"This article explores the Martingale strategy integrated into Deriv Bot, a versatile trading bot designed to trade assets such as forex, commodities, and derived indices. We will delve into the strategy's core parameters, its application, and provide essential takeaways for traders looking to use the bot effectively.","651284052":"Low Tick","651684094":"Notify","652298946":"Date of birth","654422099":"CRS confirmation is required.","654507872":"True-False","654924603":"Martingale","655937299":"We’ll update your limits. Click <0>Accept to acknowledge that you are fully responsible for your actions, and we are not liable for any addiction or loss.","656893085":"Timestamp","657325150":"This block is used to define trade options within the Trade parameters root block. Some options are only applicable for certain trade types. Parameters such as duration and stake are common among most trade types. Prediction is used for trade types such as Digits, while barrier offsets are for trade types that involve barriers such as Touch/No Touch, Ends In/Out, etc.","659482342":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your account settings.","660481941":"To access your mobile apps and other third-party apps, you'll first need to generate an API token.","660991534":"Finish","661759508":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><0/>","662953503":"Your contract will be closed when the <0>stop out level is reached.","664779910":"3. If the first trade results in profit, the stake for the following trade will not reduce but remain at the initial stake. The strategy minimally trades at the initial stake of 1 USD. See A1.","665089217":"Please submit your <0>proof of identity to authenticate your account and access your Cashier.","665777772":"XLM/USD","665872465":"In the example below, the opening price is selected, which is then assigned to a variable called \"op\".","666724936":"Please enter a valid ID number.","669494711":"1.4 pips","671630762":"We accept only these types of documents as proof of your address. The document must be recent (issued within last {{expiry_in_months}} months) and include your name and address:","672008428":"ZEC/USD","673915530":"Jurisdiction and choice of law","674973192":"Use this password to log in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","676159329":"Could not switch to default account.","676675313":"Authy","677918431":"Market: {{ input_market }} > {{ input_submarket }} > {{ input_symbol }}","679199080":"Why passkeys?","680334348":"This block was required to correctly convert your old strategy.","681108680":"Additional information required for {{platform}} account(s)","681808253":"Previous spot price","681926004":"Example of a blurry document","682056402":"Standard Deviation Down Multiplier {{ input_number }}","685391401":"If you're having trouble signing in, let us know via <0>chat","686387939":"How do I clear my transaction log?","687193018":"Slippage risk","687212287":"Amount is a required field.","688510664":"You've {{two_fa_status}} 2FA on this device. You'll be logged out of your account on other devices (if any). Use your password and a 2FA code to log back in.","689137215":"Purchase price","691956534":"<0>You have added a {{currency}} account.<0> Make a deposit now to start trading.","692354762":"Please enter your {{document_name}}. {{example_format}}","693396140":"Deal cancellation (expired)","693933036":"Exploring the Oscar’s Grind strategy in Deriv Bot","694035561":"Trade options multipliers","696157141":"Low spot","696735942":"Enter your National Identification Number (NIN)","696870196":"- Open time: the opening time stamp","697630556":"This market is presently closed.","698037001":"National Identity Number","699159918":"1. Filing complaints","699646180":"A minimum deposit value of <0>{{minimum_deposit}} {{currency}} is required. Otherwise, the funds will be lost and cannot be recovered.","700259824":"Account currency","701034660":"We are still processing your withdrawal request.<0 />Please wait for the transaction to be completed before deactivating your account.","701462190":"Entry spot","701647434":"Search for string","702451070":"National ID (No Photo)","702561961":"Change theme","705262734":"Your Wallets are ready","705299518":"Next, upload the page of your passport that contains your photo.","705697927":"2. Set your preferred unit. In this example, it is 2 units or 2 USD.","705821926":"Learn about this trade type","706448499":"We'll send you a secure link to verify your request. Tap on it to confirm you want to remove the passkey. This protects your account from unauthorised requests.","706727320":"Binary options trading frequency","706755289":"This block performs trigonometric functions.","706960383":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price, duration, etc. However, we won’t offer a contract value if the remaining duration is below 60 seconds.","707189572":"Your email address has changed.<0/>Now, log in with your new email address.","707662672":"{{unblock_date}} at {{unblock_time}}","708055868":"Driving licence number","710123510":"repeat {{ while_or_until }} {{ boolean }}","711999057":"Successful","712101776":"Take a photo of your passport photo page","712635681":"This block gives you the selected candle value from a list of candles. You can choose from open price, close price, high price, low price, and open time.","713054648":"Sending","714080194":"Submit proof","714746816":"MetaTrader 5 Windows app","715841616":"Please enter a valid phone number (e.g. +15417541234).","716428965":"(Closed)","718504300":"Postal/ZIP code","718509613":"Maximum duration: {{ value }}","720293140":"Log out","720519019":"Reset my password","721011817":"- Raise the first number to the power of the second number","723045653":"You'll log in to your Deriv account with this email address.","723961296":"Manage password","724526379":"Learn more with our tutorials","728042840":"To continue trading with us, please confirm where you live.","728824018":"Spanish Index","729251105":"Range: {{min}} - {{max}} {{duration_unit_text}} ","729651741":"Choose a photo","730473724":"This block performs the \"AND\" or the \"OR\" logic operation with the given values.","731382582":"BNB/USD","732828463":"Standing instructions to transfer funds to an account maintained in the United States, or directions regularly received from a US address","734298230":"Just a reminder","734390964":"Insufficient balance","734881840":"false","735907651":"A US residence address or a US correspondence address (including a US PO box)","737751617":"<0>Explore our website to see what’s available.","739126643":"Indicative high spot","742469109":"Reset Balance","743623600":"Reference","744110277":"Bollinger Bands Array (BBA)","745656178":"Use this block to sell your contract at the market price.","745674059":"Returns the specific character from a given string of text according to the selected option. ","746112978":"Your computer may take a few seconds to update","749336930":"Secure alternative to passwords.","750886728":"Switch to your real account to submit your documents","751468800":"Start now","751692023":"We <0>do not guarantee a refund if you make a wrong transfer.","752024971":"Reached maximum number of digits","752992217":"This block gives you the selected constant values.","753088835":"Default","753184969":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you (that is, whether you possess the experience and knowledge to understand the risks involved).<0/><1/>","753727511":"Type","755138488":"We’re unable to verify the document you provided because it contains markings or text that should not be on your document. Please provide a clear photo or a scan of your original identity document.","756152377":"SMA places equal weight to the entire distribution of values.","758003269":"make list from text","760528514":"Please note that changing the value of \"i\" won't change the value of the original item in the list","761576760":"Fund your account to start trading.","762926186":"A quick strategy is a ready-made strategy that you can use in Deriv Bot. There are 3 quick strategies you can choose from: Martingale, D'Alembert, and Oscar's Grind.","764366329":"Trading limits","766317539":"Language","770171141":"Go to {{hostname}}","772520934":"You may sell the contract up to 24 hours before expiry. If you do, we’ll pay you the <0>contract value.","773091074":"Stake:","773309981":"Oil/USD","773336410":"Tether is a blockchain-enabled platform designed to facilitate the use of fiat currencies in a digital manner.","775679302":"{{pending_withdrawals}} pending withdrawal(s)","775706054":"Do you sell trading bots?","776085955":"Strategies","776432808":"Select the country where you currently live.","778172770":"Deriv CFDs","780009485":"About D'Alembert","781924436":"Call Spread/Put Spread","783974693":"Avoid recent years","784311461":"Exponential Moving Average (EMA)","784583814":"Linked to your computer","785969488":"Jump 75 Index","787727156":"Barrier","788005234":"NA","792164271":"This is when your contract will expire based on the Duration or End time you’ve selected.","792622364":"Negative balance protection","793526589":"To file a complaint about our service, send an email to <0>complaints@deriv.com and state your complaint in detail. Please submit any relevant screenshots of your trading or system for our better understanding.","793531921":"Our company is one of the oldest and most reputable online trading companies in the world. We are committed to treat our clients fairly and provide them with excellent service.<0/><1/>Please provide us with feedback on how we can improve our services to you. Rest assured that you will be heard, valued, and treated fairly at all times.","794682658":"Copy the link to your phone","795859446":"Password saved","797007873":"Follow these steps to recover camera access:","797500286":"negative","800228448":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_fx}}.","800521289":"Your personal details are incomplete","801430087":"A link can contain the word \"Deriv\" and still be fake.","802436811":"View transaction details","802438383":"New proof of address is needed","802556390":"seconds","802989607":"Drag your XML file here","803500173":"Initial stake","806165583":"Australia 200","807499069":"Financial commission complaints procedure","808323704":"You can also use \"Compare\" and \"Logic operation\" blocks to make test variables.","812430133":"Spot price on the previous tick.","815925952":"This block is mandatory. Only one copy of this block is allowed. It is added to the canvas by default when you open Deriv Bot.","816580787":"Welcome back! Your messages have been restored.","816738009":"<0/><1/>You may also raise your unresolved dispute to the <2>Office of the Arbiter for Financial Services.","818447476":"Switch account?","820877027":"Please verify your proof of identity","821163626":"Server maintenance occurs every first Saturday of the month from 7 to 10 GMT time. You may experience service disruption during this time.","823186089":"A block that can contain text.","824797920":"Is list empty?","825042307":"Let’s try again","825179913":"This document number was already submitted for a different account. It seems you have an account with us that doesn't need further verification. Please contact us via <0>live chat if you need help.","826511719":"USD/SEK","827688195":"Disable Block","828219890":"then","828602451":"Returns the list of tick values in string format","830164967":"Last name","830703311":"My profile","830993327":"No current transactions available","832053636":"Document submission","832217983":"40 transactions or more in the past 12 months","832398317":"Sell Error","832721563":"If you select \"Low Tick\", you win the payout if the selected tick is the lowest among the next five ticks.","834966953":"1551661986 seconds since Jan 01 1970 (UTC) translates to 03/04/2019 @ 1:13am (UTC).","835336137":"View Detail","835350845":"Add another word or two. Uncommon words are better.","836097457":"I am interested in trading but have very little experience.","837063385":"Do not send other currencies to this address.","837066896":"Your document is being reviewed, please check back in 1-3 days.","839158849":"4. If the second trade results in a loss, the Deriv Bot will automatically increase your stake for the next trade by 2 USD. Deriv Bot will continue to add 2 USD to the previous round’s stake after every losing trade. See A2.","839805709":"To smoothly verify you, we need a better photo","841434703":"Disable stack","841543189":"View transaction on Blockchain","843333337":"You can only make deposits. Please complete the <0>financial assessment to unlock withdrawals.","845304111":"Slow EMA Period {{ input_number }}","848083350":"Your payout is equal to the <0>payout per point multiplied by the difference between the final price and the strike price. You will only earn a profit if your payout is higher than your initial stake.","850582774":"Please update your personal info","851054273":"If you select \"Higher\", you win the payout if the exit spot is strictly higher than the barrier.","851264055":"Creates a list with a given item repeated for a specific number of times.","851508288":"This block constrains a given number within a set range.","852527030":"Step 2","852583045":"Tick List String","852627184":"document number","854178118":"Verify your request","854399751":"Digit code must only contain numbers.","854630522":"Choose a cryptocurrency account","857363137":"Volatility 300 (1s) Index","857445204":"Deriv currently supports withdrawals of Tether eUSDT to Ethereum wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","857986403":"do something","858663703":"For new trades, please transfer your funds into the new <0>{{platform}} {{eligible_account_to_migrate}} account(s).","860319618":"Tourism","862283602":"Phone number*","863023016":"For instance, if a trader has a loss threshold (B) of 100 USD, with an initial stake (s) of 1 USD and 2 units of increment (f), the calculation would be as follows:","863328851":"Proof of identity","864610268":"First, enter your {{label}} and the expiry date.","864655280":"You can continue to hold your current open positions in your existing MT5 account(s).","864957760":"Math Number Positive","865424952":"High-to-Low","865642450":"2. Logged in from a different browser","866496238":"Make sure your license details are clear to read, with no blur or glare","868826608":"Excluded from {{brand_website_name}} until","869068127":"The cashier is temporarily down due to maintenance. It will be available as soon as the maintenance is complete.","869823595":"Function","872661442":"Are you sure you want to update email <0>{{prev_email}} to <1>{{changed_email}}?","872721776":"2. Select your XML file and hit Select.","872817404":"Entry Spot Time","873166343":"1. 'Log' displays a regular message.","873387641":"If you have open positions","874461655":"Scan the QR code with your phone","874472715":"Your funds will remain in your existing MT5 account(s).","874484887":"Take profit must be a positive number.","875101277":"If I close my web browser, will Deriv Bot continue to run?","875532284":"Restart process on a different device","876086855":"Complete the financial assessment form","876292912":"Exit","879014472":"Reached maximum number of decimals","879647892":"You may sell the contract up until 60 seconds before expiry. If you do, we’ll pay you the <0>contract value.","881963105":"(XAUUSD, XAGUSD)","882423592":"The amount that you stake for the first trade. Note that this is the minimum stake amount.","885065431":"Get a Deriv account","888274063":"Town/City","888924866":"We don’t accept the following inputs for:","890299833":"Go to Reports","891337947":"Select country","893963781":"Close-to-Low","893975500":"You do not have any recent bots","894191608":"<0>c.We must award the settlement within 28 days of when the decision is reached.","896790627":"A US birthplace","898457777":"You have added a Deriv Financial account.","898904393":"Barrier:","900646972":"page.","902045490":"3 minutes","903429103":"In candles list read {{ candle_property }} # from end {{ input_number }}","904696726":"API token","905227556":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters and numbers.","905564365":"MT5 CFDs","906049814":"We’ll review your documents and notify you of its status within 5 minutes.","906789729":"Your verification documents were already used for another account.","907680782":"Proof of ownership verification failed","909272635":"Financial - SVG","910888293":"Too many attempts","911048905":"(BTCUSD, ETHUSD)","912257733":"The workspace will be reset to the default strategy and any unsaved changes will be lost. <0>Note: This will not affect your running bot.","912406629":"Follow these steps:","912967164":"Import from your computer","915735109":"Back to {{platform_name}}","918447723":"Real","920125517":"Add demo account","921857297":"Enter a value from 0 to {{ value }}.","921901739":"- your account details of the bank linked to your account","922313275":"You're back online","924046954":"Upload a document showing your name and bank account number or account details.","924912760":"Your document appears to be a digital document.","929608744":"You are unable to make withdrawals","930255747":"Please enter your {{document_name}}. ","930346117":"Capitalization doesn't help very much","930546422":"Touch","933126306":"Enter some text here","933193610":"Only letters, periods, hyphens, apostrophes, and spaces, please.","937237342":"Strategy name cannot be empty","937682366":"Upload both of these documents to prove your identity.","937831119":"Last name*","937992258":"Table","938500877":"{{ text }}. <0>You can view the summary of this transaction in your email.","938947787":"Withdrawal {{currency}}","938988777":"High barrier","944499219":"Max. open positions","945532698":"Contract sold","945753712":"Back to Trader’s Hub","946204249":"Read","946841802":"A white (or green) candle indicates that the open price is lower than the close price. This represents an upward movement of the market price.","947046137":"Your withdrawal will be processed within 24 hours","947363256":"Create list","947704973":"Reverse D’Alembert","947758334":"City is required","947914894":"Top up  <0>","948156236":"Create {{type}} password","948176566":"New!","949859957":"Submit","951404247":"Enjoy seamless transactions across multiple currencies and an intuitive user interface with funds segregation.","952927527":"Regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156)","956448295":"Cut-off image detected","957182756":"Trigonometric functions","958430760":"In/Out","959031082":"set {{ variable }} to MACD Array {{ dropdown }} {{ dummy }}","960201789":"3. Sell conditions","961266215":"140+","961327418":"My computer","961692401":"Bot","962251615":"If you want to adjust your self-exclusion limits, <0>contact us via live chat.","966457287":"set {{ variable }} to Exponential Moving Average {{ dummy }}","968576099":"Up/Down","969858761":"Principle 1: Strategy aims to potentially make one unit of profit per session","969987233":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between exit spot and lower barrier.","970915884":"AN","974888153":"High-Low","975608902":"To trade CFDs, get a Deriv Apps account first.","975668699":"I confirm and accept {{company}} 's <0>Terms and Conditions","975950139":"Country of Residence","977929335":"Go to my account settings","980050614":"Update now","981138557":"Redirect","981568830":"You have chosen to exclude yourself from trading on our website until {{exclude_until}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via <0>live chat.","981965437":"Scan the QR code below with your 2FA app. We recommend <0>Authy or <1>Google Authenticator.","982146443":"WhatsApp","982402892":"First line of address","982829181":"Barriers","983451828":"2. Select the asset and trade type.","986565137":"We've received your proof of income","987053672":"You can continue with the open positions on your current <0>{{platform}} {{existing_account}} account(s).","987224688":"How many trades have you placed with other financial instruments in the past 12 months?","988064913":"4. Come back to Deriv Bot and add the Notify Telegram block to the workspace. Paste the Telegram API token and chat ID into the block fields accordingly.","988361781":"You have no trading activity yet.","988934465":"When prompted, you must enable camera access to continue","989840364":"You’re under legal age.","990739582":"170+","992294492":"Your postal code is invalid","992677950":"Logging out on other devices","993827052":"Choosing this jurisdiction will give you a Financial STP account. Your trades will go directly to the market and have tighter spreads.","995563717":"not {{ boolean }}","997276809":"I confirm that the name and date of birth above match my chosen identity document","997311089":"Change my password","999008199":"text","1001160515":"Sell","1002392396":"CFDs on derived instruments.","1002989598":"iOS: iCloud keychain.","1003876411":"Should start with letter or number and may contain a hyphen, period and slash.","1004127734":"Send email","1006069082":"The objective of Martingale strategy is to take advantage of consecutive successful trades and maximise potential profits from them. This strategy is beneficial only if there are consecutive successful trades. Therefore, it is important to set a maximum stake to secure all the potential profits gained from a number of consecutive successful trades, or you could lose all the profits you have accumulated, including your initial stake. For example, if your goal is to maximise profits within 2 consecutive successful trades, you set a maximum stake of 2 USD, given your initial stake is 1 USD. Similarly, if your goal is to maximise profits within 3 consecutive successful trades, you set a maximum stake of 4 USD, given your initial stake is 1 USD.","1006458411":"Errors","1006664890":"Silent","1008151470":"Unit: The number of units that are added in the event of successful trades or the number of units removed in the event of losing trades. For example, if the unit is set at 2, the stake increases or decreases by two times the initial stake of 1 USD, meaning it changes by 2 USD.","1009032439":"All time","1010198306":"This block creates a list with strings and numbers.","1010337648":"We were unable to verify your proof of ownership.","1011208051":"Congratulations, you have successfully created your <0/>{{category}} {{platform}} {{type}} {{jurisdiction_selected_shortcode}} account. ","1011424042":"{{text}}. stake<0/>","1012102263":"You will not be able to log in to your account until this date (up to 6 weeks from today).","1015201500":"Define your trade options such as duration and stake.","1016220824":"You need to switch to a real money account to use this feature.<0/>You can do this by selecting a real account from the <1>Account Switcher.","1018803177":"standard deviation","1019265663":"You have no transactions yet.","1019508841":"Barrier 1","1021090237":"Upgrade your <0>{{account_1}} <1/>and <0>{{account_2}} {{platform}} account(s)","1021679446":"Multipliers only","1022934784":"1 minute","1022971288":"Payout per pip","1023237947":"1. In the example below, the instructions are repeated as long as the value of x is less than or equal to 10. Once the value of x exceeds 10, the loop is terminated.","1023643811":"This block purchases contract of a specified type.","1023795011":"Even/Odd","1024205076":"Logic operation","1026046972":"Please enter a payout amount that's lower than {{max_payout}}.","1026289179":"Trade on the go","1028211549":"All fields are required","1028758659":"Citizenship*","1029164365":"We presume that you possess the experience, knowledge, and expertise to make your own investment decisions and properly assess the risk involved.","1029641567":"{{label}} must be less than 30 characters.","1030021206":"change {{ variable }} by {{ number }}","1031602624":"We've sent a secure link to %{number}","1031731167":"Pound Sterling","1032173180":"Deriv","1032907147":"AUD/NZD","1033253221":"Confirm your identity to make a withdrawal.","1035893169":"Delete","1036116144":"Speculate on the price movement of an asset without actually owning it.","1036867749":"The desired duration, stake, prediction, and/or barrier(s) for the contract is defined here.","1038575777":"Change password","1039428638":"EU regulation","1039476188":"The size used to multiply the stake after a losing trade for the next trade.","1039755542":"Use a few words, avoid common phrases","1040472990":"1. Go to Bot Builder.","1040677897":"To continue trading, you must also submit a proof of address.","1041001318":"This block performs the following operations on a given list: sum, minimum, maximum, average, median, mode, antimode, standard deviation, random item.","1041620447":"If you are unable to scan the QR code, you can manually enter this code instead:","1042659819":"You have an account that needs action","1043790274":"There was an error","1044599642":"<0> has been credited into your {{platform}} {{title}} account.","1045704971":"Jump 150 Index","1045782294":"Click the <0>Change password button to change your Deriv password.","1047389068":"Food Services","1047644783":"Enable screen lock on your device.","1047881477":"Unfortunately, your browser does not support the video.","1048687543":"Labuan Financial Services Authority","1048947317":"Sorry, this app is unavailable in {{clients_country}}.","1049384824":"Rise","1050063303":"Videos on Deriv Bot","1050128247":"I confirm that I have verified the payment agent’s transfer information.","1050844889":"Reports","1052779010":"You are on your demo account","1052921318":"{{currency}} Wallet","1053153674":"Jump 50 Index","1053159279":"Level of education","1053556481":"Once you submit your complaint, we will send you an acknowledgement email to confirm that we have received it.","1055313820":"No document detected","1056381071":"Return to trade","1056821534":"Are you sure?","1057216772":"text {{ input_text }} is empty","1057519018":"4. If a trade ends in a profit, the stake for the following trade will be reset to the initial stake amount of 1 USD.","1057749183":"Two-factor authentication (2FA)","1057904606":"The concept of the D’Alembert Strategy is said to be similar to the Martingale Strategy where you will increase your contract size after a loss. With the D’Alembert Strategy, you will also decrease your contract size after a successful trade.","1058804653":"Expiry","1058905535":"Tutorial","1060231263":"When are you required to pay an initial margin?","1061308507":"Purchase {{ contract_type }}","1062423382":"Explore the video guides and FAQs to build your bot in the tutorials tab.","1062536855":"Equals","1062569830":"The <0>name on your identity document doesn't match your profile.","1065275078":"cTrader is only available on desktop for now.","1065498209":"Iterate (1)","1065766135":"You have {{remaining_transfers}} {{transfer_text}} remaining for today.","1066235879":"Transferring funds will require you to create a second account.","1066459293":"4.3. Acknowledging your complaint","1069347258":"The verification link you used is invalid or expired. Please request for a new one.","1070323991":"6. If consecutive successful trades were to happen, the stake would follow a sequence of adjustment from 1 to 3, then 2, and 6 units of initial stake. After 4 consecutive successful trades, it completes one cycle and then the strategy will repeat itself for another cycle. If any trade results in a loss, your stake will reset back to the initial stake for the next trade.","1070624871":"Check proof of address document verification status","1073261747":"Verifications","1073611269":"A copy of your identity document (e.g. identity card, passport, driver's license)","1073711308":"Trade closed","1076006913":"Profit/loss on the last {{item_count}} contracts","1077515534":"Date to","1078189922":"You can make a new deposit once the verification of your account is complete.","1078221772":"Leverage prevents you from opening large positions.","1078303105":"Stop out","1080068516":"Action","1080990424":"Confirm","1082158368":"*Maximum account cash balance","1082406746":"Please enter a stake amount that's at least {{min_stake}}.","1083781009":"Tax identification number*","1083826534":"Enable Block","1087112394":"You must select the strike price before entering the contract.","1088031284":"Strike:","1088138125":"Tick {{current_tick}} - ","1089085289":"Mobile number","1089436811":"Tutorials","1089687322":"Stop your current bot?","1090041864":"The {{block_type}} block is mandatory and cannot be deleted/disabled.","1095295626":"<0>•The Arbiter for Financial Services will determine whether the complaint can be accepted and is in accordance with the law.","1096078516":"We’ll review your documents and notify you of its status within 3 days.","1096175323":"You’ll need a Deriv account","1098147569":"Purchase commodities or shares of a company.","1098622295":"\"i\" starts with the value of 1, and it will be increased by 2 at every iteration. The loop will repeat until \"i\" reaches the value of 12, and then the loop is terminated.","1100133959":"National ID","1100870148":"To learn more about account limits and how they apply, please go to the <0>Help Centre.","1101560682":"stack","1101712085":"Buy Price","1102420931":"Next, upload the front and back of your driving licence.","1102995654":"Calculates Exponential Moving Average (EMA) list from a list of values with a period","1103309514":"Target","1103452171":"Cookies help us to give you a better experience and personalised content on our site.","1104912023":"Pending verification","1107474660":"Submit proof of address","1107555942":"To","1109217274":"Success!","1110102997":"Statement","1112582372":"Interval duration","1113119682":"This block gives you the selected candle value from a list of candles.","1113292761":"Less than 8MB","1114679006":"You have successfully created your bot using a simple strategy.","1117281935":"Sell conditions (optional)","1117863275":"Security and safety","1118294625":"You have chosen to exclude yourself from trading on our website until {{exclusion_end}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via live chat.","1119887091":"Verification","1119986999":"Your proof of address was submitted successfully","1120985361":"Terms & conditions updated","1122910860":"Please complete your <0>financial assessment.","1123927492":"You have not selected your account currency","1124382808":"Please enter the expiry time in the format \"HH:MM\".","1125090693":"Must be a number","1126075317":"Add your Deriv MT5 <0>{{account_type_name}} STP account under Deriv (FX) Ltd regulated by Labuan Financial Services Authority (Licence no. MB/18/0024).","1126934455":"Length of token name must be between 2 and 32 characters.","1127224297":"Sorry for the interruption","1127884488":"cTrader MacOS app","1128139358":"How many CFD trades have you placed in the past 12 months?","1128321947":"Clear All","1128404172":"Undo","1129124569":"If you select \"Under\", you will win the payout if the last digit of the last tick is less than your prediction.","1129842439":"Please enter a take profit amount.","1130791706":"N","1133651559":"Live chat","1134879544":"Example of a document with glare","1134883120":"Use your Deriv account email and password to log in to cTrader.","1139483178":"Enable stack","1143730031":"Direction is {{ direction_type }}","1144028300":"Relative Strength Index Array (RSIA)","1145927365":"Run the blocks inside after a given number of seconds","1146064568":"Go to Deposit page","1147269948":"Barrier cannot be zero.","1150637063":"*Volatility 150 Index and Volatility 250 Index","1151964318":"both sides","1152294962":"Upload the front of your driving licence.","1154021400":"list","1154239195":"Title and name","1155011317":"This block converts the date and time to the number of seconds since the Unix Epoch (1970-01-01 00:00:00).","1155143434":"By clicking on <0>Next you agree to move your {{platform}} {{type}} {{from_account}} account(s) under <2/>Deriv {{account_to_migrate}} Ltd’s <1>terms and conditions.","1155626418":"below","1158678321":"<0>b.The Head of the Dispute Resolution Committee (DRC) will contact both you and us within 5 business days to obtain all necessary information and see if there is a chance to settle the complaint during the investigation phase.","1160761178":"No payout if exit spot is below or equal to the lower barrier.","1161924555":"Please select an option","1163771266":"The third block is <0>optional. You may use this block if you want to sell your contract before it expires. For now, leave the block as it is. ","1163836811":"Real Estate","1164773983":"Take profit and/or stop loss are not available while deal cancellation is active.","1166023941":"New password","1166128807":"Choose one of your accounts or add a new cryptocurrency account","1166377304":"Increment value","1168029733":"Win payout if exit spot is also equal to entry spot.","1169201692":"Create {{platform}} password","1170228717":"Stay on {{platform_name_trader}}","1171765024":"Step 3","1171961126":"trade parameters","1172230903":"• Stop loss threshold: Use this variable to store your loss limit. You can assign any amount you want. Your bot will stop when your losses hits or exceeds this amount.","1172524677":"CFDs Demo","1173957529":"Go to ‘Account Settings’ on Deriv.","1174542625":"- Find the chat ID property in the response, and copy the value of the id property","1174689133":"3. Set your trade parameters and hit Run.","1174748431":"Payment channel","1175183064":"Vanuatu","1177396776":"If you select \"Asian Fall\", you will win the payout if the last tick is lower than the average of the ticks.","1177723589":"There are no transactions to display","1178582280":"The number of contracts you have lost since you last cleared your stats.","1178800778":"Take a photo of the back of your license","1178942276":"Please try again in a minute.","1179704370":"Please enter a take profit amount that's higher than the current potential profit.","1181396316":"This block gives you a random number from within a set range","1181770592":"Profit/loss from selling","1183007646":"- Contract type: the name of the contract type such as Rise, Fall, Touch, No Touch, etс.","1183448523":"<0>We're setting up your Wallets","1184968647":"Close your contract now or keep it running. If you decide to keep it running, you can check and close it later on the ","1186687280":"Question {{ current }} of {{ total }}","1188316409":"To receive your funds, contact the payment agent with the details below","1188980408":"5 minutes","1189249001":"4.1. What is considered a complaint?","1189368976":"Please complete your personal details before you verify your identity.","1191429031":"Please click on the link in the email to change your <0>{{platform_name_dxtrade}} password.","1192598228":"Wallets will become your dedicated fund management tool, allowing you to transfer funds between Wallets and trading accounts instantly.","1195393249":"Notify {{ notification_type }} with sound: {{ notification_sound }} {{ input_message }}","1196006480":"Profit threshold","1198368641":"Relative Strength Index (RSI)","1199281499":"Last Digits List","1201533528":"Contracts won","1201773643":"numeric","1203297580":"This block sends a message to a Telegram channel.","1203380736":"The D’Alembert strategy is less risky than Martingale, but you can still determine how long your funds will last with this strategy before trading. Simply use this formula.","1204223111":"In this example, the open prices from a list of candles are assigned to a variable called \"candle_list\".","1204459171":"Your existing <0>{{platform}} {{type_1}} <1/>and <0>{{type_2}} {{from_account}} account(s) will remain accessible.","1206227936":"How to mask your card?","1206821331":"Armed Forces","1208729868":"Ticks","1208903663":"Invalid token","1211912982":"Bot is starting","1214893428":"Account creation is currently unavailable for mobile. Please log in with your computer to create a new account.","1216408337":"Self-Employed","1217159705":"Bank account number","1217481729":"Tether as an ERC20 token (eUSDT) is a version of Tether that is hosted on Ethereum.","1218546232":"What is Fiat onramp?","1219844088":"do %1","1221250438":"To enable withdrawals, please submit your <0>Proof of Identity (POI) and <1>Proof of Address (POA) and also complete the <2>financial assessment in your account settings.","1222096166":"Deposit via bank wire, credit card, and e-wallet","1222521778":"Making deposits and withdrawals is difficult.","1222544232":"We’ve sent you an email","1225874865":"The stake adjustment: target session profit (1 USD) - current session profit (0 USD) = 1 USD","1227074958":"random fraction","1227132397":"4. For trades that result in a loss, there are two outcomes. If it was traded at the initial stake, the next trade will remain at the same amount as the strategy trades minimally at the initial stake, see A2. If it was traded with a higher amount, the stake for the next trade would be reduced by 2 USD, see A3.","1227240509":"Trim spaces","1228534821":"Some currencies may not be supported by payment agents in your country.","1229883366":"Tax identification number","1230884443":"State/Province (optional)","1231282282":"Use only the following special characters: {{permitted_characters}}","1232291311":"Maximum withdrawal remaining","1232353969":"0-5 transactions in the past 12 months","1233300532":"Payout","1233910495":"If you select \"<0>Down\", your total profit/loss will be the percentage decrease in the underlying asset price, times the multiplier and stake, minus commissions.","1234292259":"Source of wealth","1234764730":"Upload a screenshot of your name and email address from the personal details section.","1234889964":"Better funds segregation","1237330017":"Pensioner","1238311538":"Admin","1239752061":"In your cryptocurrency wallet, make sure to select the <0>{{network_name}} network when you transfer funds to Deriv.","1239760289":"Complete your trading assessment","1239940690":"Restarts the bot when an error is encountered.","1240027773":"Please Log in","1240688917":"Glossary","1241238585":"You may transfer between your Deriv fiat, cryptocurrency, and {{platform_name_mt5}} accounts.","1242288838":"Hit the checkbox above to choose your document.","1242994921":"Click here to start building your Deriv Bot.","1243064300":"Local","1243287470":"Transaction status","1246207976":"Enter the authentication code generated by your 2FA app:","1246880072":"Select issuing country","1247280835":"Our cryptocurrency cashier is temporarily down due to system maintenance. You can make cryptocurrency deposits and withdrawals in a few minutes when the maintenance is complete.","1248018350":"Source of income","1248940117":"<0>a.The decisions made by the DRC are binding on us. DRC decisions are binding on you only if you accept them.","1250113042":"This device doesn't support passkeys.","1250495155":"Token copied!","1252669321":"Import from your Google Drive","1253531007":"Confirmed","1253636052":"MetaTrader5 web terminal","1254565203":"set {{ variable }} to create list with","1255827200":"You can also import or build your bot using any of these shortcuts.","1255909792":"last","1255963623":"To date/time {{ input_timestamp }} {{ dummy }}","1258097139":"What could we do to improve?","1258198117":"positive","1259145708":"Let’s try again. Choose another document and enter the corresponding details.","1259598687":"GBP/JPY","1260259925":"Phone is not in a proper format.","1264096613":"Search for a given string","1264842111":"You can switch between real and demo accounts.","1265317149":"A recent utility bill (e.g. electricity, water or gas) or recent bank statement or government-issued letter with your name and address.","1265704976":"","1266728508":"Proof of income verification passed","1269296089":"Let's build a Bot!","1270581106":"If you select \"No Touch\", you win the payout if the market never touches the barrier at any time during the contract period.","1272012156":"GBP/CHF","1272337240":"Days","1272681097":"Hours","1274380814":"Your payout is equal to the <0>payout per pip multiplied by the difference, <1>in pips, between the final price and the strike price. You will only earn a profit if your payout is higher than your initial stake.","1274819385":"3. Complaints and Disputes","1276660852":"Submit your proof of identity","1281045211":"Sorts the items in a given list, by their numeric or alphabetical value, in either ascending or descending order.","1281290230":"Select","1282951921":"Only Downs","1284522768":"If \"Loss\" is selected, it will return \"True\" if your last trade was unsuccessful. Otherwise, it will return an empty string.","1286094280":"Withdraw","1286507651":"Close identity verification screen","1288965214":"Passport","1289146554":"British Virgin Islands Financial Services Commission","1289650867":"The Oscar’s Grind strategy is designed to potentially gain a modest yet steady profit in each trading session. This strategy splits trades into sessions and has three principles.","1290525720":"Example: ","1291997417":"Contracts will expire at exactly 23:59:59 GMT on your selected expiry date.","1292188546":"Reset Deriv MT5 investor password","1292891860":"Notify Telegram","1293660048":"Max. total loss per day","1294553728":"We’re unable to verify the document you provided because it appears to be a blank image. Please try again or upload another document.","1294756261":"This block creates a function, which is a group of instructions that can be executed at any time. Place other blocks in here to perform any kind of action that you need in your strategy. When all the instructions in a function have been carried out, your bot will continue with the remaining blocks in your strategy. Click the “do something” field to give it a name of your choice. Click the plus icon to send a value (as a named variable) to your function.","1295284664":"Please accept our <0>updated Terms and Conditions to proceed.","1296380713":"Close my contract","1299479533":"8 hours","1300576911":"Please resubmit your proof of address or we may restrict your account.","1302691457":"Occupation","1303016265":"Yes","1303530014":"We’re processing your withdrawal.","1304083330":"copy","1304272843":"Please submit your proof of address.","1304620236":"Enable camera","1305217290":"Upload the back of your identity card.","1308625834":"Sets the default time interval for blocks that read list of candles.","1309017029":"Enabling this allows you to save your blocks as one collection which can be easily integrated into other bots.","1309044871":"Returns the value of the latest tick in string format","1310483610":"Results for \"{{ search_term }}\"","1311680770":"payout","1313167179":"Please log in","1313302450":"The bot will stop trading if your total loss exceeds this amount.","1314572331":"Your document failed our verification checks.","1316216284":"You can use this password for all your {{platform}} accounts.","1319217849":"Check your mobile","1320715220":"<0>Account closed","1320750775":"Front and back","1322804930":"Restart the process on the latest version of Google Chrome","1323327633":"Our complaints process comprises the following 4 steps:","1323476617":"Changes the capitalisation of a string of text to Upper case, Lower case, Title case.","1323996051":"Profile","1324922837":"2. The new variable will appear as a block under Set variable.","1325514262":"(licence no. MB/18/0024)","1327181172":"Financial Vanuatu","1327494533":"{{sell_value}} (Sell)","1329136554":"Jump 200 Index","1329325646":"The content of this block is called on every tick","1331199417":"Please enter the correct format. ","1331367811":"Client account number","1332168410":"Learn more","1332168769":"Disconnect","1333576137":"Please update your {{details}} to continue.","1333839457":"Submit identity card (front)","1334326985":"It may take a few minutes to arrive","1335967988":"Notice","1336052175":"Switch accounts","1337846406":"This block gives you the selected candle value from a list of candles within the selected time interval.","1337864666":"Photo of your document","1338496204":"Ref. ID","1339613797":"Regulator/External dispute resolution","1340286510":"The bot has stopped, but your trade may still be running. You can check it on the Reports page.","1341840346":"View in Journal","1341921544":"Trading accounts and funds","1344696151":"Forex, stocks, stock indices, commodities, cryptocurrencies and synthetic indices.","1346038489":"Should be less than 70.","1346204508":"Take profit","1346339408":"Managers","1346947293":"We were unable to verify your selfie because it’s not clear. Please take a clearer photo and try again. Ensure that there's enough light where you are and that your entire face is in the frame.","1347037687":"Trader’s Hub V2","1347071802":"{{minutePast}}m ago","1349133669":"Try changing your search criteria.","1349289354":"Great, that's everything we need","1349295677":"in text {{ input_text }} get substring from {{ position1 }} {{ index1 }} to {{ position2 }} {{ index2 }}","1351906264":"This feature is not available for payment agents.","1353197182":"Please select","1354288636":"Based on your answers, it looks like you have insufficient knowledge and experience in trading CFDs. CFD trading is risky and you could potentially lose all of your capital.<0/><0/>","1355250245":"{{ calculation }} of list {{ input_list }}","1356574493":"Returns a specific portion of a given string of text.","1356607862":"Deriv password","1357010670":"I acknowledge and confirm that I would like to upgrade to Wallets.","1357213116":"Identity card","1358543466":"Not available","1358543748":"enabled","1360929368":"Add a Deriv account","1362029761":"Exploring the Reverse Martingale strategy in Deriv Bot","1362578283":"High","1363645836":"Derived FX","1363675688":"Duration is a required field.","1364045306":"Account V2","1364879837":"The verification is passed but the personal info is not available to compare.","1364958515":"Stocks","1366244749":"Limits","1367488817":"4. Restart trading conditions","1367990698":"Volatility 10 Index","1370647009":"Enjoy higher daily limits","1371193412":"Cancel","1371555192":"Choose your preferred payment agent and enter your withdrawal amount. If your payment agent is not listed, <0>search for them using their account number.","1371641641":"Open the link on your mobile","1371911731":"Financial products in the EU are offered by {{legal_entity_name}}, licensed as a Category 3 Investment Services provider by the Malta Financial Services Authority (<0>Licence no. IS/70156).","1373949314":"The Reverse Martingale strategy involves increasing your stake after each successful trade and resets to the initial stake for every losing trade as it aims to secure potential profits from consecutive wins.","1374627690":"Max. account balance","1374902304":"Your document appears to be damaged or cropped.","1375884086":"Financial, legal, or government document: recent bank statement, affidavit, or government-issued letter.","1376329801":"Last 60 days","1378419333":"Ether","1380349261":"Range","1383017005":"You have switched accounts.","1384127719":"You should enter {{min}}-{{max}} numbers.","1384222389":"Please submit valid identity documents to unlock the cashier.","1385418910":"Please set a currency for your existing real account before creating another account.","1387503299":"Log in","1388770399":"Proof of identity required","1389197139":"Import error","1390792283":"Trade parameters","1391174838":"Potential payout:","1392985917":"This is similar to a commonly used password","1393559748":"Invalid date/time: {{ datetime_string }}","1393901361":"There’s an app for that","1393903598":"if true {{ return_value }}","1396179592":"Commission","1396417530":"Bear Market Index","1397628594":"Insufficient funds","1400341216":"We’ll review your documents and notify you of its status within 1 to 3 days.","1400732866":"View from camera","1400962248":"High-Close","1402208292":"Change text case","1402224124":"Hit the button below, and we'll email you a verification link.","1402300547":"Lets get your address verified","1403376207":"Update my details","1405584799":"with interval: {{ candle_interval_type }}","1407191858":"DTrader","1408844944":"Click the plus icon to extend the functionality of this block.","1408852678":"Trade bigger positions with less capital across diverse financial and derived instruments. <0>Learn more","1411373212":"Strong passwords contain at least 8 characters. combine uppercase and lowercase letters, numbers, and symbols.","1412405902":"See important notes","1412535872":"You can check the result of the last trade with this block. It can only be placed within the \"Restart trading conditions\" root block.","1413047745":"Assigns a given value to a variable","1413359359":"Make a new transfer","1414205271":"prime","1414366321":"An uppercase letter","1414918420":"We'll review your proof of identity again and will give you an update as soon as possible.","1415006332":"get sub-list from first","1415513655":"Download cTrader on your phone to trade with the Deriv cTrader account","1415974522":"If you select \"Differs\", you will win the payout if the last digit of the last tick is not the same as your prediction.","1417558007":"Max. total loss over 7 days","1417907460":"No problem! Your passkey still works.","1417914636":"Login ID","1418115525":"This block repeats instructions as long as a given condition is true.","1419330165":"Forex, stocks, stock indices, commodities, cryptocurrencies, ETFs and synthetic indices","1421046084":"Setup your account","1421749665":"Simple Moving Average (SMA)","1422060302":"This block replaces a specific item in a list with another given item. It can also insert the new item in the list at a specific position.","1422129582":"All details must be clear — nothing blurry","1423082412":"Last Digit","1423296980":"Enter your SSNIT number","1424741507":"See more","1424763981":"1-3-2-6","1424779296":"If you've recently used bots but don't see them in this list, it may be because you:","1428657171":"You can only make deposits. Please contact us via <0>live chat for more information.","1430221139":"Verify now","1430396558":"5. Restart buy/sell on error","1430632931":"To get trading, please confirm who you are, and where you live.","1433367863":"Sorry, an error occured while processing your request.","1433468641":"We offer our services in all countries, except for the ones mentioned in our terms and conditions.","1434382099":"Displays a dialog window with a message","1434767075":"Get started on Deriv Bot","1434976996":"Announcement","1435363248":"This block converts the number of seconds since the Unix Epoch to a date and time format such as 2019-08-01 00:00:00.","1437396005":"Add comment","1437529196":"Payslip","1438247001":"A professional client receives a lower degree of client protection due to the following.","1438340491":"else","1439168633":"Stop loss:","1441208301":"Total<0 />profit/loss","1442747050":"Loss amount: <0>{{profit}}","1442840749":"Random integer","1443478428":"Selected proposal does not exist","1444843056":"Corporate Affairs Commission","1445592224":"You accidentally gave us another email address (Usually a work or a personal one instead of the one you meant).","1446742608":"Click here if you ever need to repeat this tour.","1449462402":"In review","1452260922":"Too many failed attempts","1452941569":"This block delays execution for a given number of seconds. You can place any blocks within this block. The execution of other blocks in your strategy will be paused until the instructions in this block are carried out.","1453317405":"This block gives you the balance of your account either as a number or a string of text.","1454406889":"Choose <0>until as the repeat option.","1454648764":"deal reference id","1454865058":"Do not enter an address linked to an ICO purchase or crowdsale. If you do, the ICO tokens will not be credited into your account.","1455741083":"Upload the back of your driving licence.","1457341530":"Your proof of identity verification has failed","1457603571":"No notifications","1458160370":"Enter your {{platform}} password to add a {{platform_name}} {{account}} {{jurisdiction_shortcode}} account.","1459761348":"Submit proof of identity","1461323093":"Display messages in the developer’s console.","1462238858":"By purchasing the \"High-to-Close\" contract, you'll win the multiplier times the difference between the high and close over the duration of the contract.","1464190305":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract without manually stopping and restarting your bot.","1464253511":"You already have an account for each of the cryptocurrencies available on {{deriv}}.","1465084972":"How much experience do you have with other financial instruments?","1465919899":"Pick an end date","1466430429":"Should be between {{min_value}} and {{max_value}}","1466900145":"Doe","1467017903":"This market is not yet available on {{platform_name_trader}}, but it is on {{platform_name_smarttrader}}.","1467421920":"with interval: %1","1467880277":"3. General queries","1468308734":"This block repeats instructions as long as a given condition is true","1468419186":"Deriv currently supports withdrawals of Tether USDT to Omni wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","1468508098":"Slippage happens when the asset price changes by the time it reaches our servers.","1469133110":"cTrader Windows app","1469150826":"Take Profit","1469764234":"Cashier Error","1469814942":"- Division","1470319695":"Returns either True or False","1470565177":"Article of association","1471008053":"Deriv Bot isn't quite ready for real accounts","1471070549":"Can contract be sold?","1471741480":"Severe error","1473369747":"Synthetics only","1475513172":"Size","1476301886":"Similar to SMA, this block gives you the entire SMA line containing a list of all values for a given period.","1478030986":"Create or delete API tokens for trading and withdrawals","1480915523":"Skip","1484336612":"This block is used to either terminate or continue a loop, and can be placed anywhere within a loop block.","1487086154":"Your documents were submitted successfully","1488548367":"Upload again","1490509675":"Options accounts","1491392301":"<0>Sold for: {{sold_for}}","1492686447":"Your MT5 Financial STP account will be opened through Deriv (FX) Ltd. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","1493673429":"Change email","1493866481":"Run Deriv X on your browser","1496810530":"GBP/AUD","1497773819":"Deriv MT5 accounts","1499080621":"Tried to perform an invalid operation.","1501691227":"Add Your Deriv MT5 <0>{{account_type_name}} account under Deriv (V) Ltd, regulated by the Vanuatu Financial Services Commission.","1502039206":"Over {{barrier}}","1502325741":"Your password cannot be the same as your email address.","1503419760":"Swap-free CFDs on selected financial and derived instruments.","1503618738":"- Deal reference ID: the reference ID of the contract","1505420815":"No payment agents found for your search","1505898522":"Download stack","1505927599":"Our servers hit a bump. Let’s refresh to move on.","1506251760":"Wallets","1507554225":"Submit your proof of address","1509559328":"cTrader","1509570124":"{{buy_value}} (Buy)","1509678193":"Education","1510075920":"Gold/USD","1510357015":"Tax residence is required.","1510735345":"This block gives you a list of the last digits of the last 1000 tick values.","1512469749":"In the above example it is assumed that variable candle_open_price is processed somewhere within other blocks.","1513771077":"We're processing your withdrawal.","1516559721":"Please select one file only","1516676261":"Deposit","1517503814":"Drop file or click here to upload","1519124277":"Derived SVG","1520332426":"Net annual income","1524636363":"Authentication failed","1526012495":"This could be because:","1526483456":"2. Enter a name for your variable, and hit Create. New blocks containing your new variable will appear below.","1527251898":"Unsuccessful","1527664853":"Your payout is equal to the payout per point multiplied by the difference between the final price and the strike price.","1527906715":"This block adds the given number to the selected variable.","1531017969":"Creates a single text string from combining the text value of each attached item, without spaces in between. The number of items can be added accordingly.","1533177906":"Fall","1534796105":"Gets variable value","1537192641":"Unable to process your request","1537711064":"You need to make a quick identity verification before you can access the Cashier. Please go to your account settings to submit your proof of identity.","1540585098":"Decline","1541508606":"Looking for CFDs? Go to Trader's Hub","1541770236":"The 1-3-2-6 strategy aims to maximise potential profits with four consecutive successful trades. One unit is equal to the amount of the initial stake. The stake will adjust from 1 unit to 3 units after the first successful trade, then to 2 units after your second successful trade, and to 6 units after the third successful trade. The stake for the next trade will reset to the initial stake if there is a losing trade or a completion of the trade cycle.","1541969455":"Both","1542742708":"Synthetics, Forex, Stocks, Stock indices, Commodities, and Cryptocurrencies","1544642951":"If you select \"Only Ups\", you win the payout if consecutive ticks rise successively after the entry spot. No payout if any tick falls or is equal to any of the previous ticks.","1547148381":"That file is too big (only up to 8MB allowed). Please upload another file.","1549098835":"Total withdrawn","1549645155":"Your passkey is successfully removed. To avoid sign-in prompts, also remove the passkey from your iCloud keychain. ","1551172020":"AUD Basket","1551689907":"Enhance your trading experience by upgrading your <0/><1>{{platform}} {{type}} {{from_account}} account(s).","1555345325":"User Guide","1556391770":"You cannot make a withdrawal as your documents are still under review. We will notify you by email within 3 days once your verification is approved.","1557426040":"Demo Derived SVG","1557682012":"Account Settings","1558972889":"set {{ variable }} to Simple Moving Average {{ dummy }}","1560302445":"Copied","1562374116":"Students","1566037033":"Bought: {{longcode}} (ID: {{transaction_id}})","1566717687":"We also provide a guide on the Tutorial tab to show you how you can build and execute a simple strategy.","1567076540":"Only use an address for which you have proof of residence - ","1567745852":"Bot name","1569527365":"Verification failed. Resubmit your details.","1569624004":"Dismiss alert","1570484627":"Ticks list","1571575776":"Accepted formats: pdf, jpeg, jpg, and png. Max file size: 8MB","1572504270":"Rounding operation","1572982976":"Server","1573429525":"Call/Put","1575556189":"Tether on the Ethereum blockchain, as an ERC20 token, is a newer transport layer, which now makes Tether available in Ethereum smart contracts. As a standard ERC20 token, it can also be sent to any Ethereum address.","1577480486":"Your mobile link will expire in one hour","1577527507":"Account opening reason is required.","1577612026":"Select a folder","1579839386":"Appstore","1580498808":"Multiple faces found","1584109614":"Ticks String List","1584936297":"XML file contains unsupported elements. Please check or modify file.","1587046102":"Documents from that country are not currently supported — try another document type","1589148299":"Start","1589640950":"Resale of this contract is not offered.","1589702653":"Proof of address","1589863913":"These are the trade parameters used for D’Alembert strategy in Deriv Bot.","1590400723":"Total assets in all your accounts","1591933071":"Resubmit document","1593010588":"Login now","1594147169":"Please come back in","1594322503":"Sell is available","1595295238":"3. Use a logic block to check if Total profit/loss is more than the Stop loss threshold amount. You can find the Total profit/loss variable under Analysis > Stats on the Blocks menu on the left. Your bot will continue to purchase new contracts until the Total profit/loss amount exceeds the Stop loss threshold amount.","1597672660":"Deriv MT5 Password","1598009247":"<0>a.You may file a complaint with the Financial Commission up to 45 days after the incident.","1598386296":"Town/City is required.","1598443642":"Transaction hash","1599743312":"An example of Reverse Martingale strategy","1602894348":"Create a password","1604916224":"Absolute","1605222432":"I have no knowledge and experience in trading at all.","1605292429":"Max. total loss","1612105450":"Get substring","1612638396":"Cancel your trade at any time within a specified timeframe.","1615897837":"Signal EMA Period {{ input_number }}","1618652381":"For instance, if a trader has a loss threshold (B) is 1000 USD, with an initial stake (s) is 1 USD, and the Martingale multiplier (m) is 2, the calculation would be as follows:","1619070150":"You are being redirected to an external website.","1620278321":"Names and surnames by themselves are easy to guess","1620346110":"Set currency","1621024661":"Tether as a TRC20 token (tUSDT) is a version of Tether that is hosted on Tron.","1622662457":"Date from","1622944161":"Now, go to the <0>Restart trading conditions block.","1623706874":"Use this block when you want to use multipliers as your trade type.","1628981793":"Can I trade cryptocurrencies on Deriv Bot?","1630417358":"Please go to your account settings and complete your personal details to enable withdrawals.","1631281562":"GBP Basket","1633661992":"Tick {{current_tick}}/{{tick_count}}","1634016345":"2. If the trade is successful, this strategy will automatically adjust your stake to 3 units of your initial stake for the next trade. In this case, the stake adjustment is 3 units and the initial stake is 1 USD, hence the next trade will start at 3 USD.","1634903642":"Only your face can be in the selfie","1634969163":"Change currency","1635266650":"It seems that your name in the document is not the same as your Deriv profile. Please update your name in the <0>Personal details page to solve this issue.","1635628424":"An envelope with your name and address.","1636605481":"Platform settings","1636782601":"Multipliers","1638321777":"Your demo account balance is low. Reset your balance to continue trading from your demo account.","1639262461":"Pending withdrawal request:","1639304182":"Please click on the link in the email to reset your password.","1641395634":"Last digits list","1641635657":"New proof of identity document needed","1641980662":"Salutation is required.","1644636153":"Transaction hash: <0>{{value}}","1644703962":"Looking for CFD accounts? Go to Trader's Hub","1644864436":"You’ll need to authenticate your account before requesting to become a professional client. <0>Authenticate my account","1644908559":"Digit code is required.","1647186767":"The bot encountered an error while running.","1648938920":"Netherlands 25","1649239667":"2. Under the Blocks menu, you'll see a list of categories. Blocks are grouped within these categories. Choose the block you want and drag them to the workspace.","1650963565":"Introducing Wallets","1651513020":"Display remaining time for each interval","1651951220":"Repeats like \"abcabcabc\" are only slightly harder to guess than \"abc\"","1652366857":"get and remove","1652968048":"Define your trade options such as multiplier and stake.","1652976865":"In this example, this block is used with another block to get the open prices from a list of candles. The open prices are then assigned to the variable called \"cl\".","1653136377":"copied!","1653180917":"We cannot verify you without using your camera","1653999225":"Forex: major/minor","1654365787":"Unknown","1654529197":"Purchase condition","1654721858":"Upload anyway","1655372864":"Your contract will expire on this date (in GMT), based on the end time you’ve selected.","1655627840":"UPPER CASE","1656155124":"Resend in <0 /> seconds","1658954996":"Plant and Machine Operators and Assemblers","1659074761":"Reset Put","1659352235":"Add your Deriv MT5 CFDs account under Deriv Investments (Europe) Limited, regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156).","1665272539":"Remember: You cannot log in to your account until the selected date.","1665718170":"The document must contain a letterhead.","1665738338":"Balance","1665756261":"Go to live chat","1668138872":"Modify account settings","1669062316":"The payout at expiry is equal to the payout per pip multiplied by the difference, <0>in pips, between the final price and the strike price.","1670016002":"Multiplier: {{ multiplier }}","1670426231":"End Time","1671232191":"You have set the following limits:","1675030608":"To create this account first we need you to resubmit your proof of address.","1676549796":"Dynamic Leverage","1677027187":"Forex","1679743486":"1. Go to Quick strategy and select the strategy you want.","1680666439":"Upload your bank statement showing your name, account number, and transaction history.","1681765749":"Martingale formula 2","1682409128":"Untitled Strategy","1682636566":"Resend email in","1683963454":"Your contract will be closed automatically at the next available asset price on {{date}} at {{timestamp}}.","1684419981":"What's this?","1686800117":"{{error_msg}}","1689103988":"Second Since Epoch","1689258195":"We were unable to verify your address with the details you provided. Please check and resubmit or choose a different document type.","1690746575":"Enhance your trading experience by upgrading your <0>{{platform}} {{type_1}} <1/>and <0>{{type_2}} {{from_account}} account(s).","1691335819":"To continue trading with us, please confirm who you are.","1691536201":"If you choose your duration in number of ticks, you won’t be able to terminate your contract early.","1691765860":"- Negation","1692912479":"Deriv MT5, Deriv X","1693614409":"Start time","1694517345":"Enter a new email address","1696190747":"Trading inherently involves risks, and actual profits can fluctuate due to various factors, including market volatility and other unforeseen variables. As such, exercise caution and conduct thorough research before engaging in any trading activities.","1698624570":"2. Hit Ok to confirm.","1699606318":"You've reached the limit of uploading your documents.","1700233813":"Transfer from {{selected_value}} is not allowed, Please choose another account from dropdown","1701447705":"Please update your address","1702339739":"Common mistakes","1703091957":"We collect information about your employment as part of our due diligence obligations, as required by anti-money laundering legislation.","1703712522":"Your payout is equal to the payout per pip multiplied by the difference, <0>in pips, between the final price and the strike price.","1704656659":"How much experience do you have in CFD trading?","1708413635":"For your {{currency_name}} ({{currency}}) account","1709859601":"Exit Spot Time","1711013665":"Anticipated account turnover","1711016273":"<0>This may take up to 2 minutes. During this time, some services may be unavailable.","1711676335":"square root","1711929663":"Your funds have been transferred","1712357617":"Invalid email address.","1713633297":"3. If the second trade is also successful, your stake will adjust to 2 USD or 2 units of the initial stake for the next trade.","1714255392":"To enable withdrawals, please complete your financial assessment.","1715011380":"Jump 25 Index","1715630945":"Returns the total profit in string format","1715680813":"Your contract will expire at exactly 23:59:59 GMT +0 on your selected expiry date.","1717023554":"Resubmit documents","1717474982":"CFDs on financial and derived instruments via a customisable platform.","1720451994":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv fiat and Deriv cryptocurrency accounts.","1720968545":"Upload passport photo page from your computer","1722056905":"The document you provided is not supported for your country. Please provide a supported document for your country.","1722888575":"{{mt5_migration_error}}","1723069433":"Your new Wallet","1723589564":"Represents the maximum number of outstanding contracts in your portfolio. Each line in your portfolio counts for one open position. Once the maximum is reached, you will not be able to open new positions without closing an existing position first.","1724367774":"You can make a funds transfer once the verification of your account is complete.","1724696797":"You are limited to one fiat account only.","1725958461":"Account number","1726472773":"Function with no return value","1726565314":"Close my account","1728183781":"About Tether","1729145421":"Risk warning","1731747596":"The block(s) highlighted in red are missing input values. Please update them and click \"Run bot\".","1733711201":"Regulators/external dispute resolution","1734185104":"Balance: %1","1734264460":"Disclaimer","1734521537":"The document you provided appears to be two different types. Please try again or provide another document.","1736292549":"Update postal code","1737352280":"Bot.init is not called","1738094481":"<0>Duration: Ticks 1","1738611950":"About Reverse Martingale","1738681493":"Remove your glasses, if necessary","1739086943":"Wall Street 30","1739384082":"Unemployed","1739668049":"Close your account","1740371444":"Underlying market is not selected","1742256256":"Please upload one of the following documents:","1743448290":"Payment agents","1743679873":"If you select <0>\"Call\", you’ll earn a <1>payout if the <1>final price is above the <1>strike price at <1>expiry. Otherwise, you won’t receive a payout.","1743902050":"Complete your financial assessment","1744509610":"Just drag the XML file from your computer onto the workspace, and your bot will be loaded accordingly. Alternatively, you can hit Import in Bot Builder, and choose to import your bot from your computer or from your Google Drive.","1745523557":"- Square root","1746051371":"Download the app","1746273643":"Moving Average Convergence Divergence","1747501260":"Sell conditions","1747674345":"Please use `.` as a decimal separator for fractional numbers.","1747682136":"Contract was cancelled.","1748754976":"Run","1753082252":"This article explores the strategy integrated into Deriv Bot, a versatile trading bot designed to trade assets such as Forex, Commodities, and Derived Indices. We will delve into the strategy's core parameters, its application, and provide essential takeaways for traders looking to use the bot effectively.","1753183432":"We take all complaints seriously and aim to resolve them as quickly and fairly as possible. If you are unhappy with any aspect of our service, please let us know by submitting a complaint using the guidance below:","1753226544":"remove","1753975551":"Upload passport photo page","1754256229":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts, up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts, up to {{ allowed_ctrader }} transfers between your Deriv and {{platform_name_ctrader}} accounts, and up to {{ allowed_dxtrade }} transfers between your Deriv and {{platform_name_dxtrade}} accounts.","1756678453":"break out","1758386013":"Do not get lured to fake \"Deriv\" pages!","1761038852":"Let’s continue with providing proofs of address and identity.","1761254001":"A number","1761762171":"Restart last trade on error (bot ignores the unsuccessful trade): {{ checkbox }}","1762707297":"Phone number","1763123662":"Upload your NIMC slip.","1766212789":"Server maintenance starts at 06:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.","1766993323":"Only letters, numbers, and underscores are allowed.","1768293340":"Contract value","1768861315":"Minute","1768918213":"Only letters, space, hyphen, period, and apostrophe are allowed.","1769068935":"Choose any of these exchanges to buy cryptocurrencies:","1770041368":"Experience safer logins","1771037549":"Add a Deriv real account","1771592738":"Conditional block","1772396880":"The date of birth on your document doesn’t match your profile.","1777847421":"This is a very common password","1778893716":"Click here","1779144409":"Account verification required","1779519903":"Should be a valid number.","1779801832":"Please update your password accordingly.","1779872677":"Download e-book","1780442963":"Scan the QR code to download {{ platform }}.","1780770384":"This block gives you a random fraction between 0.0 to 1.0.","1782308283":"Quick strategy","1782395995":"Last Digit Prediction","1782690282":"Blocks menu","1782703044":"Sign up","1783526986":"How do I build a trading bot?","1783740125":"Upload your selfie","1785298924":"D’Alembert formula 1","1786644593":"Supported formats: JPEG, JPG, PNG, PDF, and GIF only","1787492950":"Indicators on the chart tab are for indicative purposes only and may vary slightly from the ones on the {{platform_name_dbot}} workspace.","1788515547":"<0/>For more information on submitting a complaint with the Office of the Arbiter for Financial Services, please <1>see their guidance.","1788966083":"01-07-1999","1789273878":"Payout per point","1789497185":"Make sure your passport details are clear to read, with no blur or glare","1791432284":"Search for country","1791971912":"Recent","1792037169":"To avoid delays, enter your <0>name and <0>date of birth exactly as they appear on your {{document_name}}.","1793913365":"To deposit money, please switch to your {{currency_symbol}} account.","1794815502":"Download your transaction history.","1796787905":"Please upload the following document(s).","1798943788":"You can only make deposits.","1801093206":"Get candle list","1801270786":"Ready to automate your trading strategy without writing any code? You’ve come to the right place.","1801927731":"{{platform_name_dxtrade}} accounts","1803338729":"Choose what type of contract you want to trade. For example, for the Rise/Fall trade type you can choose one of three options: Rise, Fall, or Both. Selected option will determine available options for the Purchase block.","1804620701":"Expiration","1804789128":"{{display_value}} Ticks","1806017862":"Max. ticks","1808058682":"Blocks are loaded successfully","1808867555":"This block uses the variable “i” to control the iterations. With each iteration, the value of “i” is determined by the items in a given list.","1810217569":"Please refresh this page to continue.","1811109068":"Jurisdiction","1811138041":"Enter a value from {{ value }} to 9.","1811343027":"2. Select your Martingale multiplier. In this example, it is 2.","1811972349":"Market","1811973475":"Returns a specific character from a given string","1812006199":"Identity verification","1812582011":"Connecting to server","1813700208":"Boom 300 Index","1813958354":"Remove comment","1815034361":"alphabetic","1815905959":"DTrader, DBot, SmartTrader, and Binary Bot","1815995250":"Buying contract","1817154864":"This block gives you a random number from within a set range.","1820242322":"e.g. United States","1820332333":"Top up","1821818748":"Enter Driver License Reference number","1823177196":"Most popular","1824193700":"This block gives you the last digit of the latest tick value.","1824292864":"Call","1827607208":"File not uploaded.","1828370654":"Onboarding","1830520348":"{{platform_name_dxtrade}} Password","1831847842":"I confirm that the name and date of birth above match my chosen identity document (see below)","1833499833":"Proof of identity documents upload failed","1836767074":"Search payment agent name","1837762008":"Please submit your proof of identity and proof of address to verify your account in your account settings to access the cashier.","1839021527":"Please enter a valid account number. Example: CR123456789","1840721160":"Deriv MT5 latest password requirements","1840865068":"set {{ variable }} to Simple Moving Average Array {{ dummy }}","1841788070":"Palladium/USD","1841996888":"Daily loss limit","1842266423":"back","1843336754":"Select document","1843658716":"If you select \"Only Downs\", you win the payout if consecutive ticks fall successively after the entry spot. No payout if any tick rises or is equal to any of the previous ticks.","1845598565":"The second session concludes upon reaching the aim of one unit of potential profit per session, equivalent to 1 USD. If trading continues, a new session will commence again.","1845892898":"(min: {{min_stake}} - max: {{max_payout}})","1846266243":"This feature is not available for demo accounts.","1846587187":"You have not selected your country of residence","1846588117":"Your contract will be closed automatically when your loss reaches {{stop_out_percentage}}% of your stake.","1849484058":"Any unsaved changes will be lost.","1850031313":"- Low: the lowest price","1850132581":"Country not found","1850659345":"- Payout: the payout of the contract","1851052337":"Place of birth is required.","1851776924":"upper","1854480511":"Cashier is locked","1854874899":"Back to list","1854909245":"Multiplier:","1855566768":"List item position","1856485118":"Please <0>resubmit your proof of address to transfer funds between MT5 and Deriv accounts.","1856755117":"Pending action required","1858251701":"minute","1859308030":"Give feedback","1861688160":"Deposit, transfer, trade","1863053247":"Please upload your identity document.","1863731653":"To receive your funds, contact the payment agent","1865525612":"No recent transactions.","1866244589":"The entry spot is the first tick for High/Low Ticks.","1866811212":"Deposit in your local currency via an authorised, independent payment agent in your country.","1867217564":"Index must be a positive integer","1867783237":"High-to-Close","1869315006":"See how we protect your funds to unlock the cashier.","1869486036":"You receive a <0>payout at <0>expiry if the spot price never touches or breaches the <0>barrier during the contract period. If it does, your contract will be terminated early.","1869787212":"Even","1870933427":"Crypto","1871196637":"True if the result of the last trade matches the selection","1871377550":"Do you offer pre-built trading bots on Deriv Bot?","1871664426":"Note","1873376454":"This is a price level that you choose. If this barrier is ever crossed, your contract would be terminated.","1874481756":"Use this block to purchase the specific contract you want. You may add multiple Purchase blocks together with conditional blocks to define your purchase conditions. This block can only be used within the Purchase conditions block.","1874737957":"To trade multipliers, get a Deriv Apps account first.","1874756442":"BVI","1875702561":"Load or build your bot","1876015808":"Social Security and National Insurance Trust","1876325183":"Minutes","1876333357":"Tax Identification Number is invalid.","1877225775":"Your proof of address is verified","1877832150":"# from end","1878172674":"No, we don't. However, you'll find quick strategies on Deriv Bot that'll help you build your own trading bot for free.","1878189977":"The Martingale strategy involves increasing your stake after each loss to recoup prior losses with a single successful trade.","1879042430":"Appropriateness Test, WARNING:","1879412976":"Profit amount: <0>{{profit}}","1879651964":"<0>Pending verification","1880029566":"Australian Dollar","1880097605":"prompt for {{ string_or_number }} with message {{ input_text }}","1880227067":"Submit passport photo pages","1880377568":"An example of D’Alembert strategy","1880875522":"Create \"get %1\"","1881018702":"hour","1881380263":"Total assets in your account.","1881587673":"Total stake since you last cleared your stats.","1882825238":"Restart trading conditions","1883531976":"Clerks","1885708031":"#","1887257727":"R is the number of rounds a trader can sustain given a specific loss threshold.","1887925280":"The document must be recent and include your name and address:","1889357660":"Enter a value in minutes, up to 60480 minutes (equivalent to 6 weeks).","1890171328":"By clicking Accept below and proceeding with the Account Opening you should note that you may be exposing yourself to risks (which may be significant, including the risk of loss of the entire sum invested) that you may not have the knowledge and experience to properly assess or mitigate.","1890332321":"Returns the number of characters of a given string of text, including numbers, spaces, punctuation marks, and symbols.","1893869876":"(lots)","1894667135":"Please verify your proof of address","1896269665":"CFDs on derived and financial instruments.","1899898605":"Maximum size: 8MB","1902547203":"MetaTrader 5 MacOS app","1903437648":"Blurry photo detected","1904665809":"The Reverse Martingale strategy in trading may offer substantial gains but also comes with significant risks. With your selected strategy, Deriv Bot provides automated trading with risk management measures like setting initial stake, stake size, maximum stake, profit threshold and loss threshold. It's crucial for traders to assess their risk tolerance, practice in a demo account, and understand the strategy before trading with real money.","1905032541":"We're now ready to verify your identity","1905589481":"If you want to change your account currency, please contact us via <0>live chat.","1906213000":"Our system will finish any Deriv Bot trades that are running, and Deriv Bot will not place any new trades.","1906639368":"If this is the first time you try to create a password, or you have forgotten your password, please reset it.","1907423697":"Earn more with Deriv API","1908023954":"Sorry, an error occurred while processing your request.","1908239019":"Make sure all of the document is in the photo","1908686066":"Appropriateness Test Warning","1909647105":"TRX/USD","1909769048":"median","1913777654":"Switch account","1914014145":"Today","1914270645":"Default Candle Interval: {{ candle_interval_type }}","1914725623":"Upload the page that contains your photo.","1916129921":"Reverse Martingale","1917178459":"Bank Verification Number","1917523456":"This block sends a message to a Telegram channel. You will need to create your own Telegram bot to use this block.","1918796823":"Please enter a stop loss amount.","1918832194":"No experience","1919030163":"Tips to take a good selfie","1919296368":"2. Select your unit. In this example, it is 2 units or 2 USD.","1919594496":"{{website_name}} is not affiliated with any payment agents. Customers deal with payment agents at their sole risk. Customers are advised to check the credentials of payment agents and the accuracy of any information about payment agents (on {{website_name}} or elsewhere) before using their services.","1919694313":"To start trading, transfer funds from your Deriv account into this account.","1920217537":"Compare","1920468180":"How to use the SMA block","1921914669":"Deposit with Deriv P2P","1922529883":"Boom 1000 Index","1922955556":"Use a longer keyboard pattern with more turns","1924365090":"Maybe later","1924765698":"Place of birth*","1928930389":"GBP/NOK","1929694162":"Compare accounts","1930899934":"Tether","1931659123":"Run on every tick","1931884033":"It seems that your date of birth in the document is not the same as your Deriv profile. Please update your date of birth in the <0>Personal details page to solve this issue.","1934450653":"For <0>Contract type, set it to Both.","1938327673":"Deriv {{platform}} <0>{{is_demo}}","1939014728":"How do I remove blocks from the workspace?","1939902659":"Signal","1940408545":"Delete this token","1941915555":"Try later","1943440862":"Calculates Bollinger Bands (BB) list from a list with a period","1944204227":"This block returns current account balance.","1947527527":"1. This link was sent by you","1948092185":"GBP/CAD","1949719666":"Here are the possible reasons:","1950413928":"Submit identity documents","1955219734":"Town/City*","1957759876":"Upload identity document","1958788790":"This is the amount you’ll receive at expiry for every point of change in the underlying price, if the spot price never touches or breaches the barrier throughout the contract duration.","1958807602":"4. 'Table' takes an array of data, such as a list of candles, and displays it in a table format.","1959678342":"Highs & Lows","1960240336":"first letter","1964165648":"Connection lost","1965916759":"Asian options settle by comparing the last tick with the average spot over the period.","1966023998":"2FA enabled","1966281100":"Console {{ message_type }} value: {{ input_message }}","1968025770":"Bitcoin Cash","1968077724":"Agriculture","1968368585":"Employment status","1970060713":"You’ve successfully deleted a bot.","1971898712":"Add or manage account","1973536221":"You have no open positions yet.","1973910243":"Manage your accounts","1974273865":"This scope will allow third-party apps to view your account activity, settings, limits, balance sheets, trade purchase history, and more.","1974903951":"If you hit Yes, the info you entered will be lost.","1978218112":"Google Authenticator","1981940238":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_v}}.","1982790875":"Upgrade your <0/><1>{{account_title}} {{platform}} account(s)","1982796981":"Declarations","1982912252":"Relative Strength Index (RSI) from a list with a period","1983001416":"Define your trade options such as multiplier and stake. This block can only be used with the multipliers trade type. If you select another trade type, this block will be replaced with the Trade options block.","1983358602":"This policy, which may change from time to time, applies to your account registered with {{legal_entity_name}}.","1983387308":"Preview","1983480826":"Sign in","1983544897":"P.O. Box is not accepted in address","1983676099":"Please check your email for details.","1984700244":"Request an input","1984742793":"Uploading documents","1985366224":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts and up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts.","1985637974":"Any blocks placed within this block will be executed at every tick. If the default candle interval is set to 1 minute in the Trade Parameters root block, the instructions in this block will be executed once every minute. Place this block outside of any root block.","1986322868":"When your loss reaches or exceeds this amount, your trade will be closed automatically.","1986498784":"BTC/LTC","1987080350":"Demo","1987447369":"Your cashier is locked","1988153223":"Email address","1988302483":"Take profit:","1990331072":"Proof of ownership","1990735316":"Rise Equals","1991055223":"View the market price of your favourite assets.","1991448657":"Don't know your tax identification number? Click <0>here to learn more.","1991524207":"Jump 100 Index","1994023526":"The email address you entered had a mistake or typo (happens to the best of us).","1994558521":"The platforms aren’t user-friendly.","1994600896":"This block requires a list of candles as an input parameter.","1995023783":"First line of address*","1996767628":"Please confirm your tax information.","1997138507":"If the last tick is equal to the average of the ticks, you don't win the payout.","1997313835":"Your stake will continue to grow as long as the current spot price remains within a specified <0>range from the <0>previous spot price. Otherwise, you lose your stake and the trade is terminated.","1999213036":"Enhanced security is just a tap away.","1999346412":"For faster verification, input the same address here as in your proof of address document (see section below)","2001222130":"Check your spam or junk folder. If it's not there, try resending the email.","2001361785":"1. Start with the initial stake. Let’s say 1 USD.","2004052487":"Estimating the lifespan of your trades","2007028410":"market, trade type, contract type","2010759971":"Uploads successful","2010866561":"Returns the total profit/loss","2011609940":"Please input number greater than 0","2011808755":"Purchase Time","2012139674":"Android: Google password manager.","2014536501":"Card number","2014590669":"Variable '{{variable_name}}' has no value. Please set a value for variable '{{variable_name}}' to notify.","2017672013":"Please select the country of document issuance.","2018044371":"Multipliers let you trade with leverage and limit your risk to your stake. <0>Learn more","2019596693":"The document was rejected by the Provider.","2020545256":"Close your account?","2021037737":"Please update your details to continue.","2021161151":"Watch this video to learn how to build a trading bot on Deriv Bot. Also, check out this blog post on building a trading bot.","2023546580":"Your account will be available for trading once the verification of your account is complete.","2023659183":"Student","2023762268":"I prefer another trading website.","2025339348":"Move away from direct light — no glare","2027441253":"Why do we collect this?","2027625329":"Simple Moving Average Array (SMAA)","2027638150":"Upgrade","2027696535":"Tax information","2028163119":"EOS/USD","2029237955":"Labuan","2030018735":"RSI is a technical analysis tool that helps you identify the market trend. It will give you a value from 0 to 100. An RSI value of 70 and above means that the asset is overbought and the current trend may reverse, while a value of 30 and below means that the asset is oversold.","2030045667":"Message","2033648953":"This block gives you the specified candle value for a selected time interval.","2034803607":"You must be 18 years old and above.","2035258293":"Start trading with us","2035925727":"sort {{ sort_type }} {{ sort_direction }} {{ input_list }}","2036578466":"Should be {{value}}","2037665157":"Expand All Blocks","2037906477":"get sub-list from #","2038562422":"TIN is required.","2039198937":"Maximum stake: The maximum amount you are willing to pay to enter a single trade. The stake for your next trade will reset to the initial stake if it exceeds this value. This is an optional risk management parameter.","2042023623":"We’re reviewing your documents. This should take about 5 minutes.","2042050260":"- Purchase price: the purchase price (stake) of the contract","2042115724":"Upload a screenshot of your account and personal details page with your name, account number, phone number, and email address.","2044086432":"The close is the latest tick at or before the end time. If you selected a specific end time, the end time is the selected time.","2046273837":"Last tick","2046577663":"Import or choose your bot","2048110615":"Email address*","2048134463":"File size exceeded.","2049386104":"We need you to submit these in order to get this account:","2050170533":"Tick list","2051558666":"View transaction history","2052022586":"To enhance your MT5 account security we have upgraded our password policy.","2054889300":"Create \"%1\"","2055317803":"Copy the link to your mobile browser","2056369950":"<0>To complete your Wallet setup, log out and then log in again.","2057082550":"Accept our updated <0>terms and conditions","2057419639":"Exit Spot","2059365224":"Yes, you can get started with a pre-built bot using the Quick strategy feature. You’ll find some of the most popular trading strategies here: Martingale, D'Alembert, and Oscar's Grind. Just select the strategy, enter your trade parameters, and your bot will be created for you. You can always tweak the parameters later.","2059753381":"Why did my verification fail?","2060873863":"Your order {{order_id}} is complete","2062912059":"function {{ function_name }} {{ function_params }}","2063812316":"Text Statement","2063815003":"Ready to enable Wallets","2063890788":"Cancelled","2066978677":"{{formatted_opening_time}} (GMT) on {{opening_day}},<0 /> {{opening_date}}.","2067903936":"Driving licence","2070002739":"Don’t accept","2070345146":"When opening a leveraged CFD trade.","2070518923":"Import your bot or tap Quick Strategies to choose from the ready-to-use bot templates.","2070752475":"Regulatory Information","2070858497":"Your document appears to be a screenshot.","2071043849":"Browse","2074207096":"How to create a passkey?","2074235904":"Last name is required.","2074497711":"The Telegram notification could not be sent","2074713563":"4.2. Submission of a complaint","2079925695":"Unit: The number of units that are added in the event of a trade resulting in loss or the number of units removed in the event of a trade resulting in profit. For example, if the unit is set at 2, the stake increases or decreases by two times the initial stake of 1 USD, meaning it changes by 2 USD.","2080553498":"3. Get the chat ID using the Telegram REST API (read more: https://core.telegram.org/bots/api#getupdates)","2080829530":"Sold for: {{sold_for}}","2081622549":"Must be a number higher than {{ min }}","2082533832":"Yes, delete","2084693624":"Converts a string representing a date/time string into seconds since Epoch. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825. Time and time zone offset are optional.","2085387371":"Must be numbers, letters, and special characters . , ' -","2085602195":"- Entry value: the value of the first tick of the contract","2086048243":"Certificate of incorporation","2086792088":"Both barriers should be relative or absolute","2088735355":"Your session and login limits","2089087110":"Basket indices","2089395053":"Unit","2089581483":"Expires on","2090650973":"The spot price may change by the time your order reaches our servers. When this happens, your payout may be affected.","2091671594":"Status","2093675079":"- Close: the closing price","2096014107":"Apply","2096456845":"Date of birth*","2096603244":"Derived - Vanuatu","2097170986":"About Tether (Omni)","2097381850":"Calculates Simple Moving Average line from a list with a period","2097815211":"Number of rounds (R) = 10","2097932389":"Upload 2 separate screenshots from the personal details page and the account page via <0>https://app.astropay.com/profile","2099488590":"Changes to your Deriv MT5 login","2100713124":"account","2100912278":"4. If a trade ends in a loss, the stake for the following trade will be reset to the initial stake amount of 1 USD.","2101972779":"This is the same as the above example, using a tick list.","2102572780":"Length of digit code must be 6 characters.","2104115663":"Last login","2104364680":"Please switch to your demo account to run your Deriv Bot.","2104397115":"Please go to your account settings and complete your personal details to enable deposits and withdrawals.","2107381257":"Scheduled cashier system maintenance","2107882050":"The back of your document appears to be missing. Please include both sides of your identity document.","2110365168":"Maximum number of trades reached","2111015970":"This block helps you check if your contract can be sold. If your contract can be sold, it returns “True”. Otherwise, it returns an empty string.","2111528352":"Creating a variable","2112119013":"Take a selfie showing your face","2112175277":"with delimiter","2113321581":"Add a Deriv Gaming account","2114766645":"Some trade types are unavailable for {{symbol}}.","2115223095":"Loss","2117165122":"1. Create a Telegram bot and get your Telegram API token. Read more on how to create bots in Telegram here: https://core.telegram.org/bots#6-botfather","2117489390":"Auto update in {{ remaining }} seconds","2118292085":"<0>Note: You’ll receive an email when your deposit starts being processed.","2119449126":"Example output of the below example will be:","2119710534":"FAQ","2121227568":"NEO/USD","2122152120":"Assets","2127564856":"Withdrawals are locked","2128919448":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price. We won’t offer a contract value if the remaining duration is below 15 seconds or if the contract duration is in ticks.","2129807378":"Update profile","2133075559":"This means after 10 rounds of consecutive losses, this trader will lose 100 USD. This reaches the loss threshold of 100 USD, stopping the bot.","2133451414":"Duration","2133470627":"This block returns the potential payout for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","2135563258":"Forex trading frequency","2136246996":"Selfie uploaded","2136480755":"Some details in your document appear to be invalid, missing, or unclear.","2137901996":"This will clear all data in the summary, transactions, and journal panels. All counters will be reset to zero.","2137993569":"This block compares two values and is used to build a conditional structure.","2138861911":"Scans and photocopies are not accepted","2139171480":"Reset Up/Reset Down","2139362660":"left side","2141055709":"New {{type}} password","2143803283":"Purchase Error","2144609616":"If you select \"Reset-Down”, you win the payout if the exit spot is strictly lower than either the entry spot or the spot at reset time.","2145690912":"Income Earning","2145995536":"Create new account","2146336100":"in text %1 get %2","2146698770":"Pro tip: You can also click and drag out the desired block","2146892766":"Binary options trading experience","2147244655":"How do I import my own trading bot into Deriv Bot?","-931052769":"Submit verification","-1004605898":"Tips","-1938142055":"Documents uploaded","-448090287":"The link only works on mobile devices","-1244287721":"Something's gone wrong","-241258681":"You'll need to restart your verification on your computer","-929254273":"Get secure link","-2021867851":"Check back here to finish the submission","-1547069149":"Open the link and complete the tasks","-1767652006":"Here's how to do it:","-277611959":"You can now return to your computer to continue","-724178625":"Make sure full document is visible","-1519380038":"Glare detected","-1895280620":"Make sure your card details are clear to read, with no blur or glare","-1464447919":"Make sure your permit details are clear to read, with no blur or glare","-1436160506":"Make sure details are clear to read, with no blur or glare","-759124288":"Close","-759118956":"Redo","-753375398":"Enlarge image","-1042933881":"Driver's license","-1503134764":"Face photo page","-1335343167":"Sorry, no mobile phone bills","-699045522":"Documents you can use to verify your identity","-543666102":"It must be an official photo ID","-903877217":"These are the documents most likely to show your current home address","-1356835948":"Choose document","-1364375936":"Select a %{country} document","-401586196":"or upload photo – no scans or photocopies","-3110517":"Take a photo with your phone","-2033894027":"Submit identity card (back)","-20684738":"Submit license (back)","-1359585500":"Submit license (front)","-106779602":"Submit residence permit (back)","-1287247476":"Submit residence permit (front)","-1954762444":"Restart the process on the latest version of Safari","-261174676":"Must be under 10MB.","-685885589":"An error occurred while loading the component","-502539866":"Your face is needed in the selfie","-1377968356":"Please try again","-1226547734":"Try using a JPG or PNG file","-849068301":"Loading...","-1730346712":"Loading","-1849371752":"Check that your number is correct","-309848900":"Copy","-1424436001":"Send link","-1093833557":"How to scan a QR code","-1408210605":"Point your phone’s camera at the QR code","-1773802163":"If it doesn’t work, download a QR code scanner from Google Play or the App Store","-109026565":"Scan QR code","-1644436882":"Get link via SMS","-1667839246":"Enter mobile number","-1533172567":"Enter your mobile number:","-1352094380":"Send this one-time link to your phone","-28974899":"Get your secure link","-359315319":"Continue","-826420669":"Make sure","-1279080293":"2. Your desktop window stays open","-102776692":"Continue with the verification","-89152891":"Take a photo of the back of your card","-1646367396":"Take a photo of the front of your card","-1350855047":"Take a photo of the front of your license","-2119367889":"Take a photo using the basic camera mode instead","-342915396":"Take a photo","-419040068":"Passport photo page","-1354983065":"Refresh","-1925063334":"Recover camera access to continue face verification","-54784207":"Camera access is denied","-1392699864":"Allow camera access","-269477401":"Provide the whole document page for best results","-864639753":"Upload back of card from your computer","-1309771027":"Upload front of license from your computer","-1722060225":"Take photo","-565732905":"Selfie","-1703181240":"Check that it is connected and functional. You can also continue verification on your phone","-2043114239":"Camera not working?","-2029238500":"It may be disconnected. Try using your phone instead.","-468928206":"Make sure your device's camera works","-466246199":"Camera not working","-698978129":"Remember to press stop when you're done. Redo video actions","-538456609":"Looks like you took too long","-781816433":"Photo of your face","-1471336265":"Make sure your selfie clearly shows your face","-1375068556":"Check selfie","-1914530170":"Face forward and make sure your eyes are clearly visible","-776541617":"We'll compare it with your document","-478752991":"Your link will expire in one hour","-1859729380":"Keep this window open while using your mobile","-1283761937":"Resend link","-629011256":"Don't refresh this page","-1005231905":"Once you've finished we'll take you to the next step","-542134805":"Upload photo","-1462975230":"Document example","-1472844935":"The photo should clearly show your document","-1120954663":"First name*","-1659980292":"First name","-962979523":"Your {{ field_name }} as in your identity document","-1416797980":"Please enter your {{ field_name }} as in your official identity documents.","-1466268810":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your <0>account settings.","-32386760":"Name","-766265812":"first name","-1857534296":"John","-1282749116":"last name","-1485480657":"Other details","-1784741577":"date of birth","-1702919018":"Second line of address (optional)","-1315410953":"State/Province","-2040322967":"Citizenship","-344715612":"Employment status*","-1543016582":"I hereby confirm that the tax information I provided is true and complete. I will also inform {{legal_entity_name}} about any changes to this information.","-946282997":"Additional information","-1315571766":"Place of birth","-789291456":"Tax residence*","-1692219415":"Tax residence","-1903720068":"The country in which you meet the criteria for paying taxes. Usually the country in which you physically reside.","-651516152":"Tax Identification Number","-1387062433":"Account opening reason","-222283483":"Account opening reason*","-583925597":"For verification purposes as required by regulation. It’s your responsibility to provide accurate and complete answers. You can update personal details at any time in your account settings.","-1113902570":"Details","-71696502":"Previous","-1541554430":"Next","-307865807":"Risk Tolerance Warning","-690100729":"Yes, I understand the risk.","-2010628430":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, you must confirm that you understand your capital is at risk.","-863770104":"Please note that by clicking ‘OK’, you may be exposing yourself to risks. You may not have the knowledge or experience to properly assess or mitigate these risks, which may be significant, including the risk of losing the entire sum you have invested.","-684271315":"OK","-1292808093":"Trading Experience","-153346659":"Upload your selfie.","-602131304":"Passport number","-1051213440":"Upload the front and back of your identity card.","-1600807543":"First, enter your identity card number and the expiry date.","-1139923664":"Next, upload the front and back of your identity card.","-783705755":"Upload the front of your identity card.","-566750665":"NIMC slip and proof of age","-1465944279":"NIMC slip number","-429612996":"Next, upload both of the following documents.","-376981174":"Upload your proof of age: birth certificate or age declaration document.","-612174191":"First line of address is required","-242734402":"Only {{max}} characters, please.","-378415317":"State is required","-1784470716":"State is not in a proper format","-1699820408":"Please enter a {{field_name}} under {{max_number}} characters.","-1575567374":"postal/ZIP code","-816263501":"Only letters, numbers, space and hyphen are allowed.","-755626951":"Complete your address details","-1024240099":"Address","-1534917661":"Select your preferred currency","-1027595143":"Less than $25,000","-40491332":"$25,000 - $50,000","-1139806939":"$50,001 - $100,000","-996132458":"Construction","-915003867":"Health","-1430012453":"Information & Communications Technology","-987824916":"Science & Engineering","-146630682":"Social & Cultural","-761306973":"Manufacturing","-1631552645":"Professionals","-474864470":"Personal Care, Sales and Service Workers","-1129355784":"Agricultural, Forestry and Fishery Workers","-1242914994":"Craft, Metal, Electrical and Electronics Workers","-1317824715":"Cleaners and Helpers","-1592729751":"Mining, Construction, Manufacturing and Transport Workers","-1030759620":"Government Officers","-2137323480":"Company Ownership","-1590574533":"Divorce Settlement","-1667683002":"Inheritance","-1237843731":"Investment Income","-777506574":"Sale of Property","-654781670":"Primary","-1717373258":"Secondary","-1156937070":"$500,001 - $1,000,000","-315534569":"Over $1,000,000","-2068544539":"Salaried Employee","-531314998":"Investments & Dividends","-1235114522":"Pension","-1298056749":"State Benefits","-449943381":"Savings & Inheritance","-477761028":"Voter ID","-1466346630":"CPF","-1161338910":"First name is required.","-1161818065":"Last name should be between 2 and 50 characters.","-1281693513":"Date of birth is required.","-26599672":"Citizenship is required","-912174487":"Phone is required.","-673765468":"Letters, numbers, spaces, periods, hyphens and forward slashes only.","-212167954":"Tax Identification Number is not properly formatted.","-1823540512":"Personal details","-1227878799":"Speculative","-1174064217":"Mr","-855506127":"Ms","-204765990":"Terms of use","-189310067":"Account closed","-849320995":"Assessments","-773766766":"Email and passwords","-1144318594":"Passkeys","-1466827732":"Self exclusion","-1498206510":"Account limits","-241588481":"Login history","-966136867":"Connected apps","-213009361":"Two-factor authentication","-526636259":"Error 404","-739367071":"Employed","-626752657":"0-1 year","-532014689":"1-2 years","-1001024004":"Over 3 years","-790513277":"6-10 transactions in the past 12 months","-580085300":"11-39 transactions in the past 12 months","-1458676679":"You should enter 2-50 characters.","-1116008222":"You should enter 9-35 numbers.","-1995979930":"First line of address is required.","-703454156":"Please enter a Postal/ZIP code under 20 characters.","-2113555886":"Only letters, numbers, space, and hyphen are allowed.","-1103497546":"Tax return","-700600899":"Business proof of address","-1073862586":"Memorandum","-1823328095":"Authorization letter","-397487797":"Enter your full card number","-1376950117":"That file format isn't supported. Please upload .pdf, .png, .jpg, or .jpeg files only.","-612752984":"These are default limits that we apply to your accounts.","-1411635770":"Learn more about account limits","-1340125291":"Done","-1101543580":"Limit","-858297154":"Represents the maximum amount of cash that you may hold in your account. If the maximum is reached, you will be asked to withdraw funds.","-976258774":"Not set","-1182362640":"Represents the maximum aggregate payouts on outstanding contracts in your portfolio. If the maximum is attained, you may not purchase additional contracts without first closing out existing positions.","-1781293089":"Maximum aggregate payouts on open positions","-1412690135":"*Any limits in your Self-exclusion settings will override these default limits.","-1598751496":"Represents the maximum volume of contracts that you may purchase in any given trading day.","-173346300":"Maximum daily turnover","-138380129":"Total withdrawal allowed","-1502578110":"Your account is fully authenticated and your withdrawal limits have been lifted.","-506122621":"Please take a moment to update your information now.","-1106259572":"Don't know your tax identification number? <1 />Click <0>here to learn more.","-252665911":"Place of birth{{required}}","-859814496":"Tax residence{{required}}","-237940902":"Tax Identification number{{required}}","-919191810":"Please fill in tax residence.","-270569590":"Intended use of account{{required}}","-2120290581":"Intended use of account is required.","-1662154767":"a recent utility bill (e.g. electricity, water, gas, landline, or internet), bank statement, or government-issued letter with your name and this address.","-594456225":"Second line of address","-1964954030":"Postal/ZIP Code","-516397235":"Be careful who you share this token with. Anyone with this token can perform the following actions on your account behalf","-989216986":"Add accounts","-617480265":"Delete token","-316749685":"Are you sure you want to delete this token?","-955038366":"Copy this token","-1668692965":"Hide this token","-1661284324":"Show this token","-1076138910":"Trade","-1666909852":"Payments","-488597603":"Trading information","-605778668":"Never","-1628008897":"Token","-1238499897":"Last Used","-1171226355":"Length of token name must be between {{MIN_TOKEN}} and {{MAX_TOKEN}} characters.","-1803339710":"Maximum {{MAX_TOKEN}} characters.","-408613988":"Select scopes based on the access you need.","-5605257":"This scope will allow third-party apps to withdraw to payment agents and make inter-account transfers for you.","-1373485333":"This scope will allow third-party apps to view your trading history.","-758221415":"This scope will allow third-party apps to open accounts for you, manage your settings and token usage, and more. ","-807767876":"Note:","-1117963487":"Name your token and click on 'Create' to generate your token.","-2005211699":"Create","-1652683689":"Please note that you can only have 1 fiat account.","-1146960797":"Fiat currencies","-1959484303":"Cryptocurrencies","-2087317410":"Oops, something went wrong.","-184202848":"Upload file","-370334393":"Click here to browse your files.","-863586176":"Drag and drop a file or click to browse your files.","-723198394":"File size should be 8MB or less","-1948369500":"File uploaded is not supported","-1040865880":"Drop files here..","-1100235269":"Industry of employment","-684388823":"Estimated net worth","-509054266":"Anticipated annual turnover","-1117345066":"Choose the document type","-1634507018":"Enter your {{document_name}}","-1237846864":"Verify again","-39187636":"{{index}}.","-337620257":"Switch to real account","-2120454054":"Add a real account","-38915613":"Unsaved changes","-2137450250":"You have unsaved changes. Are you sure you want to discard changes and leave this page?","-1067082004":"Leave Settings","-1982432743":"It appears that the address in your document doesn’t match the address\n in your Deriv profile. Please update your personal details now with the\n correct address.","-1451334536":"Continue trading","-251603364":"Your document for proof of address is expired. <0/>Please submit again.","-1425489838":"Proof of address verification not required","-1008641170":"Your account does not need address verification at this time. We will inform you if address verification is required in the future.","-60204971":"We could not verify your proof of address","-1944264183":"To continue trading, you must also submit a proof of identity.","-1088324715":"We’ll review your documents and notify you of its status within 1 - 3 working days.","-329713179":"Ok","-2145244263":"This field is required","-1500958859":"Verify","-839094775":"Back","-1813671961":"Your identity verification failed because:","-2097808873":"We were unable to verify your ID with the details you provided. ","-1652371224":"Your profile is updated","-504784172":"Your document has been submitted","-1391934478":"Your ID is verified. You will also need to submit proof of your address.","-118547687":"ID verification passed","-200989771":"Go to personal details","-1358357943":"Please check and update your postal code before submitting proof of identity.","-1401994581":"Your personal details are missing","-2004327866":"Please select a valid country of document issuance.","-1664159494":"Country","-1044962593":"Upload Document","-749870311":"Please contact us via <0>live chat.","-1084991359":"Proof of identity verification not required","-1981334109":"Your account does not need identity verification at this time. We will inform you if identity verification is required in the future.","-182918740":"Your proof of identity submission failed because:","-155705811":"A clear colour photo or scanned image","-246893488":"JPEG, JPG, PNG, PDF, or GIF","-1454880310":"Must be valid for at least 6 months","-1949501500":"First, enter your {{label}}.","-100534371":"Before uploading, please ensure that you’re facing forward in the selfie, your face is within the frame, and your eyes are clearly visible even if you’re wearing glasses.","-1529523673":"Confirm and upload","-705047643":"Sorry, an error occured. Please select another file.","-1664309884":"Tap here to upload","-1725454783":"Failed","-856213726":"You must also submit a proof of address.","-552371330":"We were unable to verify your income. <0 /> Please check the email we've sent you for further information.","-841187054":"Try Again","-978467455":"Limit reached","-361316523":"You have reached the maximum number of allowed attempts for submitting proof of income. <0 /> Please check the email we've sent you for further information.","-1785967427":"We'll review your documents and notify you of its status within 7 working days.","-987011273":"Your proof of ownership isn't required.","-808299796":"You are not required to submit proof of ownership at this time. We will inform you if proof of ownership is required in the future.","-179726573":"We’ve received your proof of ownership.","-813779897":"Proof of ownership verification passed.","-1389323399":"You should enter {{min_number}}-{{max_number}} characters.","-47815161":"Please include at least 1 special character such as ( _ @ ? ! / # ) in your password.","-1313806160":"Please request a new password and check your email for the new token.","-1598167506":"Success","-1077809489":"You have a new {{platform}} password to log in to your {{platform}} accounts on the web and mobile apps.","-1108813179":"You can use this password for all your Deriv MT5 accounts.","-2068479232":"{{platform}} password","-507633532":"Your password must contain between 8-16 characters that include uppercase and lowercase letters, and at least one number and special character such as ( _ @ ? ! / # ).","-1597186502":"Reset {{platform}} password","-638756912":"Black out digits 7 to 12 of the card number that’s shown on the front of your debit/credit card.⁤","-996691262":"We’ve introduced these limits to encourage <0>responsible trading. They are optional, and you can adjust them anytime.","-2079276011":"These limits apply to your multipliers trades only. For example, <0>maximum total loss refers to the losses on your multipliers trades.","-2116570030":"If you want to adjust your limits, <0>contact us via live chat. We’ll make the adjustments within 24 hours.","-1389915983":"You decide how much and how long to trade. You can take a break from trading whenever you want. This break can be from 6 weeks to 5 years. When it’s over, you can extend it or log in to resume trading. If you don’t want to set a specific limit, leave the field empty.","-1031814119":"About trading limits and self-exclusion","-183468698":"Trading limits and self-exclusion","-1088698009":"These self-exclusion limits help you control the amount of money and time you spend trading on {{platform_name_trader}}, {{platform_name_dbot}}, {{platform_name_smarttrader}} and {{platform_name_bbot}} on Deriv. The limits you set here will help you exercise <0>responsible trading.","-933963283":"No, review my limits","-1759860126":"Yes, log me out immediately","-572347855":"{{value}} mins","-313333548":"You’ll be able to adjust these limits at any time. You can reduce your limits from the <0>self-exclusion page. To increase or remove your limits, please contact our <1>Customer Support team.","-1265833982":"Accept","-2123139671":"Your stake and loss limits","-1250802290":"24 hours","-2070080356":"Max. total stake","-1545823544":"7 days","-180147209":"You will be automatically logged out from each session after this time limit.","-374553538":"Your account will be excluded from the website until this date (at least 6 months, up to 5 years).","-2105708790":"Your maximum account balance and open positions","-1960600163":"Once your account balance reaches this amount, you will not be able to deposit funds into your account.","-1073845224":"No. of open position(s)","-288196326":"Your maximum deposit limit","-568749373":"Max. deposit limit","-1617352279":"The email is in your spam folder (Sometimes things get lost there).","-547557964":"We can’t deliver the email to this address (Usually because of firewalls or filtering).","-142444667":"Please click on the link in the email to change your Deriv MT5 password.","-742748008":"Check your email and click the link in the email to proceed.","-84068414":"Still didn't get the email? Please contact us via <0>live chat.","-474419287":"FATCA declaration","-1101737402":"Please select*","-975118358":"Your account will be opened with {{legal_entity_name}}, regulated by the Malta Financial Services Authority (MFSA), and will be subject to the laws of Malta.","-2073934245":"The financial trading services offered on this site are only suitable for customers who accept the possibility of losing all the money they invest and who understand and have experience of the risk involved in the purchase of financial contracts. Transactions in financial contracts carry a high degree of risk. If the contracts you purchased expire as worthless, you will lose all your investment, which includes the contract premium.","-1035494182":"You acknowledge that, subject to the Company's discretion, applicable regulations, and internal checks being fulfilled, we will open an account for you and allow you to deposit funds during the client acceptance procedure. However, until the verification of your account is completed, you will not be able to trade, withdraw or make further deposits. If you do not provide relevant documents within 30-days, we will refund the deposited amount through the same payment method you used to deposit.","-1125193491":"Add account","-2068229627":"I am not a PEP, and I have not been a PEP in the last 12 months.","-1209644365":"I hereby confirm that my request for opening an account with Deriv Investments (Europe) Ltd is made on my own initiative.","-740157281":"Trading Experience Assessment","-1720468017":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you.","-1685104463":"* This is required","-186841084":"Change your login email","-907403572":"To change your email address, you'll first need to unlink your email address from your {{identifier_title}} account.","-1850792730":"Unlink from {{identifier_title}}","-428335668":"You will need to set a password to complete the process.","-1232613003":"<0>Verification failed. <1>Why?","-805775852":"<0>Needs verification.<1>Verify now","-1983989074":"<0>No new positions","-1196936955":"Upload a screenshot of your name and email address from the personal information section.","-1286823855":"Upload your mobile bill statement showing your name and phone number.","-1309548471":"Upload your bank statement showing your name and account details.","-1410396115":"Upload a photo showing your name and the first six and last four digits of your card number. If the card does not display your name, upload the bank statement showing your name and card number in the transaction history.","-3805155":"Upload a screenshot of either of the following to process the transaction:","-1523487566":"- your account profile section on the website","-613062596":"- the Account Information page on the app","-1718304498":"User ID","-609424336":"Upload a screenshot of your name, account number, and email address from the personal details section of the app or profile section of your account on the website.","-1954436643":"Upload a screenshot of your username on the General Information page at <0>https://onlinenaira.com/members/index.htm","-79853954":"Upload a screenshot of your account number and phone number on the Bank Account/Mobile wallet page at <0>https://onlinenaira.com/members/bank.htm","-1192882870":"Upload a screenshot of your name and account number from the personal details section.","-818898181":"Name in document doesn’t match your Deriv profile.","-310316375":"Address in document doesn’t match address you entered above.","-485368404":"Document issued more than 6-months ago.","-91160765":"Document issued more than 12-months ago.","-367016488":"Blurry document. All information must be clear and visible.","-1957076143":"Cropped document. All information must be clear and visible.","-1576856758":"An account with these details already exists. Please make sure the details you entered are correct as only one real account is allowed per client. If this is a mistake, contact us via <0>live chat.","-1792723131":"To avoid delays, enter your <0>date of birth exactly as it appears on your {{document_name}}.","-1629894615":"I have other financial priorities.","-844051272":"I want to stop myself from trading.","-1113965495":"I’m no longer interested in trading.","-1224285232":"Customer service was unsatisfactory.","-1231402474":"Connected apps are authorised applications associated with your account through your API token or the OAuth authorisation process. They can act on your behalf within the limitations that you have set.","-506083843":"As a user, you are responsible for sharing access and for actions that occur in your account (even if they were initiated by a third-party app on your behalf).","-831752682":"Please note that only third-party apps will be displayed on this page. Official Deriv apps will not appear here.","-915844096":"US citizenship or lawful permanent resident (green card) status","-208714573":"An “in care of” address or a “hold mail” address that is the sole address with respect to the client","-1082633433":"A power of attorney or signatory authority granted to a person with a US address.","-231863107":"No","-1858215754":"The document must be up-to-date and signed by the issuance authority.","-718917527":"Invalid or incomplete documents shall be rejected.","-1526404112":"Utility bill: electricity, water, gas, or landline phone bill.","-537552700":"Home rental agreement: valid and current agreement.","-506510414":"Date and time","-1708927037":"IP address","-870902742":"How much knowledge and experience do you have in relation to online trading?","-1929477717":"I have an academic degree, professional certification, and/or work experience related to financial services.","-1540148863":"I have attended seminars, training, and/or workshops related to trading.","-922751756":"Less than a year","-542986255":"None","-1337206552":"In your understanding, CFD trading allows you to","-456863190":"Place a position on the price movement of an asset where the outcome is a fixed return or nothing at all.","-1314683258":"Make a long-term investment for a guaranteed profit.","-1546090184":"How does leverage affect CFD trading?","-1636427115":"Leverage helps to mitigate risk.","-800221491":"Leverage guarantees profits.","-811839563":"Leverage lets you open large positions for a fraction of trade value, which may result in increased profit or loss.","-1185193552":"Close your trade automatically when the loss is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1046354":"Close your trade automatically when the profit is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1842858448":"Make a guaranteed profit on your trade.","-860053164":"When trading multipliers.","-1250327770":"When buying shares of a company.","-1222388581":"All of the above.","-1592318047":"See example","-1694758788":"Enter your document number","-1176889260":"Please select a document type.","-1265050949":"identity document","-2139303636":"You may have followed a broken link, or the page has moved to a new address.","-1448368765":"Error code: {{error_code}} page not found","-254792921":"You can only make deposits at the moment. To enable withdrawals, please complete your financial assessment.","-1437017790":"Financial information","-70342544":"We’re legally obliged to ask for your financial information.","-39038029":"Trading experience","-601903492":"Forex trading experience","-1012699451":"CFD trading experience","-1894668798":"Other trading instruments experience","-1026468600":"Other trading instruments frequency","-1743024217":"Select Language","-136976514":"Country of residence*","-1124948631":"Professional Client","-259515058":"By default, all {{brand_website_name}} clients are retail clients but anyone can request to be treated as a professional client.","-1463348492":"I would like to be treated as a professional client.","-1958764604":"Email preference","-2068064150":"Get updates about Deriv products, services and events.","-1558679249":"Please make sure your information is correct or it may affect your trading experience.","-1822545742":"Ether Classic","-1334641066":"Litecoin","-1214036543":"US Dollar","-1782590355":"No currency has been set for this account","-2116332353":"Please close your positions in the following Deriv account(s):","-2048005267":"{{number_of_positions}} position(s)","-2125635811":"Please withdraw your funds from the following {{platform_name}} account(s):","-577445413":"Please close your positions in the following {{platform_name}} account(s):","-1219849101":"Please select at least one reason","-9323953":"Remaining characters: {{remaining_characters}}","-484540402":"An error occurred","-1911549768":"Inaccessible MT5 account(s)","-1869355019":"Action required","-1030102424":"You can't trade on Deriv.","-448385353":"You can't make transactions.","-1058447223":"Before closing your account:","-912764166":"Withdraw your funds.","-60139953":"We shall delete your personal information as soon as our legal obligations are met, as mentioned in the section on Data Retention in our <0>Security and privacy policy","-2061895474":"Closing your account will automatically log you out. We shall delete your personal information as soon as our legal obligations are met.","-203298452":"Close account","-937707753":"Go Back","-771109503":"Use our powerful, flexible, and free API to build a custom trading platform for yourself or for your business.","-1815044949":"You currently don't have any third-party authorised apps associated with your account.","-1699100421":"What are connected apps?","-536187647":"Confirm revoke access?","-1357606534":"Permission","-570222048":"Revoke access","-1468863262":"{{action}}","-727433417":"{{status}}","-1814836151":"What are passkeys?","-1275937234":"Unlock your account like your phone - with biometrics, face scan or PIN.","-587750445":"Extra security layer.","-642452561":"Shields against unauthorised access and phishing.","-1654043401":"You can create one passkey per device.","-1411242065":"Where are passkeys saved?","-258752017":"What happens if my Deriv account email is changed?","-634268263":"Sign in to Deriv with your existing passkey.","-1405679241":"Stored on: ","-1700177761":"Create passkey","-1729774899":"Sign in to your Google or iCloud account.","-1708254107":"Enable Bluetooth.","-613368504":"Tips:","-1897886029":"Before using passkey:","-592543249":"Add more passkeys","-585339315":"Your passkey is successfully removed. To avoid sign-in prompts, also remove the passkey from your Google password manager. ","-1728732301":"Effortless login with passkeys","-684009726":"Edit passkey","-1140319320":"Your account is now secured with a passkey.<0/>Manage your passkey through your<0/>Deriv account settings.","-1036903080":"We’re experiencing a temporary issue in processing your request. Please try again later.","-331060101":"Passkey setup failed","-713875531":"Enable bluetooth.","-80717068":"Apps you have linked to your <0>Deriv password:","-340060402":"Your Deriv X password is for logging in to your Deriv X accounts on the web and mobile apps.","-619126443":"Use the <0>Deriv password to log in to {{brand_website_name}} and {{platform_name_trader}}.","-623760979":"Use the <0>Deriv password to log in to {{brand_website_name}}, {{platform_name_trader}} and {{platform_name_go}}.","-459147994":"Use the <0>Deriv password to log in to {{brand_website_name}}, {{platform_name_go}}, {{platform_name_trader}}, {{platform_name_smarttrader}}, {{platform_name_dbot}} and {{platform_name_ctrader}}.","-1884902844":"Max. deposit limit per day","-545085253":"Max. deposit limit over 7 days","-1031006762":"Max. deposit limit over 30 days","-1116871438":"Max. total loss over 30 days","-2134714205":"Time limit per session","-1884271702":"Time out until","-1265825026":"Timeout time must be greater than current time.","-1332882202":"Timeout time cannot be more than 6 weeks.","-1635977118":"Exclude time cannot be less than 6 months.","-2131200819":"Disable","-200487676":"Enable","-1840392236":"That's not the right code. Please try again.","-2067796458":"Authentication code","-790444493":"Protect your account with 2FA. Each time you log in to your account, you will need to enter your password and an authentication code generated by a 2FA app on your smartphone.","-752939584":"How to set up 2FA for your Deriv account","-90649785":"Click here to copy key","-206376148":"Key copied!","-368010540":"You have enabled 2FA for your Deriv account.","-403552929":"To disable 2FA, please enter the six-digit authentication code generated by your 2FA app below:","-890084320":"Save and submit","-30772747":"Your personal details have been saved successfully.","-2021135479":"This field is required.","-1002044401":"Select your document*","-1272489896":"Please complete this field.","-721346138":"The options and multipliers trading platform.","-1874136267":"The ultimate bot trading platform.","-415943890":"The legacy options trading platform.","-673722343":"The legacy bot trading platform.","-897826065":"The multipliers trading platform.","-2115275974":"CFDs","-1585707873":"Financial Commission","-199154602":"Vanuatu Financial Services Commission","-191165775":"Malta Financial Services Authority","-194969520":"Counterparty company","-1089385344":"Deriv (SVG) LLC","-2019617323":"Deriv (BVI) Ltd","-112814932":"Deriv (FX) Ltd","-1131400885":"Deriv Investments (Europe) Limited","-1471207907":"All assets","-781132577":"Leverage","-1591882610":"Synthetics","-543177967":"Stock indices","-362324454":"Commodities","-1071336803":"Platform","-1879666853":"Deriv MT5","-820028470":"Options & Multipliers","-1210359945":"Transfer funds to your accounts","-1926387364":"We’ve sent your e-book to your email. You can also download it here.","-1057002564":"<0>We’re unable to upgrade you to Wallets at this time and are working to get this fixed as soon as we can. Please <1>try again<0>.","-1424352390":"<0>Wallets<1> — A smarter way to manage your funds","-280236366":"Enable now","-145462920":"Deriv cTrader","-982095728":"Get","-1790089996":"NEW!","-2134770229":"Total assets in your Deriv Apps and Deriv MT5 CFDs demo account.","-1277942366":"Total assets","-1255879419":"Trader's Hub","-493788773":"Non-EU","-673837884":"EU","-230566990":"The following documents you submitted did not pass our checks:","-846812148":"Proof of address.","-1146027991":"If you’d like to get the {{from_account}} account, resubmit these documents.","-710685402":"No new positions","-1445744852":"You can no longer open new positions with your {{from_account}} account. Please use your {{to_account}} account to open new positions.","-1699909965":"or ","-2127865736":"Your {{from_account}} account will be archived after 30 days of inactivity. You can still access your trade history until the account is archived.","-417529381":"Your current trading account(s)","-1543281897":"Instant transfers between Wallets and trading accounts","-1415400918":"Multiple currency support","-1712363879":"Why Wallets","-348452343":"Your open trading positions will not be affected while we are setting up your wallets.","-2055865877":"Non-EU regulation","-643108528":"Non-EU and EU regulation","-1002556560":"We’re unable to complete with the Wallet upgrade. Please try again later or contact us via live chat.","-1186807402":"Transfer","-655191265":"Buy or sell at a specific time for a specific price. <0>Learn more","-744999940":"Deriv account","-2146691203":"Choice of regulation","-249184528":"You can create real accounts under EU or non-EU regulation. Click the <0><0/> icon to learn more about these accounts.","-1505234170":"Trader's Hub tour","-1265635180":"The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.","-1870909526":"Our server cannot retrieve an address.","-582721696":"The current allowed withdraw amount is {{format_min_withdraw_amount}} to {{format_max_withdraw_amount}} {{currency}}","-1975494965":"Cashier","-42592103":"Deposit cryptocurrencies","-60779216":"Withdrawals are temporarily unavailable due to system maintenance. You can make your withdrawals when the maintenance is complete.","-520142572":"Cashier is currently down for maintenance","-1552080215":"Please check back in a few minutes.<0>Thank you for your patience.","-215186732":"You’ve not set your country of residence. To access Cashier, please update your country of residence in the Personal details section in your account settings.","-1392897508":"The identification documents you submitted have expired. Please submit valid identity documents to unlock Cashier. ","-954082208":"Your cashier is currently locked. Please contact us via <0>live chat to find out how to unlock it.","-929148387":"Please set your account currency to enable deposits and withdrawals.","-2027907316":"You can make a withdrawal once the verification of your account is complete.","-541392118":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and access your cashier.","-599998434":"You cannot make a fund transfer as your documents are still under review. We will notify you by email within 3 days once your verification is approved.","-247122507":"Your cashier is locked. Please complete the <0>financial assessment to unlock it.","-1443721737":"Your cashier is locked. See <0>how we protect your funds before you proceed.","-901712457":"Your access to Cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to <0>Self-exclusion and set your 30-day turnover limit.","-166472881":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits and withdrawals.","-666905139":"Deposits are locked","-378858101":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits.","-1318742415":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and request for withdrawals.","-1923809087":"Unfortunately, you can only make deposits. Please contact us via <0>live chat to enable withdrawals.","-172277021":"Cashier is locked for withdrawals","-1624999813":"It seems that you've no commissions to withdraw at the moment. You can make withdrawals once you receive your commissions.","-1077304626":"Amount ({{currency}})","-1559994981":"Approximate value","-1272778997":"We've sent you an email.","-89973258":"Resend email in {{seconds}}s","-1332236294":"Please verify your identity","-1675848843":"Error","-283017497":"Retry","-1294455996":"Deriv P2P unavailable","-1838982691":"UNKNOWN","-532693866":"Something went wrong. Please refresh the page and try again.","-1196049878":"First line of home address","-1326406485":"Postal Code/ZIP","-939625805":"Telephone","-442575534":"Email verification failed","-1459042184":"Update your personal details","-1603543465":"We can't validate your personal details because there is some information missing.","-614516651":"Need help? <0>Contact us.","-203002433":"Deposit now","-720315013":"You have no funds in your {{currency}} account","-2052373215":"Please make a deposit to use this feature.","-379487596":"{{selected_percentage}}% of available balance ({{format_amount}} {{currency__display_code}})","-1957498244":"more","-1059419768":"Notes","-285921910":"Learn more about <0>payment methods.","-190084602":"Transaction","-1995606668":"Amount","-2024290965":"Confirmations","-811190405":"Time","-728508487":"{{currency}} recent transactions","-1984478597":"The details of this transaction is available on CoinsPaid.","-316545835":"Please ensure <0>all details are <0>correct before making your transfer.","-949073402":"I confirm that I have verified the client’s transfer information.","-1752211105":"Transfer now","-1787304306":"Deriv P2P","-174976899":"P2P verification","-1705887186":"Your deposit is successful.","-142361708":"In process","-1582681840":"We’ve received your request and are waiting for more blockchain confirmations.","-1626218538":"You’ve cancelled your withdrawal request.","-1062841150":"Your withdrawal is unsuccessful due to an error on the blockchain. Please <0>contact us via live chat for more info.","-630780094":"We’re awaiting confirmation from the blockchain.","-1525882769":"Your withdrawal is unsuccessful. We've sent you an email with more information.","-298601922":"Your withdrawal is successful.","-922143389":"Deriv P2P is currently unavailable in this currency.","-1310327711":"Deriv P2P is currently unavailable in your country.","-1463156905":"Learn more about payment methods","-972283623":"Deriv P2P-V2","-685073712":"This is your <0>{{currency}} account {{loginid}}.","-1547606079":"We accept the following cryptocurrencies:","-1517325716":"Deposit via the following payment methods:","-639677539":"Buy cryptocurrencies","-1560098002":"Buy cryptocurrencies via fiat onramp","-541870313":"Deposit via payment agents","-197251450":"Don't want to trade in {{currency_code}}? You can open another cryptocurrency account.","-515809216":"Send only {{currency_name}} ({{currency_code}}) to this address.","-748636591":"A minimum deposit value of <0>{{minimum_deposit}} {{currency}} is required. Otherwise, a fee is applied.","-1589407981":"To avoid loss of funds:","-1042704302":"Make sure to copy your Deriv account address correctly into your crypto wallet.","-2108344100":"Looking for a way to buy cryptocurrencies? <0>Try Fiat onramp.","-598073640":"About Tether (Ethereum)","-275902914":"Tether on Ethereum (eUSDT)","-1188009792":"Tether on Omni Layer (USDT)","-1239329687":"Tether was originally created to use the bitcoin network as its transport protocol ‒ specifically, the Omni Layer ‒ to allow transactions of tokenised traditional currency.","-314177745":"Unfortunately, we couldn't get the address since our server was down. Please click Refresh to reload the address or try again later.","-91824739":"Deposit {{currency}}","-523804269":"{{amount}} {{currency}} on {{date}}","-494847428":"Address: <0>{{value}}","-1117977576":"Confirmations: <0>{{value}}","-1935946851":"View more","-1744490898":"Unfortunately, we cannot retrieve the information at this time. ","-338505133":"We do not charge a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts, between your Deriv fiat and {{platform_name_ctrader}} accounts, and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-2056016338":"You’ll not be charged a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts.","-599632330":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-1196994774":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency accounts.","-993556039":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts and between your Deriv cryptocurrency and {{platform_name_dxtrade}} accounts.","-1382702462":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts.","-1339063554":"You may transfer between your Deriv fiat, cryptocurrency, {{platform_name_mt5}}, {{platform_name_ctrader}}, and {{platform_name_dxtrade}} accounts.","-1151983985":"Transfer limits may vary depending on the exchange rates.","-1747571263":"Please bear in mind that some transfers may not be possible.","-757062699":"Transfers may be unavailable due to high volatility or technical issues and when the exchange markets are closed.","-855721928":"Needs verification","-908402700":"Verification failed","-1866405488":"Deriv cTrader accounts","-1344870129":"Deriv accounts","-1109729546":"You will be able to transfer funds between MT5 accounts and other accounts once your address is verified.","-1593609508":"Transfer between your accounts in Deriv","-1155970854":"You have reached the maximum daily transfers. Please try again tomorrow.","-464965808":"Transfer limits: <0 /> - <1 />","-553249337":"Transfers are locked","-1638172550":"To enable this feature you must complete the following:","-1949883551":"You only have one account","-1149845849":"Back to Trader's Hub","-1232852916":"We’re switching over to your {{currency}} account to view the transaction.","-1632668764":"I accept","-544232635":"Please go to the Deposit page to generate an address. Then come back here to continue with your transaction.","-1161069724":"Please copy the crypto address you see below. You'll need it to deposit your cryptocurrency.","-1388977563":"Copied!","-1962894999":"This address can only be used ONCE. Please copy a new one for your next transaction.","-451858550":"By clicking 'Continue' you will be redirected to {{ service }}, a third-party payment service provider. Please note that {{ website_name }} is not responsible for the content or services provided by {{ service }}. If you encounter any issues related to {{ service }} services, you must contact {{ service }} directly.","-2005265642":"Fiat onramp is a cashier service that allows you to convert fiat currencies to crypto to top up your Deriv crypto accounts. Listed here are third-party crypto exchanges. You’ll need to create an account with them to use their services.","-1593063457":"Select payment channel","-1309258714":"From account number","-1247676678":"To account number","-816476007":"Account holder name","-344403983":"Description","-922432739":"Please enter a valid client login ID.","-1024241603":"Insufficient balance.","-1979554765":"Please enter a valid description.","-1254233806":"You've transferred","-953082600":"Some payment methods may not be listed here but payment agents may still offer them. If you can’t find your favourite method, contact the payment agents directly to check further.","-1491457729":"All payment methods","-142563298":"Contact your preferred payment agent for payment instructions and make your deposit.","-352134412":"Transfer limit","-1023961762":"Commission on deposits","-552873274":"Commission on withdrawal","-880645086":"Withdrawal amount","-118683067":"Withdrawal limits: <0 />-<1 />","-1125090734":"Important notice to receive your funds","-1924707324":"View transaction","-1474202916":"Make a new withdrawal","-511423158":"Enter the payment agent account number","-2059278156":"Note: {{website_name}} does not charge any transfer fees.","-1201279468":"To withdraw your funds, please choose the same payment method you used to make your deposits.","-2004264970":"Your wallet address should have 25 to 64 characters.","-1707299138":"Your {{currency_symbol}} wallet address","-38063175":"{{account_text}} wallet","-705272444":"Upload a proof of identity to verify your identity","-130833284":"Please note that your maximum and minimum withdrawal limits aren’t fixed. They change due to the high volatility of cryptocurrency.","-1531269493":"We'll send you an email once your transaction has been processed.","-1373954791":"Should be a valid number","-1278608332":"Please enter a number between 0 and {{api_max_losses}}.","-287597204":"Enter limits to stop your bot from trading when any of these conditions are met.","-1445989611":"Limits your potential losses for the day across all Deriv platforms.","-152878438":"Maximum number of trades your bot will execute for this run.","-1490942825":"Apply and run","-2067572496":"You’ve just stopped the bot. Any open contracts can be viewed on the Reports page.","-992003496":"Changes you make will not affect your running bot.","-1778025545":"You’ve successfully imported a bot.","-1572746946":"Asian Up","-686840306":"Asian Down","-2141198770":"Higher","-816098265":"Lower","-1646655742":"Spread Up","-668987427":"Spread Down","-912577498":"Matches","-1862940531":"Differs","-808904691":"Odd","-556230215":"Ends Outside","-1268220904":"Ends Between","-703542574":"Up","-1127399675":"Down","-768425113":"No Touch","-1163058241":"Stays Between","-1354485738":"Reset Call","-376148198":"Only Ups","-1337379177":"High Tick","-328036042":"Please enter a stop loss amount that's higher than the current potential loss.","-2127699317":"Invalid stop loss. Stop loss cannot be more than stake.","-179005984":"Save","-610059687":"Exploring the D’Alembert strategy in Deriv Bot","-1226666341":"The D'Alembert strategy involves increasing your stake after a losing trade and reducing it after a successful trade by a predetermined number of units.","-312844882":"Initial stake: The amount that you are willing to place as a stake to enter a trade. This is the starting point for any changes in stake depending on the dynamic of the strategy being used.","-1173302981":"1. Start with the initial stake. In this example, we’ll use 1 USD.","-1540106116":"Profit and loss thresholds","-894905768":"With Deriv Bot, traders can set the profit and loss thresholds to secure potential profits and limit potential losses. This means that the trading bot will automatically stop when either the profit or loss thresholds are reached. It's a form of risk management that can potentially enhance returns. For example, if a trader sets the profit threshold at 100 USD and the strategy exceeds 100 USD of profit from all trades, then the bot will stop running.","-1946134465":"Where:","-248283982":"B is the loss threshold.","-1148521416":"f is the unit increment.","-211800490":"D’Alembert formula 2","-1772692202":"This formula helps you plan your trades by considering the amount of money you have and your comfort level with risk. It involves determining your loss threshold and the initial stake you want to trade with. Then, you use this formula to calculate the number of rounds you can trade. This process provides insight into stake sizing and expectations.","-2107238266":"The D'Alembert system offers more balanced trading through controlled stake progression. With prudent risk management like stake limits, it can be effectively automated in Deriv Bot. However, traders should thoroughly assess their risk appetite, test strategies on a demo account to align with their trading style before trading with real money. This allows optimising the approach and striking a balance between potential gains and losses whilst managing risk.","-500873566":"Disclaimer:","-344769349":"Please be aware that while we may use rounded figures for illustration, a stake of a specific amount does not guarantee an exact amount in successful trades. For example, a 1 USD stake does not necessarily equate to a 1 USD profit in successful trades.","-818800551":"Exploring the Martingale strategy in Deriv Bot","-533490374":"These are the trade parameters used in Deriv Bot with Martingale strategy.","-1507161059":"Multiplier: The multiplier used to increase your stake if you're losing a trade. The value must be greater than 1.","-1333404686":"An example of Martingale strategy","-1755877136":"3. If the first trade ends in a loss, Deriv Bot will automatically double your stake for the next trade to 2 USD. Deriv Bot will continue to double the stake after every losing trade.","-1297651002":"If you're about to start trading and haven't established a Maximum Stake as part of your risk management strategy, you can determine how long your funds will last by employing the Martingale strategy. Simply use this formula.","-46865201":"Martingale formula 1","-116397598":"m is the Martingale multiplier.","-658161609":"Number of rounds, R ≈ 9.965","-288082521":"This means that after 10 rounds of consecutive losses, this trader will lose 1023 USD which exceeds the loss threshold of 1000 USD, stopping the bot.","-770387160":"The Martingale strategy in trading may offer substantial gains but also comes with significant risks. With your selected strategy, Deriv Bot provides automated trading with risk management measures like setting initial stake, stake size, maximum stake, profit threshold and loss threshold. It's crucial for traders to assess their risk tolerance, practice in a demo account, and understand the strategy before trading with real money.","-1901073152":"These are the trade parameters used for Oscar’s Grind strategy in Deriv Bot.","-1575153036":"An example of Oscar’s Grind strategy","-732418614":"The table above demonstrates this principle by showing that when a successful trade occurs and meets the target of one unit of potential profit which is 1 USD in this example, the session ends. If trading continues, a new session will begin.","-106266344":"Principle 3: The stake adjusts to the gap size between current loss and the target profit for the session","-492908094":"In round 7, the stake is adjusted downwards from 2 USD to 1 USD, to meet the target profit of 1 USD.","-90079299":"With Deriv Bot, traders can set the profit and loss thresholds to secure potential profits and limit potential losses. This means that the trading bot will automatically stop when either the profit or loss threshold is reached. This is a form of risk management that can potentially boost successful trades whilst limiting the impact of loss. For example, if a trader sets the profit threshold at 100 USD and the strategy exceeds 100 USD of profit from all trades, then the bot will stop running.","-1549673884":"The Oscar's Grind strategy provides a disciplined approach for incremental gains through systematic stake progression. When integrated into Deriv Bot with proper risk management like profit or loss thresholds, it offers traders a potentially powerful automated trading technique. However, traders should first thoroughly assess their risk tolerance and first try trading on a demo account in order to familiarise with the strategy before trading with real funds.","-655650222":"Exploring the Reverse D’Alembert strategy in Deriv Bot","-1864807973":"The Reverse D'Alembert strategy involves increasing your stake after a successful trade and reducing it after a losing trade by a predetermined number of units.","-809681645":"These are the trade parameters used in Deriv Bot with Reverse D’Alembert strategy.","-1239374257":"An example of Reverse D’Alembert strategy","-309821442":"Please be aware that while we may use rounded figures for illustration, a stake of a specific amount does not guarantee an exact amount in successful trades. For example, a 1 USD stake does not necessarily equate to a 1 USD profit in successful trades.","-1576691912":"This article explores the Reverse Martingale strategy integrated into Deriv Bot, a versatile trading bot designed to trade assets such as forex, commodities, and derived indices. We will delve into the strategy's core parameters, its application, and provide essential takeaways for traders looking to use the bot effectively.","-1934849823":"These are the trade parameters used in Deriv Bot with Reverse Martingale strategy.","-1021919630":"Multiplier: The multiplier used to increase your stake if your trade is successful. The value must be greater than 1.","-760516362":"3. If the first trade is a successful trade, Deriv Bot will automatically double your stake for the next trade to 2 USD. Deriv Bot will continue to double the stake after every successful trade.","-1410950365":"Exploring the 1-3-2-6 strategy in Deriv Bot","-1175255072":"These are the trade parameters used in Deriv Bot with 1-3-2-6 strategy.","-183884527":"An example of 1-3-2-6 strategy","-275617819":"4. However, if any trade results in a loss, your stake will reset back to the initial stake of 1 USD for the next trade. The third trade results in a loss hence the stake resets to the initial stake of 1 USD for the next trade.","-719846465":"5. Upon reaching the initial stake, if the next trade still results in a loss, your stake will remain at the initial stake of 1 USD. This strategy will minimally trade at the initial stake. Refer to the fourth and fifth trade.","-1452746011":"The 1-3-2-6 strategy in trading may offer substantial gains but also comes with significant risks. Each stake is independent, and the strategy does not increase your chances of successful trades in the long run. If you encounter a series of losses, the strategy can lead to significant losses. Therefore, it is crucial for traders to assess their risk tolerance, practice in a demo account, utilise profit and loss thresholds, and fully comprehend the strategy before engaging in real-money trading.","-1016171176":"Asset","-138833194":"The underlying market your bot will trade with this strategy.","-621128676":"Trade type","-399349239":"Your bot will use this trade type for every run","-410856998":"The bot will stop trading if your total profit exceeds this amount.","-447853970":"Loss threshold","-33106112":"The size used to multiply the stake after a successful trade for the next trade.","-1503301801":"The value must be equal or greater than {{ min }}","-1596504046":"Number of unit(s) to be added to the next trade after a successful trade. One unit is equivalent to the amount of initial stake.","-1521098535":"Max stake","-1448426542":"The stake for your next trade will reset to the initial stake if it exceeds this value.","-993953307":"Your prediction of the last digit of the asset price.","-1305281529":"D’Alembert","-1842451303":"Welcome to Deriv Bot!","-1391310674":"Check out these guides and FAQs to learn more about building your bot:","-2066779239":"FAQs","-280324365":"What is Deriv Bot?","-155173714":"Let’s build a bot!","-1919212468":"3. You can also search for the blocks you want using the search bar above the categories.","-1520558271":"For more info, check out this blog post on the basics of building a trading bot.","-980360663":"3. Choose the block you want and drag it to the workspace.","-1493168314":"What is a quick strategy?","-1680391945":"Using a quick strategy","-1177914473":"How do I save my strategy?","-271986909":"In Bot Builder, hit Save on the toolbar at the top to download your bot. Give your bot a name, and choose to download your bot to your device or Google Drive. Your bot will be downloaded as an XML file.","-1149045595":"1. After hitting Import, select Local and click Continue.","-288041546":"2. Select your XML file and hit Open.","-2127548288":"3. Your bot will be loaded accordingly.","-1311297611":"1. After hitting Import, select Google Drive and click Continue.","-1549564044":"How do I reset the workspace?","-1127331928":"In Bot Builder, hit Reset on the toolbar at the top. This will clear the workspace. Please note that any unsaved changes will be lost.","-1720444288":"How do I control my losses with Deriv Bot?","-1142295124":"There are several ways to control your losses with Deriv Bot. Here’s a simple example of how you can implement loss control in your strategy:","-2129119462":"1. Create the following variables and place them under Run once at start:","-1918487001":"Example:","-468926787":"This is how your trade parameters, variables, and trade options should look like:","-1565344891":"Can I run Deriv Bot on multiple tabs in my web browser?","-90192474":"Yes, you can. However, there are limits on your account, such as maximum number of open positions and maximum aggregate payouts on open positions. So, just keep these limits in mind when opening multiple positions. You can find more info about these limits at Settings > Account limits.","-213872712":"No, we don't offer cryptocurrencies on Deriv Bot.","-2147346223":"In which countries is Deriv Bot available?","-352345777":"What are the most popular strategies for automated trading?","-552392096":"Three of the most commonly used strategies in automated trading are Martingale, D'Alembert, and Oscar's Grind — you can find them all ready-made and waiting for you in Deriv Bot.","-1630262763":"About Martingale","-413928457":"About Oscar's Grind","-1497015866":"About Reverse D’Alembert","-437005403":"About 1-3-2-6","-590765322":"Unfortunately, this trading platform is not available for EU Deriv account. Please switch to a non-EU account to continue trading.","-2110207996":"Deriv Bot is unavailable for this account","-971295844":"Switch to another account","-1194079833":"Deriv Bot is not available for EU clients","-746652890":"Notifications","-824109891":"System","-507620484":"Unsaved","-764102808":"Google Drive","-749186458":"Account switching is disabled while your bot is running. Please stop your bot before switching accounts.","-597939268":"Keep my contract","-1322453991":"You need to log in to run the bot.","-236548954":"Contract Update Error","-1428017300":"THE","-1450728048":"OF","-255051108":"YOU","-1845434627":"IS","-931434605":"THIS","-740712821":"A","-1223145005":"Loss amount: {{profit}}","-1206212388":"Welcome back! Your messages have been restored. You are using your {{current_currency}} account.","-1724342053":"You are using your {{current_currency}} account.","-187634388":"This block is mandatory. Here is where you can decide if your bot should continue trading. Only one copy of this block is allowed.","-2105473795":"The only input parameter determines how block output is going to be formatted. In case if the input parameter is \"string\" then the account currency will be added.","-1800436138":"2. for \"number\": 1325.68","-530632460":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of \"True\" or \"False\".","-1875717842":"Examples:","-890079872":"1. If the selected direction is \"Rise\", and the previous tick value is less than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-489739641":"2. If the selected direction is \"Fall\", and the previous tick value is more than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-2116076360":"There are 4 message types:","-1421941045":"2. 'Warn' displays a message in yellow to highlight something that needs attention.","-277850921":"If \"Win\" is selected, it will return \"True\" if your last trade was successful. Otherwise, it will return an empty string.","-2139916657":"1. In the below example the loop is terminated in case \"x\" is \"False\" even though only one iteration is complete","-1238900333":"2. In the below example the loop jumps to the next iteration without executing below block in case if \"x\" is \"False\"","-1729479576":"You can use \"i\" inside the loop, for example to access list items","-1474636594":"In this example, the loop will repeat three times, as that is the number of items in the given list. During each iteration, the variable \"i\" will be assigned a value from the list. ","-908772734":"This block evaluates a statement and will perform an action only when the statement is true.","-334040831":"2. In this example, the instructions are repeated as long as the value of x is greater than or equal to 10. Once the value of x drops below 10, the loop is terminated.","-444267958":"\"Seconds Since Epoch\" block returns the number of seconds since January 1st, 1970.","-447522129":"You might need it when you want to repeat an actions after certain amount of time.","-1488259879":"The term \"candle\" refers to each bar on the candlestick chart. Each candle represents four market prices for the selected time interval:","-2020693608":"Each candlestick on the chart represents 4 market prices for the selected time interval:","-62728852":"- Open price: the opening price","-1247744334":"- Low price: the lowest price","-1386365697":"- Close price: the closing price","-1498732382":"A black (or red) candle indicates that the open price is higher than the close price. This represents a downward movement of the market price.","-1871864755":"This block gives you the last digit of the latest tick value of the selected market. If the latest tick value is 1410.90, this block will return 0. It’s useful for digit-based contracts such as Even/Odd, Matches/Differs, or Higher/Lower.","-1029671512":"In case if the \"OR\" operation is selected, the block returns \"True\" in case if one or both given values are \"True\"","-210295176":"Available operations:","-1385862125":"- Addition","-983721613":"- Subtraction","-854750243":"- Multiplication","-1394815185":"In case if the given number is less than the lower boundary of the range, the block returns the lower boundary value. Similarly, if the given number is greater than the higher boundary, the block will return the higher boundary value. In case if the given value is between boundaries, the block will return the given value unchanged.","-1034564248":"In the below example the block returns the value of 10 as the given value (5) is less than the lower boundary (10)","-2009817572":"This block performs the following operations to a given number","-671300479":"Available operations are:","-514610724":"- Absolute","-1923861818":"- Euler’s number (2.71) to the power of a given number","-1556344549":"Here’s how:","-1061127827":"- Visit the following URL, make sure to replace with the Telegram API token you created in Step 1: https://api.telegram.org/bot/getUpdates","-311389920":"In this example, the open prices from a list of candles are assigned to a variable called \"cl\".","-1460794449":"This block gives you a list of candles within a selected time interval.","-1634242212":"Used within a function block, this block returns a value when a specific condition is true.","-2012970860":"This block gives you information about your last contract.","-1504783522":"You can choose to see one of the following:","-10612039":"- Profit: the profit you’ve earned","-555996976":"- Entry time: the starting time of the contract","-1391071125":"- Exit time: the contract expiration time","-1961642424":"- Exit value: the value of the last tick of the contract","-111312913":"- Barrier: the barrier value of the contract (applicable to barrier-based trade types such as stays in/out, touch/no touch, etc.)","-674283099":"- Result: the result of the last contract: \"win\" or \"loss\"","-704543890":"This block gives you the selected candle value such as open price, close price, high price, low price, and open time. It requires a candle as an input parameter.","-482281200":"In the example below, the open price is assigned to the variable \"op\".","-364621012":"This block gives you the specified candle value for a selected time interval. You can choose which value you want:","-232477769":"- Open: the opening price","-610736310":"Use this block to sell your contract at the market price. Selling your contract is optional. You may choose to sell if the market trend is unfavourable.","-1307657508":"This block gives you the potential profit or loss if you decide to sell your contract. It can only be used within the \"Sell conditions\" root block.","-1921072225":"In the example below, the contract will only be sold if the potential profit or loss is more than the stake.","-955397705":"SMA adds the market price in a list of ticks or candles for a number of time periods, and divides the sum by that number of time periods.","-1424923010":"where n is the number of periods.","-1835384051":"What SMA tells you","-749487251":"SMA serves as an indicator of the trend. If the SMA points up then the market price is increasing and vice versa. The larger the period number, the smoother SMA line is.","-1996062088":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 10 days.","-1866751721":"Input list accepts a list of ticks or candles, while period is the specified time period.","-1097076512":"You may compare SMA values calculated on every bot run to identify the market trend direction. Alternatively, you may also use a variation of the SMA block, the Simple Moving Average Array block. ","-1254849504":"If a period of 10 is entered, the Simple Moving Average Array block will return a list of SMA values calculated based on period of 10.","-1190046167":"This block displays a dialog box with a customised message. When the dialog box is displayed, your strategy is paused and will only resume after you click \"OK\".","-859028989":"In this example, the date and time will be displayed in a green notification box.","-1452086215":"In this example, a Rise contract will be purchased at midnight on 1 August 2019.","-2078588404":"Select your desired market and asset type. For example, Forex > Major pairs > AUD/JPY","-2037446013":"2. Trade Type","-533927844":"Select your desired trade type. For example, Up/Down > Rise/Fall","-1192411640":"4. Default Candle Interval","-485434772":"8. Trade Options","-1827646586":"This block assigns a given value to a variable, creating the variable if it doesn't already exist.","-254421190":"List: ({{message_length}})","-555886064":"Won","-529060972":"Lost","-1062922595":"Reference ID (buy)","-2068574600":"Reference ID (sell)","-994038153":"Start Time","-1979852400":"Entry Spot","-427802309":"Profit/Loss","-224804428":"Transactions","-287223248":"No transaction or activity yet.","-418247251":"Download your journal.","-2123571162":"Download","-1616649196":"results","-90107030":"No results found","-984140537":"Add","-870004399":"<0>Bought: {{longcode}} (ID: {{transaction_id}})","-1211474415":"Filters","-186972150":"There are no messages to display","-558594655":"The bot is not running","-478946875":"The stats are cleared","-999254545":"All messages are filtered out","-934909826":"Load strategy","-1121028020":"or, if you prefer...","-254025477":"Select an XML file from your device","-1131095838":"Please upload an XML file","-523928088":"Create one or upload one from your local drive or Google Drive.","-1684205190":"Why can't I see my recent bots?","-2050879370":"1. Logged in from a different device","-811857220":"3. Cleared your browser cache","-625024929":"Leaving already?","-584289785":"No, I'll stay","-1435060006":"If you leave, your current contract will be completed, but your bot will stop running immediately.","-783058284":"Total stake","-2077494994":"Total payout","-1073955629":"No. of runs","-1729519074":"Contracts lost","-42436171":"Total profit/loss","-1856204727":"Reset","-1137823888":"Total payout since you last cleared your stats.","-992662695":"The number of times your bot has run since you last cleared your stats. Each run includes the execution of all the root blocks.","-1382491190":"Your total profit/loss since you last cleared your stats. It is the difference between your total payout and your total stake.","-24780060":"When you’re ready to trade, hit ","-2147110353":". You’ll be able to track your bot’s performance here.","-1442034178":"Contract bought","-2020280751":"Bot is stopping","-1436403979":"Contract closed","-411060180":"TradingView Chart","-627895223":"Exit spot","-2140412463":"Buy price","-1299484872":"Account","-2004386410":"Win","-266502731":"Transactions detailed summary","-1711732508":"Reference IDs","-386141434":"(Buy)","-482272687":"(Sell)","-1983189496":"ticks","-694277729":"(High)","-2028564707":"(Low)","-596238067":"Entry/Exit spot","-1823621139":"Quick Strategy","-1782602933":"Choose a template below and set your trade parameters.","-315611205":"Strategy","-1524489375":"(optional)","-150224710":"Yes, continue","-475765963":"Edit the amount","-1349897832":"Do not show this message again.","-984512425":"Minimum duration: {{ value }}","-2084091453":"The value must be equal or greater than {{ value }}","-657364297":"The value must be equal or less than {{ value }}","-1696412885":"Import","-320197558":"Sort blocks","-939764287":"Charts","-1566369363":"Zoom out","-1285759343":"Search","-1291088318":"Purchase conditions","-112876186":"Analysis","-1769584466":"Stats","-1133736197":"Utility","-1682372359":"Text","-907562847":"Lists","-1646497683":"Loops","-251326965":"Miscellaneous","-1692205739":"Import a bot from your computer or Google Drive, build it from scratch, or start with a quick strategy.","-1545070554":"Delete bot","-1972599670":"Your bot will be permanently deleted when you hit ","-1692956623":"Yes, delete.","-573479616":"Are you sure you want to delete it?","-786915692":"You are connected to Google Drive","-1256971627":"To import your bot from your Google Drive, you'll need to sign in to your Google account.","-1233084347":"To know how Google Drive handles your data, please review Deriv’s <0>Privacy policy.","-1150107517":"Connect","-1150390589":"Last modified","-1393876942":"Your bots:","-767342552":"Enter your bot name, choose to save on your computer or Google Drive, and hit ","-1372891985":"Save.","-1003476709":"Save as collection","-636521735":"Save strategy","-1953880747":"Stop my bot","-1899230001":"Stopping the current bot will load the Quick Strategy you just created to the workspace.","-2131847097":"Any open contracts can be viewed on the ","-563774117":"Dashboard","-683790172":"Now, <0>run the bot to test out the strategy.","-1127164953":"Hi! Hit <0>Start for a quick tour.","-358288026":"Note: You can also find this tutorial in the <0>Tutorials tab.","-129587613":"Got it, thanks!","-1793577405":"Build from scratch","-358753028":"Create your bot using our drag-and-drop blocks or click Quick Strategy to choose from the ready-to-use bot templates.","-1212601535":"Monitor the market","-21136101":"See how your bot is doing in real-time.","-631097919":"Click <0>Run when you want to start trading, and click <0>Stop when you want to stop.","-1999747212":"Want to retake the tour?","-782992165":"Step 1 :","-1207872534":"First, set the <0>Trade parameters block.","-1656388044":"First, set <0>Market to Derived > Continuous Indices > Volatility 100 (1s) Index.","-1706298865":"Then, set <0>Trade type to Up/Down > Rise/Fall.","-1834358537":"For <0>Default candle interval, set it to 1 minute","-1940971254":"For <0>Trade options, set it as below:","-512839354":"<0>Stake: USD 10 (min: 0.35 - max: 50000)","-753745278":"Step 2 :","-1056713679":"Then, set the <0>Purchase conditions block.","-245497823":"<0>2. Purchase conditions:","-916770284":"<0>Purchase: Rise","-758077259":"Step 3 :","-677396944":"Step 4 :","-295975118":"Next, go to <0>Utility tab under the Blocks menu. Tap the drop-down arrow and hit <0>Loops.","-698493945":"Step 5 :","-1992994687":"Now, tap the <0>Analysis drop-down arrow and hit <0>Contract.","-1844492873":"Go to the <0>Last trade result block and click + icon to add the <0>Result is Win block to the workspace.","-1547091772":"Then, drag the <0>Result is win into the empty slot next to <0>repeat until block.","-736400802":"Step 6 :","-732067680":"Finally, drag and add the whole <0>Repeat block to the <0>Restart trading conditions block.","-1411787252":"Step 1","-1109392787":"Learn how to build your bot from scratch using a simple strategy.","-1263822623":"You can import a bot from your mobile device or from Google drive, see a preview in the bot builder, and start trading by running the bot.","-563921656":"Bot Builder guide","-1596172043":"Quick strategy guides","-1765276625":"Click the multiplier drop-down menu and choose the multiplier value you want to trade with.","-1872233077":"Your potential profit will be multiplied by the multiplier value you’ve chosen.","-614454953":"To learn more about multipliers, please go to the <0>Multipliers page.","-662836330":"Would you like to keep your current contract or close it? If you decide to keep it running, you can check and close it later on the <0>Reports page.","-1717650468":"Online","-1309011360":"Open positions","-1597214874":"Trade table","-1929724703":"Compare CFD accounts","-883103549":"Account deactivated","-45873457":"NEW","-1190972431":"P2P-V2","-1837059346":"Buy / Sell","-1845037007":"Advertiser's page","-494667560":"Orders","-679691613":"My ads","-821418875":"Trader","-679102561":"Contract Details","-430118939":"Complaints policy","-1308346982":"Derived","-579984289":"Derived Demo","-1596515467":"Derived BVI","-222394569":"Derived Vanuatu","-328128497":"Financial","-533935232":"Financial BVI","-565431857":"Financial Labuan","-659955365":"Swap-Free","-291535132":"Swap-Free Demo","-1472945832":"Swap-Free SVG","-144803045":"Only numbers and these special characters are allowed: {{permitted_characters}}","-1450516268":"Only letters, numbers, space, hyphen, period, and apostrophe are allowed.","-1966032552":"The length of token should be 8.","-2128137611":"Should start with letter or number, and may contain hyphen and underscore.","-1590869353":"Up to {{decimal_count}} decimal places are allowed.","-2061307421":"Should be more than {{min_value}}","-1099941162":"Should be less than {{max_value}}","-1528188268":"Straight rows of keys are easy to guess","-1339903234":"Short keyboard patterns are easy to guess","-23980798":"Repeats like \"aaa\" are easy to guess","-235760680":"Avoid repeated words and characters","-1568933154":"Sequences like abc or 6543 are easy to guess","-725663701":"Avoid sequences","-1450768475":"Recent years are easy to guess","-1804838610":"Avoid years that are associated with you","-64849469":"Dates are often easy to guess","-2006915194":"Avoid dates and years that are associated with you","-2124205211":"A word by itself is easy to guess","-1095202689":"All-uppercase is almost as easy to guess as all-lowercase","-2137856661":"Reversed words aren't much harder to guess","-1885413063":"Predictable substitutions like '@' instead of 'a' don't help very much","-369258265":"This password is on the blacklist","-577777971":"You have reached the rate limit of requests per second. Please try later.","-206321775":"Fiat","-522767852":"DEMO","-433761292":"Switching to default account.","-405439829":"Sorry, you can't view this contract because it doesn't belong to this account.","-1590712279":"Gaming","-16448469":"Virtual","-2093768906":"{{name}} has released your funds.
Would you like to give your feedback?","-705744796":"Your demo account balance has reached the maximum limit, and you will not be able to place new trades. Reset your balance to continue trading from your demo account.","-2063700253":"disabled","-1585069798":"Please click the following link to complete your Appropriateness Test.","-1287141934":"Find out more","-367759751":"Your account has not been verified","-596690079":"Enjoy using Deriv?","-265932467":"We’d love to hear your thoughts","-1815573792":"Drop your review on Trustpilot.","-823349637":"Go to Trustpilot","-1204063440":"Set my account currency","-1601813176":"Would you like to increase your daily limits to {{max_daily_buy}} {{currency}} (buy) and {{max_daily_sell}} {{currency}} (sell)?","-1751632759":"Get a faster mobile trading experience with the <0>{{platform_name_go}} app!","-1164554246":"You submitted expired identification documents","-219846634":"Let’s verify your ID","-529038107":"Install","-1738575826":"Please switch to your real account or create one to access the cashier.","-1329329028":"You’ve not set your 30-day turnover limit","-132893998":"Your access to the cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to Self-exclusion and set the limit.","-1852207910":"MT5 withdrawal disabled","-764323310":"MT5 withdrawals have been disabled on your account. Please check your email for more details.","-1744163489":"Please verify your proof of income","-382676325":"To continue trading with us, please submit your proof of income.","-1902997828":"Refresh now","-753791937":"A new version of Deriv is available","-1775108444":"This page will automatically refresh in 5 minutes to load the latest version.","-1175685940":"Please contact us via live chat to enable withdrawals.","-493564794":"Please complete your financial assessment.","-1125797291":"Password updated.","-157145612":"Please log in with your updated password.","-1728185398":"Resubmit proof of address","-612396514":"Please resubmit your proof of address.","-1519764694":"Your proof of address is verified.","-1629185222":"Submit now","-1961967032":"Resubmit proof of identity","-117048458":"Please submit your proof of identity.","-1196422502":"Your proof of identity is verified.","-1392958585":"Please check your email.","-136292383":"Your proof of address verification is pending","-386909054":"Your proof of address verification has failed","-430041639":"Your proof of address did not pass our verification checks, and we’ve placed some restrictions on your account. Please resubmit your proof of address.","-87177461":"Please go to your account settings and complete your personal details to enable deposits.","-904632610":"Reset your balance","-470018967":"Reset balance","-156611181":"Please complete the financial assessment in your account settings to unlock it.","-1925176811":"Unable to process withdrawals in the moment","-980696193":"Withdrawals are temporarily unavailable due to system maintenance. You can make withdrawals when the maintenance is complete.","-1647226944":"Unable to process deposit in the moment","-488032975":"Deposits are temporarily unavailable due to system maintenance. You can make deposits when the maintenance is complete.","-2136953532":"Scheduled cashier maintenance","-849587074":"You have not provided your tax identification number","-47462430":"This information is necessary for legal and regulatory requirements. Please go to your account settings, and fill in your latest tax identification number.","-2067423661":"Stronger security for your Deriv account","-1719731099":"With two-factor authentication, you’ll protect your account with both your password and your phone - so only you can access your account, even if someone knows your password.","-949074612":"Please contact us via live chat.","-2087822170":"You are offline","-1669693571":"Check your connection.","-1706642239":"<0>Proof of ownership <1>required","-553262593":"<0><1>Your account is currently locked <2><3>Please upload your proof of <4>ownership to unlock your account. <5>","-1834929362":"Upload my document","-1043638404":"<0>Proof of ownership <1>verification failed","-1766760306":"<0><1>Please upload your document <2>with the correct details. <3>","-8892474":"Start assessment","-1330929685":"Please submit your proof of identity and proof of address to verify your account and continue trading.","-99461057":"Please submit your proof of address to verify your account and continue trading.","-577279362":"Please submit your proof of identity to verify your account and continue trading.","-197134911":"Your proof of identity is expired","-152823394":"Your proof of identity has expired. Please submit a new proof of identity to verify your account and continue trading.","-822813736":"We're unable to complete with the Wallet upgrade. Please try again later or contact us via live chat.","-285366843":"We are going to update the login process for your Deriv MT5 account.","-978414767":"We require additional information for your Deriv MT5 account(s). Please take a moment to update your information now.","-2142540205":"It appears that the address in your document doesn’t match the address in your Deriv profile. Please update your personal details now with the correct address.","-482715448":"Go to Personal details","-2072411961":"Your proof of address has been verified","-384887227":"Update the address in your profile.","-1470677931":"CFDs on financial instruments.","-1998049070":"If you agree to our use of cookies, click on Accept. For more information, <0>see our policy.","-402093392":"Add Deriv Account","-1721181859":"You’ll need a {{deriv_account}} account","-1989074395":"Please add a {{deriv_account}} account first before adding a {{dmt5_account}} account. Deposits and withdrawals for your {{dmt5_label}} account are done by transferring funds to and from your {{deriv_label}} account.","-689237734":"Proceed","-1642457320":"Help centre","-1966944392":"Network status: {{status}}","-181484419":"Responsible trading","-650505513":"Full screen","-1823504435":"View notifications","-1954045170":"No currency assigned","-1591792668":"Account Limits","-34495732":"Regulatory information","-1496158755":"Go to Deriv.com","-1323441180":"I hereby confirm that my request for opening an account with Deriv to trade OTC products issued and offered exclusively outside Brazil was initiated by me. I fully understand that Deriv is not regulated by CVM and by approaching Deriv I intend to set up a relation with a foreign company.","-1396326507":"Unfortunately, {{website_name}} is not available in your country.","-288996254":"Unavailable","-1019903756":"Synthetic","-735306327":"Manage accounts","-1813972756":"Account creation paused for 24 hours","-366030582":"Sorry, you're unable to create an account at this time. As you declined our previous risk warnings, we need you to wait for 24 hours after your first account creation attempt before you can proceed.<0/><0/>","-534047566":"Thank you for your understanding. You can create your account on {{real_account_unblock_date}} or later.","-399816343":"Trading Experience Assessment<0/>","-1822498621":"As per our regulatory obligations, we are required to assess your trading knowledge and experience.<0/><0/>Please click ‘OK’ to continue","-71049153":"Keep your account secure with a password","-1861974537":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters, numbers, and symbols.","-1965920446":"Start trading","-1485242688":"Step {{step}}: {{step_title}} ({{step}} of {{steps}})","-1829842622":"You can open an account for each cryptocurrency.","-987221110":"Choose a currency you would like to trade with.","-1066574182":"Choose a currency","-1914534236":"Choose your currency","-200560194":"Please switch to your {{fiat_currency}} account to change currencies.","-1829493739":"Choose the currency you would like to trade with.","-1814647553":"Add a new","-1269362917":"Add new","-650480777":"crypto account","-175638343":"Choose an account or add a new one","-1768223277":"Your account is ready","-1215717784":"<0>You have successfully changed your currency to {{currency}}.<0>Make a deposit now to start trading.","-1775006840":"Make a deposit now to start trading.","-983734304":"We need proof of your identity and address before you can start trading.","-917733293":"To get trading, please confirm where you live.","-1282628163":"You'll be able to get trading as soon as verification is complete.","-952649119":"Log In","-3815578":"Sign Up","-1456176427":"Set a currency for your real account","-1329687645":"Create a cryptocurrency account","-1429178373":"Create a new account","-1740162250":"Manage account","-1016775979":"Choose an account","-1362081438":"Adding more real accounts has been restricted for your country.","-1602122812":"24-hour Cool Down Warning","-1519791480":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the risk of losing your money. <0/><0/>\n As you have declined our previous warning, you would need to wait 24 hours before you can proceed further.","-1010875436":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, kindly note that you would need to wait 24 hours before you can proceed further.","-1725418054":"By clicking ‘Accept’ and proceeding with the account opening, you should note that you may be exposing yourself to risks. These risks, which may be significant, include the risk of losing the entire sum invested, and you may not have the knowledge and experience to properly assess or mitigate them.","-1369294608":"Already signed up?","-730377053":"You can’t add another real account","-2100785339":"Invalid inputs","-2061807537":"Something’s not right","-617844567":"An account with your details already exists.","-1534648620":"Your password has been changed","-596199727":"We will now redirect you to the login page.","-310434518":"The email input should not be empty.","-437918412":"No currency assigned to your account","-1193651304":"Country of residence","-707550055":"We need this to make sure our service complies with laws and regulations in your country.","-280139767":"Set residence","-601615681":"Select theme","-1152511291":"Dark","-1428458509":"Light","-1976089791":"Your Deriv account has been unlinked from your {{social_identity_provider}} account. You can now log in to Deriv using your new email address and password.","-505449293":"Enter a new password for your Deriv account.","-1728963310":"Stop creating an account?","-703818088":"Only log in to your account at this secure link, never elsewhere.","-1235799308":"Fake links often contain the word that looks like \"Deriv\" but look out for these differences.","-2102997229":"Examples","-82488190":"I've read the above carefully.","-97775019":"Do not trust and give away your credentials on fake websites, ads or emails.","-2142491494":"OK, got it","-611136817":"Beware of fake links.","-1342699195":"Total profit/loss:","-1941013000":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}, {{legal_entity_name_fx}}, and {{legal_entity_name_v}}.","-594812204":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}.","-813256361":"We are committed to treating our clients fairly and providing them with excellent service.<0/><1/>We would love to hear from you on how we can improve our services to you. Any information you provide will be treated in the strictest confidence. Rest assured that you will be heard, valued, and always treated fairly.","-1622847732":"If you have an inquiry regarding your trading account with {{legal_entity_name}}, you can contact us through our <0>Help centre or by chatting with a representative via <1>Live Chat.<2/><3/>We are committed to resolving your query in the quickest time possible and appreciate your patience in allowing us time to resolve the matter.<4/><5/>We strive to provide the best possible service and support to our customers. However, in the event that we are unable to resolve your query or if you feel that our response is unsatisfactory, we want to hear from you. We welcome and encourage you to submit an official complaint to us so that we can review your concerns and work towards a resolution.","-1406192787":"If you are not satisfied with the outcome, you can escalate your complaint to the <0>Financial Commission.","-2115348800":"1. Introduction","-744009523":"2. Fair treatment","-866831420":"3.1. Submission of a complaint","-1102904026":"3.2. Handling your complaint","-603378979":"3.3. Resolving your complaint","-697569974":"3.4. Your decision","-1280998762":"4. Complaints","-1886635232":"A complaint is any expression of dissatisfaction by a client regarding our products or services that requires a formal response.<0/><1/>If what you submit does not fall within the scope of a complaint, we may reclassify it as a query and forward it to the relevant department for handling. However, if you believe that your query should be classified as a complaint due to its relevance to the investment services provided by {{legal_entity_name}}, you may request that we reclassify it accordingly.","-1771496016":"To submit a complaint, please send an email to <0>complaints@deriv.com, providing as much detail as possible. To help us investigate and resolve your complaint more efficiently, please include the following information:","-1197243525":"<0>•A clear and detailed description of your complaint, including any relevant dates, times, and transactions","-1795134892":"<0>•Any relevant screenshots or supporting documentation that will assist us in understanding the issue","-2053887036":"4.4. Handling your complaint","-717170429":"Once we have received the details of your complaint, we shall review it carefully and keep you updated on the handling process. We might request further information or clarifications to facilitate the resolution of the complaint.","-1841922393":"4.5. Resolving your complaint","-1327119795":"4.6. Your decision","-2019654103":"If we are unable to resolve your complaint or you are not satisfied with the outcome, you can escalate your complaint to the Office of the Arbiter for Financial Services.<0/><1/><2>Filing complaints with the Office of the Arbiter for Financial Services","-687172857":"<0>•You may file a complaint with the Arbiter for Financial Services only if you are not satisfied with our decision or the decision wasn’t made within 15 business days.","-262934706":"<0>•If the complaint is accepted by the Arbiter, you will receive another email with further details relating to the payment of the €25 complaint fee and the processes that follow.","-993572476":"<0>b.The Financial Commission has 5 days to acknowledge that your complaint was received and 14 days to answer the complaint through our Internal Dispute Resolution (IDR) procedure.","-1769159081":"<0>c.You will be able to file a complaint with the Financial Commission only if you are not satisfied with our decision or the decision wasn’t made within 14 days.","-58307244":"3. Determination phase","-356618087":"<0>b.The DRC may request additional information from you or us, who must then provide the requested information within 7 days.","-945718602":"<0>b.If you agree with a DRC decision, you will need to accept it within 14 days. If you do not respond to the DRC decision within 14 days, the complaint is considered closed.","-1500907666":"<0>d.If the decision is made in our favour, you must provide a release for us within 7 days of when the decision is made, and the complaint will be considered closed.","-429248139":"5. Disclaimer","-818926350":"The Financial Commission accepts appeals for 45 days following the date of the incident and only after the trader has tried to resolve the issue with the company directly.","-1825471709":"A whole new trading experience on a powerful yet easy to use platform.","-981017278":"Automated trading at your fingertips. No coding needed.","-583559763":"Menu","-1685795001":"Demo Wallet","-319395348":"Looking for CFDs? Go to Trader’s Hub","-554054753":"Get started","-1364763296":"No need to remember a password","-1274467503":"Sync across devices","-2036288743":"Enhanced security with biometrics or screen lock ","-143216768":"Learn more about passkeys <0> here.","-778309978":"The link you clicked has expired. Ensure to click the link in the latest email in your inbox. Alternatively, enter your email below and click <0>Resend email for a new link.","-2007055538":"Information updated","-521477049":"We are going to update the login process for your Deriv MT5 account. Here is what you need to do when you want to log in via your MT5 mobile app starting from 7 February:","-749864644":"If you have trouble logging into your Deriv MT5 account, please follow this <0>guide.","-238296389":"Need help? Contact us via <0>live chat to assist you with any login questions.","-941870889":"The cashier is for real accounts only","-352838513":"It looks like you don’t have a real {{regulation}} account. To use the cashier, switch to your {{active_real_regulation}} real account, or get an {{regulation}} real account.","-1858915164":"Ready to deposit and trade for real?","-162753510":"Add real account","-1208519001":"You need a real Deriv account to access the cashier.","-715867914":"Successfully deposited","-1271218821":"Account added","-197631101":"Your funds will be available for trading once the verification of your account is complete.","-835056719":"We’ve received your documents","-55435892":"We’ll need 1 - 3 days to review your documents and notify you by email. You can practice with demo accounts in the meantime.","-1916578937":"<0>Explore the exciting new features that your Wallet offers.","-1724438599":"<0>You're almost there!","-1089300025":"We don’t charge deposit fees! Once your account is verified, you will be able to trade, make additional deposits, or withdraw funds.","-476018343":"Live Chat","-1471705969":"<0>{{title}}: {{trade_type_name}} on {{symbol}}","-1771117965":"Trade opened","-1856112961":"The URL you requested isn’t available","-304807228":"<0>You’re not logged in, or<0>Our services are unavailable in your country.","-1567989247":"Submit your proof of identity and address","-523602297":"Forex majors","-1303090739":"Up to 1:1500","-19213603":"Metals","-1264604378":"Up to 1:1000","-1728334460":"Up to 1:300","-646902589":"(US_30, US_100, US_500)","-705682181":"Malta","-1835174654":"1:30","-1647612934":"Spreads from","-1587894214":"about verifications needed.","-466784048":"Regulator/EDR","-2098459063":"British Virgin Islands","-1005069157":"Synthetic indices, basket indices, and derived FX","-1344709651":"40+","-1326848138":"British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114)","-1711743223":"Forex (standard/micro), stocks, stock indices, commodities, cryptocurrencies and ETFs","-1372141447":"Straight-through processing","-1969608084":"Forex and Cryptocurrencies","-800771713":"Labuan Financial Services Authority (licence no. MB/18/0024)","-1497128311":"80+","-1689815930":"You will need to submit proof of identity and address once you reach certain thresholds.","-1175785439":"Deriv (SVG) LLC (company no. 273 LLC 2020)","-139026353":"A selfie of yourself.","-1228847561":"Verification in review.","-618322245":"Verification successful.","-149461870":"Forex: standard/exotic","-1995163270":"ETFs","-651501076":"Derived - SVG","-865172869":"Financial - BVI","-1851765767":"Financial - Vanuatu","-558597854":"Financial - Labuan","-2052425142":"Swap-Free - SVG","-1192904361":"Deriv X Demo","-283929334":"Deriv cTrader Demo","-1269597956":"MT5 Platform","-1302404116":"Maximum leverage","-239789243":"(License no. SIBA/L/18/1114)","-941636117":"MetaTrader 5 Linux app","-1434036215":"Demo Financial","-1416247163":"Financial STP","-1637969571":"Demo Swap-Free","-1882063886":"Demo CFDs","-1347908717":"Demo Financial SVG","-1780324582":"SVG","-860609405":"Password","-742647506":"Fund transfer","-712681566":"Peer-to-peer exchange","-1267880283":"{{field_name}} is required","-2084509650":"{{field_name}} is not properly formatted.","-790488576":"Forgot password?","-476558960":"If you don’t have open positions","-1385484963":"Confirm to change your {{platform}} password","-1990902270":"This will change the password to all of your {{platform}} accounts.","-12535938":"*Volatility 250 Index, Volatility 150 Index, Boom 300 and Crash 300 Index","-201485855":"Up to","-700260448":"demo","-1769158315":"real","-1922462747":"Trader's hub","-16858060":"You have a new Deriv MT5 password to log in to your Deriv MT5 accounts on the web and mobile apps.","-1868608634":"Current password","-2092058806":"8 to 16 characters","-2051033705":"A special character such as ( _ @ ? ! / # )","-1762249687":"A lowercase letter","-535365199":"Enter your {{platform}} password to add a {{platform_name}} {{account}} account.","-184453418":"Enter your {{platform}} password","-393388362":"We’re reviewing your documents. This should take about 1 to 3 days.","-2057918502":"Hint: You may have entered your Deriv password, which is different from your {{platform}} password.","-267598687":"Congratulations, you have successfully created your <0/>{{category}} {{platform}} {{type}} account. To start trading, <1 />transfer funds <2 />from your Deriv account into this account.","-1475660820":"Your Deriv MT5 {{type}} account is ready. ","-1710177700":"Your demo {{type}} account is ready.","-1184248732":"Congratulations, you have successfully created your <0/>{{category}} {{platform}} {{type}} account. ","-1928229820":"Reset Deriv X investor password","-1969916895":"Your password must contain between 8-16 characters that include uppercase and lowercase letters, and at least one number and special character ( _ @ ? ! / # ).","-1087845020":"main","-1950683866":"investor","-1874242353":"Fund top up","-89838213":"You can top up your demo account with an additional <0> if your balance is <1> or less.","-1211122723":"{{ platform }} {{ account_title }} account","-78895143":"Current balance","-149993085":"New current balance","-1615126227":"Manage up to {{max_count}} Deriv cTrader accounts. While you can convert any of your Deriv cTrader accounts into a strategy account, please take note of the following:","-1547739386":"To ensure you can always create and manage strategies with fees, <0>keep at least one account free from being a strategy provider. This way, you’ll always have an account ready for collecting fees, allowing you to have up to four strategies where you may impose fees.","-2145356061":"Download Deriv X on your phone to trade with the Deriv X account","-1547458328":"Run cTrader on your browser","-747382643":"Get another cTrader account","-1986258847":"Server maintenance starts at 01:00 GMT every Sunday, and this process may take up to 2 hours to complete. Service may be disrupted during this time.","-499504077":"Choose a cTrader account to transfer","-251202291":"Broker","-678964540":"to","-206829624":"(1:x)","-616293830":"Enjoy dynamic leverage of <0>up to 1:1500 when trading selected instruments in the forex, commodities, cryptocurrencies, and stock indices markets. Our dynamic leverage adjusts automatically to your trading position, based on asset type and trading volume.","-2042845290":"Your investor password has been changed.","-1882295407":"Your password has been changed.","-254497873":"Use this password to grant viewing access to another user. While they may view your trading account, they will not be able to trade or take any other actions.","-161656683":"Current investor password","-374736923":"New investor password","-1793894323":"Create or reset investor password","-21438174":"Add your Deriv cTrader account under Deriv (SVG) LLC (company no. 273 LLC 2020).","-2026018074":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (SVG) LLC (company no. 273 LLC 2020).","-162320753":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (BVI) Ltd, regulated by the British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114).","-271828350":"Get more out of Deriv MT5 Financial","-2125860351":"Choose a jurisdiction for your Deriv MT5 CFDs account","-1460321521":"Choose a jurisdiction for your {{account_type}} account","-637537305":"Download {{ platform }} on your phone to trade with the {{ platform }} {{ account }} account","-964130856":"{{existing_account_title}}","-879259635":"Enter your Deriv MT5 password to upgrade your account(s).","-1504907646":"Deriv MT5 password","-361998267":"We've introduced additional password requirements to increase your account security. Your password should:","-996995493":"Be between 8 to 16 characters.","-219163415":"Contain at least one special character.","-1446636186":"By clicking on <0>Next you agree to move your {{platform}} {{type_1}} and {{type_2}} {{from_account}} account(s) under Deriv {{account_to_migrate}} Ltd’s <1>terms and conditions.","-1766387013":"Upgrade your MT5 account(s)","-990927225":"Enter your Deriv MT5 password","-1486399361":"Trade with MT5 mobile app","-301350824":"Note: Don't have the MT5 app? Tap the <0>Trade with MT5 mobile app button to download. Once you have\n installed the app, return to this screen and hit the same button to log in.","-648956272":"Use this password to log in to your Deriv X accounts on the web and mobile apps.","-1814308691":"Please click on the link in the email to change your {{platform}} password.","-2015785957":"Compare CFDs {{demo_title}} accounts","-81650212":"MetaTrader 5 web","-508045656":"Coming soon on IOS","-601303096":"Scan the QR code to download Deriv {{ platform }}.","-1357917360":"Web terminal","-1282933308":"Not {{barrier}}","-968190634":"Equals {{barrier}}","-1747377543":"Under {{barrier}}","-1386326276":"Barrier is a required field.","-1418742026":"Higher barrier must be higher than lower barrier.","-92007689":"Lower barrier must be lower than higher barrier.","-1095538960":"Please enter the start time in the format \"HH:MM\".","-1975910372":"Minute must be between 0 and 59.","-866277689":"Expiry time cannot be in the past.","-1455298001":"Now","-256210543":"Trading is unavailable at this time.","-1150099396":"We’re working to have this available for you soon. If you have another account, switch to that account to continue trading. You may add a Deriv MT5 Financial.","-28115241":"{{platform_name_trader}} is not available for this account","-453920758":"Go to {{platform_name_mt5}} dashboard","-402175529":"History","-1013917510":"The reset time is {{ reset_time }}","-925402280":"Indicative low spot","-1075414250":"High spot","-902712434":"Deal cancellation","-988484646":"Deal cancellation (executed)","-444882676":"Deal cancellation (active)","-13423018":"Reference ID","-1371082433":"Reset barrier","-1402197933":"Reset time","-2035315547":"Low barrier","-1745835713":"Selected tick","-1551639437":"No history","-1214703885":"You have yet to update either take profit or stop loss","-504849554":"It will reopen at","-59803288":"In the meantime, try our synthetic indices. They simulate real-market volatility and are open 24/7.","-1278109940":"See open markets","-694105443":"This market is closed","-104603605":"You cannot trade as your documents are still under review. We will notify you by email once your verification is approved.","-439389714":"We’re working on it","-770929448":"Go to {{platform_name_smarttrader}}","-347156282":"Submit Proof","-138538812":"Log in or create a free account to place a trade.","-2036388794":"Create free account","-1813736037":"No further trading is allowed on this contract type for the current trading session. For more info, refer to our <0>terms and conditions.","-1043795232":"Recent positions","-153220091":"{{display_value}} Tick","-802374032":"Hour","-1052279158":"Your <0>payout is the sum of your initial stake and profit.","-1819891401":"You can close your trade anytime. However, be aware of <0>slippage risk.","-231957809":"Win maximum payout if the exit spot is higher than or equal to the upper barrier.","-464144986":"Win maximum payout if the exit spot is lower than or equal to the lower barrier.","-1031456093":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between upper barrier and exit spot.","-968162707":"No payout if exit spot is above or equal to the upper barrier.","-2089488446":"If you select \"Ends Between\", you win the payout if the exit spot is strictly higher than the Low barrier AND strictly lower than the High barrier.","-1876950330":"If you select \"Ends Outside\", you win the payout if the exit spot is EITHER strictly higher than the High barrier, OR strictly lower than the Low barrier.","-546460677":"If the exit spot is equal to either the Low barrier or the High barrier, you don't win the payout.","-1929209278":"If you select \"Even\", you will win the payout if the last digit of the last tick is an even number (i.e., 2, 4, 6, 8, or 0).","-2038865615":"If you select \"Odd\", you will win the payout if the last digit of the last tick is an odd number (i.e., 1, 3, 5, 7, or 9).","-1959473569":"If you select \"Lower\", you win the payout if the exit spot is strictly lower than the barrier.","-1350745673":"If the exit spot is equal to the barrier, you don't win the payout.","-93996528":"By purchasing the \"Close-to-Low\" contract, you'll win the multiplier times the difference between the close and low over the duration of the contract.","-420387848":"The high is the highest point ever reached by the market during the contract period.","-1722190480":"By purchasing the \"High-to-Low\" contract, you'll win the multiplier times the difference between the high and low over the duration of the contract.","-1281286610":"If you select \"Matches\", you will win the payout if the last digit of the last tick is the same as your prediction.","-618782785":"Use multipliers to leverage your potential returns. Predict if the asset price will move upward (bullish) or downward (bearish). We’ll charge a commission when you open a multipliers trade.","-565391674":"If you select \"<0>Up\", your total profit/loss will be the percentage increase in the underlying asset price, times the multiplier and stake, minus commissions.","-1113825265":"Additional features are available to manage your positions: “<0>Take profit” and “<0>Stop loss” allow you to adjust your level of risk aversion.","-1104397398":"Additional features are available to manage your positions: “<0>Take profit”, “<0>Stop loss” and “<0>Deal cancellation” allow you to adjust your level of risk aversion.","-1272255095":"If the exit spot is equal to the barrier or the new barrier (if a reset occurs), you don't win the payout.","-1392065699":"If you select \"Rise\", you win the payout if the exit spot is strictly higher than the entry spot.","-1762566006":"If you select \"Fall\", you win the payout if the exit spot is strictly lower than the entry spot.","-1435306976":"If you select \"Allow equals\", you win the payout if exit spot is higher than or equal to entry spot for \"Rise\". Similarly, you win the payout if exit spot is lower than or equal to entry spot for \"Fall\".","-1812957362":"If you select \"Stays Between\", you win the payout if the market stays between (does not touch) either the High barrier or the Low barrier at any time during the contract period","-220379757":"If you select \"Goes Outside\", you win the payout if the market touches either the High barrier or the Low barrier at any time during the contract period.","-299450697":"If you select \"High Tick\", you win the payout if the selected tick is the highest among the next five ticks.","-1416078023":"If you select \"Touch\", you win the payout if the market touches the barrier at any time during the contract period.","-1565216130":"If you select <0>\"Up\", you’ll earn a payout if the spot price never drops below the barrier.","-1336860323":"If you select <0>\"Down\", you’ll earn a payout if the spot price never rises above the barrier.","-1547935605":"Your payout is equal to the <0>payout per point multiplied by the difference between the <0>final price and the barrier. You will only earn a profit if your payout is higher than your initial stake.","-1307465836":"You may sell the contract up to 15 seconds before expiry. If you do, we’ll pay you the <0>contract value.","-351875097":"Number of ticks","-729830082":"View less","-1649593758":"Trade info","-1382749084":"Go back to trading","-1239477911":"second","-1585766960":"min","-1652791614":"mins","-1977959027":"hours","-442488432":"day","-337314714":"days","-1435392215":"About deal cancellation","-2017825013":"Got it","-1192773792":"Don't show this again","-1341681145":"When this is active, you can cancel your trade within the chosen time frame. Your stake will be returned without loss.","-471757681":"Risk management","-843831637":"Stop loss","-771725194":"Deal Cancellation","-1669741470":"The payout at expiry is equal to the payout per point multiplied by the difference between the final price and the strike price.","-993480898":"Accumulators","-2131851017":"Growth rate","-1422269966":"You can choose a growth rate with values of 1%, 2%, 3%, 4%, and 5%.","-1186791513":"Payout is the sum of your initial stake and profit.","-1682624802":"It is a percentage of the previous spot price. The percentage rate is based on your choice of the index and the growth rate.","-1186082278":"Your payout is equal to the payout per point multiplied by the difference between the final price and barrier.","-584445859":"This is when your contract will expire based on the duration or end time you’ve selected. If the duration is more than 24 hours, the cut-off time and expiry date will apply instead.","-1221049974":"Final price","-1247327943":"This is the spot price of the last tick at expiry.","-1890561510":"Cut-off time","-878534036":"If you select \"Call\", you’ll earn a payout if the final price is above the strike price at expiry. Otherwise, you won’t receive a payout.","-1587076792":"If you select \"Put\", you’ll earn a payout if the final price is below the strike price at expiry. Otherwise, you won’t receive a payout.","-1482134885":"We calculate this based on the strike price and duration you’ve selected.","-565990678":"Your contract will expire on this date (in GMT), based on the End time you’ve selected.","-1545819495":"Your trade will be closed automatically at the nearest available asset price when your loss reaches a certain percentage of your stake, but your loss never exceeds your stake. This percentage depends on the chosen underlying asset and the Multiplier.","-468501352":"If you select this feature, your trade will be closed automatically at the nearest available asset price when your profit reaches or exceeds the take profit amount. Your profit may be more than the amount you entered depending on the market price at closing.","-477936848":"We use next-tick-execution mechanism, which is the next asset price when the trade opening is processed by our servers.","-1476381873":"The latest asset price when the trade closure is processed by our servers.","-148680560":"Spot price of the last tick upon reaching expiry.","-1123926839":"Contracts will expire at exactly 14:00:00 GMT on your selected expiry date.","-1904828224":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price, duration, etc. However, we won’t offer a contract value if the remaining duration is below 24 hours.","-127118348":"Choose {{contract_type}}","-543478618":"Try checking your spelling or use a different term","-338707425":"Minimum duration is 1 day","-1003473648":"Duration: {{duration}} day","-700280380":"Deal cancel. fee","-8998663":"Digit: {{last_digit}} ","-718750246":"Your stake will grow at {{growth_rate}}% per tick as long as the current spot price remains within ±{{tick_size_barrier_percentage}} from the previous spot price.","-1358367903":"Stake","-542594338":"Max. payout","-690963898":"Your contract will be automatically closed when your payout reaches this amount.","-511541916":"Your contract will be automatically closed upon reaching this number of ticks.","-438655760":"<0>Note: You can close your trade anytime. Be aware of slippage risk.","-774638412":"Stake must be between {{min_stake}} {{currency}} and {{max_stake}} {{currency}}","-434270664":"Current Price","-1956787775":"Barrier Price:","-1513281069":"Barrier 2","-390994177":"Should be between {{min}} and {{max}}","-1231210510":"Tick","-2055106024":"Toggle between advanced and simple duration settings","-1012793015":"End time","-1804019534":"Expiry: {{date}}","-2037881712":"Your contract will be closed automatically at the next available asset price on <0>.","-629549519":"Commission <0/>","-2131859340":"Stop out <0/>","-1686280757":"<0>{{commission_percentage}}% of (<1/> * {{multiplier}})","-732683018":"When your profit reaches or exceeds this amount, your trade will be closed automatically.","-339236213":"Multiplier","-1763848396":"Put","-194424366":"above","-857660728":"Strike Prices","-1346404690":"You receive a payout at expiry if the spot price never touches or breaches the barrier throughout the contract duration. Otherwise, your contract will be terminated early.","-1572548510":"Ups & Downs","-71301554":"Ins & Outs","-952298801":"Look Backs","-763273340":"Digits","-2002533437":"Custom function","-215053350":"with:","-1257232389":"Specify a parameter name:","-1885742588":"with: ","-188442606":"function {{ function_name }} {{ function_params }} {{ dummy }}","-313112159":"This block is similar to the one above, except that this returns a value. The returned value can be assigned to a variable of your choice.","-1783320173":"Prematurely returns a value within a function","-1485521724":"Conditional return","-1482801393":"return","-46453136":"get","-1838027177":"first","-1182568049":"Get list item","-1675454867":"This block gives you the value of a specific item in a list, given the position of the item. It can also remove the item from the list.","-381501912":"This block creates a list of items from an existing list, using specific item positions.","-426766796":"Get sub-list","-1679267387":"in list {{ input_list }} find {{ first_or_last }} occurence of item {{ input_value }}","-2087996855":"This block gives you the position of an item in a given list.","-422008824":"Checks if a given list is empty","-1343887675":"This block checks if a given list is empty. It returns “True” if the list is empty, “False” if otherwise.","-1548407578":"length of {{ input_list }}","-1786976254":"This block gives you the total number of items in a given list.","-2113424060":"create list with item {{ input_item }} repeated {{ number }} times","-1955149944":"Repeat an item","-434887204":"set","-197957473":"as","-851591741":"Set list item","-1874774866":"ascending","-1457178757":"Sorts the items in a given list","-350986785":"Sort list","-324118987":"make text from list","-155065324":"This block creates a list from a given string of text, splitting it with the given delimiter. It can also join items in a list into a string of text.","-459051222":"Create list from text","-977241741":"List Statement","-451425933":"{{ break_or_continue }} of loop","-323735484":"continue with next iteration","-1592513697":"Break out/continue","-713658317":"for each item {{ variable }} in list {{ input_list }}","-1825658540":"Iterates through a given list","-952264826":"repeat {{ number }} times","-887757135":"Repeat (2)","-1608672233":"This block is similar to the block above, except that the number of times it repeats is determined by a given variable.","-533154446":"Repeat (1)","-1059826179":"while","-1893063293":"until","-279445533":"Repeat While/Until","-1003706492":"User-defined variable","-359097473":"set {{ variable }} to {{ value }}","-1588521055":"Sets variable value","-980448436":"Set variable","-1538570345":"Get the last trade information and result, then trade again.","-222725327":"Here is where you can decide if your bot should continue trading.","-1638446329":"Result is {{ win_or_loss }}","-1968029988":"Last trade result","-1588406981":"You can check the result of the last trade with this block.","-1459154781":"Contract Details: {{ contract_detail }}","-1652241017":"Reads a selected property from contract details list","-985351204":"Trade again","-2082345383":"These blocks transfer control to the Purchase conditions block.","-172574065":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract.","-403103225":"restart","-837044282":"Ask Price {{ contract_type }}","-1033917049":"This block returns the purchase price for the selected trade type.","-1863737684":"2. Purchase conditions","-228133740":"Specify contract type and purchase conditions.","-1098726473":"This block is mandatory. Only one copy of this block is allowed. You can place the Purchase block (see below) here as well as conditional blocks to define your purchase conditions.","-1777988407":"Payout {{ contract_type }}","-511116341":"This block returns the potential payout for the selected trade type","-1943211857":"Potential payout","-1738427539":"Purchase","-813464969":"buy","-53668380":"True if active contract can be sold before expiration at current market price","-43337012":"Sell profit/loss","-2112866691":"Returns the profit/loss from selling at market price","-2132417588":"This block gives you the potential profit or loss if you decide to sell your contract.","-1360483055":"set {{ variable }} to Bollinger Bands {{ band_type }} {{ dummy }}","-20542296":"Calculates Bollinger Bands (BB) from a list with a period","-1951109427":"Bollinger Bands (BB)","-857226052":"BB is a technical analysis indicator that’s commonly used by traders. The idea behind BB is that the market price stays within the upper and lower bands for 95% of the time. The bands are the standard deviations of the market price, while the line in the middle is a simple moving average line. If the price reaches either the upper or lower band, there’s a possibility of a trend reversal.","-325196350":"set {{ variable }} to Bollinger Bands Array {{ band_type }} {{ dummy }}","-199689794":"Similar to BB. This block gives you a choice of returning the values of either the lower band, higher band, or the SMA line in the middle.","-920690791":"Calculates Exponential Moving Average (EMA) from a list with a period","-960641587":"EMA is a type of moving average that places more significance on the most recent data points. It’s also known as the exponentially weighted moving average. EMA is different from SMA in that it reacts more significantly to recent price changes.","-1557584784":"set {{ variable }} to Exponential Moving Average Array {{ dummy }}","-32333344":"Calculates Moving Average Convergence Divergence (MACD) from a list","-628573413":"MACD is calculated by subtracting the long-term EMA (26 periods) from the short-term EMA (12 periods). If the short-term EMA is greater or lower than the long-term EMA than there’s a possibility of a trend reversal.","-1133676960":"Fast EMA Period {{ input_number }}","-883166598":"Period {{ input_period }}","-450311772":"set {{ variable }} to Relative Strength Index {{ dummy }}","-1861493523":"Calculates Relative Strength Index (RSI) list from a list of values with a period","-880048629":"Calculates Simple Moving Average (SMA) from a list with a period","-1150972084":"Market direction","-276935417":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of “True” or “False”.","-764931948":"in candle list get # from end {{ input_number }}","-924607337":"Returns the last digit of the latest tick","-560033550":"Returns the list of last digits of 1000 recent tick values","-74062476":"Make a List of {{ candle_property }} values in candles list with interval: {{ candle_interval_type }}","-1556495906":"Returns a list of specific values from a candle list according to selected time interval","-166816850":"Create a list of candle values (1)","-1261436901":"Candles List","-1174859923":"Read the selected candle value","-1972165119":"Read candle value (1)","-1956100732":"You can use this block to analyze the ticks, regardless of your trades","-443243232":"The content of this block is called on every tick. Place this block outside of any root block.","-641399277":"Last Tick","-1628954567":"Returns the value of the last tick","-1332756793":"This block gives you the value of the last tick.","-2134440920":"Last Tick String","-1466340125":"Tick value","-467913286":"Tick value Description","-785831237":"This block gives you a list of the last 1000 tick values.","-1546430304":"Tick List String Description","-1788626968":"Returns \"True\" if the given candle is black","-436010611":"Make a list of {{ candle_property }} values from candles list {{ candle_list }}","-1384340453":"Returns a list of specific values from a given candle list","-584859539":"Create a list of candle values (2)","-2010558323":"Read {{ candle_property }} value in candle {{ input_candle }}","-2846417":"This block gives you the selected candle value.","-1587644990":"Read candle value (2)","-1202212732":"This block returns account balance","-1737837036":"Account balance","-1963883840":"Put your blocks in here to prevent them from being removed","-1284013334":"Use this block if you want some instructions to be ignored when your bot runs. Instructions within this block won’t be executed.","-1217253851":"Log","-1987568069":"Warn","-104925654":"Console","-1956819233":"This block displays messages in the developer's console with an input that can be either a string of text, a number, boolean, or an array of data.","-1450461842":"Load block from URL: {{ input_url }}","-1088614441":"Loads blocks from URL","-1747943728":"Loads from URL","-2105753391":"Notify Telegram {{ dummy }} Access Token: {{ input_access_token }} Chat ID: {{ input_chat_id }} Message: {{ input_message }}","-1008209188":"Sends a message to Telegram","-1218671372":"Displays a notification and optionally play selected sound","-2099284639":"This block gives you the total profit/loss of your trading strategy since your bot started running. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-683825404":"Total Profit String","-718220730":"Total Profit String Description","-1861858493":"Number of runs","-264195345":"Returns the number of runs","-303451917":"This block gives you the total number of times your bot has run. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-2132861129":"Conversion Helper Block","-74095551":"Seconds Since Epoch","-15528039":"Returns the number of seconds since January 1st, 1970","-729807788":"This block returns the number of seconds since January 1st, 1970.","-1370107306":"{{ dummy }} {{ stack_input }} Run after {{ number }} second(s)","-558838192":"Delayed run","-1975250999":"This block converts the number of seconds since the Unix Epoch (1 January 1970) into a string of text representing the date and time.","-702370957":"Convert to date/time","-982729677":"Convert to timestamp","-311268215":"This block converts a string of text that represents the date and time into seconds since the Unix Epoch (1 January 1970). The time and time zone offset are optional. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825.","-1797602591":"Stop Loss: {{ currency }} {{ stop_loss }}","-1374685318":"Your contract is closed automatically when your loss is more than or equals to this amount. This block can only be used with the multipliers trade type.","-1214929127":"Stop loss must be a positive number.","-780745489":"If the contract type is “Both”, then the Purchase Conditions should include both Rise and Fall using the “Conditional Block\"","-2142851225":"Multiplier trade options","-625636913":"Amount must be a positive number.","-1466383897":"Duration: {{ duration_unit }} {{ duration_value }}","-440702280":"Trade options","-1193894978":"Define your trade options such as duration and stake. Some options are only applicable for certain trade types.","-46523443":"Duration value is not allowed. To run the bot, please enter a value between {{min}} to {{max}}.","-1483427522":"Trade Type: {{ trade_type_category }} > {{ trade_type }}","-323348124":"1. Trade parameters","-1671903503":"Run once at start:","-783173909":"Trade options:","-376956832":"Here is where you define the parameters of your contract.","-1244007240":"if {{ condition }} then","-1577206704":"else if","-33796979":"true","-1434883449":"This is a single block that returns a boolean value, either true or false.","-1946404450":"Compares two values","-979918560":"This block converts the boolean value (true or false) to its opposite.","-2047257743":"Null","-1274387519":"Performs selected logic operation","-766386234":"This block performs the \"AND\" or the \"OR\" logic operation.","-790995537":"test {{ condition }}","-1860211657":"if false {{ return_value }}","-1643760249":"This block tests if a given value is true or false and returns “True” or “False” accordingly.","-1551875333":"Test value","-52486882":"Arithmetical operations","-1010436425":"This block adds the given number to the selected variable","-999773703":"Change variable","-1272091683":"Mathematical constants","-1396629894":"constrain {{ number }} low {{ low_number }} high {{ high_number }}","-425224412":"This block constrains a given number so that it is within a set range.","-2072551067":"Constrain within a range","-43523220":"remainder of {{ number1 }} ÷ {{ number2 }}","-1291857083":"Returns the remainder after a division","-592154850":"Remainder after division","-736665095":"Returns the remainder after the division of the given numbers.","-1266992960":"Math Number Description","-77191651":"{{ number }} is {{ type }}","-817881230":"even","-142319891":"odd","-1000789681":"whole","-1735674752":"Test a number","-1017805068":"This block tests a given number according to the selection and it returns a value of “True” or “False”. Available options: Even, Odd, Prime, Whole, Positive, Negative, Divisible","-1858332062":"Number","-1053492479":"Enter an integer or fractional number into this block. Please use `.` as a decimal separator for fractional numbers.","-927097011":"sum","-1653202295":"max","-1555878023":"average","-1748351061":"mode","-992067330":"Aggregate operations","-1691561447":"This block gives you a random fraction between 0.0 to 1.0","-523625686":"Random fraction number","-933024508":"Rounds a given number to an integer","-1656927862":"This block rounds a given number according to the selection: round, round up, round down.","-1495304618":"absolute","-61210477":"Operations on a given number","-181644914":"This block performs the selected operations to a given number.","-840732999":"to {{ variable }} append text {{ input_text }}","-1469497908":"Appends a given text to a variable","-1851366276":"Text Append","-1666316828":"Appends a given text to a variable.","-1902332770":"Transform {{ input_text }} to {{ transform_type }}","-1489004405":"Title Case","-904432685":"Changes text case accordingly","-882381096":"letter #","-1027605069":"letter # from end","-2066990284":"random letter","-337089610":"in text {{ input_text1 }} find {{ first_or_last }} occurence of text {{ input_text2 }}","-1966694141":"Searches through a string of text for a specific occurrence of a given character or word, and returns the position.","-697543841":"Text join","-141160667":"length of {{ input_text }}","-1133072029":"Text String Length","-1109723338":"print {{ input_text }}","-736668830":"Print","-1631669591":"string","-1768939692":"number","-1821552998":"trim spaces from {{ side }} of {{ input_text }}","-801766026":"right side","-474779821":"Trims spaces","-1687036846":"Download block","-1266781295":"Expand","-894560707":"function","-1867119688":"Duplicate","-610728049":"Rearrange Vertically","-2033146714":"Collapse All Blocks","-958601558":"Delete Block","-1193267384":"Detach Block","-1750478127":"New variable name","-1061878051":"Y","-2047029150":"Unable to load the block file.","-1410769167":"Target must be an XML file","-609157479":"This URL is already loaded","-241945454":"Proposals are not ready","-1087890592":"Maximum loss amount reached","-1030545878":"You are rate limited for: {{ message_type }}, retrying in {{ delay }}s (ID: {{ request }})","-490766438":"You are disconnected, retrying in {{ delay }}s","-1389975609":"unknown","-1900515692":"Duration must be a positive integer","-245297595":"Please login","-1445046468":"Given candle is not valid","-1891622945":"{{hourPast}}h ago","-1919680487":"workspace","-1703118772":"The {{block_type}} block is misplaced from {{missing_space}}.","-1785726890":"purchase conditions","-461955353":"purchase price","-172348735":"profit","-1624674721":"contract type","-1644154369":"entry spot time","-510792478":"entry spot price","-1974651308":"exit spot time","-1600267387":"exit spot price","-514917720":"barrier","-1072292603":"No Change","-795152863":"green","-1640576332":"blue","-804983649":"yellow","-94281841":"red","-1242470654":"Earned money","-841561409":"Put Spread","-1429914047":"Low","-1893628957":"Open Time","-1896106455":"10 minutes","-999492762":"15 minutes","-1978767852":"30 minutes","-293628675":"1 hour","-385604445":"2 hours","-1965813351":"4 hours","-525321833":"1 day","-1691868913":"Touch/No Touch","-151151292":"Asians","-1048378719":"Reset Call/Reset Put","-1282312809":"High/Low Ticks","-1237186896":"Only Ups/Only Downs","-529846150":"Seconds","-1635771697":"middle","-1529389221":"Histogram","-1819860668":"MACD","-1750896349":"D'Alembert","-102980621":"The Oscar's Grind Strategy is a low-risk positive progression strategy that first appeared in 1965. By using this strategy, the size of your contract will increase after successful trades, but remains unchanged after unsuccessful trades.","-462715374":"Untitled Bot","-280147477":"All transactions","-137444201":"Buy","-130601012":"Please select duration","-232254547":"Custom","-1577570698":"Start date","-1251526905":"Last 7 days","-1904030160":"Transaction performed by (App ID: {{app_id}})","-1876891031":"Currency","-513103225":"Transaction time","-2066666313":"Credit/Debit","-1981004241":"Sell time","-1196431745":"Contract cost","-3423966":"Take profit<0 />Stop loss","-1131753095":"The {{trade_type_name}} contract details aren't currently available. We're working on making them available soon.","-360975483":"You've made no transactions of this type during this period.","-1226595254":"Turbos","-922253974":"Rise/Fall","-1361254291":"Higher/Lower","-335816381":"Ends In/Ends Out","-1789807039":"Asian Up/Asian Down","-330437517":"Matches/Differs","-657360193":"Over/Under","-558031309":"High Tick/Low Tick","-123659792":"Vanillas","-447037544":"Buy price:","-737348236":"Contract cost:","-1694314813":"Contract value:","-113940416":"Current stake:","-1999539705":"Deal cancel. fee:","-155989831":"Decrement value","-338379841":"Indicative price:","-2027409966":"Initial stake:","-1769852749":"N/A","-726626679":"Potential profit/loss:","-1511825574":"Profit/Loss:","-1167474366":"Tick ","-1669418686":"AUD/CAD","-1548588249":"AUD/CHF","-1552890620":"AUD/JPY","-681231560":"AUD/PLN","-64938413":"AUD/USD","-1430522808":"EUR/AUD","-2020477069":"EUR/CAD","-1201853162":"EUR/CHF","-1318070255":"EUR/GBP","-1197505739":"EUR/JPY","-405907358":"EUR/USD","-1536293064":"NZD/JPY","-79700881":"NZD/USD","-642323838":"USD/CAD","-428199705":"USD/CHF","-424108348":"USD/JPY","-548255282":"USD/NOK","-1834131208":"USD/PLN","-524302516":"Silver/USD","-764731776":"Platinum/USD","-853582174":"France 40","-1096386695":"UK 100","-617646862":"Germany 40","-2077690248":"Japan 225","-512194910":"US Tech 100","-381746202":"US 500","-1935463381":"Swiss 20","-1941767726":"Euro 50","-1925264914":"Volatility 25 Index","-708579504":"Volatility 50 Index","-975255670":"Volatility 75 Index","-1736314513":"Crash 300 Index","-342128411":"Crash 500 Index","-9704319":"Crash 1000 Index","-465860988":"Bull Market Index","-390528194":"Step Index","-280323742":"EUR Basket","-563812039":"Volatility 10 (1s) Index","-82971929":"Volatility 25 (1s) Index","-433962508":"Volatility 75 (1s) Index","-764111252":"Volatility 100 (1s) Index","-816110209":"Volatility 150 (1s) Index","-1374309449":"Volatility 200 (1s) Index","-1288044380":"Volatility 250 (1s) Index","-1164978320":"Jump 10 Index","-575272887":"BCH/USD","-295406873":"BTC/ETH","-1713556301":"ZMR/USD","-2046638412":"XRP/USD","-1263203461":"BTC/USD","-1112522776":"DSH/USD","-460689370":"LTC/USD","-132112961":"Sharkfin","-1715390759":"I want to do this later","-56163366":"I don't have any of these","-175164838":"{{seconds_passed}}s ago","-514136557":"{{minutes_passed}}m ago","-1420737287":"{{hours_passed}}h ago","-2092611555":"Sorry, this app is unavailable in your current location.","-1488537825":"If you have an account, log in to continue.","-1603581277":"minutes","-886317740":"The <0>date of birth on your identity document doesn't match your profile.","-1606307809":"We were unable to verify the identity document with the details provided.","-475787720":"The verification status was empty, rejected for lack of information.","-1627868670":"Your identity document has expired.","-1302288704":"The document’s owner is deceased.","-895884696":"The <0>name and <0>date of birth on your identity document don't match your profile.","-1231856133":"The verification status is not available, provider says: Needs Technical Investigation.","-433687715":"For enhanced security, we need to reverify your identity. Kindly resubmit your proof of identity to unlock your account.","-1637538521":"Your document appears to be invalid.","-876579004":"The name on your document doesn’t match your profile.","-746520172":"Some details on your document appear to be invalid, missing, or unclear.","-2146200521":"The serial number of your document couldn’t be verified.","-1945323197":"Your document appears to be in black and white. Please upload a colour photo of your document.","-631393256":"Your document contains markings or text that should not be on your document.","-609103016":"The image quality of your document is too low. Please provide a hi-res photo of your identity document.","-530935718":"We’re unable to verify the document you provided because some details appear to be missing. Please try again or provide another document.","-1027031626":"We’re unable to verify the document you provided because it appears to be damaged. Please try again or upload another document.","-1671621833":"The front of your document appears to be missing. Please provide both sides of your identity document.","-727588232":"Your document appears to be a scanned copy that contains markings or text that shouldn’t be on your document.","-1435064387":"Your document appears to be a printed copy.","-624316211":"Your document appears to be a photo of a device screen.","-1714959941":"This chart display is not ideal for tick contracts","-1254554534":"Please change the chart duration to tick for a better trading experience.","-1658230823":"Contract was sold for <0 />.","-1905867404":"Contract cancelled"} \ No newline at end of file +{"1485191":"1:1000","2082741":"additional document number","2091451":"Deriv Bot - your automated trading partner","3125515":"Your Deriv MT5 password is for logging in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","3215342":"Last 30 days","3420069":"To avoid delays, enter your <0>name and <0>date of birth exactly as they appear on your identity document.","4547840":"<0>Verify your account to transfer funds. <1>Verify now","5149403":"Learn more about trade types","7100308":"Hour must be between 0 and 23.","9488203":"Deriv Bot is a web-based strategy builder for trading digital options. It’s a platform where you can build your own automated trading bot using drag-and-drop 'blocks'.","9757544":"Please submit your proof of address","11539750":"set {{ variable }} to Relative Strength Index Array {{ dummy }}","11706633":"Loss threshold: The bot will stop trading if your total loss exceeds this amount.","11872052":"Yes, I'll come back later","14365404":"Request failed for: {{ message_type }}, retrying in {{ delay }}s","15377251":"Profit amount: {{profit}}","17843034":"Check proof of identity document verification status","19424289":"Username","19552684":"USD Basket","21035405":"Please tell us why you’re leaving. (Select up to {{ allowed_reasons }} reasons.)","24900606":"Gold Basket","25854018":"This block displays messages in the developer’s console with an input that can be either a string of text, a number, boolean, or an array of data.","26566655":"Summary","26596220":"Finance","27582393":"Example :","27582767":"{{amount}} {{currency}}","27731356":"Your account is temporarily disabled. Please contact us via <0>live chat to enable deposits and withdrawals again.","27830635":"Deriv (V) Ltd","28581045":"Add a real MT5 account","33433576":"Please use an e-wallet to withdraw your funds.","35089987":"Upload the front and back of your driving licence.","41737927":"Thank you","44877997":"Residence permit","45453595":"Binary Coin","45821474":"Proof of income","46523711":"Your proof of identity is verified","49404821":"If you buy a \"<0>{{trade_type}}\" option, you receive a payout at expiry if the final price is {{payout_status}} the strike price. Otherwise, your “<0>{{trade_type}}” option will expire worthless.","53801223":"Hong Kong 50","53964766":"5. Hit Save to download your bot. You can choose to download your bot to your device or your Google Drive.","54185751":"Less than $100,000","55340304":"Keep your current contract?","55916349":"All","57362642":"Closed","58254854":"Scopes","59169515":"If you select \"Asian Rise\", you will win the payout if the last tick is higher than the average of the ticks.","59341501":"Unrecognized file format","59662816":"Stated limits are subject to change without prior notice.","62748351":"List Length","63869411":"This block tests a given number according to the selection","64402604":"Check transfer information","65185694":"Fiat onramp","65982042":"Total","66519591":"Investor password","66610627":"We were unable to verify your selfie because it’s not clear. Please take a clearer photo and try again. Ensure that there’s enough light where you are and that your entire face is in the frame.","67923436":"No, Deriv Bot will stop running when your web browser is closed.","68885999":"Repeats the previous trade when an error is encountered.","69005593":"The example below restarts trading after 30 or more seconds after 1 minute candle was started.","71016232":"OMG/USD","71232823":"Manage funds","71445658":"Open","71563326":"A fast and secure fiat-to-crypto payment service. Deposit cryptocurrencies from anywhere in the world using your credit/debit cards and bank transfers.","71853457":"$100,001 - $500,000","72500774":"Please fill in Tax residence.","73086872":"You have self-excluded from trading","73326375":"The low is the lowest point ever reached by the market during the contract period.","74963864":"Under","76635112":"To proceed, resubmit these documents","76916358":"You have reached the withdrawal limit.<0/>Please upload your proof of identity and address to lift the limit to continue your withdrawal.","76925355":"Check your bot’s performance","77982950":"Vanilla options allow you to predict an upward (bullish) or downward (bearish) direction of the underlying asset by purchasing a \"Call\" or a \"Put\".","81091424":"To complete the upgrade, please log out and log in again to add more accounts and make transactions with your Wallets.","81450871":"We couldn’t find that page","82839270":"Upload the page of your passport that contains your photo.","83202647":"Collapse Block","84402478":"Where do I find the blocks I need?","84924586":"To trade options and multipliers, get a Deriv Apps account first.","85343079":"Financial assessment","85359122":"40 or more","85389154":"Steps required to continue verification on your mobile","90266322":"2. Start a chat with your newly created Telegram bot and make sure to send it some messages before proceeding to the next step. (e.g. Hello Bot!)","91993812":"The Martingale Strategy is a classic trading technique that has been used for more than a hundred years, popularised by the French mathematician Paul Pierre Levy in the 18th century.","93154671":"1. Hit Reset at the bottom of stats panel.","96381225":"ID verification failed","98473502":"We’re not obliged to conduct an appropriateness test, nor provide you with any risk warnings.","98972777":"random item","100239694":"Upload front of card from your computer","102226908":"Field cannot be empty","105871033":"Your age in the document you provided appears to be below 18 years. We’re only allowed to offer our services to clients above 18 years old, so we’ll need to close your account. If you have a balance in your account, contact us via live chat and we’ll help to withdraw your funds before your account is closed.","107537692":"These limits apply to your options trades only. For example, <0>maximum total loss refers to the losses on all your trades on options trading platforms.","108916570":"Duration: {{duration}} days","109073671":"Please use an e-wallet that you have used for deposits previously. Ensure the e-wallet supports withdrawal. See the list of e-wallets that support withdrawals <0>here.","111215238":"Move away from direct light","111718006":"End date","111931529":"Max. total stake over 7 days","112152170":"Your passkey is successfully removed. To avoid sign-in prompts, also remove the passkey from your password manager. ","113378532":"ETH/USD","115032488":"Buy price and P/L","116005488":"Indicators","117056711":"We’re updating our site","117318539":"Password should have lower and uppercase English letters with numbers.","117366356":"Turbo options allow you to predict the direction of the underlying asset’s movements.","118727646":"{{new_account_title}}","119261701":"Prediction:","119446122":"Contract type is not selected","120340777":"Complete your personal details","122617359":"View tutorial","122993457":"This is to confirm that it's you making the withdrawal request.","123454801":"{{withdraw_amount}} {{currency_symbol}}","124723298":"Upload a proof of address to verify your address","125354367":"An example of D’Alembert's Grind strategy","125443840":"6. Restart last trade on error","125842960":"{{name}} is required.","127307725":"A politically exposed person (PEP) is someone appointed with a prominent public position. Close associates and family members of a PEP are also considered to be PEPs.","129005644":"The idea is that successful trades may recoup previous losses. However, it is crucial to exercise caution as the risk can quickly increase with this strategy. With Deriv Bot, you can minimise your risk by setting a maximum stake. This is an optional risk management feature. Let’s say a maximum stake of 3 USD. If your stake for the next trade is set to exceed 3 USD, your stake will reset to the initial stake of 1 USD. If you didn't set a maximum stake, it would have increased beyond 3 USD.","129137937":"You decide how much and how long to trade. You can take a break from trading whenever you want. This break can be from 6 weeks to 5 years. When it’s over, you can extend it or resume trading after a 24-hour cooling-off period. If you don’t want to set a specific limit, leave the field empty.","129729742":"Tax Identification Number*","130567238":"THEN","132596476":"In providing our services to you, we are required to ask you for some information to assess if a given product or service is appropriate for you and whether you have the experience and knowledge to understand the risks involved.<0/><0/>","132689841":"Trade on web terminal","133523018":"Please go to the Deposit page to get an address.","133536621":"and","133655768":"Note: If you wish to learn more about the Bot Builder, you can proceed to the <0>Tutorials tab.","137589354":"To assess your trading experience and if our products are suitable for you. Please provide accurate and complete answers, as they may affect the outcome of this assessment.","138055021":"Synthetic indices","139454343":"Confirm my limits","141265840":"Funds transfer information","141626595":"Make sure your device has a working camera","142050447":"set {{ variable }} to create text with","142390699":"Connected to your mobile","143970826":"Payment problems?","145511192":"s is the initial stake.","145633981":"Unavailable as your documents are still under review","145736466":"Take a selfie","150156106":"Save changes","150486954":"Token name","151279367":"2. Set the Purchase conditions. In this example, your bot will purchase a Rise contract when it starts and after a contract closes.","151646545":"Unable to read file {{name}}","152415091":"Math","152524253":"Trade the world’s markets with our popular user-friendly platform.","157593038":"random integer from {{ start_number }} to {{ end_number }}","157871994":"Link expired","158355408":"Some services may be temporarily unavailable.","160746023":"Tether as an Omni token (USDT) is a version of Tether that is hosted on the Omni layer on the Bitcoin blockchain.","160863687":"Camera not detected","164112826":"This block allows you to load blocks from a URL if you have them stored on a remote server, and they will be loaded only when your bot runs.","164564432":"Deposits are temporarily unavailable due to system maintenance. You can make your deposits when the maintenance is complete.","165294347":"Please set your country of residence in your account settings to access the cashier.","165312615":"Continue on phone","165682516":"If you don’t mind sharing, which other trading platforms do you use?","167094229":"• Current stake: Use this variable to store the stake amount. You can assign any amount you want, but it must be a positive number.","170185684":"Ignore","170244199":"I’m closing my account for other reasons.","171307423":"Recovery","171579918":"Go to Self-exclusion","171638706":"Variables","173991459":"We’re sending your request to the blockchain.","174793462":"Strike","176078831":"Added","176319758":"Max. total stake over 30 days","176654019":"$100,000 - $250,000","177099483":"Your address verification is pending, and we’ve placed some restrictions on your account. The restrictions will be lifted once your address is verified.","178413314":"First name should be between 2 and 50 characters.","179083332":"Date","181107754":"Your new <0>{{platform}} {{eligible_account_to_migrate}} account(s) are ready for trading.","181346014":"Notes ","181881956":"Contract Type: {{ contract_type }}","182630355":"Thank you for submitting your information.","184024288":"lower case","189705706":"This block uses the variable \"i\" to control the iterations. With each iteration, the value of \"i\" is determined by the items in a given list.","189759358":"Creates a list by repeating a given item","190834737":"Guide","191372501":"Accumulation of Income/Savings","192436105":"No need for symbols, digits, or uppercase letters","192573933":"Verification complete","195136585":"Trading View Chart","195972178":"Get character","196810983":"If the duration is more than 24 hours, the Cut-off time and Expiry date will apply instead.","196998347":"We hold customer funds in bank accounts separate from our operational accounts which would not, in the event of insolvency, form part of the company's assets. This meets the <0>Gambling Commission's requirements for the segregation of customer funds at the level: <1>medium protection.","197190401":"Expiry date","201091938":"30 days","203179929":"<0>You can open this account once your submitted documents have been verified.","203271702":"Try again","203297887":"The Quick Strategy you just created will be loaded to the workspace.","203924654":"Hit the <0>Start button to begin and follow the tutorial.","204797764":"Transfer to client","204863103":"Exit time","206010672":"Delete {{ delete_count }} Blocks","207521645":"Reset Time","207824122":"Please withdraw your funds from the following Deriv account(s):","209533725":"You’ve transferred {{amount}} {{currency}}","210385770":"If you have an active account, please log in to continue. Otherwise, please sign up.","210872733":"The verification status is not available, provider says: Malformed JSON.","211224838":"Investment","211461880":"Common names and surnames are easy to guess","211487193":"Document number (e.g. identity card, passport, driver's license)","211847965":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable withdrawals.","216650710":"You are using a demo account","217377529":"5. If the next trades are profitable, the stake for the following trade will be reduced by 2 USD. This can be shown above where the stake of 3 USD is reduced to 1 USD. See A3.","217403651":"St. Vincent & Grenadines","217504255":"Financial assessment submitted successfully","218441288":"Identity card number","220014242":"Upload a selfie from your computer","220186645":"Text Is empty","221261209":"A Deriv account will allow you to fund (and withdraw from) your CFDs account(s).","223120514":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 50 days.","223607908":"Last digit stats for latest 1000 ticks for {{underlying_name}}","224650827":"IOT/USD","225887649":"This block is mandatory. It's added to your strategy by default when you create new strategy. You can not add more than one copy of this block to the canvas.","227591929":"To timestamp {{ input_datetime }} {{ dummy }}","227903202":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts.","228521812":"Tests whether a string of text is empty. Returns a boolean value (true or false).","233500222":"- High: the highest price","235583807":"SMA is a frequently used indicator in technical analysis. It calculates the average market price over a specified period, and is usually used to identify market trend direction: up or down. For example, if the SMA is moving upwards, it means the market trend is up. ","235994721":"Forex (standard/exotic) and cryptocurrencies","236642001":"Journal","238496287":"Leverage trading is high-risk, so it's a good idea to use risk management features such as stop loss. Stop loss allows you to","241546739":"Please choose the correct Deriv company and server name when logging in, as shown on Trader’s Hub.","243537306":"1. Under the Blocks menu, go to Utility > Variables.","243614144":"This is only available for existing clients.","245005091":"lower","245187862":"The DRC will make a <0>decision on the complaint (please note that the DRC mentions no timeframe for announcing its decision).","245812353":"if {{ condition }} return {{ value }}","246428134":"Step-by-step guides","248153700":"Reset your password","248565468":"Check your {{ identifier_title }} account email and click the link in the email to proceed.","248909149":"Send a secure link to your phone","251134918":"Account Information","251445658":"Dark theme","251882697":"Thank you! Your response has been recorded into our system.<0/><0/>Please click ‘OK’ to continue.","254912581":"This block is similar to EMA, except that it gives you the entire EMA line based on the input list and the given period.","256031314":"Cash Business","256602726":"If you close your account:","258448370":"MT5","258912192":"Trading assessment","260069181":"An error occured while trying to load the URL","260086036":"Place blocks here to perform tasks once when your bot starts running.","260361841":"Tax Identification Number can't be longer than 25 characters.","260393332":"You cannot make further deposits as your documents are still under review. We will notify you by email within 3 days once your verification is approved.","261074187":"4. Once the blocks are loaded onto the workspace, tweak the parameters if you want, or hit Run to start trading.","261250441":"Drag the <0>Trade again block and add it into the <0>do part of the <0>Repeat until block.","262095250":"If you select <0>\"Put\", you’ll earn a payout if the final price is below the strike price at expiry. Otherwise, you won’t receive a payout.","264976398":"3. 'Error' displays a message in red to highlight something that needs to be resolved immediately.","265644304":"Trade types","267992618":"The platforms lack key features or functionality.","268940240":"Your balance ({{format_balance}} {{currency}}) is less than the current minimum withdrawal allowed ({{format_min_withdraw_amount}} {{currency}}). Please top up your account to continue with your withdrawal.","269322978":"Deposit with your local currency via peer-to-peer exchange with fellow traders in your country.","269607721":"Upload","270339490":"If you select \"Over\", you will win the payout if the last digit of the last tick is greater than your prediction.","270396691":"<0>Your Wallets are ready!","270610771":"In this example, the open price of a candle is assigned to the variable \"candle_open_price\".","270712176":"descending","270780527":"You've reached the limit for uploading your documents.","271637055":"Download is unavailable while your bot is running.","272179372":"This block is commonly used to adjust the parameters of your next trade and to implement stop loss/take profit logic.","273350342":"Copy and paste the token into the app.","273728315":"Should not be 0 or empty","274268819":"Volatility 100 Index","275116637":"Deriv X","276770377":"New MT5 account(s) under the {{to_account}} jurisdiction will be created for new trades.","277469417":"Exclude time cannot be for more than five years.","278684544":"get sub-list from # from end","280021988":"Use these shortcuts","281110034":"Effective trading with the D'Alembert system requires careful consideration of its stake progression and risk management. Traders can automate this approach using Deriv Bot, setting profit and loss thresholds to ensure balanced and controlled trading. However, it is crucial for traders to assess their risk appetite, test strategies on a demo account, and align with their own trading style before transitioning to real money trading. This optimization process helps strike a balance between potential gains and losses while managing risk prudently.","282319001":"Check your image","282564053":"Next, we'll need your proof of address.","283830551":"Your address doesn’t match your profile","284527272":"antimode","284772879":"Contract","284809500":"Financial Demo","287934290":"Are you sure you want to cancel this transaction?","291344459":"The table illustrates this principle in the second session. After a trade resulting in loss in round 4 followed by a successful trade in round 5, the stake will increase to 2 USD for round 6. This is in line with the strategy's rule of raising the stake only after a loss is followed by a successful trade.","291744889":"<0>1. Trade parameters:<0>","291817757":"Go to our Deriv community and learn about APIs, API tokens, ways to use Deriv APIs, and more.","292526130":"Tick and candle analysis","292589175":"This will display the SMA for the specified period, using a candle list.","292887559":"Transfer to {{selected_value}} is not allowed, Please choose another account from dropdown","293250845":"Are you sure you want to continue?","294043810":"I confirm that my tax information is accurate and complete.","294305803":"Manage account settings","294335229":"Sell at market price","296017162":"Back to Bot","301441673":"Select your citizenship/nationality as it appears on your passport or other government-issued ID.","304309961":"We're reviewing your withdrawal request. You may still cancel this transaction if you wish. Once we start processing, you won't be able to cancel.","304506198":"Total balance:","310234308":"Close all your positions.","312142140":"Save new limits?","312300092":"Trims the spaces within a given string or text.","313741895":"This block returns “True” if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","315306603":"You have an account that do not have currency assigned. Please choose a currency to trade with this account.","316694303":"Is candle black?","318865860":"close","318984807":"This block repeats the instructions contained within for a specific number of times.","321457615":"Oops, something went wrong!","323179846":"The time interval for each candle can be set from one minute to one day.","323209316":"Select a Deriv Bot Strategy","323360883":"Baskets","325662004":"Expand Block","325763347":"result","326770937":"Withdraw {{currency}} ({{currency_symbol}}) to your wallet","327534692":"Duration value is not allowed. To run the bot, please enter {{min}}.","328539132":"Repeats inside instructions specified number of times","329353047":"Malta Financial Services Authority (MFSA) (licence no. IS/70156)","329404045":"<0>Switch to your real account<1> to create a {{platform}} {{account_title}} account.","330384187":"Enable trading with your first transfer.","333456603":"Withdrawal limits","333807745":"Click on the block you want to remove and press Delete on your keyboard.","334942497":"Buy time","337023006":"Start time cannot be in the past.","339449279":"Remaining time","339610914":"Spread Up/Spread Down","339879944":"GBP/USD","340807218":"Description not found.","342181776":"Cancel transaction","343873723":"This block displays a message. You can specify the color of the message and choose from 6 different sound options.","344418897":"These trading limits and self-exclusion help you control the amount of money and time you spend on {{brand_website_name}} and exercise <0>responsible trading.","345320063":"Invalid timestamp","345818851":"Sorry, an internal error occurred. Hit the above checkbox to try again.","346843343":"CFDs on financial and derived instruments with copy trading.","347029309":"Forex: standard/micro","347039138":"Iterate (2)","348951052":"Your cashier is currently locked","349047911":"Over","349110642":"<0>{{payment_agent}}<1>'s contact details","350602311":"Stats show the history of consecutive tick counts, i.e. the number of ticks the price remained within range continuously.","351744408":"Tests if a given text string is empty","352363702":"You may see links to websites with a fake Deriv login page where you’ll get scammed for your money.","353731490":"Job done","354945172":"Submit document","357477280":"No face found","357672069":"Income verification failed","359053005":"Please enter a token name.","359649435":"Given candle list is not valid","359809970":"This block gives you the selected candle value from a list of candles within the selected time interval. You can choose from open price, close price, high price, low price, and open time.","360224937":"Logic","360773403":"Bot Builder","363576009":"- High price: the highest price","363738790":"Browser","363990763":"Sell price:","367801124":"Total assets in your Deriv accounts.","368160866":"in list","369035361":"<0>•Your account number","371151609":"Last used","371710104":"This scope will allow third-party apps to buy and sell contracts for you, renew your expired purchases, and top up your demo accounts.","372291654":"Exclude time must be after today.","372645383":"True if the market direction matches the selection","372805409":"You should enter 9-35 characters.","373021397":"random","373306660":"{{label}} is required.","373495360":"This block returns the entire SMA line, containing a list of all values for a given period.","374537470":"No results for \"{{text}}\"","375714803":"Deal Cancellation Error","377231893":"Deriv Bot is unavailable in the EU","377538732":"Key parameters","379523479":"To avoid loss of funds, do not share tokens with the Admin scope with unauthorised parties.","380606668":"tick","380694312":"Maximum consecutive trades","381972464":"Your document has expired.","384303768":"This block returns \"True\" if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","384707870":"CRS confirmation","386278304":"Install the {{platform_name_trader}} web app","386502387":"Bot is not running","389923099":"Zoom in","390890891":"Last quarter","391038015":"The mobile trading app for multipliers.","391915203":"Hedging","392582370":"Fall Equals","393789743":"Letters, spaces, periods, hyphens, apostrophes only.","396418990":"Offline","398816980":"Launch {{platform_name_trader}} in seconds the next time you want to trade.","401339495":"Verify address","401345454":"Head to the Tutorials tab to do so.","403456289":"The formula for SMA is:","406359555":"Contract details","406497323":"Sell your active contract if needed (optional)","411482865":"Add {{deriv_account}} account","412433839":"I agree to the <0>terms and conditions.","413594348":"Only letters, numbers, space, hyphen, period, and forward slash are allowed.","417864079":"You’ll not be able to change currency once you have made a deposit.","418265501":"Demo Derived","419485005":"Spot","419496000":"Your contract is closed automatically when your profit is more than or equals to this amount. This block can only be used with the multipliers trade type.","420072489":"CFD trading frequency","422055502":"From","424101652":"Quick strategy guides >","424272085":"We take your financial well-being seriously and want to ensure you are fully aware of the risks before trading.<0/><0/>","424897068":"Do you understand that you could potentially lose 100% of the money you use to trade?","426031496":"Stop","427134581":"Try using another file type.","427617266":"Bitcoin","429970999":"To avoid delays, enter your <0>name exactly as it appears on your {{document_name}}.","431267979":"Here’s a quick guide on how to use Deriv Bot on the go.","432273174":"1:100","432508385":"Take Profit: {{ currency }} {{ take_profit }}","432519573":"Document uploaded","433348384":"Real accounts are not available to politically exposed persons (PEPs).","433616983":"2. Investigation phase","434548438":"Highlight function definition","434896834":"Custom functions","436364528":"Your account will be opened with {{legal_entity_name}}, and will be subject to the laws of Saint Vincent and the Grenadines.","436534334":"<0>We've sent you an email.","437138731":"Create a new {{platform}} password","437453244":"Choose your preferred cryptocurrency","437485293":"File type not supported","437904704":"Maximum open positions","438067535":"Over $500,000","439398769":"This strategy is currently not compatible with Deriv Bot.","442281706":"You’ve just deleted a block.","442520703":"$250,001 - $500,000","443559872":"Financial SVG","444484637":"Logic negation","445419365":"1 - 2 years","450983288":"Your deposit is unsuccessful due to an error on the blockchain. Please contact your crypto wallet service provider for more info.","451852761":"Continue on your phone","452054360":"Similar to RSI, this block gives you a list of values for each entry in the input list.","452949978":"The 1-3-2-6 strategy is designed to capitalise on consecutive successful trades while minimising losses during losing streaks. The rationale behind this strategy lies in statistical probabilities, with adjustments to stake sizes based on the perceived likelihood of success. There is a higher likelihood of success in the second trade after one successful trade. Hence the stake adjusts to 3 in the second trade. In the third trade, the stake adjusts to 2 units due to a lower probability of a successful trade. If the third trade is also successful, the strategy then allocates all the previous gains (a total of 6 units of initial stake) into the fourth trade with the aim of doubling the potential profits. If the fourth trade results in a positive outcome, the strategy helps achieve a total gain of 12 units. However, it is crucial to exercise caution, as the risk can escalate quickly with this strategy, and any loss in the fourth trade forfeits all previous gains.","453175851":"Your MT5 Financial STP account will be opened through {{legal_entity_name}}. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","454196938":"Regulation:","456746157":"Grant access to your camera from your browser settings","457020083":"It’ll take longer to verify you if we can’t read it","457494524":"1. From the block library, enter a name for the new variable and click Create.","459612953":"Select account","459817765":"Pending","460070238":"Congratulations","460975214":"Complete your Appropriateness Test","461795838":"Please contact us via live chat to unlock it.","462079779":"Resale not offered","463361726":"Select an item","465993338":"Oscar's Grind","466424460":"Oscar’s Grind","466837068":"Yes, increase my limits","467839232":"I trade forex CFDs and other complex financial instruments regularly on other platforms.","471402292":"Your bot uses a single trade type for each run.","473154195":"Settings","474306498":"We’re sorry to see you leave. Your account is now closed.","475492878":"Try Synthetic Indices","476023405":"Didn't receive the email?","477557241":"Remote blocks to load must be a collection.","478280278":"This block displays a dialog box that uses a customised message to prompt for an input. The input can be either a string of text or a number and can be assigned to a variable. When the dialog box is displayed, your strategy is paused and will only resume after you enter a response and click \"OK\".","478827886":"We calculate this based on the barrier you’ve selected.","479420576":"Tertiary","480356486":"*Boom 300 and Crash 300 Index","481276888":"Goes Outside","483279638":"Assessment Completed<0/><0/>","483591040":"Delete all {{ delete_count }} blocks?","485379166":"View transactions","487239607":"Converts a given True or False to the opposite value","488150742":"Resend email","489768502":"Change investor password","490053735":"If you select this feature, your trade will be closed automatically at the nearest available asset price when your loss reaches or exceeds the stop loss amount. Your loss may be more than the amount you entered depending on the market price at closing.","491603904":"Unsupported browser","492198410":"Make sure everything is clear","492566838":"Taxpayer identification number","497518317":"Function that returns a value","498562439":"or","499522484":"1. for \"string\": 1325.68 USD","500855527":"Chief Executives, Senior Officials and Legislators","500920471":"This block performs arithmetic operations between two numbers.","501401157":"You are only allowed to make deposits","501537611":"*Maximum number of open positions","502007051":"Demo Swap-Free SVG","502041595":"This block gives you a specific candle from within the selected time interval.","505793554":"last letter","508390614":"Demo Financial STP","511679687":"Accumulators allow you to express a view on the range of movement of an index and grow your stake exponentially at a fixed <0>growth rate.","514031715":"list {{ input_list }} is empty","514776243":"Your {{account_type}} password has been changed.","514948272":"Copy link","517631043":"We’ve sent your e-book. Check your email to download it.","517833647":"Volatility 50 (1s) Index","518955798":"7. Run Once at Start","519205761":"You can no longer open new positions with this account.","520136698":"Boom 500 Index","520458365":"Last used: ","521872670":"item","522703281":"divisible by","523123321":"- 10 to the power of a given number","524459540":"How do I create variables?","527329988":"This is a top-100 common password","529056539":"Options","531114081":"3. Contract Type","531675669":"Euro","532724086":"Employment contract","533403953":"Your existing <0>{{platform}} {{type}} {{from_account}} account(s) will remain accessible.","535041346":"Max. total stake per day","537788407":"Other CFDs Platform","538017420":"0.5 pips","538042340":"Principle 2: The stake only increases when a loss trade is followed by a successful trade","538228086":"Close-Low","541650045":"Manage {{platform}} password","541700024":"First, enter your driving licence number and the expiry date.","542038694":"Only letters, numbers, space, underscore, and hyphen are allowed for {{label}}.","542305026":"You must also submit a proof of identity.","543413346":"You have no open positions for this asset. To view other open positions, click Go to Reports","547029855":"If you select this feature, you can cancel your trade within a chosen time frame if the asset price moves against your favour. You will get your stake back without profit/loss. We charge a small fee for this. Take profit and stop loss are disabled when deal cancellation is active.","549479175":"Deriv Multipliers","549799607":"Go to LiveChat","551569133":"Learn more about trading limits","554135844":"Edit","554410233":"This is a top-10 common password","555351771":"After defining trade parameters and trade options, you may want to instruct your bot to purchase contracts when specific conditions are met. To do that you can use conditional blocks and indicators blocks to help your bot to make decisions.","555881991":"National Identity Number Slip","558866810":"Run your bot","559224320":"Our classic “drag-and-drop” tool for creating trading bots, featuring pop-up trading charts, for advanced users.","560759471":"You'll see these details once the contract starts.","561982839":"Change your currency","562599414":"This block returns the purchase price for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","563034502":"We shall try to resolve your complaint within 15 business days. We will inform you of the outcome together with an explanation of our position and propose any remedial measures we intend to take.","563166122":"We shall acknowledge receiving your complaint, review it carefully, and keep you updated on the handling process. We might request further information or clarifications to facilitate the resolution of the complaint.","563652273":"Go to block","565410797":"The below image illustrates how Simple Moving Average Array block works:","566274201":"1. Market","567019968":"A variable is among the most important and powerful components in creating a bot. It is a way to store information, either as text or numbers. The information stored as a variable can be used and changed according to the given instructions. Variables can be given any name, but usually they are given useful, symbolic names so that it is easier to call them during the execution of instructions.","567163880":"Create a {{platform}} password","567755787":"Tax Identification Number is required.","569057236":"In which country was your document issued?","571921777":"Funds protection level","572576218":"Languages","573173477":"Is candle {{ input_candle }} black?","575668969":"3. For trades that result in a profit, the stake for the next trade will be increased by 2 USD. Deriv Bot will continue to add 2 USD for every successful trade. See A1.","575702000":"Remember, selfies, pictures of houses, or non-related images will be rejected.","575968081":"Account created. Select payment method for deposit.","576355707":"Select your country and citizenship:","577215477":"count with {{ variable }} from {{ start_number }} to {{ end_number }} by {{ step_size }}","577779861":"Withdrawal","577883523":"4. Awards and orders","578640761":"Call Spread","579529868":"Show all details — including the bottom 2 lines","580431127":"Restart buy/sell on error (disable for better performance): {{ checkbox }}","580665362":"Stays In/Goes Out","580774080":"insert at","581168980":"Legal","582945649":"2 minutes","584028307":"Allow equals","587577425":"Secure my account","587856857":"Want to know more about APIs?","588609216":"Repeat tour","592087722":"Employment status is required.","592381383":"Passkey successfully removed","593459109":"Try a different currency","594937260":"Derived - BVI","595080994":"Example: CR123456789","595136687":"Save Strategy","597089493":"Here is where you can decide to sell your contract before it expires. Only one copy of this block is allowed.","597481571":"DISCLAIMER","597707115":"Tell us about your trading experience.","599469202":"{{secondPast}}s ago","602278674":"Verify identity","603849445":"Strike price","603849863":"Look for the <0>Repeat While/Until, and click the + icon to add the block to the workspace area.","603899222":"Distance to current spot","606240547":"- Natural log","606877840":"Back to today","607807243":"Get candle","609519227":"This is the email address associated with your Deriv account.","609650241":"Infinite loop detected","610537973":"Any information you provide is confidential and will be used for verification purposes only.","611020126":"View address on Blockchain","613418320":"<0>Setup unsuccessful","613877038":"Chart","615156635":"Your selfie does not match your document.","617345387":"If you select \"Reset-Up”, you win the payout if the exit spot is strictly higher than either the entry spot or the spot at reset time.","617910072":"Use your Deriv account email and password to login into the {{ platform }} platform.","618520466":"Example of a cut-off document","619268911":"<0>a.The Financial Commission will investigate the validity of the complaint within 5 business days.","619407328":"Are you sure you want to unlink from {{identifier_title}}?","621829484":"{{days_passed}}d ago","623192233":"Please complete the <0>Appropriateness Test to access your cashier.","623542160":"Exponential Moving Average Array (EMAA)","625571750":"Entry spot:","626175020":"Standard Deviation Up Multiplier {{ input_number }}","626809456":"Resubmit","627292452":"<0>Your Proof of Identity or Proof of Address did not meet our requirements. Please check your email for further instructions.","627814558":"This block returns a value when a condition is true. Use this block within either of the function blocks above.","628193133":"Account ID","629003252":"If your current password doesn't match these requirements, you'll need to create a new one in the next step.","629145209":"In case if the \"AND\" operation is selected, the block returns \"True\" only if both given values are \"True\"","629395043":"All growth rates","632398049":"This block assigns a null value to an item or statement.","632897893":"If any of the above applies to you, select <0>Yes. Otherwise, select <0>No.","634219491":"You have not provided your tax identification number. This information is necessary for legal and regulatory requirements. Please go to <0>Personal details in your account settings, and fill in your latest tax identification number.","634274250":"How long each trade takes to expire.","636219628":"<0>c.If no settlement opportunity can be found, the complaint will proceed to the determination phase to be handled by the DRC.","636427296":"Need help with tax info? Let us know via <0>live chat.","636579615":"Number of unit(s) to be added to the next trade after a losing trade. One unit is equivalent to the amount of initial stake.","639382772":"Please upload supported file type.","640249298":"Normal","640596349":"You have yet to receive any notifications","640730141":"Refresh this page to restart the identity verification process","641420532":"We've sent you an email","642210189":"Please check your email for the verification link to complete the process.","642393128":"Enter amount","642546661":"Upload back of license from your computer","644150241":"The number of contracts you have won since you last cleared your stats.","645902266":"EUR/NZD","646773081":"Profit threshold: The bot will stop trading if your total profit exceeds this amount.","647039329":"Proof of address required","647745382":"Input List {{ input_list }}","648035589":"Other CFD Platforms","649317411":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><1/>","649923867":"Adds a sign to a number to create a barrier offset. (deprecated)","650836587":"This article explores the Martingale strategy integrated into Deriv Bot, a versatile trading bot designed to trade assets such as forex, commodities, and derived indices. We will delve into the strategy's core parameters, its application, and provide essential takeaways for traders looking to use the bot effectively.","651284052":"Low Tick","651684094":"Notify","652298946":"Date of birth","654422099":"CRS confirmation is required.","654507872":"True-False","654924603":"Martingale","655937299":"We’ll update your limits. Click <0>Accept to acknowledge that you are fully responsible for your actions, and we are not liable for any addiction or loss.","656893085":"Timestamp","657325150":"This block is used to define trade options within the Trade parameters root block. Some options are only applicable for certain trade types. Parameters such as duration and stake are common among most trade types. Prediction is used for trade types such as Digits, while barrier offsets are for trade types that involve barriers such as Touch/No Touch, Ends In/Out, etc.","659482342":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your account settings.","660481941":"To access your mobile apps and other third-party apps, you'll first need to generate an API token.","660991534":"Finish","661759508":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><0/>","662953503":"Your contract will be closed when the <0>stop out level is reached.","664779910":"3. If the first trade results in profit, the stake for the following trade will not reduce but remain at the initial stake. The strategy minimally trades at the initial stake of 1 USD. See A1.","665089217":"Please submit your <0>proof of identity to authenticate your account and access your Cashier.","665777772":"XLM/USD","665872465":"In the example below, the opening price is selected, which is then assigned to a variable called \"op\".","666724936":"Please enter a valid ID number.","669494711":"1.4 pips","671630762":"We accept only these types of documents as proof of your address. The document must be recent (issued within last {{expiry_in_months}} months) and include your name and address:","672008428":"ZEC/USD","673915530":"Jurisdiction and choice of law","674973192":"Use this password to log in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","676159329":"Could not switch to default account.","676675313":"Authy","677918431":"Market: {{ input_market }} > {{ input_submarket }} > {{ input_symbol }}","679199080":"Why passkeys?","680334348":"This block was required to correctly convert your old strategy.","681108680":"Additional information required for {{platform}} account(s)","681808253":"Previous spot price","681926004":"Example of a blurry document","682056402":"Standard Deviation Down Multiplier {{ input_number }}","685391401":"If you're having trouble signing in, let us know via <0>chat","686387939":"How do I clear my transaction log?","687193018":"Slippage risk","687212287":"Amount is a required field.","688510664":"You've {{two_fa_status}} 2FA on this device. You'll be logged out of your account on other devices (if any). Use your password and a 2FA code to log back in.","689137215":"Purchase price","691956534":"<0>You have added a {{currency}} account.<0> Make a deposit now to start trading.","692354762":"Please enter your {{document_name}}. {{example_format}}","693396140":"Deal cancellation (expired)","693933036":"Exploring the Oscar’s Grind strategy in Deriv Bot","694035561":"Trade options multipliers","696157141":"Low spot","696735942":"Enter your National Identification Number (NIN)","696870196":"- Open time: the opening time stamp","697630556":"This market is presently closed.","698037001":"National Identity Number","699159918":"1. Filing complaints","699646180":"A minimum deposit value of <0>{{minimum_deposit}} {{currency}} is required. Otherwise, the funds will be lost and cannot be recovered.","700259824":"Account currency","701034660":"We are still processing your withdrawal request.<0 />Please wait for the transaction to be completed before deactivating your account.","701462190":"Entry spot","701647434":"Search for string","702451070":"National ID (No Photo)","702561961":"Change theme","705262734":"Your Wallets are ready","705299518":"Next, upload the page of your passport that contains your photo.","705697927":"2. Set your preferred unit. In this example, it is 2 units or 2 USD.","705821926":"Learn about this trade type","706448499":"We'll send you a secure link to verify your request. Tap on it to confirm you want to remove the passkey. This protects your account from unauthorised requests.","706727320":"Binary options trading frequency","706755289":"This block performs trigonometric functions.","706960383":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price, duration, etc. However, we won’t offer a contract value if the remaining duration is below 60 seconds.","707189572":"Your email address has changed.<0/>Now, log in with your new email address.","707662672":"{{unblock_date}} at {{unblock_time}}","708055868":"Driving licence number","710123510":"repeat {{ while_or_until }} {{ boolean }}","711999057":"Successful","712101776":"Take a photo of your passport photo page","712635681":"This block gives you the selected candle value from a list of candles. You can choose from open price, close price, high price, low price, and open time.","713054648":"Sending","714080194":"Submit proof","714746816":"MetaTrader 5 Windows app","715841616":"Please enter a valid phone number (e.g. +15417541234).","716428965":"(Closed)","718504300":"Postal/ZIP code","718509613":"Maximum duration: {{ value }}","720293140":"Log out","720519019":"Reset my password","721011817":"- Raise the first number to the power of the second number","723045653":"You'll log in to your Deriv account with this email address.","723961296":"Manage password","724526379":"Learn more with our tutorials","728042840":"To continue trading with us, please confirm where you live.","728824018":"Spanish Index","729251105":"Range: {{min}} - {{max}} {{duration_unit_text}} ","729651741":"Choose a photo","730473724":"This block performs the \"AND\" or the \"OR\" logic operation with the given values.","731382582":"BNB/USD","732828463":"Standing instructions to transfer funds to an account maintained in the United States, or directions regularly received from a US address","734298230":"Just a reminder","734390964":"Insufficient balance","734881840":"false","735907651":"A US residence address or a US correspondence address (including a US PO box)","737751617":"<0>Explore our website to see what’s available.","739126643":"Indicative high spot","742469109":"Reset Balance","743623600":"Reference","744110277":"Bollinger Bands Array (BBA)","745656178":"Use this block to sell your contract at the market price.","745674059":"Returns the specific character from a given string of text according to the selected option. ","746112978":"Your computer may take a few seconds to update","749336930":"Secure alternative to passwords.","750886728":"Switch to your real account to submit your documents","751468800":"Start now","751692023":"We <0>do not guarantee a refund if you make a wrong transfer.","752024971":"Reached maximum number of digits","752992217":"This block gives you the selected constant values.","753088835":"Default","753184969":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you (that is, whether you possess the experience and knowledge to understand the risks involved).<0/><1/>","753727511":"Type","755138488":"We’re unable to verify the document you provided because it contains markings or text that should not be on your document. Please provide a clear photo or a scan of your original identity document.","756152377":"SMA places equal weight to the entire distribution of values.","758003269":"make list from text","760528514":"Please note that changing the value of \"i\" won't change the value of the original item in the list","761576760":"Fund your account to start trading.","762926186":"A quick strategy is a ready-made strategy that you can use in Deriv Bot. There are 3 quick strategies you can choose from: Martingale, D'Alembert, and Oscar's Grind.","764366329":"Trading limits","766317539":"Language","770171141":"Go to {{hostname}}","772520934":"You may sell the contract up to 24 hours before expiry. If you do, we’ll pay you the <0>contract value.","773091074":"Stake:","773309981":"Oil/USD","773336410":"Tether is a blockchain-enabled platform designed to facilitate the use of fiat currencies in a digital manner.","775679302":"{{pending_withdrawals}} pending withdrawal(s)","775706054":"Do you sell trading bots?","776085955":"Strategies","776432808":"Select the country where you currently live.","778172770":"Deriv CFDs","780009485":"About D'Alembert","781924436":"Call Spread/Put Spread","783974693":"Avoid recent years","784311461":"Exponential Moving Average (EMA)","784583814":"Linked to your computer","785969488":"Jump 75 Index","787727156":"Barrier","788005234":"NA","792164271":"This is when your contract will expire based on the Duration or End time you’ve selected.","792622364":"Negative balance protection","793526589":"To file a complaint about our service, send an email to <0>complaints@deriv.com and state your complaint in detail. Please submit any relevant screenshots of your trading or system for our better understanding.","793531921":"Our company is one of the oldest and most reputable online trading companies in the world. We are committed to treat our clients fairly and provide them with excellent service.<0/><1/>Please provide us with feedback on how we can improve our services to you. Rest assured that you will be heard, valued, and treated fairly at all times.","794682658":"Copy the link to your phone","795859446":"Password saved","797007873":"Follow these steps to recover camera access:","797500286":"negative","800228448":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_fx}}.","800521289":"Your personal details are incomplete","801430087":"A link can contain the word \"Deriv\" and still be fake.","802436811":"View transaction details","802438383":"New proof of address is needed","802556390":"seconds","802989607":"Drag your XML file here","803500173":"Initial stake","806165583":"Australia 200","807499069":"Financial commission complaints procedure","808323704":"You can also use \"Compare\" and \"Logic operation\" blocks to make test variables.","812430133":"Spot price on the previous tick.","815925952":"This block is mandatory. Only one copy of this block is allowed. It is added to the canvas by default when you open Deriv Bot.","816580787":"Welcome back! Your messages have been restored.","816738009":"<0/><1/>You may also raise your unresolved dispute to the <2>Office of the Arbiter for Financial Services.","818447476":"Switch account?","820877027":"Please verify your proof of identity","821163626":"Server maintenance occurs every first Saturday of the month from 7 to 10 GMT time. You may experience service disruption during this time.","823186089":"A block that can contain text.","824797920":"Is list empty?","825042307":"Let’s try again","825179913":"This document number was already submitted for a different account. It seems you have an account with us that doesn't need further verification. Please contact us via <0>live chat if you need help.","826511719":"USD/SEK","827688195":"Disable Block","828219890":"then","828602451":"Returns the list of tick values in string format","830164967":"Last name","830703311":"My profile","830993327":"No current transactions available","832053636":"Document submission","832217983":"40 transactions or more in the past 12 months","832398317":"Sell Error","832721563":"If you select \"Low Tick\", you win the payout if the selected tick is the lowest among the next five ticks.","834966953":"1551661986 seconds since Jan 01 1970 (UTC) translates to 03/04/2019 @ 1:13am (UTC).","835336137":"View Detail","835350845":"Add another word or two. Uncommon words are better.","836097457":"I am interested in trading but have very little experience.","837063385":"Do not send other currencies to this address.","837066896":"Your document is being reviewed, please check back in 1-3 days.","839158849":"4. If the second trade results in a loss, the Deriv Bot will automatically increase your stake for the next trade by 2 USD. Deriv Bot will continue to add 2 USD to the previous round’s stake after every losing trade. See A2.","839805709":"To smoothly verify you, we need a better photo","841434703":"Disable stack","841543189":"View transaction on Blockchain","843333337":"You can only make deposits. Please complete the <0>financial assessment to unlock withdrawals.","845304111":"Slow EMA Period {{ input_number }}","848083350":"Your payout is equal to the <0>payout per point multiplied by the difference between the final price and the strike price. You will only earn a profit if your payout is higher than your initial stake.","850582774":"Please update your personal info","851054273":"If you select \"Higher\", you win the payout if the exit spot is strictly higher than the barrier.","851264055":"Creates a list with a given item repeated for a specific number of times.","851508288":"This block constrains a given number within a set range.","852527030":"Step 2","852583045":"Tick List String","852627184":"document number","854178118":"Verify your request","854399751":"Digit code must only contain numbers.","854630522":"Choose a cryptocurrency account","857363137":"Volatility 300 (1s) Index","857445204":"Deriv currently supports withdrawals of Tether eUSDT to Ethereum wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","857986403":"do something","858663703":"For new trades, please transfer your funds into the new <0>{{platform}} {{eligible_account_to_migrate}} account(s).","860319618":"Tourism","862283602":"Phone number*","863023016":"For instance, if a trader has a loss threshold (B) of 100 USD, with an initial stake (s) of 1 USD and 2 units of increment (f), the calculation would be as follows:","863328851":"Proof of identity","864610268":"First, enter your {{label}} and the expiry date.","864655280":"You can continue to hold your current open positions in your existing MT5 account(s).","864957760":"Math Number Positive","865424952":"High-to-Low","865642450":"2. Logged in from a different browser","866496238":"Make sure your license details are clear to read, with no blur or glare","868826608":"Excluded from {{brand_website_name}} until","869068127":"The cashier is temporarily down due to maintenance. It will be available as soon as the maintenance is complete.","869823595":"Function","872661442":"Are you sure you want to update email <0>{{prev_email}} to <1>{{changed_email}}?","872721776":"2. Select your XML file and hit Select.","872817404":"Entry Spot Time","873166343":"1. 'Log' displays a regular message.","873387641":"If you have open positions","874461655":"Scan the QR code with your phone","874472715":"Your funds will remain in your existing MT5 account(s).","874484887":"Take profit must be a positive number.","875101277":"If I close my web browser, will Deriv Bot continue to run?","875532284":"Restart process on a different device","876086855":"Complete the financial assessment form","876292912":"Exit","879014472":"Reached maximum number of decimals","879647892":"You may sell the contract up until 60 seconds before expiry. If you do, we’ll pay you the <0>contract value.","881963105":"(XAUUSD, XAGUSD)","882423592":"The amount that you stake for the first trade. Note that this is the minimum stake amount.","885065431":"Get a Deriv account","888274063":"Town/City","888924866":"We don’t accept the following inputs for:","890299833":"Go to Reports","891337947":"Select country","893963781":"Close-to-Low","893975500":"You do not have any recent bots","894191608":"<0>c.We must award the settlement within 28 days of when the decision is reached.","896790627":"A US birthplace","898457777":"You have added a Deriv Financial account.","898904393":"Barrier:","900646972":"page.","902045490":"3 minutes","903429103":"In candles list read {{ candle_property }} # from end {{ input_number }}","904696726":"API token","905227556":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters and numbers.","905564365":"MT5 CFDs","906049814":"We’ll review your documents and notify you of its status within 5 minutes.","906789729":"Your verification documents were already used for another account.","907680782":"Proof of ownership verification failed","909272635":"Financial - SVG","910888293":"Too many attempts","911048905":"(BTCUSD, ETHUSD)","912257733":"The workspace will be reset to the default strategy and any unsaved changes will be lost. <0>Note: This will not affect your running bot.","912406629":"Follow these steps:","912967164":"Import from your computer","915735109":"Back to {{platform_name}}","918447723":"Real","920125517":"Add demo account","921857297":"Enter a value from 0 to {{ value }}.","921901739":"- your account details of the bank linked to your account","922313275":"You're back online","924046954":"Upload a document showing your name and bank account number or account details.","924912760":"Your document appears to be a digital document.","929608744":"You are unable to make withdrawals","930255747":"Please enter your {{document_name}}. ","930346117":"Capitalization doesn't help very much","930546422":"Touch","933126306":"Enter some text here","933193610":"Only letters, periods, hyphens, apostrophes, and spaces, please.","937237342":"Strategy name cannot be empty","937682366":"Upload both of these documents to prove your identity.","937831119":"Last name*","937992258":"Table","938500877":"{{ text }}. <0>You can view the summary of this transaction in your email.","938947787":"Withdrawal {{currency}}","938988777":"High barrier","944499219":"Max. open positions","945532698":"Contract sold","945753712":"Back to Trader’s Hub","946204249":"Read","946841802":"A white (or green) candle indicates that the open price is lower than the close price. This represents an upward movement of the market price.","947046137":"Your withdrawal will be processed within 24 hours","947363256":"Create list","947704973":"Reverse D’Alembert","947758334":"City is required","947914894":"Top up  <0>","948156236":"Create {{type}} password","948176566":"New!","949859957":"Submit","951404247":"Enjoy seamless transactions across multiple currencies and an intuitive user interface with funds segregation.","952927527":"Regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156)","956448295":"Cut-off image detected","957182756":"Trigonometric functions","958430760":"In/Out","959031082":"set {{ variable }} to MACD Array {{ dropdown }} {{ dummy }}","960201789":"3. Sell conditions","961266215":"140+","961327418":"My computer","961692401":"Bot","962251615":"If you want to adjust your self-exclusion limits, <0>contact us via live chat.","966457287":"set {{ variable }} to Exponential Moving Average {{ dummy }}","968576099":"Up/Down","969858761":"Principle 1: Strategy aims to potentially make one unit of profit per session","969987233":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between exit spot and lower barrier.","970915884":"AN","974888153":"High-Low","975608902":"To trade CFDs, get a Deriv Apps account first.","975668699":"I confirm and accept {{company}} 's <0>Terms and Conditions","975950139":"Country of Residence","977929335":"Go to my account settings","980050614":"Update now","981138557":"Redirect","981568830":"You have chosen to exclude yourself from trading on our website until {{exclude_until}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via <0>live chat.","981965437":"Scan the QR code below with your 2FA app. We recommend <0>Authy or <1>Google Authenticator.","982146443":"WhatsApp","982402892":"First line of address","982829181":"Barriers","983451828":"2. Select the asset and trade type.","986565137":"We've received your proof of income","987053672":"You can continue with the open positions on your current <0>{{platform}} {{existing_account}} account(s).","987224688":"How many trades have you placed with other financial instruments in the past 12 months?","988064913":"4. Come back to Deriv Bot and add the Notify Telegram block to the workspace. Paste the Telegram API token and chat ID into the block fields accordingly.","988361781":"You have no trading activity yet.","988934465":"When prompted, you must enable camera access to continue","989840364":"You’re under legal age.","990739582":"170+","992294492":"Your postal code is invalid","992677950":"Logging out on other devices","993827052":"Choosing this jurisdiction will give you a Financial STP account. Your trades will go directly to the market and have tighter spreads.","995563717":"not {{ boolean }}","997276809":"I confirm that the name and date of birth above match my chosen identity document","997311089":"Change my password","999008199":"text","1001160515":"Sell","1002392396":"CFDs on derived instruments.","1002989598":"iOS: iCloud keychain.","1003876411":"Should start with letter or number and may contain a hyphen, period and slash.","1004127734":"Send email","1006069082":"The objective of Martingale strategy is to take advantage of consecutive successful trades and maximise potential profits from them. This strategy is beneficial only if there are consecutive successful trades. Therefore, it is important to set a maximum stake to secure all the potential profits gained from a number of consecutive successful trades, or you could lose all the profits you have accumulated, including your initial stake. For example, if your goal is to maximise profits within 2 consecutive successful trades, you set a maximum stake of 2 USD, given your initial stake is 1 USD. Similarly, if your goal is to maximise profits within 3 consecutive successful trades, you set a maximum stake of 4 USD, given your initial stake is 1 USD.","1006458411":"Errors","1006664890":"Silent","1008151470":"Unit: The number of units that are added in the event of successful trades or the number of units removed in the event of losing trades. For example, if the unit is set at 2, the stake increases or decreases by two times the initial stake of 1 USD, meaning it changes by 2 USD.","1009032439":"All time","1010198306":"This block creates a list with strings and numbers.","1010337648":"We were unable to verify your proof of ownership.","1011208051":"Congratulations, you have successfully created your <0/>{{category}} {{platform}} {{type}} {{jurisdiction_selected_shortcode}} account. ","1011424042":"{{text}}. stake<0/>","1012102263":"You will not be able to log in to your account until this date (up to 6 weeks from today).","1015201500":"Define your trade options such as duration and stake.","1016220824":"You need to switch to a real money account to use this feature.<0/>You can do this by selecting a real account from the <1>Account Switcher.","1018803177":"standard deviation","1019265663":"You have no transactions yet.","1019508841":"Barrier 1","1021090237":"Upgrade your <0>{{account_1}} <1/>and <0>{{account_2}} {{platform}} account(s)","1021679446":"Multipliers only","1022934784":"1 minute","1022971288":"Payout per pip","1023237947":"1. In the example below, the instructions are repeated as long as the value of x is less than or equal to 10. Once the value of x exceeds 10, the loop is terminated.","1023643811":"This block purchases contract of a specified type.","1023795011":"Even/Odd","1024205076":"Logic operation","1026046972":"Please enter a payout amount that's lower than {{max_payout}}.","1026289179":"Trade on the go","1028211549":"All fields are required","1028758659":"Citizenship*","1029164365":"We presume that you possess the experience, knowledge, and expertise to make your own investment decisions and properly assess the risk involved.","1029641567":"{{label}} must be less than 30 characters.","1030021206":"change {{ variable }} by {{ number }}","1031602624":"We've sent a secure link to %{number}","1031731167":"Pound Sterling","1032173180":"Deriv","1032907147":"AUD/NZD","1033253221":"Confirm your identity to make a withdrawal.","1035893169":"Delete","1036116144":"Speculate on the price movement of an asset without actually owning it.","1036867749":"The desired duration, stake, prediction, and/or barrier(s) for the contract is defined here.","1038575777":"Change password","1039428638":"EU regulation","1039476188":"The size used to multiply the stake after a losing trade for the next trade.","1039755542":"Use a few words, avoid common phrases","1040472990":"1. Go to Bot Builder.","1040677897":"To continue trading, you must also submit a proof of address.","1041001318":"This block performs the following operations on a given list: sum, minimum, maximum, average, median, mode, antimode, standard deviation, random item.","1041620447":"If you are unable to scan the QR code, you can manually enter this code instead:","1042659819":"You have an account that needs action","1043790274":"There was an error","1044599642":"<0> has been credited into your {{platform}} {{title}} account.","1045704971":"Jump 150 Index","1045782294":"Click the <0>Change password button to change your Deriv password.","1047389068":"Food Services","1047644783":"Enable screen lock on your device.","1047881477":"Unfortunately, your browser does not support the video.","1048687543":"Labuan Financial Services Authority","1048947317":"Sorry, this app is unavailable in {{clients_country}}.","1049384824":"Rise","1050063303":"Videos on Deriv Bot","1050128247":"I confirm that I have verified the payment agent’s transfer information.","1050844889":"Reports","1052779010":"You are on your demo account","1052921318":"{{currency}} Wallet","1053153674":"Jump 50 Index","1053159279":"Level of education","1053556481":"Once you submit your complaint, we will send you an acknowledgement email to confirm that we have received it.","1055313820":"No document detected","1056381071":"Return to trade","1056821534":"Are you sure?","1057216772":"text {{ input_text }} is empty","1057519018":"4. If a trade ends in a profit, the stake for the following trade will be reset to the initial stake amount of 1 USD.","1057749183":"Two-factor authentication (2FA)","1057904606":"The concept of the D’Alembert Strategy is said to be similar to the Martingale Strategy where you will increase your contract size after a loss. With the D’Alembert Strategy, you will also decrease your contract size after a successful trade.","1058804653":"Expiry","1058905535":"Tutorial","1060231263":"When are you required to pay an initial margin?","1061308507":"Purchase {{ contract_type }}","1062423382":"Explore the video guides and FAQs to build your bot in the tutorials tab.","1062536855":"Equals","1062569830":"The <0>name on your identity document doesn't match your profile.","1065275078":"cTrader is only available on desktop for now.","1065498209":"Iterate (1)","1065766135":"You have {{remaining_transfers}} {{transfer_text}} remaining for today.","1066235879":"Transferring funds will require you to create a second account.","1066459293":"4.3. Acknowledging your complaint","1069347258":"The verification link you used is invalid or expired. Please request for a new one.","1070323991":"6. If consecutive successful trades were to happen, the stake would follow a sequence of adjustment from 1 to 3, then 2, and 6 units of initial stake. After 4 consecutive successful trades, it completes one cycle and then the strategy will repeat itself for another cycle. If any trade results in a loss, your stake will reset back to the initial stake for the next trade.","1070624871":"Check proof of address document verification status","1073261747":"Verifications","1073611269":"A copy of your identity document (e.g. identity card, passport, driver's license)","1073711308":"Trade closed","1076006913":"Profit/loss on the last {{item_count}} contracts","1077515534":"Date to","1078189922":"You can make a new deposit once the verification of your account is complete.","1078221772":"Leverage prevents you from opening large positions.","1078303105":"Stop out","1080068516":"Action","1080990424":"Confirm","1082158368":"*Maximum account cash balance","1082406746":"Please enter a stake amount that's at least {{min_stake}}.","1083781009":"Tax identification number*","1083826534":"Enable Block","1087112394":"You must select the strike price before entering the contract.","1088031284":"Strike:","1088138125":"Tick {{current_tick}} - ","1089085289":"Mobile number","1089436811":"Tutorials","1089687322":"Stop your current bot?","1090041864":"The {{block_type}} block is mandatory and cannot be deleted/disabled.","1095295626":"<0>•The Arbiter for Financial Services will determine whether the complaint can be accepted and is in accordance with the law.","1096078516":"We’ll review your documents and notify you of its status within 3 days.","1096175323":"You’ll need a Deriv account","1098147569":"Purchase commodities or shares of a company.","1098622295":"\"i\" starts with the value of 1, and it will be increased by 2 at every iteration. The loop will repeat until \"i\" reaches the value of 12, and then the loop is terminated.","1100133959":"National ID","1100870148":"To learn more about account limits and how they apply, please go to the <0>Help Centre.","1101560682":"stack","1101712085":"Buy Price","1102420931":"Next, upload the front and back of your driving licence.","1102995654":"Calculates Exponential Moving Average (EMA) list from a list of values with a period","1103309514":"Target","1103452171":"Cookies help us to give you a better experience and personalised content on our site.","1104912023":"Pending verification","1107474660":"Submit proof of address","1107555942":"To","1109217274":"Success!","1110102997":"Statement","1112582372":"Interval duration","1113119682":"This block gives you the selected candle value from a list of candles.","1113292761":"Less than 8MB","1114679006":"You have successfully created your bot using a simple strategy.","1117281935":"Sell conditions (optional)","1117863275":"Security and safety","1118294625":"You have chosen to exclude yourself from trading on our website until {{exclusion_end}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via live chat.","1119887091":"Verification","1119986999":"Your proof of address was submitted successfully","1120985361":"Terms & conditions updated","1122910860":"Please complete your <0>financial assessment.","1123927492":"You have not selected your account currency","1124382808":"Please enter the expiry time in the format \"HH:MM\".","1125090693":"Must be a number","1126075317":"Add your Deriv MT5 <0>{{account_type_name}} STP account under Deriv (FX) Ltd regulated by Labuan Financial Services Authority (Licence no. MB/18/0024).","1126934455":"Length of token name must be between 2 and 32 characters.","1127224297":"Sorry for the interruption","1127884488":"cTrader MacOS app","1128139358":"How many CFD trades have you placed in the past 12 months?","1128321947":"Clear All","1128404172":"Undo","1129124569":"If you select \"Under\", you will win the payout if the last digit of the last tick is less than your prediction.","1129842439":"Please enter a take profit amount.","1130791706":"N","1133651559":"Live chat","1134879544":"Example of a document with glare","1134883120":"Use your Deriv account email and password to log in to cTrader.","1139483178":"Enable stack","1143730031":"Direction is {{ direction_type }}","1144028300":"Relative Strength Index Array (RSIA)","1145927365":"Run the blocks inside after a given number of seconds","1146064568":"Go to Deposit page","1147269948":"Barrier cannot be zero.","1150637063":"*Volatility 150 Index and Volatility 250 Index","1151964318":"both sides","1152294962":"Upload the front of your driving licence.","1154021400":"list","1154239195":"Title and name","1155011317":"This block converts the date and time to the number of seconds since the Unix Epoch (1970-01-01 00:00:00).","1155143434":"By clicking on <0>Next you agree to move your {{platform}} {{type}} {{from_account}} account(s) under <2/>Deriv {{account_to_migrate}} Ltd’s <1>terms and conditions.","1155626418":"below","1158678321":"<0>b.The Head of the Dispute Resolution Committee (DRC) will contact both you and us within 5 business days to obtain all necessary information and see if there is a chance to settle the complaint during the investigation phase.","1160761178":"No payout if exit spot is below or equal to the lower barrier.","1161924555":"Please select an option","1163771266":"The third block is <0>optional. You may use this block if you want to sell your contract before it expires. For now, leave the block as it is. ","1163836811":"Real Estate","1164773983":"Take profit and/or stop loss are not available while deal cancellation is active.","1166023941":"New password","1166128807":"Choose one of your accounts or add a new cryptocurrency account","1166377304":"Increment value","1168029733":"Win payout if exit spot is also equal to entry spot.","1169201692":"Create {{platform}} password","1170228717":"Stay on {{platform_name_trader}}","1171765024":"Step 3","1171961126":"trade parameters","1172230903":"• Stop loss threshold: Use this variable to store your loss limit. You can assign any amount you want. Your bot will stop when your losses hits or exceeds this amount.","1172524677":"CFDs Demo","1173957529":"Go to ‘Account Settings’ on Deriv.","1174542625":"- Find the chat ID property in the response, and copy the value of the id property","1174689133":"3. Set your trade parameters and hit Run.","1174748431":"Payment channel","1175183064":"Vanuatu","1177396776":"If you select \"Asian Fall\", you will win the payout if the last tick is lower than the average of the ticks.","1177723589":"There are no transactions to display","1178582280":"The number of contracts you have lost since you last cleared your stats.","1178800778":"Take a photo of the back of your license","1178942276":"Please try again in a minute.","1179704370":"Please enter a take profit amount that's higher than the current potential profit.","1181396316":"This block gives you a random number from within a set range","1181770592":"Profit/loss from selling","1183007646":"- Contract type: the name of the contract type such as Rise, Fall, Touch, No Touch, etс.","1183448523":"<0>We're setting up your Wallets","1184968647":"Close your contract now or keep it running. If you decide to keep it running, you can check and close it later on the ","1186687280":"Question {{ current }} of {{ total }}","1188316409":"To receive your funds, contact the payment agent with the details below","1188980408":"5 minutes","1189249001":"4.1. What is considered a complaint?","1189368976":"Please complete your personal details before you verify your identity.","1191429031":"Please click on the link in the email to change your <0>{{platform_name_dxtrade}} password.","1192598228":"Wallets will become your dedicated fund management tool, allowing you to transfer funds between Wallets and trading accounts instantly.","1195393249":"Notify {{ notification_type }} with sound: {{ notification_sound }} {{ input_message }}","1196006480":"Profit threshold","1198368641":"Relative Strength Index (RSI)","1199281499":"Last Digits List","1201533528":"Contracts won","1201773643":"numeric","1203297580":"This block sends a message to a Telegram channel.","1203380736":"The D’Alembert strategy is less risky than Martingale, but you can still determine how long your funds will last with this strategy before trading. Simply use this formula.","1204223111":"In this example, the open prices from a list of candles are assigned to a variable called \"candle_list\".","1204459171":"Your existing <0>{{platform}} {{type_1}} <1/>and <0>{{type_2}} {{from_account}} account(s) will remain accessible.","1206227936":"How to mask your card?","1206821331":"Armed Forces","1208729868":"Ticks","1208903663":"Invalid token","1211912982":"Bot is starting","1214893428":"Account creation is currently unavailable for mobile. Please log in with your computer to create a new account.","1216408337":"Self-Employed","1217159705":"Bank account number","1217481729":"Tether as an ERC20 token (eUSDT) is a version of Tether that is hosted on Ethereum.","1218546232":"What is Fiat onramp?","1219844088":"do %1","1221250438":"To enable withdrawals, please submit your <0>Proof of Identity (POI) and <1>Proof of Address (POA) and also complete the <2>financial assessment in your account settings.","1222096166":"Deposit via bank wire, credit card, and e-wallet","1222521778":"Making deposits and withdrawals is difficult.","1222544232":"We’ve sent you an email","1225874865":"The stake adjustment: target session profit (1 USD) - current session profit (0 USD) = 1 USD","1227074958":"random fraction","1227132397":"4. For trades that result in a loss, there are two outcomes. If it was traded at the initial stake, the next trade will remain at the same amount as the strategy trades minimally at the initial stake, see A2. If it was traded with a higher amount, the stake for the next trade would be reduced by 2 USD, see A3.","1227240509":"Trim spaces","1228534821":"Some currencies may not be supported by payment agents in your country.","1229883366":"Tax identification number","1230884443":"State/Province (optional)","1231282282":"Use only the following special characters: {{permitted_characters}}","1232291311":"Maximum withdrawal remaining","1232353969":"0-5 transactions in the past 12 months","1233300532":"Payout","1233910495":"If you select \"<0>Down\", your total profit/loss will be the percentage decrease in the underlying asset price, times the multiplier and stake, minus commissions.","1234292259":"Source of wealth","1234764730":"Upload a screenshot of your name and email address from the personal details section.","1234889964":"Better funds segregation","1237330017":"Pensioner","1238311538":"Admin","1239752061":"In your cryptocurrency wallet, make sure to select the <0>{{network_name}} network when you transfer funds to Deriv.","1239760289":"Complete your trading assessment","1239940690":"Restarts the bot when an error is encountered.","1240027773":"Please Log in","1240688917":"Glossary","1241238585":"You may transfer between your Deriv fiat, cryptocurrency, and {{platform_name_mt5}} accounts.","1242288838":"Hit the checkbox above to choose your document.","1242994921":"Click here to start building your Deriv Bot.","1243064300":"Local","1243287470":"Transaction status","1246207976":"Enter the authentication code generated by your 2FA app:","1246880072":"Select issuing country","1247280835":"Our cryptocurrency cashier is temporarily down due to system maintenance. You can make cryptocurrency deposits and withdrawals in a few minutes when the maintenance is complete.","1248018350":"Source of income","1248940117":"<0>a.The decisions made by the DRC are binding on us. DRC decisions are binding on you only if you accept them.","1250113042":"This device doesn't support passkeys.","1250495155":"Token copied!","1252669321":"Import from your Google Drive","1253531007":"Confirmed","1253636052":"MetaTrader5 web terminal","1254565203":"set {{ variable }} to create list with","1255827200":"You can also import or build your bot using any of these shortcuts.","1255909792":"last","1255963623":"To date/time {{ input_timestamp }} {{ dummy }}","1258097139":"What could we do to improve?","1258198117":"positive","1259145708":"Let’s try again. Choose another document and enter the corresponding details.","1259598687":"GBP/JPY","1260259925":"Phone is not in a proper format.","1264096613":"Search for a given string","1264842111":"You can switch between real and demo accounts.","1265317149":"A recent utility bill (e.g. electricity, water or gas) or recent bank statement or government-issued letter with your name and address.","1265704976":"","1266728508":"Proof of income verification passed","1269296089":"Let's build a Bot!","1270581106":"If you select \"No Touch\", you win the payout if the market never touches the barrier at any time during the contract period.","1272012156":"GBP/CHF","1272337240":"Days","1272681097":"Hours","1274380814":"Your payout is equal to the <0>payout per pip multiplied by the difference, <1>in pips, between the final price and the strike price. You will only earn a profit if your payout is higher than your initial stake.","1274819385":"3. Complaints and Disputes","1276660852":"Submit your proof of identity","1281045211":"Sorts the items in a given list, by their numeric or alphabetical value, in either ascending or descending order.","1281290230":"Select","1282951921":"Only Downs","1284522768":"If \"Loss\" is selected, it will return \"True\" if your last trade was unsuccessful. Otherwise, it will return an empty string.","1286094280":"Withdraw","1286507651":"Close identity verification screen","1288965214":"Passport","1289146554":"British Virgin Islands Financial Services Commission","1289650867":"The Oscar’s Grind strategy is designed to potentially gain a modest yet steady profit in each trading session. This strategy splits trades into sessions and has three principles.","1290525720":"Example: ","1291997417":"Contracts will expire at exactly 23:59:59 GMT on your selected expiry date.","1292188546":"Reset Deriv MT5 investor password","1292891860":"Notify Telegram","1293660048":"Max. total loss per day","1294553728":"We’re unable to verify the document you provided because it appears to be a blank image. Please try again or upload another document.","1294756261":"This block creates a function, which is a group of instructions that can be executed at any time. Place other blocks in here to perform any kind of action that you need in your strategy. When all the instructions in a function have been carried out, your bot will continue with the remaining blocks in your strategy. Click the “do something” field to give it a name of your choice. Click the plus icon to send a value (as a named variable) to your function.","1295284664":"Please accept our <0>updated Terms and Conditions to proceed.","1296380713":"Close my contract","1299479533":"8 hours","1300576911":"Please resubmit your proof of address or we may restrict your account.","1302691457":"Occupation","1303016265":"Yes","1303530014":"We’re processing your withdrawal.","1304083330":"copy","1304272843":"Please submit your proof of address.","1304620236":"Enable camera","1305217290":"Upload the back of your identity card.","1308625834":"Sets the default time interval for blocks that read list of candles.","1309017029":"Enabling this allows you to save your blocks as one collection which can be easily integrated into other bots.","1309044871":"Returns the value of the latest tick in string format","1310483610":"Results for \"{{ search_term }}\"","1311680770":"payout","1313167179":"Please log in","1313302450":"The bot will stop trading if your total loss exceeds this amount.","1314572331":"Your document failed our verification checks.","1316216284":"You can use this password for all your {{platform}} accounts.","1319217849":"Check your mobile","1320715220":"<0>Account closed","1320750775":"Front and back","1322804930":"Restart the process on the latest version of Google Chrome","1323327633":"Our complaints process comprises the following 4 steps:","1323476617":"Changes the capitalisation of a string of text to Upper case, Lower case, Title case.","1323996051":"Profile","1324922837":"2. The new variable will appear as a block under Set variable.","1325514262":"(licence no. MB/18/0024)","1327181172":"Financial Vanuatu","1327494533":"{{sell_value}} (Sell)","1329136554":"Jump 200 Index","1329325646":"The content of this block is called on every tick","1331199417":"Please enter the correct format. ","1331367811":"Client account number","1332168410":"Learn more","1332168769":"Disconnect","1333576137":"Please update your {{details}} to continue.","1333839457":"Submit identity card (front)","1334326985":"It may take a few minutes to arrive","1335967988":"Notice","1336052175":"Switch accounts","1337846406":"This block gives you the selected candle value from a list of candles within the selected time interval.","1337864666":"Photo of your document","1338496204":"Ref. ID","1339613797":"Regulator/External dispute resolution","1340286510":"The bot has stopped, but your trade may still be running. You can check it on the Reports page.","1341840346":"View in Journal","1341921544":"Trading accounts and funds","1344696151":"Forex, stocks, stock indices, commodities, cryptocurrencies and synthetic indices.","1346038489":"Should be less than 70.","1346204508":"Take profit","1346339408":"Managers","1346947293":"We were unable to verify your selfie because it’s not clear. Please take a clearer photo and try again. Ensure that there's enough light where you are and that your entire face is in the frame.","1347037687":"Trader’s Hub V2","1347071802":"{{minutePast}}m ago","1349133669":"Try changing your search criteria.","1349289354":"Great, that's everything we need","1349295677":"in text {{ input_text }} get substring from {{ position1 }} {{ index1 }} to {{ position2 }} {{ index2 }}","1351906264":"This feature is not available for payment agents.","1353197182":"Please select","1354288636":"Based on your answers, it looks like you have insufficient knowledge and experience in trading CFDs. CFD trading is risky and you could potentially lose all of your capital.<0/><0/>","1355250245":"{{ calculation }} of list {{ input_list }}","1356574493":"Returns a specific portion of a given string of text.","1356607862":"Deriv password","1357010670":"I acknowledge and confirm that I would like to upgrade to Wallets.","1357213116":"Identity card","1358543466":"Not available","1358543748":"enabled","1360929368":"Add a Deriv account","1362029761":"Exploring the Reverse Martingale strategy in Deriv Bot","1362578283":"High","1363645836":"Derived FX","1363675688":"Duration is a required field.","1364045306":"Account V2","1364879837":"The verification is passed but the personal info is not available to compare.","1364958515":"Stocks","1366244749":"Limits","1367488817":"4. Restart trading conditions","1367990698":"Volatility 10 Index","1370647009":"Enjoy higher daily limits","1371193412":"Cancel","1371555192":"Choose your preferred payment agent and enter your withdrawal amount. If your payment agent is not listed, <0>search for them using their account number.","1371641641":"Open the link on your mobile","1371911731":"Financial products in the EU are offered by {{legal_entity_name}}, licensed as a Category 3 Investment Services provider by the Malta Financial Services Authority (<0>Licence no. IS/70156).","1373949314":"The Reverse Martingale strategy involves increasing your stake after each successful trade and resets to the initial stake for every losing trade as it aims to secure potential profits from consecutive wins.","1374627690":"Max. account balance","1374902304":"Your document appears to be damaged or cropped.","1375884086":"Financial, legal, or government document: recent bank statement, affidavit, or government-issued letter.","1376329801":"Last 60 days","1378419333":"Ether","1380349261":"Range","1383017005":"You have switched accounts.","1384127719":"You should enter {{min}}-{{max}} numbers.","1384222389":"Please submit valid identity documents to unlock the cashier.","1385418910":"Please set a currency for your existing real account before creating another account.","1387503299":"Log in","1388770399":"Proof of identity required","1389197139":"Import error","1390792283":"Trade parameters","1391174838":"Potential payout:","1392985917":"This is similar to a commonly used password","1393559748":"Invalid date/time: {{ datetime_string }}","1393901361":"There’s an app for that","1393903598":"if true {{ return_value }}","1396179592":"Commission","1396417530":"Bear Market Index","1397628594":"Insufficient funds","1400341216":"We’ll review your documents and notify you of its status within 1 to 3 days.","1400732866":"View from camera","1400962248":"High-Close","1402208292":"Change text case","1402224124":"Hit the button below, and we'll email you a verification link.","1402300547":"Lets get your address verified","1403376207":"Update my details","1405584799":"with interval: {{ candle_interval_type }}","1407191858":"DTrader","1408844944":"Click the plus icon to extend the functionality of this block.","1408852678":"Trade bigger positions with less capital across diverse financial and derived instruments. <0>Learn more","1411373212":"Strong passwords contain at least 8 characters. combine uppercase and lowercase letters, numbers, and symbols.","1412405902":"See important notes","1412535872":"You can check the result of the last trade with this block. It can only be placed within the \"Restart trading conditions\" root block.","1413047745":"Assigns a given value to a variable","1413359359":"Make a new transfer","1414205271":"prime","1414366321":"An uppercase letter","1414918420":"We'll review your proof of identity again and will give you an update as soon as possible.","1415006332":"get sub-list from first","1415513655":"Download cTrader on your phone to trade with the Deriv cTrader account","1415974522":"If you select \"Differs\", you will win the payout if the last digit of the last tick is not the same as your prediction.","1416521695":"Positions","1417558007":"Max. total loss over 7 days","1417907460":"No problem! Your passkey still works.","1417914636":"Login ID","1418115525":"This block repeats instructions as long as a given condition is true.","1419330165":"Forex, stocks, stock indices, commodities, cryptocurrencies, ETFs and synthetic indices","1421046084":"Setup your account","1421749665":"Simple Moving Average (SMA)","1422060302":"This block replaces a specific item in a list with another given item. It can also insert the new item in the list at a specific position.","1422129582":"All details must be clear — nothing blurry","1423082412":"Last Digit","1423296980":"Enter your SSNIT number","1424741507":"See more","1424763981":"1-3-2-6","1424779296":"If you've recently used bots but don't see them in this list, it may be because you:","1428657171":"You can only make deposits. Please contact us via <0>live chat for more information.","1430221139":"Verify now","1430396558":"5. Restart buy/sell on error","1430632931":"To get trading, please confirm who you are, and where you live.","1433367863":"Sorry, an error occured while processing your request.","1433468641":"We offer our services in all countries, except for the ones mentioned in our terms and conditions.","1434382099":"Displays a dialog window with a message","1434767075":"Get started on Deriv Bot","1434976996":"Announcement","1435363248":"This block converts the number of seconds since the Unix Epoch to a date and time format such as 2019-08-01 00:00:00.","1437396005":"Add comment","1437529196":"Payslip","1438247001":"A professional client receives a lower degree of client protection due to the following.","1438340491":"else","1439168633":"Stop loss:","1441208301":"Total<0 />profit/loss","1442747050":"Loss amount: <0>{{profit}}","1442840749":"Random integer","1443478428":"Selected proposal does not exist","1444843056":"Corporate Affairs Commission","1445592224":"You accidentally gave us another email address (Usually a work or a personal one instead of the one you meant).","1446742608":"Click here if you ever need to repeat this tour.","1449462402":"In review","1452260922":"Too many failed attempts","1452941569":"This block delays execution for a given number of seconds. You can place any blocks within this block. The execution of other blocks in your strategy will be paused until the instructions in this block are carried out.","1453317405":"This block gives you the balance of your account either as a number or a string of text.","1454406889":"Choose <0>until as the repeat option.","1454648764":"deal reference id","1454865058":"Do not enter an address linked to an ICO purchase or crowdsale. If you do, the ICO tokens will not be credited into your account.","1455741083":"Upload the back of your driving licence.","1457341530":"Your proof of identity verification has failed","1457603571":"No notifications","1458160370":"Enter your {{platform}} password to add a {{platform_name}} {{account}} {{jurisdiction_shortcode}} account.","1459761348":"Submit proof of identity","1461323093":"Display messages in the developer’s console.","1462238858":"By purchasing the \"High-to-Close\" contract, you'll win the multiplier times the difference between the high and close over the duration of the contract.","1464190305":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract without manually stopping and restarting your bot.","1464253511":"You already have an account for each of the cryptocurrencies available on {{deriv}}.","1465084972":"How much experience do you have with other financial instruments?","1465919899":"Pick an end date","1466430429":"Should be between {{min_value}} and {{max_value}}","1466900145":"Doe","1467017903":"This market is not yet available on {{platform_name_trader}}, but it is on {{platform_name_smarttrader}}.","1467421920":"with interval: %1","1467880277":"3. General queries","1468308734":"This block repeats instructions as long as a given condition is true","1468419186":"Deriv currently supports withdrawals of Tether USDT to Omni wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","1468508098":"Slippage happens when the asset price changes by the time it reaches our servers.","1469133110":"cTrader Windows app","1469150826":"Take Profit","1469764234":"Cashier Error","1469814942":"- Division","1470319695":"Returns either True or False","1470565177":"Article of association","1471008053":"Deriv Bot isn't quite ready for real accounts","1471070549":"Can contract be sold?","1471741480":"Severe error","1473369747":"Synthetics only","1475513172":"Size","1476301886":"Similar to SMA, this block gives you the entire SMA line containing a list of all values for a given period.","1478030986":"Create or delete API tokens for trading and withdrawals","1480915523":"Skip","1484336612":"This block is used to either terminate or continue a loop, and can be placed anywhere within a loop block.","1487086154":"Your documents were submitted successfully","1488548367":"Upload again","1490509675":"Options accounts","1491392301":"<0>Sold for: {{sold_for}}","1492686447":"Your MT5 Financial STP account will be opened through Deriv (FX) Ltd. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","1493673429":"Change email","1493866481":"Run Deriv X on your browser","1496810530":"GBP/AUD","1497773819":"Deriv MT5 accounts","1499080621":"Tried to perform an invalid operation.","1501691227":"Add Your Deriv MT5 <0>{{account_type_name}} account under Deriv (V) Ltd, regulated by the Vanuatu Financial Services Commission.","1502039206":"Over {{barrier}}","1502325741":"Your password cannot be the same as your email address.","1503419760":"Swap-free CFDs on selected financial and derived instruments.","1503618738":"- Deal reference ID: the reference ID of the contract","1505420815":"No payment agents found for your search","1505898522":"Download stack","1505927599":"Our servers hit a bump. Let’s refresh to move on.","1506251760":"Wallets","1507554225":"Submit your proof of address","1509559328":"cTrader","1509570124":"{{buy_value}} (Buy)","1509678193":"Education","1510075920":"Gold/USD","1510357015":"Tax residence is required.","1510735345":"This block gives you a list of the last digits of the last 1000 tick values.","1512469749":"In the above example it is assumed that variable candle_open_price is processed somewhere within other blocks.","1513771077":"We're processing your withdrawal.","1516559721":"Please select one file only","1516676261":"Deposit","1517503814":"Drop file or click here to upload","1519124277":"Derived SVG","1520332426":"Net annual income","1524636363":"Authentication failed","1526012495":"This could be because:","1526483456":"2. Enter a name for your variable, and hit Create. New blocks containing your new variable will appear below.","1527251898":"Unsuccessful","1527664853":"Your payout is equal to the payout per point multiplied by the difference between the final price and the strike price.","1527906715":"This block adds the given number to the selected variable.","1531017969":"Creates a single text string from combining the text value of each attached item, without spaces in between. The number of items can be added accordingly.","1533177906":"Fall","1534796105":"Gets variable value","1537192641":"Unable to process your request","1537711064":"You need to make a quick identity verification before you can access the Cashier. Please go to your account settings to submit your proof of identity.","1540585098":"Decline","1541508606":"Looking for CFDs? Go to Trader's Hub","1541770236":"The 1-3-2-6 strategy aims to maximise potential profits with four consecutive successful trades. One unit is equal to the amount of the initial stake. The stake will adjust from 1 unit to 3 units after the first successful trade, then to 2 units after your second successful trade, and to 6 units after the third successful trade. The stake for the next trade will reset to the initial stake if there is a losing trade or a completion of the trade cycle.","1541969455":"Both","1542742708":"Synthetics, Forex, Stocks, Stock indices, Commodities, and Cryptocurrencies","1544642951":"If you select \"Only Ups\", you win the payout if consecutive ticks rise successively after the entry spot. No payout if any tick falls or is equal to any of the previous ticks.","1547148381":"That file is too big (only up to 8MB allowed). Please upload another file.","1549098835":"Total withdrawn","1549645155":"Your passkey is successfully removed. To avoid sign-in prompts, also remove the passkey from your iCloud keychain. ","1551172020":"AUD Basket","1551689907":"Enhance your trading experience by upgrading your <0/><1>{{platform}} {{type}} {{from_account}} account(s).","1555345325":"User Guide","1556391770":"You cannot make a withdrawal as your documents are still under review. We will notify you by email within 3 days once your verification is approved.","1557426040":"Demo Derived SVG","1557682012":"Account Settings","1558972889":"set {{ variable }} to Simple Moving Average {{ dummy }}","1560302445":"Copied","1562374116":"Students","1566037033":"Bought: {{longcode}} (ID: {{transaction_id}})","1566717687":"We also provide a guide on the Tutorial tab to show you how you can build and execute a simple strategy.","1567076540":"Only use an address for which you have proof of residence - ","1567745852":"Bot name","1569527365":"Verification failed. Resubmit your details.","1569624004":"Dismiss alert","1570484627":"Ticks list","1571575776":"Accepted formats: pdf, jpeg, jpg, and png. Max file size: 8MB","1572504270":"Rounding operation","1572982976":"Server","1573429525":"Call/Put","1575556189":"Tether on the Ethereum blockchain, as an ERC20 token, is a newer transport layer, which now makes Tether available in Ethereum smart contracts. As a standard ERC20 token, it can also be sent to any Ethereum address.","1577480486":"Your mobile link will expire in one hour","1577527507":"Account opening reason is required.","1577612026":"Select a folder","1579839386":"Appstore","1580498808":"Multiple faces found","1584109614":"Ticks String List","1584936297":"XML file contains unsupported elements. Please check or modify file.","1587046102":"Documents from that country are not currently supported — try another document type","1589148299":"Start","1589640950":"Resale of this contract is not offered.","1589702653":"Proof of address","1589863913":"These are the trade parameters used for D’Alembert strategy in Deriv Bot.","1590400723":"Total assets in all your accounts","1591933071":"Resubmit document","1593010588":"Login now","1594147169":"Please come back in","1594322503":"Sell is available","1595295238":"3. Use a logic block to check if Total profit/loss is more than the Stop loss threshold amount. You can find the Total profit/loss variable under Analysis > Stats on the Blocks menu on the left. Your bot will continue to purchase new contracts until the Total profit/loss amount exceeds the Stop loss threshold amount.","1597672660":"Deriv MT5 Password","1598009247":"<0>a.You may file a complaint with the Financial Commission up to 45 days after the incident.","1598386296":"Town/City is required.","1598443642":"Transaction hash","1599743312":"An example of Reverse Martingale strategy","1602894348":"Create a password","1604916224":"Absolute","1605222432":"I have no knowledge and experience in trading at all.","1605292429":"Max. total loss","1612105450":"Get substring","1612638396":"Cancel your trade at any time within a specified timeframe.","1615897837":"Signal EMA Period {{ input_number }}","1618652381":"For instance, if a trader has a loss threshold (B) is 1000 USD, with an initial stake (s) is 1 USD, and the Martingale multiplier (m) is 2, the calculation would be as follows:","1619070150":"You are being redirected to an external website.","1620278321":"Names and surnames by themselves are easy to guess","1620346110":"Set currency","1621024661":"Tether as a TRC20 token (tUSDT) is a version of Tether that is hosted on Tron.","1622662457":"Date from","1622944161":"Now, go to the <0>Restart trading conditions block.","1623706874":"Use this block when you want to use multipliers as your trade type.","1628981793":"Can I trade cryptocurrencies on Deriv Bot?","1630417358":"Please go to your account settings and complete your personal details to enable withdrawals.","1631281562":"GBP Basket","1633661992":"Tick {{current_tick}}/{{tick_count}}","1634016345":"2. If the trade is successful, this strategy will automatically adjust your stake to 3 units of your initial stake for the next trade. In this case, the stake adjustment is 3 units and the initial stake is 1 USD, hence the next trade will start at 3 USD.","1634903642":"Only your face can be in the selfie","1634969163":"Change currency","1635266650":"It seems that your name in the document is not the same as your Deriv profile. Please update your name in the <0>Personal details page to solve this issue.","1635628424":"An envelope with your name and address.","1636605481":"Platform settings","1636782601":"Multipliers","1638321777":"Your demo account balance is low. Reset your balance to continue trading from your demo account.","1639262461":"Pending withdrawal request:","1639304182":"Please click on the link in the email to reset your password.","1641395634":"Last digits list","1641635657":"New proof of identity document needed","1641980662":"Salutation is required.","1644636153":"Transaction hash: <0>{{value}}","1644703962":"Looking for CFD accounts? Go to Trader's Hub","1644864436":"You’ll need to authenticate your account before requesting to become a professional client. <0>Authenticate my account","1644908559":"Digit code is required.","1647186767":"The bot encountered an error while running.","1648938920":"Netherlands 25","1649239667":"2. Under the Blocks menu, you'll see a list of categories. Blocks are grouped within these categories. Choose the block you want and drag them to the workspace.","1650963565":"Introducing Wallets","1651513020":"Display remaining time for each interval","1651951220":"Repeats like \"abcabcabc\" are only slightly harder to guess than \"abc\"","1652366857":"get and remove","1652968048":"Define your trade options such as multiplier and stake.","1652976865":"In this example, this block is used with another block to get the open prices from a list of candles. The open prices are then assigned to the variable called \"cl\".","1653136377":"copied!","1653180917":"We cannot verify you without using your camera","1653999225":"Forex: major/minor","1654365787":"Unknown","1654529197":"Purchase condition","1654721858":"Upload anyway","1655372864":"Your contract will expire on this date (in GMT), based on the end time you’ve selected.","1655627840":"UPPER CASE","1656155124":"Resend in <0 /> seconds","1658954996":"Plant and Machine Operators and Assemblers","1659074761":"Reset Put","1659352235":"Add your Deriv MT5 CFDs account under Deriv Investments (Europe) Limited, regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156).","1665272539":"Remember: You cannot log in to your account until the selected date.","1665718170":"The document must contain a letterhead.","1665738338":"Balance","1665756261":"Go to live chat","1668138872":"Modify account settings","1669062316":"The payout at expiry is equal to the payout per pip multiplied by the difference, <0>in pips, between the final price and the strike price.","1670016002":"Multiplier: {{ multiplier }}","1670426231":"End Time","1671232191":"You have set the following limits:","1675030608":"To create this account first we need you to resubmit your proof of address.","1676549796":"Dynamic Leverage","1677027187":"Forex","1679743486":"1. Go to Quick strategy and select the strategy you want.","1680666439":"Upload your bank statement showing your name, account number, and transaction history.","1681765749":"Martingale formula 2","1682409128":"Untitled Strategy","1682636566":"Resend email in","1683963454":"Your contract will be closed automatically at the next available asset price on {{date}} at {{timestamp}}.","1684419981":"What's this?","1686800117":"{{error_msg}}","1689103988":"Second Since Epoch","1689258195":"We were unable to verify your address with the details you provided. Please check and resubmit or choose a different document type.","1690746575":"Enhance your trading experience by upgrading your <0>{{platform}} {{type_1}} <1/>and <0>{{type_2}} {{from_account}} account(s).","1691335819":"To continue trading with us, please confirm who you are.","1691536201":"If you choose your duration in number of ticks, you won’t be able to terminate your contract early.","1691765860":"- Negation","1692912479":"Deriv MT5, Deriv X","1693614409":"Start time","1694517345":"Enter a new email address","1696190747":"Trading inherently involves risks, and actual profits can fluctuate due to various factors, including market volatility and other unforeseen variables. As such, exercise caution and conduct thorough research before engaging in any trading activities.","1698624570":"2. Hit Ok to confirm.","1699606318":"You've reached the limit of uploading your documents.","1700233813":"Transfer from {{selected_value}} is not allowed, Please choose another account from dropdown","1701447705":"Please update your address","1702339739":"Common mistakes","1703091957":"We collect information about your employment as part of our due diligence obligations, as required by anti-money laundering legislation.","1703712522":"Your payout is equal to the payout per pip multiplied by the difference, <0>in pips, between the final price and the strike price.","1704656659":"How much experience do you have in CFD trading?","1708413635":"For your {{currency_name}} ({{currency}}) account","1709859601":"Exit Spot Time","1711013665":"Anticipated account turnover","1711016273":"<0>This may take up to 2 minutes. During this time, some services may be unavailable.","1711676335":"square root","1711929663":"Your funds have been transferred","1712357617":"Invalid email address.","1713633297":"3. If the second trade is also successful, your stake will adjust to 2 USD or 2 units of the initial stake for the next trade.","1714255392":"To enable withdrawals, please complete your financial assessment.","1715011380":"Jump 25 Index","1715630945":"Returns the total profit in string format","1715680813":"Your contract will expire at exactly 23:59:59 GMT +0 on your selected expiry date.","1717023554":"Resubmit documents","1717474982":"CFDs on financial and derived instruments via a customisable platform.","1720451994":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv fiat and Deriv cryptocurrency accounts.","1720968545":"Upload passport photo page from your computer","1722056905":"The document you provided is not supported for your country. Please provide a supported document for your country.","1722888575":"{{mt5_migration_error}}","1723069433":"Your new Wallet","1723589564":"Represents the maximum number of outstanding contracts in your portfolio. Each line in your portfolio counts for one open position. Once the maximum is reached, you will not be able to open new positions without closing an existing position first.","1724367774":"You can make a funds transfer once the verification of your account is complete.","1724696797":"You are limited to one fiat account only.","1725958461":"Account number","1726472773":"Function with no return value","1726565314":"Close my account","1728183781":"About Tether","1729145421":"Risk warning","1731747596":"The block(s) highlighted in red are missing input values. Please update them and click \"Run bot\".","1733711201":"Regulators/external dispute resolution","1734185104":"Balance: %1","1734264460":"Disclaimer","1734521537":"The document you provided appears to be two different types. Please try again or provide another document.","1736292549":"Update postal code","1737352280":"Bot.init is not called","1738094481":"<0>Duration: Ticks 1","1738611950":"About Reverse Martingale","1738681493":"Remove your glasses, if necessary","1739086943":"Wall Street 30","1739384082":"Unemployed","1739668049":"Close your account","1740371444":"Underlying market is not selected","1742256256":"Please upload one of the following documents:","1743448290":"Payment agents","1743679873":"If you select <0>\"Call\", you’ll earn a <1>payout if the <1>final price is above the <1>strike price at <1>expiry. Otherwise, you won’t receive a payout.","1743902050":"Complete your financial assessment","1744509610":"Just drag the XML file from your computer onto the workspace, and your bot will be loaded accordingly. Alternatively, you can hit Import in Bot Builder, and choose to import your bot from your computer or from your Google Drive.","1745523557":"- Square root","1746051371":"Download the app","1746273643":"Moving Average Convergence Divergence","1747501260":"Sell conditions","1747674345":"Please use `.` as a decimal separator for fractional numbers.","1747682136":"Contract was cancelled.","1748754976":"Run","1753082252":"This article explores the strategy integrated into Deriv Bot, a versatile trading bot designed to trade assets such as Forex, Commodities, and Derived Indices. We will delve into the strategy's core parameters, its application, and provide essential takeaways for traders looking to use the bot effectively.","1753183432":"We take all complaints seriously and aim to resolve them as quickly and fairly as possible. If you are unhappy with any aspect of our service, please let us know by submitting a complaint using the guidance below:","1753226544":"remove","1753975551":"Upload passport photo page","1754256229":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts, up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts, up to {{ allowed_ctrader }} transfers between your Deriv and {{platform_name_ctrader}} accounts, and up to {{ allowed_dxtrade }} transfers between your Deriv and {{platform_name_dxtrade}} accounts.","1756678453":"break out","1758386013":"Do not get lured to fake \"Deriv\" pages!","1761038852":"Let’s continue with providing proofs of address and identity.","1761254001":"A number","1761762171":"Restart last trade on error (bot ignores the unsuccessful trade): {{ checkbox }}","1762707297":"Phone number","1763123662":"Upload your NIMC slip.","1766212789":"Server maintenance starts at 06:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.","1766993323":"Only letters, numbers, and underscores are allowed.","1768293340":"Contract value","1768861315":"Minute","1768918213":"Only letters, space, hyphen, period, and apostrophe are allowed.","1769068935":"Choose any of these exchanges to buy cryptocurrencies:","1770041368":"Experience safer logins","1771037549":"Add a Deriv real account","1771592738":"Conditional block","1772396880":"The date of birth on your document doesn’t match your profile.","1777847421":"This is a very common password","1778893716":"Click here","1779144409":"Account verification required","1779519903":"Should be a valid number.","1779801832":"Please update your password accordingly.","1779872677":"Download e-book","1780442963":"Scan the QR code to download {{ platform }}.","1780770384":"This block gives you a random fraction between 0.0 to 1.0.","1782308283":"Quick strategy","1782395995":"Last Digit Prediction","1782690282":"Blocks menu","1782703044":"Sign up","1783526986":"How do I build a trading bot?","1783740125":"Upload your selfie","1785298924":"D’Alembert formula 1","1786644593":"Supported formats: JPEG, JPG, PNG, PDF, and GIF only","1787492950":"Indicators on the chart tab are for indicative purposes only and may vary slightly from the ones on the {{platform_name_dbot}} workspace.","1788515547":"<0/>For more information on submitting a complaint with the Office of the Arbiter for Financial Services, please <1>see their guidance.","1788966083":"01-07-1999","1789273878":"Payout per point","1789497185":"Make sure your passport details are clear to read, with no blur or glare","1791432284":"Search for country","1791971912":"Recent","1792037169":"To avoid delays, enter your <0>name and <0>date of birth exactly as they appear on your {{document_name}}.","1793913365":"To deposit money, please switch to your {{currency_symbol}} account.","1794815502":"Download your transaction history.","1796787905":"Please upload the following document(s).","1798943788":"You can only make deposits.","1801093206":"Get candle list","1801270786":"Ready to automate your trading strategy without writing any code? You’ve come to the right place.","1801927731":"{{platform_name_dxtrade}} accounts","1803338729":"Choose what type of contract you want to trade. For example, for the Rise/Fall trade type you can choose one of three options: Rise, Fall, or Both. Selected option will determine available options for the Purchase block.","1804620701":"Expiration","1804789128":"{{display_value}} Ticks","1806017862":"Max. ticks","1808058682":"Blocks are loaded successfully","1808867555":"This block uses the variable “i” to control the iterations. With each iteration, the value of “i” is determined by the items in a given list.","1810217569":"Please refresh this page to continue.","1811109068":"Jurisdiction","1811138041":"Enter a value from {{ value }} to 9.","1811343027":"2. Select your Martingale multiplier. In this example, it is 2.","1811972349":"Market","1811973475":"Returns a specific character from a given string","1812006199":"Identity verification","1812582011":"Connecting to server","1813700208":"Boom 300 Index","1813958354":"Remove comment","1815034361":"alphabetic","1815905959":"DTrader, DBot, SmartTrader, and Binary Bot","1815995250":"Buying contract","1817154864":"This block gives you a random number from within a set range.","1820242322":"e.g. United States","1820332333":"Top up","1821818748":"Enter Driver License Reference number","1823177196":"Most popular","1824193700":"This block gives you the last digit of the latest tick value.","1824292864":"Call","1827607208":"File not uploaded.","1828370654":"Onboarding","1830520348":"{{platform_name_dxtrade}} Password","1831847842":"I confirm that the name and date of birth above match my chosen identity document (see below)","1833499833":"Proof of identity documents upload failed","1836767074":"Search payment agent name","1837762008":"Please submit your proof of identity and proof of address to verify your account in your account settings to access the cashier.","1839021527":"Please enter a valid account number. Example: CR123456789","1840721160":"Deriv MT5 latest password requirements","1840865068":"set {{ variable }} to Simple Moving Average Array {{ dummy }}","1841788070":"Palladium/USD","1841996888":"Daily loss limit","1842266423":"back","1843336754":"Select document","1843658716":"If you select \"Only Downs\", you win the payout if consecutive ticks fall successively after the entry spot. No payout if any tick rises or is equal to any of the previous ticks.","1845598565":"The second session concludes upon reaching the aim of one unit of potential profit per session, equivalent to 1 USD. If trading continues, a new session will commence again.","1845892898":"(min: {{min_stake}} - max: {{max_payout}})","1846266243":"This feature is not available for demo accounts.","1846587187":"You have not selected your country of residence","1846588117":"Your contract will be closed automatically when your loss reaches {{stop_out_percentage}}% of your stake.","1849484058":"Any unsaved changes will be lost.","1850031313":"- Low: the lowest price","1850132581":"Country not found","1850659345":"- Payout: the payout of the contract","1851052337":"Place of birth is required.","1851776924":"upper","1854480511":"Cashier is locked","1854874899":"Back to list","1854909245":"Multiplier:","1855566768":"List item position","1856485118":"Please <0>resubmit your proof of address to transfer funds between MT5 and Deriv accounts.","1856755117":"Pending action required","1858251701":"minute","1859308030":"Give feedback","1861688160":"Deposit, transfer, trade","1863053247":"Please upload your identity document.","1863731653":"To receive your funds, contact the payment agent","1865525612":"No recent transactions.","1866244589":"The entry spot is the first tick for High/Low Ticks.","1866811212":"Deposit in your local currency via an authorised, independent payment agent in your country.","1867217564":"Index must be a positive integer","1867783237":"High-to-Close","1869315006":"See how we protect your funds to unlock the cashier.","1869486036":"You receive a <0>payout at <0>expiry if the spot price never touches or breaches the <0>barrier during the contract period. If it does, your contract will be terminated early.","1869787212":"Even","1870933427":"Crypto","1871196637":"True if the result of the last trade matches the selection","1871377550":"Do you offer pre-built trading bots on Deriv Bot?","1871664426":"Note","1873376454":"This is a price level that you choose. If this barrier is ever crossed, your contract would be terminated.","1874481756":"Use this block to purchase the specific contract you want. You may add multiple Purchase blocks together with conditional blocks to define your purchase conditions. This block can only be used within the Purchase conditions block.","1874737957":"To trade multipliers, get a Deriv Apps account first.","1874756442":"BVI","1875702561":"Load or build your bot","1876015808":"Social Security and National Insurance Trust","1876325183":"Minutes","1876333357":"Tax Identification Number is invalid.","1877225775":"Your proof of address is verified","1877832150":"# from end","1878172674":"No, we don't. However, you'll find quick strategies on Deriv Bot that'll help you build your own trading bot for free.","1878189977":"The Martingale strategy involves increasing your stake after each loss to recoup prior losses with a single successful trade.","1879042430":"Appropriateness Test, WARNING:","1879412976":"Profit amount: <0>{{profit}}","1879651964":"<0>Pending verification","1880029566":"Australian Dollar","1880097605":"prompt for {{ string_or_number }} with message {{ input_text }}","1880227067":"Submit passport photo pages","1880377568":"An example of D’Alembert strategy","1880875522":"Create \"get %1\"","1881018702":"hour","1881380263":"Total assets in your account.","1881587673":"Total stake since you last cleared your stats.","1882825238":"Restart trading conditions","1883531976":"Clerks","1885708031":"#","1887257727":"R is the number of rounds a trader can sustain given a specific loss threshold.","1887925280":"The document must be recent and include your name and address:","1889357660":"Enter a value in minutes, up to 60480 minutes (equivalent to 6 weeks).","1890171328":"By clicking Accept below and proceeding with the Account Opening you should note that you may be exposing yourself to risks (which may be significant, including the risk of loss of the entire sum invested) that you may not have the knowledge and experience to properly assess or mitigate.","1890332321":"Returns the number of characters of a given string of text, including numbers, spaces, punctuation marks, and symbols.","1893869876":"(lots)","1894667135":"Please verify your proof of address","1896269665":"CFDs on derived and financial instruments.","1899898605":"Maximum size: 8MB","1902547203":"MetaTrader 5 MacOS app","1903437648":"Blurry photo detected","1904665809":"The Reverse Martingale strategy in trading may offer substantial gains but also comes with significant risks. With your selected strategy, Deriv Bot provides automated trading with risk management measures like setting initial stake, stake size, maximum stake, profit threshold and loss threshold. It's crucial for traders to assess their risk tolerance, practice in a demo account, and understand the strategy before trading with real money.","1905032541":"We're now ready to verify your identity","1905589481":"If you want to change your account currency, please contact us via <0>live chat.","1906213000":"Our system will finish any Deriv Bot trades that are running, and Deriv Bot will not place any new trades.","1906639368":"If this is the first time you try to create a password, or you have forgotten your password, please reset it.","1907423697":"Earn more with Deriv API","1908023954":"Sorry, an error occurred while processing your request.","1908239019":"Make sure all of the document is in the photo","1908686066":"Appropriateness Test Warning","1909647105":"TRX/USD","1909769048":"median","1913777654":"Switch account","1914014145":"Today","1914270645":"Default Candle Interval: {{ candle_interval_type }}","1914725623":"Upload the page that contains your photo.","1916129921":"Reverse Martingale","1917178459":"Bank Verification Number","1917523456":"This block sends a message to a Telegram channel. You will need to create your own Telegram bot to use this block.","1918796823":"Please enter a stop loss amount.","1918832194":"No experience","1919030163":"Tips to take a good selfie","1919296368":"2. Select your unit. In this example, it is 2 units or 2 USD.","1919594496":"{{website_name}} is not affiliated with any payment agents. Customers deal with payment agents at their sole risk. Customers are advised to check the credentials of payment agents and the accuracy of any information about payment agents (on {{website_name}} or elsewhere) before using their services.","1919694313":"To start trading, transfer funds from your Deriv account into this account.","1920217537":"Compare","1920468180":"How to use the SMA block","1921914669":"Deposit with Deriv P2P","1922529883":"Boom 1000 Index","1922955556":"Use a longer keyboard pattern with more turns","1924365090":"Maybe later","1924765698":"Place of birth*","1928930389":"GBP/NOK","1929694162":"Compare accounts","1930899934":"Tether","1931659123":"Run on every tick","1931884033":"It seems that your date of birth in the document is not the same as your Deriv profile. Please update your date of birth in the <0>Personal details page to solve this issue.","1934450653":"For <0>Contract type, set it to Both.","1938327673":"Deriv {{platform}} <0>{{is_demo}}","1939014728":"How do I remove blocks from the workspace?","1939902659":"Signal","1940408545":"Delete this token","1941915555":"Try later","1943440862":"Calculates Bollinger Bands (BB) list from a list with a period","1944204227":"This block returns current account balance.","1947527527":"1. This link was sent by you","1948092185":"GBP/CAD","1949719666":"Here are the possible reasons:","1950413928":"Submit identity documents","1955219734":"Town/City*","1957759876":"Upload identity document","1958788790":"This is the amount you’ll receive at expiry for every point of change in the underlying price, if the spot price never touches or breaches the barrier throughout the contract duration.","1958807602":"4. 'Table' takes an array of data, such as a list of candles, and displays it in a table format.","1959678342":"Highs & Lows","1960240336":"first letter","1964165648":"Connection lost","1965916759":"Asian options settle by comparing the last tick with the average spot over the period.","1966023998":"2FA enabled","1966281100":"Console {{ message_type }} value: {{ input_message }}","1968025770":"Bitcoin Cash","1968077724":"Agriculture","1968368585":"Employment status","1970060713":"You’ve successfully deleted a bot.","1971898712":"Add or manage account","1973536221":"You have no open positions yet.","1973910243":"Manage your accounts","1974273865":"This scope will allow third-party apps to view your account activity, settings, limits, balance sheets, trade purchase history, and more.","1974903951":"If you hit Yes, the info you entered will be lost.","1978218112":"Google Authenticator","1981940238":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_v}}.","1982790875":"Upgrade your <0/><1>{{account_title}} {{platform}} account(s)","1982796981":"Declarations","1982912252":"Relative Strength Index (RSI) from a list with a period","1983001416":"Define your trade options such as multiplier and stake. This block can only be used with the multipliers trade type. If you select another trade type, this block will be replaced with the Trade options block.","1983358602":"This policy, which may change from time to time, applies to your account registered with {{legal_entity_name}}.","1983387308":"Preview","1983480826":"Sign in","1983544897":"P.O. Box is not accepted in address","1983676099":"Please check your email for details.","1984700244":"Request an input","1984742793":"Uploading documents","1985366224":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts and up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts.","1985637974":"Any blocks placed within this block will be executed at every tick. If the default candle interval is set to 1 minute in the Trade Parameters root block, the instructions in this block will be executed once every minute. Place this block outside of any root block.","1986322868":"When your loss reaches or exceeds this amount, your trade will be closed automatically.","1986498784":"BTC/LTC","1987080350":"Demo","1987447369":"Your cashier is locked","1988153223":"Email address","1988302483":"Take profit:","1990331072":"Proof of ownership","1990735316":"Rise Equals","1991055223":"View the market price of your favourite assets.","1991448657":"Don't know your tax identification number? Click <0>here to learn more.","1991524207":"Jump 100 Index","1994023526":"The email address you entered had a mistake or typo (happens to the best of us).","1994558521":"The platforms aren’t user-friendly.","1994600896":"This block requires a list of candles as an input parameter.","1995023783":"First line of address*","1996767628":"Please confirm your tax information.","1997138507":"If the last tick is equal to the average of the ticks, you don't win the payout.","1997313835":"Your stake will continue to grow as long as the current spot price remains within a specified <0>range from the <0>previous spot price. Otherwise, you lose your stake and the trade is terminated.","1999213036":"Enhanced security is just a tap away.","1999346412":"For faster verification, input the same address here as in your proof of address document (see section below)","2001222130":"Check your spam or junk folder. If it's not there, try resending the email.","2001361785":"1. Start with the initial stake. Let’s say 1 USD.","2004052487":"Estimating the lifespan of your trades","2007028410":"market, trade type, contract type","2010759971":"Uploads successful","2010866561":"Returns the total profit/loss","2011609940":"Please input number greater than 0","2011808755":"Purchase Time","2012139674":"Android: Google password manager.","2014536501":"Card number","2014590669":"Variable '{{variable_name}}' has no value. Please set a value for variable '{{variable_name}}' to notify.","2017672013":"Please select the country of document issuance.","2018044371":"Multipliers let you trade with leverage and limit your risk to your stake. <0>Learn more","2019596693":"The document was rejected by the Provider.","2020545256":"Close your account?","2021037737":"Please update your details to continue.","2021161151":"Watch this video to learn how to build a trading bot on Deriv Bot. Also, check out this blog post on building a trading bot.","2023546580":"Your account will be available for trading once the verification of your account is complete.","2023659183":"Student","2023762268":"I prefer another trading website.","2025339348":"Move away from direct light — no glare","2027441253":"Why do we collect this?","2027625329":"Simple Moving Average Array (SMAA)","2027638150":"Upgrade","2027696535":"Tax information","2028163119":"EOS/USD","2029237955":"Labuan","2030018735":"RSI is a technical analysis tool that helps you identify the market trend. It will give you a value from 0 to 100. An RSI value of 70 and above means that the asset is overbought and the current trend may reverse, while a value of 30 and below means that the asset is oversold.","2030045667":"Message","2033648953":"This block gives you the specified candle value for a selected time interval.","2034803607":"You must be 18 years old and above.","2035258293":"Start trading with us","2035925727":"sort {{ sort_type }} {{ sort_direction }} {{ input_list }}","2036578466":"Should be {{value}}","2037665157":"Expand All Blocks","2037906477":"get sub-list from #","2038562422":"TIN is required.","2039198937":"Maximum stake: The maximum amount you are willing to pay to enter a single trade. The stake for your next trade will reset to the initial stake if it exceeds this value. This is an optional risk management parameter.","2042023623":"We’re reviewing your documents. This should take about 5 minutes.","2042050260":"- Purchase price: the purchase price (stake) of the contract","2042115724":"Upload a screenshot of your account and personal details page with your name, account number, phone number, and email address.","2044086432":"The close is the latest tick at or before the end time. If you selected a specific end time, the end time is the selected time.","2046273837":"Last tick","2046577663":"Import or choose your bot","2048110615":"Email address*","2048134463":"File size exceeded.","2049386104":"We need you to submit these in order to get this account:","2050170533":"Tick list","2051558666":"View transaction history","2052022586":"To enhance your MT5 account security we have upgraded our password policy.","2054889300":"Create \"%1\"","2055317803":"Copy the link to your mobile browser","2056369950":"<0>To complete your Wallet setup, log out and then log in again.","2057082550":"Accept our updated <0>terms and conditions","2057419639":"Exit Spot","2059365224":"Yes, you can get started with a pre-built bot using the Quick strategy feature. You’ll find some of the most popular trading strategies here: Martingale, D'Alembert, and Oscar's Grind. Just select the strategy, enter your trade parameters, and your bot will be created for you. You can always tweak the parameters later.","2059753381":"Why did my verification fail?","2060873863":"Your order {{order_id}} is complete","2062912059":"function {{ function_name }} {{ function_params }}","2063812316":"Text Statement","2063815003":"Ready to enable Wallets","2063890788":"Cancelled","2066978677":"{{formatted_opening_time}} (GMT) on {{opening_day}},<0 /> {{opening_date}}.","2067903936":"Driving licence","2070002739":"Don’t accept","2070345146":"When opening a leveraged CFD trade.","2070518923":"Import your bot or tap Quick Strategies to choose from the ready-to-use bot templates.","2070752475":"Regulatory Information","2070858497":"Your document appears to be a screenshot.","2071043849":"Browse","2074207096":"How to create a passkey?","2074235904":"Last name is required.","2074497711":"The Telegram notification could not be sent","2074713563":"4.2. Submission of a complaint","2079925695":"Unit: The number of units that are added in the event of a trade resulting in loss or the number of units removed in the event of a trade resulting in profit. For example, if the unit is set at 2, the stake increases or decreases by two times the initial stake of 1 USD, meaning it changes by 2 USD.","2080553498":"3. Get the chat ID using the Telegram REST API (read more: https://core.telegram.org/bots/api#getupdates)","2080829530":"Sold for: {{sold_for}}","2081622549":"Must be a number higher than {{ min }}","2082533832":"Yes, delete","2084693624":"Converts a string representing a date/time string into seconds since Epoch. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825. Time and time zone offset are optional.","2085387371":"Must be numbers, letters, and special characters . , ' -","2085602195":"- Entry value: the value of the first tick of the contract","2086048243":"Certificate of incorporation","2086792088":"Both barriers should be relative or absolute","2088735355":"Your session and login limits","2089087110":"Basket indices","2089395053":"Unit","2089581483":"Expires on","2090650973":"The spot price may change by the time your order reaches our servers. When this happens, your payout may be affected.","2091671594":"Status","2093675079":"- Close: the closing price","2096014107":"Apply","2096456845":"Date of birth*","2096603244":"Derived - Vanuatu","2097170986":"About Tether (Omni)","2097381850":"Calculates Simple Moving Average line from a list with a period","2097815211":"Number of rounds (R) = 10","2097932389":"Upload 2 separate screenshots from the personal details page and the account page via <0>https://app.astropay.com/profile","2099488590":"Changes to your Deriv MT5 login","2100713124":"account","2100912278":"4. If a trade ends in a loss, the stake for the following trade will be reset to the initial stake amount of 1 USD.","2101972779":"This is the same as the above example, using a tick list.","2102572780":"Length of digit code must be 6 characters.","2104115663":"Last login","2104364680":"Please switch to your demo account to run your Deriv Bot.","2104397115":"Please go to your account settings and complete your personal details to enable deposits and withdrawals.","2107381257":"Scheduled cashier system maintenance","2107882050":"The back of your document appears to be missing. Please include both sides of your identity document.","2110365168":"Maximum number of trades reached","2111015970":"This block helps you check if your contract can be sold. If your contract can be sold, it returns “True”. Otherwise, it returns an empty string.","2111528352":"Creating a variable","2112119013":"Take a selfie showing your face","2112175277":"with delimiter","2113321581":"Add a Deriv Gaming account","2114766645":"Some trade types are unavailable for {{symbol}}.","2115223095":"Loss","2117165122":"1. Create a Telegram bot and get your Telegram API token. Read more on how to create bots in Telegram here: https://core.telegram.org/bots#6-botfather","2117489390":"Auto update in {{ remaining }} seconds","2118292085":"<0>Note: You’ll receive an email when your deposit starts being processed.","2119449126":"Example output of the below example will be:","2119710534":"FAQ","2121227568":"NEO/USD","2122152120":"Assets","2127564856":"Withdrawals are locked","2128919448":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price. We won’t offer a contract value if the remaining duration is below 15 seconds or if the contract duration is in ticks.","2129807378":"Update profile","2133075559":"This means after 10 rounds of consecutive losses, this trader will lose 100 USD. This reaches the loss threshold of 100 USD, stopping the bot.","2133451414":"Duration","2133470627":"This block returns the potential payout for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","2135563258":"Forex trading frequency","2136246996":"Selfie uploaded","2136480755":"Some details in your document appear to be invalid, missing, or unclear.","2137901996":"This will clear all data in the summary, transactions, and journal panels. All counters will be reset to zero.","2137993569":"This block compares two values and is used to build a conditional structure.","2138861911":"Scans and photocopies are not accepted","2139171480":"Reset Up/Reset Down","2139362660":"left side","2141055709":"New {{type}} password","2143803283":"Purchase Error","2144609616":"If you select \"Reset-Down”, you win the payout if the exit spot is strictly lower than either the entry spot or the spot at reset time.","2145690912":"Income Earning","2145995536":"Create new account","2146336100":"in text %1 get %2","2146698770":"Pro tip: You can also click and drag out the desired block","2146892766":"Binary options trading experience","2147244655":"How do I import my own trading bot into Deriv Bot?","-931052769":"Submit verification","-1004605898":"Tips","-1938142055":"Documents uploaded","-448090287":"The link only works on mobile devices","-1244287721":"Something's gone wrong","-241258681":"You'll need to restart your verification on your computer","-929254273":"Get secure link","-2021867851":"Check back here to finish the submission","-1547069149":"Open the link and complete the tasks","-1767652006":"Here's how to do it:","-277611959":"You can now return to your computer to continue","-724178625":"Make sure full document is visible","-1519380038":"Glare detected","-1895280620":"Make sure your card details are clear to read, with no blur or glare","-1464447919":"Make sure your permit details are clear to read, with no blur or glare","-1436160506":"Make sure details are clear to read, with no blur or glare","-759124288":"Close","-759118956":"Redo","-753375398":"Enlarge image","-1042933881":"Driver's license","-1503134764":"Face photo page","-1335343167":"Sorry, no mobile phone bills","-699045522":"Documents you can use to verify your identity","-543666102":"It must be an official photo ID","-903877217":"These are the documents most likely to show your current home address","-1356835948":"Choose document","-1364375936":"Select a %{country} document","-401586196":"or upload photo – no scans or photocopies","-3110517":"Take a photo with your phone","-2033894027":"Submit identity card (back)","-20684738":"Submit license (back)","-1359585500":"Submit license (front)","-106779602":"Submit residence permit (back)","-1287247476":"Submit residence permit (front)","-1954762444":"Restart the process on the latest version of Safari","-261174676":"Must be under 10MB.","-685885589":"An error occurred while loading the component","-502539866":"Your face is needed in the selfie","-1377968356":"Please try again","-1226547734":"Try using a JPG or PNG file","-849068301":"Loading...","-1730346712":"Loading","-1849371752":"Check that your number is correct","-309848900":"Copy","-1424436001":"Send link","-1093833557":"How to scan a QR code","-1408210605":"Point your phone’s camera at the QR code","-1773802163":"If it doesn’t work, download a QR code scanner from Google Play or the App Store","-109026565":"Scan QR code","-1644436882":"Get link via SMS","-1667839246":"Enter mobile number","-1533172567":"Enter your mobile number:","-1352094380":"Send this one-time link to your phone","-28974899":"Get your secure link","-359315319":"Continue","-826420669":"Make sure","-1279080293":"2. Your desktop window stays open","-102776692":"Continue with the verification","-89152891":"Take a photo of the back of your card","-1646367396":"Take a photo of the front of your card","-1350855047":"Take a photo of the front of your license","-2119367889":"Take a photo using the basic camera mode instead","-342915396":"Take a photo","-419040068":"Passport photo page","-1354983065":"Refresh","-1925063334":"Recover camera access to continue face verification","-54784207":"Camera access is denied","-1392699864":"Allow camera access","-269477401":"Provide the whole document page for best results","-864639753":"Upload back of card from your computer","-1309771027":"Upload front of license from your computer","-1722060225":"Take photo","-565732905":"Selfie","-1703181240":"Check that it is connected and functional. You can also continue verification on your phone","-2043114239":"Camera not working?","-2029238500":"It may be disconnected. Try using your phone instead.","-468928206":"Make sure your device's camera works","-466246199":"Camera not working","-698978129":"Remember to press stop when you're done. Redo video actions","-538456609":"Looks like you took too long","-781816433":"Photo of your face","-1471336265":"Make sure your selfie clearly shows your face","-1375068556":"Check selfie","-1914530170":"Face forward and make sure your eyes are clearly visible","-776541617":"We'll compare it with your document","-478752991":"Your link will expire in one hour","-1859729380":"Keep this window open while using your mobile","-1283761937":"Resend link","-629011256":"Don't refresh this page","-1005231905":"Once you've finished we'll take you to the next step","-542134805":"Upload photo","-1462975230":"Document example","-1472844935":"The photo should clearly show your document","-1120954663":"First name*","-1659980292":"First name","-962979523":"Your {{ field_name }} as in your identity document","-1416797980":"Please enter your {{ field_name }} as in your official identity documents.","-1466268810":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your <0>account settings.","-32386760":"Name","-766265812":"first name","-1857534296":"John","-1282749116":"last name","-1485480657":"Other details","-1784741577":"date of birth","-1702919018":"Second line of address (optional)","-1315410953":"State/Province","-2040322967":"Citizenship","-344715612":"Employment status*","-1543016582":"I hereby confirm that the tax information I provided is true and complete. I will also inform {{legal_entity_name}} about any changes to this information.","-946282997":"Additional information","-1315571766":"Place of birth","-789291456":"Tax residence*","-1692219415":"Tax residence","-1903720068":"The country in which you meet the criteria for paying taxes. Usually the country in which you physically reside.","-651516152":"Tax Identification Number","-1387062433":"Account opening reason","-222283483":"Account opening reason*","-583925597":"For verification purposes as required by regulation. It’s your responsibility to provide accurate and complete answers. You can update personal details at any time in your account settings.","-1113902570":"Details","-71696502":"Previous","-1541554430":"Next","-307865807":"Risk Tolerance Warning","-690100729":"Yes, I understand the risk.","-2010628430":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, you must confirm that you understand your capital is at risk.","-863770104":"Please note that by clicking ‘OK’, you may be exposing yourself to risks. You may not have the knowledge or experience to properly assess or mitigate these risks, which may be significant, including the risk of losing the entire sum you have invested.","-684271315":"OK","-1292808093":"Trading Experience","-153346659":"Upload your selfie.","-602131304":"Passport number","-1051213440":"Upload the front and back of your identity card.","-1600807543":"First, enter your identity card number and the expiry date.","-1139923664":"Next, upload the front and back of your identity card.","-783705755":"Upload the front of your identity card.","-566750665":"NIMC slip and proof of age","-1465944279":"NIMC slip number","-429612996":"Next, upload both of the following documents.","-376981174":"Upload your proof of age: birth certificate or age declaration document.","-612174191":"First line of address is required","-242734402":"Only {{max}} characters, please.","-378415317":"State is required","-1784470716":"State is not in a proper format","-1699820408":"Please enter a {{field_name}} under {{max_number}} characters.","-1575567374":"postal/ZIP code","-816263501":"Only letters, numbers, space and hyphen are allowed.","-755626951":"Complete your address details","-1024240099":"Address","-1534917661":"Select your preferred currency","-1027595143":"Less than $25,000","-40491332":"$25,000 - $50,000","-1139806939":"$50,001 - $100,000","-996132458":"Construction","-915003867":"Health","-1430012453":"Information & Communications Technology","-987824916":"Science & Engineering","-146630682":"Social & Cultural","-761306973":"Manufacturing","-1631552645":"Professionals","-474864470":"Personal Care, Sales and Service Workers","-1129355784":"Agricultural, Forestry and Fishery Workers","-1242914994":"Craft, Metal, Electrical and Electronics Workers","-1317824715":"Cleaners and Helpers","-1592729751":"Mining, Construction, Manufacturing and Transport Workers","-1030759620":"Government Officers","-2137323480":"Company Ownership","-1590574533":"Divorce Settlement","-1667683002":"Inheritance","-1237843731":"Investment Income","-777506574":"Sale of Property","-654781670":"Primary","-1717373258":"Secondary","-1156937070":"$500,001 - $1,000,000","-315534569":"Over $1,000,000","-2068544539":"Salaried Employee","-531314998":"Investments & Dividends","-1235114522":"Pension","-1298056749":"State Benefits","-449943381":"Savings & Inheritance","-477761028":"Voter ID","-1466346630":"CPF","-1161338910":"First name is required.","-1161818065":"Last name should be between 2 and 50 characters.","-1281693513":"Date of birth is required.","-26599672":"Citizenship is required","-912174487":"Phone is required.","-673765468":"Letters, numbers, spaces, periods, hyphens and forward slashes only.","-212167954":"Tax Identification Number is not properly formatted.","-1823540512":"Personal details","-1227878799":"Speculative","-1174064217":"Mr","-855506127":"Ms","-204765990":"Terms of use","-189310067":"Account closed","-849320995":"Assessments","-773766766":"Email and passwords","-1144318594":"Passkeys","-1466827732":"Self exclusion","-1498206510":"Account limits","-241588481":"Login history","-966136867":"Connected apps","-213009361":"Two-factor authentication","-526636259":"Error 404","-739367071":"Employed","-626752657":"0-1 year","-532014689":"1-2 years","-1001024004":"Over 3 years","-790513277":"6-10 transactions in the past 12 months","-580085300":"11-39 transactions in the past 12 months","-1458676679":"You should enter 2-50 characters.","-1116008222":"You should enter 9-35 numbers.","-1995979930":"First line of address is required.","-703454156":"Please enter a Postal/ZIP code under 20 characters.","-2113555886":"Only letters, numbers, space, and hyphen are allowed.","-1103497546":"Tax return","-700600899":"Business proof of address","-1073862586":"Memorandum","-1823328095":"Authorization letter","-397487797":"Enter your full card number","-1376950117":"That file format isn't supported. Please upload .pdf, .png, .jpg, or .jpeg files only.","-612752984":"These are default limits that we apply to your accounts.","-1411635770":"Learn more about account limits","-1340125291":"Done","-1101543580":"Limit","-858297154":"Represents the maximum amount of cash that you may hold in your account. If the maximum is reached, you will be asked to withdraw funds.","-976258774":"Not set","-1182362640":"Represents the maximum aggregate payouts on outstanding contracts in your portfolio. If the maximum is attained, you may not purchase additional contracts without first closing out existing positions.","-1781293089":"Maximum aggregate payouts on open positions","-1412690135":"*Any limits in your Self-exclusion settings will override these default limits.","-1598751496":"Represents the maximum volume of contracts that you may purchase in any given trading day.","-173346300":"Maximum daily turnover","-138380129":"Total withdrawal allowed","-1502578110":"Your account is fully authenticated and your withdrawal limits have been lifted.","-506122621":"Please take a moment to update your information now.","-1106259572":"Don't know your tax identification number? <1 />Click <0>here to learn more.","-252665911":"Place of birth{{required}}","-859814496":"Tax residence{{required}}","-237940902":"Tax Identification number{{required}}","-919191810":"Please fill in tax residence.","-270569590":"Intended use of account{{required}}","-2120290581":"Intended use of account is required.","-1662154767":"a recent utility bill (e.g. electricity, water, gas, landline, or internet), bank statement, or government-issued letter with your name and this address.","-594456225":"Second line of address","-1964954030":"Postal/ZIP Code","-516397235":"Be careful who you share this token with. Anyone with this token can perform the following actions on your account behalf","-989216986":"Add accounts","-617480265":"Delete token","-316749685":"Are you sure you want to delete this token?","-955038366":"Copy this token","-1668692965":"Hide this token","-1661284324":"Show this token","-1076138910":"Trade","-1666909852":"Payments","-488597603":"Trading information","-605778668":"Never","-1628008897":"Token","-1238499897":"Last Used","-1171226355":"Length of token name must be between {{MIN_TOKEN}} and {{MAX_TOKEN}} characters.","-1803339710":"Maximum {{MAX_TOKEN}} characters.","-408613988":"Select scopes based on the access you need.","-5605257":"This scope will allow third-party apps to withdraw to payment agents and make inter-account transfers for you.","-1373485333":"This scope will allow third-party apps to view your trading history.","-758221415":"This scope will allow third-party apps to open accounts for you, manage your settings and token usage, and more. ","-807767876":"Note:","-1117963487":"Name your token and click on 'Create' to generate your token.","-2005211699":"Create","-1652683689":"Please note that you can only have 1 fiat account.","-1146960797":"Fiat currencies","-1959484303":"Cryptocurrencies","-2087317410":"Oops, something went wrong.","-184202848":"Upload file","-370334393":"Click here to browse your files.","-863586176":"Drag and drop a file or click to browse your files.","-723198394":"File size should be 8MB or less","-1948369500":"File uploaded is not supported","-1040865880":"Drop files here..","-1100235269":"Industry of employment","-684388823":"Estimated net worth","-509054266":"Anticipated annual turnover","-1117345066":"Choose the document type","-1634507018":"Enter your {{document_name}}","-1237846864":"Verify again","-39187636":"{{index}}.","-337620257":"Switch to real account","-2120454054":"Add a real account","-38915613":"Unsaved changes","-2137450250":"You have unsaved changes. Are you sure you want to discard changes and leave this page?","-1067082004":"Leave Settings","-1982432743":"It appears that the address in your document doesn’t match the address\n in your Deriv profile. Please update your personal details now with the\n correct address.","-1451334536":"Continue trading","-251603364":"Your document for proof of address is expired. <0/>Please submit again.","-1425489838":"Proof of address verification not required","-1008641170":"Your account does not need address verification at this time. We will inform you if address verification is required in the future.","-60204971":"We could not verify your proof of address","-1944264183":"To continue trading, you must also submit a proof of identity.","-1088324715":"We’ll review your documents and notify you of its status within 1 - 3 working days.","-329713179":"Ok","-2145244263":"This field is required","-1500958859":"Verify","-839094775":"Back","-1813671961":"Your identity verification failed because:","-2097808873":"We were unable to verify your ID with the details you provided. ","-1652371224":"Your profile is updated","-504784172":"Your document has been submitted","-1391934478":"Your ID is verified. You will also need to submit proof of your address.","-118547687":"ID verification passed","-200989771":"Go to personal details","-1358357943":"Please check and update your postal code before submitting proof of identity.","-1401994581":"Your personal details are missing","-2004327866":"Please select a valid country of document issuance.","-1664159494":"Country","-1044962593":"Upload Document","-749870311":"Please contact us via <0>live chat.","-1084991359":"Proof of identity verification not required","-1981334109":"Your account does not need identity verification at this time. We will inform you if identity verification is required in the future.","-182918740":"Your proof of identity submission failed because:","-155705811":"A clear colour photo or scanned image","-246893488":"JPEG, JPG, PNG, PDF, or GIF","-1454880310":"Must be valid for at least 6 months","-1949501500":"First, enter your {{label}}.","-100534371":"Before uploading, please ensure that you’re facing forward in the selfie, your face is within the frame, and your eyes are clearly visible even if you’re wearing glasses.","-1529523673":"Confirm and upload","-705047643":"Sorry, an error occured. Please select another file.","-1664309884":"Tap here to upload","-1725454783":"Failed","-856213726":"You must also submit a proof of address.","-552371330":"We were unable to verify your income. <0 /> Please check the email we've sent you for further information.","-841187054":"Try Again","-978467455":"Limit reached","-361316523":"You have reached the maximum number of allowed attempts for submitting proof of income. <0 /> Please check the email we've sent you for further information.","-1785967427":"We'll review your documents and notify you of its status within 7 working days.","-987011273":"Your proof of ownership isn't required.","-808299796":"You are not required to submit proof of ownership at this time. We will inform you if proof of ownership is required in the future.","-179726573":"We’ve received your proof of ownership.","-813779897":"Proof of ownership verification passed.","-1389323399":"You should enter {{min_number}}-{{max_number}} characters.","-47815161":"Please include at least 1 special character such as ( _ @ ? ! / # ) in your password.","-1313806160":"Please request a new password and check your email for the new token.","-1598167506":"Success","-1077809489":"You have a new {{platform}} password to log in to your {{platform}} accounts on the web and mobile apps.","-1108813179":"You can use this password for all your Deriv MT5 accounts.","-2068479232":"{{platform}} password","-507633532":"Your password must contain between 8-16 characters that include uppercase and lowercase letters, and at least one number and special character such as ( _ @ ? ! / # ).","-1597186502":"Reset {{platform}} password","-638756912":"Black out digits 7 to 12 of the card number that’s shown on the front of your debit/credit card.⁤","-996691262":"We’ve introduced these limits to encourage <0>responsible trading. They are optional, and you can adjust them anytime.","-2079276011":"These limits apply to your multipliers trades only. For example, <0>maximum total loss refers to the losses on your multipliers trades.","-2116570030":"If you want to adjust your limits, <0>contact us via live chat. We’ll make the adjustments within 24 hours.","-1389915983":"You decide how much and how long to trade. You can take a break from trading whenever you want. This break can be from 6 weeks to 5 years. When it’s over, you can extend it or log in to resume trading. If you don’t want to set a specific limit, leave the field empty.","-1031814119":"About trading limits and self-exclusion","-183468698":"Trading limits and self-exclusion","-1088698009":"These self-exclusion limits help you control the amount of money and time you spend trading on {{platform_name_trader}}, {{platform_name_dbot}}, {{platform_name_smarttrader}} and {{platform_name_bbot}} on Deriv. The limits you set here will help you exercise <0>responsible trading.","-933963283":"No, review my limits","-1759860126":"Yes, log me out immediately","-572347855":"{{value}} mins","-313333548":"You’ll be able to adjust these limits at any time. You can reduce your limits from the <0>self-exclusion page. To increase or remove your limits, please contact our <1>Customer Support team.","-1265833982":"Accept","-2123139671":"Your stake and loss limits","-1250802290":"24 hours","-2070080356":"Max. total stake","-1545823544":"7 days","-180147209":"You will be automatically logged out from each session after this time limit.","-374553538":"Your account will be excluded from the website until this date (at least 6 months, up to 5 years).","-2105708790":"Your maximum account balance and open positions","-1960600163":"Once your account balance reaches this amount, you will not be able to deposit funds into your account.","-1073845224":"No. of open position(s)","-288196326":"Your maximum deposit limit","-568749373":"Max. deposit limit","-1617352279":"The email is in your spam folder (Sometimes things get lost there).","-547557964":"We can’t deliver the email to this address (Usually because of firewalls or filtering).","-142444667":"Please click on the link in the email to change your Deriv MT5 password.","-742748008":"Check your email and click the link in the email to proceed.","-84068414":"Still didn't get the email? Please contact us via <0>live chat.","-474419287":"FATCA declaration","-1101737402":"Please select*","-975118358":"Your account will be opened with {{legal_entity_name}}, regulated by the Malta Financial Services Authority (MFSA), and will be subject to the laws of Malta.","-2073934245":"The financial trading services offered on this site are only suitable for customers who accept the possibility of losing all the money they invest and who understand and have experience of the risk involved in the purchase of financial contracts. Transactions in financial contracts carry a high degree of risk. If the contracts you purchased expire as worthless, you will lose all your investment, which includes the contract premium.","-1035494182":"You acknowledge that, subject to the Company's discretion, applicable regulations, and internal checks being fulfilled, we will open an account for you and allow you to deposit funds during the client acceptance procedure. However, until the verification of your account is completed, you will not be able to trade, withdraw or make further deposits. If you do not provide relevant documents within 30-days, we will refund the deposited amount through the same payment method you used to deposit.","-1125193491":"Add account","-2068229627":"I am not a PEP, and I have not been a PEP in the last 12 months.","-1209644365":"I hereby confirm that my request for opening an account with Deriv Investments (Europe) Ltd is made on my own initiative.","-740157281":"Trading Experience Assessment","-1720468017":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you.","-1685104463":"* This is required","-186841084":"Change your login email","-907403572":"To change your email address, you'll first need to unlink your email address from your {{identifier_title}} account.","-1850792730":"Unlink from {{identifier_title}}","-428335668":"You will need to set a password to complete the process.","-1232613003":"<0>Verification failed. <1>Why?","-805775852":"<0>Needs verification.<1>Verify now","-1983989074":"<0>No new positions","-1196936955":"Upload a screenshot of your name and email address from the personal information section.","-1286823855":"Upload your mobile bill statement showing your name and phone number.","-1309548471":"Upload your bank statement showing your name and account details.","-1410396115":"Upload a photo showing your name and the first six and last four digits of your card number. If the card does not display your name, upload the bank statement showing your name and card number in the transaction history.","-3805155":"Upload a screenshot of either of the following to process the transaction:","-1523487566":"- your account profile section on the website","-613062596":"- the Account Information page on the app","-1718304498":"User ID","-609424336":"Upload a screenshot of your name, account number, and email address from the personal details section of the app or profile section of your account on the website.","-1954436643":"Upload a screenshot of your username on the General Information page at <0>https://onlinenaira.com/members/index.htm","-79853954":"Upload a screenshot of your account number and phone number on the Bank Account/Mobile wallet page at <0>https://onlinenaira.com/members/bank.htm","-1192882870":"Upload a screenshot of your name and account number from the personal details section.","-818898181":"Name in document doesn’t match your Deriv profile.","-310316375":"Address in document doesn’t match address you entered above.","-485368404":"Document issued more than 6-months ago.","-91160765":"Document issued more than 12-months ago.","-367016488":"Blurry document. All information must be clear and visible.","-1957076143":"Cropped document. All information must be clear and visible.","-1576856758":"An account with these details already exists. Please make sure the details you entered are correct as only one real account is allowed per client. If this is a mistake, contact us via <0>live chat.","-1792723131":"To avoid delays, enter your <0>date of birth exactly as it appears on your {{document_name}}.","-1629894615":"I have other financial priorities.","-844051272":"I want to stop myself from trading.","-1113965495":"I’m no longer interested in trading.","-1224285232":"Customer service was unsatisfactory.","-1231402474":"Connected apps are authorised applications associated with your account through your API token or the OAuth authorisation process. They can act on your behalf within the limitations that you have set.","-506083843":"As a user, you are responsible for sharing access and for actions that occur in your account (even if they were initiated by a third-party app on your behalf).","-831752682":"Please note that only third-party apps will be displayed on this page. Official Deriv apps will not appear here.","-915844096":"US citizenship or lawful permanent resident (green card) status","-208714573":"An “in care of” address or a “hold mail” address that is the sole address with respect to the client","-1082633433":"A power of attorney or signatory authority granted to a person with a US address.","-231863107":"No","-1858215754":"The document must be up-to-date and signed by the issuance authority.","-718917527":"Invalid or incomplete documents shall be rejected.","-1526404112":"Utility bill: electricity, water, gas, or landline phone bill.","-537552700":"Home rental agreement: valid and current agreement.","-506510414":"Date and time","-1708927037":"IP address","-870902742":"How much knowledge and experience do you have in relation to online trading?","-1929477717":"I have an academic degree, professional certification, and/or work experience related to financial services.","-1540148863":"I have attended seminars, training, and/or workshops related to trading.","-922751756":"Less than a year","-542986255":"None","-1337206552":"In your understanding, CFD trading allows you to","-456863190":"Place a position on the price movement of an asset where the outcome is a fixed return or nothing at all.","-1314683258":"Make a long-term investment for a guaranteed profit.","-1546090184":"How does leverage affect CFD trading?","-1636427115":"Leverage helps to mitigate risk.","-800221491":"Leverage guarantees profits.","-811839563":"Leverage lets you open large positions for a fraction of trade value, which may result in increased profit or loss.","-1185193552":"Close your trade automatically when the loss is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1046354":"Close your trade automatically when the profit is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1842858448":"Make a guaranteed profit on your trade.","-860053164":"When trading multipliers.","-1250327770":"When buying shares of a company.","-1222388581":"All of the above.","-1592318047":"See example","-1694758788":"Enter your document number","-1176889260":"Please select a document type.","-1265050949":"identity document","-2139303636":"You may have followed a broken link, or the page has moved to a new address.","-1448368765":"Error code: {{error_code}} page not found","-254792921":"You can only make deposits at the moment. To enable withdrawals, please complete your financial assessment.","-1437017790":"Financial information","-70342544":"We’re legally obliged to ask for your financial information.","-39038029":"Trading experience","-601903492":"Forex trading experience","-1012699451":"CFD trading experience","-1894668798":"Other trading instruments experience","-1026468600":"Other trading instruments frequency","-1743024217":"Select Language","-136976514":"Country of residence*","-1124948631":"Professional Client","-259515058":"By default, all {{brand_website_name}} clients are retail clients but anyone can request to be treated as a professional client.","-1463348492":"I would like to be treated as a professional client.","-1958764604":"Email preference","-2068064150":"Get updates about Deriv products, services and events.","-1558679249":"Please make sure your information is correct or it may affect your trading experience.","-1822545742":"Ether Classic","-1334641066":"Litecoin","-1214036543":"US Dollar","-1782590355":"No currency has been set for this account","-2116332353":"Please close your positions in the following Deriv account(s):","-2048005267":"{{number_of_positions}} position(s)","-2125635811":"Please withdraw your funds from the following {{platform_name}} account(s):","-577445413":"Please close your positions in the following {{platform_name}} account(s):","-1219849101":"Please select at least one reason","-9323953":"Remaining characters: {{remaining_characters}}","-484540402":"An error occurred","-1911549768":"Inaccessible MT5 account(s)","-1869355019":"Action required","-1030102424":"You can't trade on Deriv.","-448385353":"You can't make transactions.","-1058447223":"Before closing your account:","-912764166":"Withdraw your funds.","-60139953":"We shall delete your personal information as soon as our legal obligations are met, as mentioned in the section on Data Retention in our <0>Security and privacy policy","-2061895474":"Closing your account will automatically log you out. We shall delete your personal information as soon as our legal obligations are met.","-203298452":"Close account","-937707753":"Go Back","-771109503":"Use our powerful, flexible, and free API to build a custom trading platform for yourself or for your business.","-1815044949":"You currently don't have any third-party authorised apps associated with your account.","-1699100421":"What are connected apps?","-536187647":"Confirm revoke access?","-1357606534":"Permission","-570222048":"Revoke access","-1468863262":"{{action}}","-727433417":"{{status}}","-1814836151":"What are passkeys?","-1275937234":"Unlock your account like your phone - with biometrics, face scan or PIN.","-587750445":"Extra security layer.","-642452561":"Shields against unauthorised access and phishing.","-1654043401":"You can create one passkey per device.","-1411242065":"Where are passkeys saved?","-258752017":"What happens if my Deriv account email is changed?","-634268263":"Sign in to Deriv with your existing passkey.","-1405679241":"Stored on: ","-1700177761":"Create passkey","-1729774899":"Sign in to your Google or iCloud account.","-1708254107":"Enable Bluetooth.","-613368504":"Tips:","-1897886029":"Before using passkey:","-592543249":"Add more passkeys","-585339315":"Your passkey is successfully removed. To avoid sign-in prompts, also remove the passkey from your Google password manager. ","-1728732301":"Effortless login with passkeys","-684009726":"Edit passkey","-1140319320":"Your account is now secured with a passkey.<0/>Manage your passkey through your<0/>Deriv account settings.","-1036903080":"We’re experiencing a temporary issue in processing your request. Please try again later.","-331060101":"Passkey setup failed","-713875531":"Enable bluetooth.","-80717068":"Apps you have linked to your <0>Deriv password:","-340060402":"Your Deriv X password is for logging in to your Deriv X accounts on the web and mobile apps.","-619126443":"Use the <0>Deriv password to log in to {{brand_website_name}} and {{platform_name_trader}}.","-623760979":"Use the <0>Deriv password to log in to {{brand_website_name}}, {{platform_name_trader}} and {{platform_name_go}}.","-459147994":"Use the <0>Deriv password to log in to {{brand_website_name}}, {{platform_name_go}}, {{platform_name_trader}}, {{platform_name_smarttrader}}, {{platform_name_dbot}} and {{platform_name_ctrader}}.","-1884902844":"Max. deposit limit per day","-545085253":"Max. deposit limit over 7 days","-1031006762":"Max. deposit limit over 30 days","-1116871438":"Max. total loss over 30 days","-2134714205":"Time limit per session","-1884271702":"Time out until","-1265825026":"Timeout time must be greater than current time.","-1332882202":"Timeout time cannot be more than 6 weeks.","-1635977118":"Exclude time cannot be less than 6 months.","-2131200819":"Disable","-200487676":"Enable","-1840392236":"That's not the right code. Please try again.","-2067796458":"Authentication code","-790444493":"Protect your account with 2FA. Each time you log in to your account, you will need to enter your password and an authentication code generated by a 2FA app on your smartphone.","-752939584":"How to set up 2FA for your Deriv account","-90649785":"Click here to copy key","-206376148":"Key copied!","-368010540":"You have enabled 2FA for your Deriv account.","-403552929":"To disable 2FA, please enter the six-digit authentication code generated by your 2FA app below:","-890084320":"Save and submit","-30772747":"Your personal details have been saved successfully.","-2021135479":"This field is required.","-1002044401":"Select your document*","-1272489896":"Please complete this field.","-721346138":"The options and multipliers trading platform.","-1874136267":"The ultimate bot trading platform.","-415943890":"The legacy options trading platform.","-673722343":"The legacy bot trading platform.","-897826065":"The multipliers trading platform.","-2115275974":"CFDs","-1585707873":"Financial Commission","-199154602":"Vanuatu Financial Services Commission","-191165775":"Malta Financial Services Authority","-194969520":"Counterparty company","-1089385344":"Deriv (SVG) LLC","-2019617323":"Deriv (BVI) Ltd","-112814932":"Deriv (FX) Ltd","-1131400885":"Deriv Investments (Europe) Limited","-1471207907":"All assets","-781132577":"Leverage","-1591882610":"Synthetics","-543177967":"Stock indices","-362324454":"Commodities","-1071336803":"Platform","-1879666853":"Deriv MT5","-820028470":"Options & Multipliers","-1210359945":"Transfer funds to your accounts","-1926387364":"We’ve sent your e-book to your email. You can also download it here.","-1057002564":"<0>We’re unable to upgrade you to Wallets at this time and are working to get this fixed as soon as we can. Please <1>try again<0>.","-1424352390":"<0>Wallets<1> — A smarter way to manage your funds","-280236366":"Enable now","-145462920":"Deriv cTrader","-982095728":"Get","-1790089996":"NEW!","-2134770229":"Total assets in your Deriv Apps and Deriv MT5 CFDs demo account.","-1277942366":"Total assets","-1255879419":"Trader's Hub","-493788773":"Non-EU","-673837884":"EU","-230566990":"The following documents you submitted did not pass our checks:","-846812148":"Proof of address.","-1146027991":"If you’d like to get the {{from_account}} account, resubmit these documents.","-710685402":"No new positions","-1445744852":"You can no longer open new positions with your {{from_account}} account. Please use your {{to_account}} account to open new positions.","-1699909965":"or ","-2127865736":"Your {{from_account}} account will be archived after 30 days of inactivity. You can still access your trade history until the account is archived.","-417529381":"Your current trading account(s)","-1543281897":"Instant transfers between Wallets and trading accounts","-1415400918":"Multiple currency support","-1712363879":"Why Wallets","-348452343":"Your open trading positions will not be affected while we are setting up your wallets.","-2055865877":"Non-EU regulation","-643108528":"Non-EU and EU regulation","-1002556560":"We’re unable to complete with the Wallet upgrade. Please try again later or contact us via live chat.","-1186807402":"Transfer","-655191265":"Buy or sell at a specific time for a specific price. <0>Learn more","-744999940":"Deriv account","-2146691203":"Choice of regulation","-249184528":"You can create real accounts under EU or non-EU regulation. Click the <0><0/> icon to learn more about these accounts.","-1505234170":"Trader's Hub tour","-1265635180":"The products offered on our website are complex derivative products that carry a significant risk of potential loss. CFDs are complex instruments with a high risk of losing money rapidly due to leverage. 67.28% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how these products work and whether you can afford to take the high risk of losing your money.","-1870909526":"Our server cannot retrieve an address.","-582721696":"The current allowed withdraw amount is {{format_min_withdraw_amount}} to {{format_max_withdraw_amount}} {{currency}}","-1975494965":"Cashier","-42592103":"Deposit cryptocurrencies","-60779216":"Withdrawals are temporarily unavailable due to system maintenance. You can make your withdrawals when the maintenance is complete.","-520142572":"Cashier is currently down for maintenance","-1552080215":"Please check back in a few minutes.<0>Thank you for your patience.","-215186732":"You’ve not set your country of residence. To access Cashier, please update your country of residence in the Personal details section in your account settings.","-1392897508":"The identification documents you submitted have expired. Please submit valid identity documents to unlock Cashier. ","-954082208":"Your cashier is currently locked. Please contact us via <0>live chat to find out how to unlock it.","-929148387":"Please set your account currency to enable deposits and withdrawals.","-2027907316":"You can make a withdrawal once the verification of your account is complete.","-541392118":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and access your cashier.","-599998434":"You cannot make a fund transfer as your documents are still under review. We will notify you by email within 3 days once your verification is approved.","-247122507":"Your cashier is locked. Please complete the <0>financial assessment to unlock it.","-1443721737":"Your cashier is locked. See <0>how we protect your funds before you proceed.","-901712457":"Your access to Cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to <0>Self-exclusion and set your 30-day turnover limit.","-166472881":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits and withdrawals.","-666905139":"Deposits are locked","-378858101":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits.","-1318742415":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and request for withdrawals.","-1923809087":"Unfortunately, you can only make deposits. Please contact us via <0>live chat to enable withdrawals.","-172277021":"Cashier is locked for withdrawals","-1624999813":"It seems that you've no commissions to withdraw at the moment. You can make withdrawals once you receive your commissions.","-1077304626":"Amount ({{currency}})","-1559994981":"Approximate value","-1272778997":"We've sent you an email.","-89973258":"Resend email in {{seconds}}s","-1332236294":"Please verify your identity","-1675848843":"Error","-283017497":"Retry","-1294455996":"Deriv P2P unavailable","-1838982691":"UNKNOWN","-532693866":"Something went wrong. Please refresh the page and try again.","-1196049878":"First line of home address","-1326406485":"Postal Code/ZIP","-939625805":"Telephone","-442575534":"Email verification failed","-1459042184":"Update your personal details","-1603543465":"We can't validate your personal details because there is some information missing.","-614516651":"Need help? <0>Contact us.","-203002433":"Deposit now","-720315013":"You have no funds in your {{currency}} account","-2052373215":"Please make a deposit to use this feature.","-379487596":"{{selected_percentage}}% of available balance ({{format_amount}} {{currency__display_code}})","-1957498244":"more","-1059419768":"Notes","-285921910":"Learn more about <0>payment methods.","-190084602":"Transaction","-1995606668":"Amount","-2024290965":"Confirmations","-811190405":"Time","-728508487":"{{currency}} recent transactions","-1984478597":"The details of this transaction is available on CoinsPaid.","-316545835":"Please ensure <0>all details are <0>correct before making your transfer.","-949073402":"I confirm that I have verified the client’s transfer information.","-1752211105":"Transfer now","-1787304306":"Deriv P2P","-174976899":"P2P verification","-1705887186":"Your deposit is successful.","-142361708":"In process","-1582681840":"We’ve received your request and are waiting for more blockchain confirmations.","-1626218538":"You’ve cancelled your withdrawal request.","-1062841150":"Your withdrawal is unsuccessful due to an error on the blockchain. Please <0>contact us via live chat for more info.","-630780094":"We’re awaiting confirmation from the blockchain.","-1525882769":"Your withdrawal is unsuccessful. We've sent you an email with more information.","-298601922":"Your withdrawal is successful.","-922143389":"Deriv P2P is currently unavailable in this currency.","-1310327711":"Deriv P2P is currently unavailable in your country.","-1463156905":"Learn more about payment methods","-972283623":"Deriv P2P-V2","-685073712":"This is your <0>{{currency}} account {{loginid}}.","-1547606079":"We accept the following cryptocurrencies:","-1517325716":"Deposit via the following payment methods:","-639677539":"Buy cryptocurrencies","-1560098002":"Buy cryptocurrencies via fiat onramp","-541870313":"Deposit via payment agents","-197251450":"Don't want to trade in {{currency_code}}? You can open another cryptocurrency account.","-515809216":"Send only {{currency_name}} ({{currency_code}}) to this address.","-748636591":"A minimum deposit value of <0>{{minimum_deposit}} {{currency}} is required. Otherwise, a fee is applied.","-1589407981":"To avoid loss of funds:","-1042704302":"Make sure to copy your Deriv account address correctly into your crypto wallet.","-2108344100":"Looking for a way to buy cryptocurrencies? <0>Try Fiat onramp.","-598073640":"About Tether (Ethereum)","-275902914":"Tether on Ethereum (eUSDT)","-1188009792":"Tether on Omni Layer (USDT)","-1239329687":"Tether was originally created to use the bitcoin network as its transport protocol ‒ specifically, the Omni Layer ‒ to allow transactions of tokenised traditional currency.","-314177745":"Unfortunately, we couldn't get the address since our server was down. Please click Refresh to reload the address or try again later.","-91824739":"Deposit {{currency}}","-523804269":"{{amount}} {{currency}} on {{date}}","-494847428":"Address: <0>{{value}}","-1117977576":"Confirmations: <0>{{value}}","-1935946851":"View more","-1744490898":"Unfortunately, we cannot retrieve the information at this time. ","-338505133":"We do not charge a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts, between your Deriv fiat and {{platform_name_ctrader}} accounts, and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-2056016338":"You’ll not be charged a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts.","-599632330":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-1196994774":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency accounts.","-993556039":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts and between your Deriv cryptocurrency and {{platform_name_dxtrade}} accounts.","-1382702462":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts.","-1339063554":"You may transfer between your Deriv fiat, cryptocurrency, {{platform_name_mt5}}, {{platform_name_ctrader}}, and {{platform_name_dxtrade}} accounts.","-1151983985":"Transfer limits may vary depending on the exchange rates.","-1747571263":"Please bear in mind that some transfers may not be possible.","-757062699":"Transfers may be unavailable due to high volatility or technical issues and when the exchange markets are closed.","-855721928":"Needs verification","-908402700":"Verification failed","-1866405488":"Deriv cTrader accounts","-1344870129":"Deriv accounts","-1109729546":"You will be able to transfer funds between MT5 accounts and other accounts once your address is verified.","-1593609508":"Transfer between your accounts in Deriv","-1155970854":"You have reached the maximum daily transfers. Please try again tomorrow.","-464965808":"Transfer limits: <0 /> - <1 />","-553249337":"Transfers are locked","-1638172550":"To enable this feature you must complete the following:","-1949883551":"You only have one account","-1149845849":"Back to Trader's Hub","-1232852916":"We’re switching over to your {{currency}} account to view the transaction.","-1632668764":"I accept","-544232635":"Please go to the Deposit page to generate an address. Then come back here to continue with your transaction.","-1161069724":"Please copy the crypto address you see below. You'll need it to deposit your cryptocurrency.","-1388977563":"Copied!","-1962894999":"This address can only be used ONCE. Please copy a new one for your next transaction.","-451858550":"By clicking 'Continue' you will be redirected to {{ service }}, a third-party payment service provider. Please note that {{ website_name }} is not responsible for the content or services provided by {{ service }}. If you encounter any issues related to {{ service }} services, you must contact {{ service }} directly.","-2005265642":"Fiat onramp is a cashier service that allows you to convert fiat currencies to crypto to top up your Deriv crypto accounts. Listed here are third-party crypto exchanges. You’ll need to create an account with them to use their services.","-1593063457":"Select payment channel","-1309258714":"From account number","-1247676678":"To account number","-816476007":"Account holder name","-344403983":"Description","-922432739":"Please enter a valid client login ID.","-1024241603":"Insufficient balance.","-1979554765":"Please enter a valid description.","-1254233806":"You've transferred","-953082600":"Some payment methods may not be listed here but payment agents may still offer them. If you can’t find your favourite method, contact the payment agents directly to check further.","-1491457729":"All payment methods","-142563298":"Contact your preferred payment agent for payment instructions and make your deposit.","-352134412":"Transfer limit","-1023961762":"Commission on deposits","-552873274":"Commission on withdrawal","-880645086":"Withdrawal amount","-118683067":"Withdrawal limits: <0 />-<1 />","-1125090734":"Important notice to receive your funds","-1924707324":"View transaction","-1474202916":"Make a new withdrawal","-511423158":"Enter the payment agent account number","-2059278156":"Note: {{website_name}} does not charge any transfer fees.","-1201279468":"To withdraw your funds, please choose the same payment method you used to make your deposits.","-2004264970":"Your wallet address should have 25 to 64 characters.","-1707299138":"Your {{currency_symbol}} wallet address","-38063175":"{{account_text}} wallet","-705272444":"Upload a proof of identity to verify your identity","-130833284":"Please note that your maximum and minimum withdrawal limits aren’t fixed. They change due to the high volatility of cryptocurrency.","-1531269493":"We'll send you an email once your transaction has been processed.","-1373954791":"Should be a valid number","-1278608332":"Please enter a number between 0 and {{api_max_losses}}.","-287597204":"Enter limits to stop your bot from trading when any of these conditions are met.","-1445989611":"Limits your potential losses for the day across all Deriv platforms.","-152878438":"Maximum number of trades your bot will execute for this run.","-1490942825":"Apply and run","-2067572496":"You’ve just stopped the bot. Any open contracts can be viewed on the Reports page.","-992003496":"Changes you make will not affect your running bot.","-1778025545":"You’ve successfully imported a bot.","-1572746946":"Asian Up","-686840306":"Asian Down","-2141198770":"Higher","-816098265":"Lower","-1646655742":"Spread Up","-668987427":"Spread Down","-912577498":"Matches","-1862940531":"Differs","-808904691":"Odd","-556230215":"Ends Outside","-1268220904":"Ends Between","-703542574":"Up","-1127399675":"Down","-768425113":"No Touch","-1163058241":"Stays Between","-1354485738":"Reset Call","-376148198":"Only Ups","-1337379177":"High Tick","-328036042":"Please enter a stop loss amount that's higher than the current potential loss.","-2127699317":"Invalid stop loss. Stop loss cannot be more than stake.","-179005984":"Save","-610059687":"Exploring the D’Alembert strategy in Deriv Bot","-1226666341":"The D'Alembert strategy involves increasing your stake after a losing trade and reducing it after a successful trade by a predetermined number of units.","-312844882":"Initial stake: The amount that you are willing to place as a stake to enter a trade. This is the starting point for any changes in stake depending on the dynamic of the strategy being used.","-1173302981":"1. Start with the initial stake. In this example, we’ll use 1 USD.","-1540106116":"Profit and loss thresholds","-894905768":"With Deriv Bot, traders can set the profit and loss thresholds to secure potential profits and limit potential losses. This means that the trading bot will automatically stop when either the profit or loss thresholds are reached. It's a form of risk management that can potentially enhance returns. For example, if a trader sets the profit threshold at 100 USD and the strategy exceeds 100 USD of profit from all trades, then the bot will stop running.","-1946134465":"Where:","-248283982":"B is the loss threshold.","-1148521416":"f is the unit increment.","-211800490":"D’Alembert formula 2","-1772692202":"This formula helps you plan your trades by considering the amount of money you have and your comfort level with risk. It involves determining your loss threshold and the initial stake you want to trade with. Then, you use this formula to calculate the number of rounds you can trade. This process provides insight into stake sizing and expectations.","-2107238266":"The D'Alembert system offers more balanced trading through controlled stake progression. With prudent risk management like stake limits, it can be effectively automated in Deriv Bot. However, traders should thoroughly assess their risk appetite, test strategies on a demo account to align with their trading style before trading with real money. This allows optimising the approach and striking a balance between potential gains and losses whilst managing risk.","-500873566":"Disclaimer:","-344769349":"Please be aware that while we may use rounded figures for illustration, a stake of a specific amount does not guarantee an exact amount in successful trades. For example, a 1 USD stake does not necessarily equate to a 1 USD profit in successful trades.","-818800551":"Exploring the Martingale strategy in Deriv Bot","-533490374":"These are the trade parameters used in Deriv Bot with Martingale strategy.","-1507161059":"Multiplier: The multiplier used to increase your stake if you're losing a trade. The value must be greater than 1.","-1333404686":"An example of Martingale strategy","-1755877136":"3. If the first trade ends in a loss, Deriv Bot will automatically double your stake for the next trade to 2 USD. Deriv Bot will continue to double the stake after every losing trade.","-1297651002":"If you're about to start trading and haven't established a Maximum Stake as part of your risk management strategy, you can determine how long your funds will last by employing the Martingale strategy. Simply use this formula.","-46865201":"Martingale formula 1","-116397598":"m is the Martingale multiplier.","-658161609":"Number of rounds, R ≈ 9.965","-288082521":"This means that after 10 rounds of consecutive losses, this trader will lose 1023 USD which exceeds the loss threshold of 1000 USD, stopping the bot.","-770387160":"The Martingale strategy in trading may offer substantial gains but also comes with significant risks. With your selected strategy, Deriv Bot provides automated trading with risk management measures like setting initial stake, stake size, maximum stake, profit threshold and loss threshold. It's crucial for traders to assess their risk tolerance, practice in a demo account, and understand the strategy before trading with real money.","-1901073152":"These are the trade parameters used for Oscar’s Grind strategy in Deriv Bot.","-1575153036":"An example of Oscar’s Grind strategy","-732418614":"The table above demonstrates this principle by showing that when a successful trade occurs and meets the target of one unit of potential profit which is 1 USD in this example, the session ends. If trading continues, a new session will begin.","-106266344":"Principle 3: The stake adjusts to the gap size between current loss and the target profit for the session","-492908094":"In round 7, the stake is adjusted downwards from 2 USD to 1 USD, to meet the target profit of 1 USD.","-90079299":"With Deriv Bot, traders can set the profit and loss thresholds to secure potential profits and limit potential losses. This means that the trading bot will automatically stop when either the profit or loss threshold is reached. This is a form of risk management that can potentially boost successful trades whilst limiting the impact of loss. For example, if a trader sets the profit threshold at 100 USD and the strategy exceeds 100 USD of profit from all trades, then the bot will stop running.","-1549673884":"The Oscar's Grind strategy provides a disciplined approach for incremental gains through systematic stake progression. When integrated into Deriv Bot with proper risk management like profit or loss thresholds, it offers traders a potentially powerful automated trading technique. However, traders should first thoroughly assess their risk tolerance and first try trading on a demo account in order to familiarise with the strategy before trading with real funds.","-655650222":"Exploring the Reverse D’Alembert strategy in Deriv Bot","-1864807973":"The Reverse D'Alembert strategy involves increasing your stake after a successful trade and reducing it after a losing trade by a predetermined number of units.","-809681645":"These are the trade parameters used in Deriv Bot with Reverse D’Alembert strategy.","-1239374257":"An example of Reverse D’Alembert strategy","-309821442":"Please be aware that while we may use rounded figures for illustration, a stake of a specific amount does not guarantee an exact amount in successful trades. For example, a 1 USD stake does not necessarily equate to a 1 USD profit in successful trades.","-1576691912":"This article explores the Reverse Martingale strategy integrated into Deriv Bot, a versatile trading bot designed to trade assets such as forex, commodities, and derived indices. We will delve into the strategy's core parameters, its application, and provide essential takeaways for traders looking to use the bot effectively.","-1934849823":"These are the trade parameters used in Deriv Bot with Reverse Martingale strategy.","-1021919630":"Multiplier: The multiplier used to increase your stake if your trade is successful. The value must be greater than 1.","-760516362":"3. If the first trade is a successful trade, Deriv Bot will automatically double your stake for the next trade to 2 USD. Deriv Bot will continue to double the stake after every successful trade.","-1410950365":"Exploring the 1-3-2-6 strategy in Deriv Bot","-1175255072":"These are the trade parameters used in Deriv Bot with 1-3-2-6 strategy.","-183884527":"An example of 1-3-2-6 strategy","-275617819":"4. However, if any trade results in a loss, your stake will reset back to the initial stake of 1 USD for the next trade. The third trade results in a loss hence the stake resets to the initial stake of 1 USD for the next trade.","-719846465":"5. Upon reaching the initial stake, if the next trade still results in a loss, your stake will remain at the initial stake of 1 USD. This strategy will minimally trade at the initial stake. Refer to the fourth and fifth trade.","-1452746011":"The 1-3-2-6 strategy in trading may offer substantial gains but also comes with significant risks. Each stake is independent, and the strategy does not increase your chances of successful trades in the long run. If you encounter a series of losses, the strategy can lead to significant losses. Therefore, it is crucial for traders to assess their risk tolerance, practice in a demo account, utilise profit and loss thresholds, and fully comprehend the strategy before engaging in real-money trading.","-1016171176":"Asset","-138833194":"The underlying market your bot will trade with this strategy.","-621128676":"Trade type","-399349239":"Your bot will use this trade type for every run","-410856998":"The bot will stop trading if your total profit exceeds this amount.","-447853970":"Loss threshold","-33106112":"The size used to multiply the stake after a successful trade for the next trade.","-1503301801":"The value must be equal or greater than {{ min }}","-1596504046":"Number of unit(s) to be added to the next trade after a successful trade. One unit is equivalent to the amount of initial stake.","-1521098535":"Max stake","-1448426542":"The stake for your next trade will reset to the initial stake if it exceeds this value.","-993953307":"Your prediction of the last digit of the asset price.","-1305281529":"D’Alembert","-1842451303":"Welcome to Deriv Bot!","-1391310674":"Check out these guides and FAQs to learn more about building your bot:","-2066779239":"FAQs","-280324365":"What is Deriv Bot?","-155173714":"Let’s build a bot!","-1919212468":"3. You can also search for the blocks you want using the search bar above the categories.","-1520558271":"For more info, check out this blog post on the basics of building a trading bot.","-980360663":"3. Choose the block you want and drag it to the workspace.","-1493168314":"What is a quick strategy?","-1680391945":"Using a quick strategy","-1177914473":"How do I save my strategy?","-271986909":"In Bot Builder, hit Save on the toolbar at the top to download your bot. Give your bot a name, and choose to download your bot to your device or Google Drive. Your bot will be downloaded as an XML file.","-1149045595":"1. After hitting Import, select Local and click Continue.","-288041546":"2. Select your XML file and hit Open.","-2127548288":"3. Your bot will be loaded accordingly.","-1311297611":"1. After hitting Import, select Google Drive and click Continue.","-1549564044":"How do I reset the workspace?","-1127331928":"In Bot Builder, hit Reset on the toolbar at the top. This will clear the workspace. Please note that any unsaved changes will be lost.","-1720444288":"How do I control my losses with Deriv Bot?","-1142295124":"There are several ways to control your losses with Deriv Bot. Here’s a simple example of how you can implement loss control in your strategy:","-2129119462":"1. Create the following variables and place them under Run once at start:","-1918487001":"Example:","-468926787":"This is how your trade parameters, variables, and trade options should look like:","-1565344891":"Can I run Deriv Bot on multiple tabs in my web browser?","-90192474":"Yes, you can. However, there are limits on your account, such as maximum number of open positions and maximum aggregate payouts on open positions. So, just keep these limits in mind when opening multiple positions. You can find more info about these limits at Settings > Account limits.","-213872712":"No, we don't offer cryptocurrencies on Deriv Bot.","-2147346223":"In which countries is Deriv Bot available?","-352345777":"What are the most popular strategies for automated trading?","-552392096":"Three of the most commonly used strategies in automated trading are Martingale, D'Alembert, and Oscar's Grind — you can find them all ready-made and waiting for you in Deriv Bot.","-1630262763":"About Martingale","-413928457":"About Oscar's Grind","-1497015866":"About Reverse D’Alembert","-437005403":"About 1-3-2-6","-590765322":"Unfortunately, this trading platform is not available for EU Deriv account. Please switch to a non-EU account to continue trading.","-2110207996":"Deriv Bot is unavailable for this account","-971295844":"Switch to another account","-1194079833":"Deriv Bot is not available for EU clients","-746652890":"Notifications","-824109891":"System","-507620484":"Unsaved","-764102808":"Google Drive","-749186458":"Account switching is disabled while your bot is running. Please stop your bot before switching accounts.","-597939268":"Keep my contract","-1322453991":"You need to log in to run the bot.","-236548954":"Contract Update Error","-1428017300":"THE","-1450728048":"OF","-255051108":"YOU","-1845434627":"IS","-931434605":"THIS","-740712821":"A","-1223145005":"Loss amount: {{profit}}","-1206212388":"Welcome back! Your messages have been restored. You are using your {{current_currency}} account.","-1724342053":"You are using your {{current_currency}} account.","-187634388":"This block is mandatory. Here is where you can decide if your bot should continue trading. Only one copy of this block is allowed.","-2105473795":"The only input parameter determines how block output is going to be formatted. In case if the input parameter is \"string\" then the account currency will be added.","-1800436138":"2. for \"number\": 1325.68","-530632460":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of \"True\" or \"False\".","-1875717842":"Examples:","-890079872":"1. If the selected direction is \"Rise\", and the previous tick value is less than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-489739641":"2. If the selected direction is \"Fall\", and the previous tick value is more than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-2116076360":"There are 4 message types:","-1421941045":"2. 'Warn' displays a message in yellow to highlight something that needs attention.","-277850921":"If \"Win\" is selected, it will return \"True\" if your last trade was successful. Otherwise, it will return an empty string.","-2139916657":"1. In the below example the loop is terminated in case \"x\" is \"False\" even though only one iteration is complete","-1238900333":"2. In the below example the loop jumps to the next iteration without executing below block in case if \"x\" is \"False\"","-1729479576":"You can use \"i\" inside the loop, for example to access list items","-1474636594":"In this example, the loop will repeat three times, as that is the number of items in the given list. During each iteration, the variable \"i\" will be assigned a value from the list. ","-908772734":"This block evaluates a statement and will perform an action only when the statement is true.","-334040831":"2. In this example, the instructions are repeated as long as the value of x is greater than or equal to 10. Once the value of x drops below 10, the loop is terminated.","-444267958":"\"Seconds Since Epoch\" block returns the number of seconds since January 1st, 1970.","-447522129":"You might need it when you want to repeat an actions after certain amount of time.","-1488259879":"The term \"candle\" refers to each bar on the candlestick chart. Each candle represents four market prices for the selected time interval:","-2020693608":"Each candlestick on the chart represents 4 market prices for the selected time interval:","-62728852":"- Open price: the opening price","-1247744334":"- Low price: the lowest price","-1386365697":"- Close price: the closing price","-1498732382":"A black (or red) candle indicates that the open price is higher than the close price. This represents a downward movement of the market price.","-1871864755":"This block gives you the last digit of the latest tick value of the selected market. If the latest tick value is 1410.90, this block will return 0. It’s useful for digit-based contracts such as Even/Odd, Matches/Differs, or Higher/Lower.","-1029671512":"In case if the \"OR\" operation is selected, the block returns \"True\" in case if one or both given values are \"True\"","-210295176":"Available operations:","-1385862125":"- Addition","-983721613":"- Subtraction","-854750243":"- Multiplication","-1394815185":"In case if the given number is less than the lower boundary of the range, the block returns the lower boundary value. Similarly, if the given number is greater than the higher boundary, the block will return the higher boundary value. In case if the given value is between boundaries, the block will return the given value unchanged.","-1034564248":"In the below example the block returns the value of 10 as the given value (5) is less than the lower boundary (10)","-2009817572":"This block performs the following operations to a given number","-671300479":"Available operations are:","-514610724":"- Absolute","-1923861818":"- Euler’s number (2.71) to the power of a given number","-1556344549":"Here’s how:","-1061127827":"- Visit the following URL, make sure to replace with the Telegram API token you created in Step 1: https://api.telegram.org/bot/getUpdates","-311389920":"In this example, the open prices from a list of candles are assigned to a variable called \"cl\".","-1460794449":"This block gives you a list of candles within a selected time interval.","-1634242212":"Used within a function block, this block returns a value when a specific condition is true.","-2012970860":"This block gives you information about your last contract.","-1504783522":"You can choose to see one of the following:","-10612039":"- Profit: the profit you’ve earned","-555996976":"- Entry time: the starting time of the contract","-1391071125":"- Exit time: the contract expiration time","-1961642424":"- Exit value: the value of the last tick of the contract","-111312913":"- Barrier: the barrier value of the contract (applicable to barrier-based trade types such as stays in/out, touch/no touch, etc.)","-674283099":"- Result: the result of the last contract: \"win\" or \"loss\"","-704543890":"This block gives you the selected candle value such as open price, close price, high price, low price, and open time. It requires a candle as an input parameter.","-482281200":"In the example below, the open price is assigned to the variable \"op\".","-364621012":"This block gives you the specified candle value for a selected time interval. You can choose which value you want:","-232477769":"- Open: the opening price","-610736310":"Use this block to sell your contract at the market price. Selling your contract is optional. You may choose to sell if the market trend is unfavourable.","-1307657508":"This block gives you the potential profit or loss if you decide to sell your contract. It can only be used within the \"Sell conditions\" root block.","-1921072225":"In the example below, the contract will only be sold if the potential profit or loss is more than the stake.","-955397705":"SMA adds the market price in a list of ticks or candles for a number of time periods, and divides the sum by that number of time periods.","-1424923010":"where n is the number of periods.","-1835384051":"What SMA tells you","-749487251":"SMA serves as an indicator of the trend. If the SMA points up then the market price is increasing and vice versa. The larger the period number, the smoother SMA line is.","-1996062088":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 10 days.","-1866751721":"Input list accepts a list of ticks or candles, while period is the specified time period.","-1097076512":"You may compare SMA values calculated on every bot run to identify the market trend direction. Alternatively, you may also use a variation of the SMA block, the Simple Moving Average Array block. ","-1254849504":"If a period of 10 is entered, the Simple Moving Average Array block will return a list of SMA values calculated based on period of 10.","-1190046167":"This block displays a dialog box with a customised message. When the dialog box is displayed, your strategy is paused and will only resume after you click \"OK\".","-859028989":"In this example, the date and time will be displayed in a green notification box.","-1452086215":"In this example, a Rise contract will be purchased at midnight on 1 August 2019.","-2078588404":"Select your desired market and asset type. For example, Forex > Major pairs > AUD/JPY","-2037446013":"2. Trade Type","-533927844":"Select your desired trade type. For example, Up/Down > Rise/Fall","-1192411640":"4. Default Candle Interval","-485434772":"8. Trade Options","-1827646586":"This block assigns a given value to a variable, creating the variable if it doesn't already exist.","-254421190":"List: ({{message_length}})","-555886064":"Won","-529060972":"Lost","-1062922595":"Reference ID (buy)","-2068574600":"Reference ID (sell)","-994038153":"Start Time","-1979852400":"Entry Spot","-427802309":"Profit/Loss","-224804428":"Transactions","-287223248":"No transaction or activity yet.","-418247251":"Download your journal.","-2123571162":"Download","-1616649196":"results","-90107030":"No results found","-984140537":"Add","-870004399":"<0>Bought: {{longcode}} (ID: {{transaction_id}})","-1211474415":"Filters","-186972150":"There are no messages to display","-558594655":"The bot is not running","-478946875":"The stats are cleared","-999254545":"All messages are filtered out","-934909826":"Load strategy","-1121028020":"or, if you prefer...","-254025477":"Select an XML file from your device","-1131095838":"Please upload an XML file","-523928088":"Create one or upload one from your local drive or Google Drive.","-1684205190":"Why can't I see my recent bots?","-2050879370":"1. Logged in from a different device","-811857220":"3. Cleared your browser cache","-625024929":"Leaving already?","-584289785":"No, I'll stay","-1435060006":"If you leave, your current contract will be completed, but your bot will stop running immediately.","-783058284":"Total stake","-2077494994":"Total payout","-1073955629":"No. of runs","-1729519074":"Contracts lost","-42436171":"Total profit/loss","-1856204727":"Reset","-1137823888":"Total payout since you last cleared your stats.","-992662695":"The number of times your bot has run since you last cleared your stats. Each run includes the execution of all the root blocks.","-1382491190":"Your total profit/loss since you last cleared your stats. It is the difference between your total payout and your total stake.","-24780060":"When you’re ready to trade, hit ","-2147110353":". You’ll be able to track your bot’s performance here.","-1442034178":"Contract bought","-2020280751":"Bot is stopping","-1436403979":"Contract closed","-411060180":"TradingView Chart","-627895223":"Exit spot","-2140412463":"Buy price","-1299484872":"Account","-2004386410":"Win","-266502731":"Transactions detailed summary","-1711732508":"Reference IDs","-386141434":"(Buy)","-482272687":"(Sell)","-1983189496":"ticks","-694277729":"(High)","-2028564707":"(Low)","-596238067":"Entry/Exit spot","-1823621139":"Quick Strategy","-1782602933":"Choose a template below and set your trade parameters.","-315611205":"Strategy","-1524489375":"(optional)","-150224710":"Yes, continue","-475765963":"Edit the amount","-1349897832":"Do not show this message again.","-984512425":"Minimum duration: {{ value }}","-2084091453":"The value must be equal or greater than {{ value }}","-657364297":"The value must be equal or less than {{ value }}","-1696412885":"Import","-320197558":"Sort blocks","-939764287":"Charts","-1566369363":"Zoom out","-1285759343":"Search","-1291088318":"Purchase conditions","-112876186":"Analysis","-1769584466":"Stats","-1133736197":"Utility","-1682372359":"Text","-907562847":"Lists","-1646497683":"Loops","-251326965":"Miscellaneous","-1692205739":"Import a bot from your computer or Google Drive, build it from scratch, or start with a quick strategy.","-1545070554":"Delete bot","-1972599670":"Your bot will be permanently deleted when you hit ","-1692956623":"Yes, delete.","-573479616":"Are you sure you want to delete it?","-786915692":"You are connected to Google Drive","-1256971627":"To import your bot from your Google Drive, you'll need to sign in to your Google account.","-1233084347":"To know how Google Drive handles your data, please review Deriv’s <0>Privacy policy.","-1150107517":"Connect","-1150390589":"Last modified","-1393876942":"Your bots:","-767342552":"Enter your bot name, choose to save on your computer or Google Drive, and hit ","-1372891985":"Save.","-1003476709":"Save as collection","-636521735":"Save strategy","-1953880747":"Stop my bot","-1899230001":"Stopping the current bot will load the Quick Strategy you just created to the workspace.","-2131847097":"Any open contracts can be viewed on the ","-563774117":"Dashboard","-683790172":"Now, <0>run the bot to test out the strategy.","-1127164953":"Hi! Hit <0>Start for a quick tour.","-358288026":"Note: You can also find this tutorial in the <0>Tutorials tab.","-129587613":"Got it, thanks!","-1793577405":"Build from scratch","-358753028":"Create your bot using our drag-and-drop blocks or click Quick Strategy to choose from the ready-to-use bot templates.","-1212601535":"Monitor the market","-21136101":"See how your bot is doing in real-time.","-631097919":"Click <0>Run when you want to start trading, and click <0>Stop when you want to stop.","-1999747212":"Want to retake the tour?","-782992165":"Step 1 :","-1207872534":"First, set the <0>Trade parameters block.","-1656388044":"First, set <0>Market to Derived > Continuous Indices > Volatility 100 (1s) Index.","-1706298865":"Then, set <0>Trade type to Up/Down > Rise/Fall.","-1834358537":"For <0>Default candle interval, set it to 1 minute","-1940971254":"For <0>Trade options, set it as below:","-512839354":"<0>Stake: USD 10 (min: 0.35 - max: 50000)","-753745278":"Step 2 :","-1056713679":"Then, set the <0>Purchase conditions block.","-245497823":"<0>2. Purchase conditions:","-916770284":"<0>Purchase: Rise","-758077259":"Step 3 :","-677396944":"Step 4 :","-295975118":"Next, go to <0>Utility tab under the Blocks menu. Tap the drop-down arrow and hit <0>Loops.","-698493945":"Step 5 :","-1992994687":"Now, tap the <0>Analysis drop-down arrow and hit <0>Contract.","-1844492873":"Go to the <0>Last trade result block and click + icon to add the <0>Result is Win block to the workspace.","-1547091772":"Then, drag the <0>Result is win into the empty slot next to <0>repeat until block.","-736400802":"Step 6 :","-732067680":"Finally, drag and add the whole <0>Repeat block to the <0>Restart trading conditions block.","-1411787252":"Step 1","-1109392787":"Learn how to build your bot from scratch using a simple strategy.","-1263822623":"You can import a bot from your mobile device or from Google drive, see a preview in the bot builder, and start trading by running the bot.","-563921656":"Bot Builder guide","-1596172043":"Quick strategy guides","-1765276625":"Click the multiplier drop-down menu and choose the multiplier value you want to trade with.","-1872233077":"Your potential profit will be multiplied by the multiplier value you’ve chosen.","-614454953":"To learn more about multipliers, please go to the <0>Multipliers page.","-662836330":"Would you like to keep your current contract or close it? If you decide to keep it running, you can check and close it later on the <0>Reports page.","-1717650468":"Online","-1309011360":"Open positions","-1597214874":"Trade table","-1929724703":"Compare CFD accounts","-883103549":"Account deactivated","-45873457":"NEW","-1190972431":"P2P-V2","-1837059346":"Buy / Sell","-1845037007":"Advertiser's page","-494667560":"Orders","-679691613":"My ads","-821418875":"Trader","-679102561":"Contract Details","-430118939":"Complaints policy","-1308346982":"Derived","-579984289":"Derived Demo","-1596515467":"Derived BVI","-222394569":"Derived Vanuatu","-328128497":"Financial","-533935232":"Financial BVI","-565431857":"Financial Labuan","-659955365":"Swap-Free","-291535132":"Swap-Free Demo","-1472945832":"Swap-Free SVG","-144803045":"Only numbers and these special characters are allowed: {{permitted_characters}}","-1450516268":"Only letters, numbers, space, hyphen, period, and apostrophe are allowed.","-1966032552":"The length of token should be 8.","-2128137611":"Should start with letter or number, and may contain hyphen and underscore.","-1590869353":"Up to {{decimal_count}} decimal places are allowed.","-2061307421":"Should be more than {{min_value}}","-1099941162":"Should be less than {{max_value}}","-1528188268":"Straight rows of keys are easy to guess","-1339903234":"Short keyboard patterns are easy to guess","-23980798":"Repeats like \"aaa\" are easy to guess","-235760680":"Avoid repeated words and characters","-1568933154":"Sequences like abc or 6543 are easy to guess","-725663701":"Avoid sequences","-1450768475":"Recent years are easy to guess","-1804838610":"Avoid years that are associated with you","-64849469":"Dates are often easy to guess","-2006915194":"Avoid dates and years that are associated with you","-2124205211":"A word by itself is easy to guess","-1095202689":"All-uppercase is almost as easy to guess as all-lowercase","-2137856661":"Reversed words aren't much harder to guess","-1885413063":"Predictable substitutions like '@' instead of 'a' don't help very much","-369258265":"This password is on the blacklist","-577777971":"You have reached the rate limit of requests per second. Please try later.","-206321775":"Fiat","-522767852":"DEMO","-433761292":"Switching to default account.","-405439829":"Sorry, you can't view this contract because it doesn't belong to this account.","-1590712279":"Gaming","-16448469":"Virtual","-2093768906":"{{name}} has released your funds.
Would you like to give your feedback?","-705744796":"Your demo account balance has reached the maximum limit, and you will not be able to place new trades. Reset your balance to continue trading from your demo account.","-2063700253":"disabled","-1585069798":"Please click the following link to complete your Appropriateness Test.","-1287141934":"Find out more","-367759751":"Your account has not been verified","-596690079":"Enjoy using Deriv?","-265932467":"We’d love to hear your thoughts","-1815573792":"Drop your review on Trustpilot.","-823349637":"Go to Trustpilot","-1204063440":"Set my account currency","-1601813176":"Would you like to increase your daily limits to {{max_daily_buy}} {{currency}} (buy) and {{max_daily_sell}} {{currency}} (sell)?","-1751632759":"Get a faster mobile trading experience with the <0>{{platform_name_go}} app!","-1164554246":"You submitted expired identification documents","-219846634":"Let’s verify your ID","-529038107":"Install","-1738575826":"Please switch to your real account or create one to access the cashier.","-1329329028":"You’ve not set your 30-day turnover limit","-132893998":"Your access to the cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to Self-exclusion and set the limit.","-1852207910":"MT5 withdrawal disabled","-764323310":"MT5 withdrawals have been disabled on your account. Please check your email for more details.","-1744163489":"Please verify your proof of income","-382676325":"To continue trading with us, please submit your proof of income.","-1902997828":"Refresh now","-753791937":"A new version of Deriv is available","-1775108444":"This page will automatically refresh in 5 minutes to load the latest version.","-1175685940":"Please contact us via live chat to enable withdrawals.","-493564794":"Please complete your financial assessment.","-1125797291":"Password updated.","-157145612":"Please log in with your updated password.","-1728185398":"Resubmit proof of address","-612396514":"Please resubmit your proof of address.","-1519764694":"Your proof of address is verified.","-1629185222":"Submit now","-1961967032":"Resubmit proof of identity","-117048458":"Please submit your proof of identity.","-1196422502":"Your proof of identity is verified.","-1392958585":"Please check your email.","-136292383":"Your proof of address verification is pending","-386909054":"Your proof of address verification has failed","-430041639":"Your proof of address did not pass our verification checks, and we’ve placed some restrictions on your account. Please resubmit your proof of address.","-87177461":"Please go to your account settings and complete your personal details to enable deposits.","-904632610":"Reset your balance","-470018967":"Reset balance","-156611181":"Please complete the financial assessment in your account settings to unlock it.","-1925176811":"Unable to process withdrawals in the moment","-980696193":"Withdrawals are temporarily unavailable due to system maintenance. You can make withdrawals when the maintenance is complete.","-1647226944":"Unable to process deposit in the moment","-488032975":"Deposits are temporarily unavailable due to system maintenance. You can make deposits when the maintenance is complete.","-2136953532":"Scheduled cashier maintenance","-849587074":"You have not provided your tax identification number","-47462430":"This information is necessary for legal and regulatory requirements. Please go to your account settings, and fill in your latest tax identification number.","-2067423661":"Stronger security for your Deriv account","-1719731099":"With two-factor authentication, you’ll protect your account with both your password and your phone - so only you can access your account, even if someone knows your password.","-949074612":"Please contact us via live chat.","-2087822170":"You are offline","-1669693571":"Check your connection.","-1706642239":"<0>Proof of ownership <1>required","-553262593":"<0><1>Your account is currently locked <2><3>Please upload your proof of <4>ownership to unlock your account. <5>","-1834929362":"Upload my document","-1043638404":"<0>Proof of ownership <1>verification failed","-1766760306":"<0><1>Please upload your document <2>with the correct details. <3>","-8892474":"Start assessment","-1330929685":"Please submit your proof of identity and proof of address to verify your account and continue trading.","-99461057":"Please submit your proof of address to verify your account and continue trading.","-577279362":"Please submit your proof of identity to verify your account and continue trading.","-197134911":"Your proof of identity is expired","-152823394":"Your proof of identity has expired. Please submit a new proof of identity to verify your account and continue trading.","-822813736":"We're unable to complete with the Wallet upgrade. Please try again later or contact us via live chat.","-285366843":"We are going to update the login process for your Deriv MT5 account.","-978414767":"We require additional information for your Deriv MT5 account(s). Please take a moment to update your information now.","-2142540205":"It appears that the address in your document doesn’t match the address in your Deriv profile. Please update your personal details now with the correct address.","-482715448":"Go to Personal details","-2072411961":"Your proof of address has been verified","-384887227":"Update the address in your profile.","-1470677931":"CFDs on financial instruments.","-1998049070":"If you agree to our use of cookies, click on Accept. For more information, <0>see our policy.","-402093392":"Add Deriv Account","-1721181859":"You’ll need a {{deriv_account}} account","-1989074395":"Please add a {{deriv_account}} account first before adding a {{dmt5_account}} account. Deposits and withdrawals for your {{dmt5_label}} account are done by transferring funds to and from your {{deriv_label}} account.","-689237734":"Proceed","-1642457320":"Help centre","-1966944392":"Network status: {{status}}","-181484419":"Responsible trading","-650505513":"Full screen","-1823504435":"View notifications","-1954045170":"No currency assigned","-1591792668":"Account Limits","-34495732":"Regulatory information","-1496158755":"Go to Deriv.com","-1323441180":"I hereby confirm that my request for opening an account with Deriv to trade OTC products issued and offered exclusively outside Brazil was initiated by me. I fully understand that Deriv is not regulated by CVM and by approaching Deriv I intend to set up a relation with a foreign company.","-1396326507":"Unfortunately, {{website_name}} is not available in your country.","-288996254":"Unavailable","-1019903756":"Synthetic","-735306327":"Manage accounts","-1813972756":"Account creation paused for 24 hours","-366030582":"Sorry, you're unable to create an account at this time. As you declined our previous risk warnings, we need you to wait for 24 hours after your first account creation attempt before you can proceed.<0/><0/>","-534047566":"Thank you for your understanding. You can create your account on {{real_account_unblock_date}} or later.","-399816343":"Trading Experience Assessment<0/>","-1822498621":"As per our regulatory obligations, we are required to assess your trading knowledge and experience.<0/><0/>Please click ‘OK’ to continue","-71049153":"Keep your account secure with a password","-1861974537":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters, numbers, and symbols.","-1965920446":"Start trading","-1485242688":"Step {{step}}: {{step_title}} ({{step}} of {{steps}})","-1829842622":"You can open an account for each cryptocurrency.","-987221110":"Choose a currency you would like to trade with.","-1066574182":"Choose a currency","-1914534236":"Choose your currency","-200560194":"Please switch to your {{fiat_currency}} account to change currencies.","-1829493739":"Choose the currency you would like to trade with.","-1814647553":"Add a new","-1269362917":"Add new","-650480777":"crypto account","-175638343":"Choose an account or add a new one","-1768223277":"Your account is ready","-1215717784":"<0>You have successfully changed your currency to {{currency}}.<0>Make a deposit now to start trading.","-1775006840":"Make a deposit now to start trading.","-983734304":"We need proof of your identity and address before you can start trading.","-917733293":"To get trading, please confirm where you live.","-1282628163":"You'll be able to get trading as soon as verification is complete.","-952649119":"Log In","-3815578":"Sign Up","-1456176427":"Set a currency for your real account","-1329687645":"Create a cryptocurrency account","-1429178373":"Create a new account","-1740162250":"Manage account","-1016775979":"Choose an account","-1362081438":"Adding more real accounts has been restricted for your country.","-1602122812":"24-hour Cool Down Warning","-1519791480":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the risk of losing your money. <0/><0/>\n As you have declined our previous warning, you would need to wait 24 hours before you can proceed further.","-1010875436":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, kindly note that you would need to wait 24 hours before you can proceed further.","-1725418054":"By clicking ‘Accept’ and proceeding with the account opening, you should note that you may be exposing yourself to risks. These risks, which may be significant, include the risk of losing the entire sum invested, and you may not have the knowledge and experience to properly assess or mitigate them.","-1369294608":"Already signed up?","-730377053":"You can’t add another real account","-2100785339":"Invalid inputs","-2061807537":"Something’s not right","-617844567":"An account with your details already exists.","-1534648620":"Your password has been changed","-596199727":"We will now redirect you to the login page.","-310434518":"The email input should not be empty.","-437918412":"No currency assigned to your account","-1193651304":"Country of residence","-707550055":"We need this to make sure our service complies with laws and regulations in your country.","-280139767":"Set residence","-601615681":"Select theme","-1152511291":"Dark","-1428458509":"Light","-1976089791":"Your Deriv account has been unlinked from your {{social_identity_provider}} account. You can now log in to Deriv using your new email address and password.","-505449293":"Enter a new password for your Deriv account.","-1728963310":"Stop creating an account?","-703818088":"Only log in to your account at this secure link, never elsewhere.","-1235799308":"Fake links often contain the word that looks like \"Deriv\" but look out for these differences.","-2102997229":"Examples","-82488190":"I've read the above carefully.","-97775019":"Do not trust and give away your credentials on fake websites, ads or emails.","-2142491494":"OK, got it","-611136817":"Beware of fake links.","-1342699195":"Total profit/loss:","-1941013000":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}, {{legal_entity_name_fx}}, and {{legal_entity_name_v}}.","-594812204":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}.","-813256361":"We are committed to treating our clients fairly and providing them with excellent service.<0/><1/>We would love to hear from you on how we can improve our services to you. Any information you provide will be treated in the strictest confidence. Rest assured that you will be heard, valued, and always treated fairly.","-1622847732":"If you have an inquiry regarding your trading account with {{legal_entity_name}}, you can contact us through our <0>Help centre or by chatting with a representative via <1>Live Chat.<2/><3/>We are committed to resolving your query in the quickest time possible and appreciate your patience in allowing us time to resolve the matter.<4/><5/>We strive to provide the best possible service and support to our customers. However, in the event that we are unable to resolve your query or if you feel that our response is unsatisfactory, we want to hear from you. We welcome and encourage you to submit an official complaint to us so that we can review your concerns and work towards a resolution.","-1406192787":"If you are not satisfied with the outcome, you can escalate your complaint to the <0>Financial Commission.","-2115348800":"1. Introduction","-744009523":"2. Fair treatment","-866831420":"3.1. Submission of a complaint","-1102904026":"3.2. Handling your complaint","-603378979":"3.3. Resolving your complaint","-697569974":"3.4. Your decision","-1280998762":"4. Complaints","-1886635232":"A complaint is any expression of dissatisfaction by a client regarding our products or services that requires a formal response.<0/><1/>If what you submit does not fall within the scope of a complaint, we may reclassify it as a query and forward it to the relevant department for handling. However, if you believe that your query should be classified as a complaint due to its relevance to the investment services provided by {{legal_entity_name}}, you may request that we reclassify it accordingly.","-1771496016":"To submit a complaint, please send an email to <0>complaints@deriv.com, providing as much detail as possible. To help us investigate and resolve your complaint more efficiently, please include the following information:","-1197243525":"<0>•A clear and detailed description of your complaint, including any relevant dates, times, and transactions","-1795134892":"<0>•Any relevant screenshots or supporting documentation that will assist us in understanding the issue","-2053887036":"4.4. Handling your complaint","-717170429":"Once we have received the details of your complaint, we shall review it carefully and keep you updated on the handling process. We might request further information or clarifications to facilitate the resolution of the complaint.","-1841922393":"4.5. Resolving your complaint","-1327119795":"4.6. Your decision","-2019654103":"If we are unable to resolve your complaint or you are not satisfied with the outcome, you can escalate your complaint to the Office of the Arbiter for Financial Services.<0/><1/><2>Filing complaints with the Office of the Arbiter for Financial Services","-687172857":"<0>•You may file a complaint with the Arbiter for Financial Services only if you are not satisfied with our decision or the decision wasn’t made within 15 business days.","-262934706":"<0>•If the complaint is accepted by the Arbiter, you will receive another email with further details relating to the payment of the €25 complaint fee and the processes that follow.","-993572476":"<0>b.The Financial Commission has 5 days to acknowledge that your complaint was received and 14 days to answer the complaint through our Internal Dispute Resolution (IDR) procedure.","-1769159081":"<0>c.You will be able to file a complaint with the Financial Commission only if you are not satisfied with our decision or the decision wasn’t made within 14 days.","-58307244":"3. Determination phase","-356618087":"<0>b.The DRC may request additional information from you or us, who must then provide the requested information within 7 days.","-945718602":"<0>b.If you agree with a DRC decision, you will need to accept it within 14 days. If you do not respond to the DRC decision within 14 days, the complaint is considered closed.","-1500907666":"<0>d.If the decision is made in our favour, you must provide a release for us within 7 days of when the decision is made, and the complaint will be considered closed.","-429248139":"5. Disclaimer","-818926350":"The Financial Commission accepts appeals for 45 days following the date of the incident and only after the trader has tried to resolve the issue with the company directly.","-1825471709":"A whole new trading experience on a powerful yet easy to use platform.","-981017278":"Automated trading at your fingertips. No coding needed.","-583559763":"Menu","-1685795001":"Demo Wallet","-319395348":"Looking for CFDs? Go to Trader’s Hub","-554054753":"Get started","-1364763296":"No need to remember a password","-1274467503":"Sync across devices","-2036288743":"Enhanced security with biometrics or screen lock ","-143216768":"Learn more about passkeys <0> here.","-778309978":"The link you clicked has expired. Ensure to click the link in the latest email in your inbox. Alternatively, enter your email below and click <0>Resend email for a new link.","-2007055538":"Information updated","-521477049":"We are going to update the login process for your Deriv MT5 account. Here is what you need to do when you want to log in via your MT5 mobile app starting from 7 February:","-749864644":"If you have trouble logging into your Deriv MT5 account, please follow this <0>guide.","-238296389":"Need help? Contact us via <0>live chat to assist you with any login questions.","-941870889":"The cashier is for real accounts only","-352838513":"It looks like you don’t have a real {{regulation}} account. To use the cashier, switch to your {{active_real_regulation}} real account, or get an {{regulation}} real account.","-1858915164":"Ready to deposit and trade for real?","-162753510":"Add real account","-1208519001":"You need a real Deriv account to access the cashier.","-715867914":"Successfully deposited","-1271218821":"Account added","-197631101":"Your funds will be available for trading once the verification of your account is complete.","-835056719":"We’ve received your documents","-55435892":"We’ll need 1 - 3 days to review your documents and notify you by email. You can practice with demo accounts in the meantime.","-1916578937":"<0>Explore the exciting new features that your Wallet offers.","-1724438599":"<0>You're almost there!","-1089300025":"We don’t charge deposit fees! Once your account is verified, you will be able to trade, make additional deposits, or withdraw funds.","-476018343":"Live Chat","-1471705969":"<0>{{title}}: {{trade_type_name}} on {{symbol}}","-1771117965":"Trade opened","-1856112961":"The URL you requested isn’t available","-304807228":"<0>You’re not logged in, or<0>Our services are unavailable in your country.","-1567989247":"Submit your proof of identity and address","-523602297":"Forex majors","-1303090739":"Up to 1:1500","-19213603":"Metals","-1264604378":"Up to 1:1000","-1728334460":"Up to 1:300","-646902589":"(US_30, US_100, US_500)","-705682181":"Malta","-1835174654":"1:30","-1647612934":"Spreads from","-1587894214":"about verifications needed.","-466784048":"Regulator/EDR","-2098459063":"British Virgin Islands","-1005069157":"Synthetic indices, basket indices, and derived FX","-1344709651":"40+","-1326848138":"British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114)","-1711743223":"Forex (standard/micro), stocks, stock indices, commodities, cryptocurrencies and ETFs","-1372141447":"Straight-through processing","-1969608084":"Forex and Cryptocurrencies","-800771713":"Labuan Financial Services Authority (licence no. MB/18/0024)","-1497128311":"80+","-1689815930":"You will need to submit proof of identity and address once you reach certain thresholds.","-1175785439":"Deriv (SVG) LLC (company no. 273 LLC 2020)","-139026353":"A selfie of yourself.","-1228847561":"Verification in review.","-618322245":"Verification successful.","-149461870":"Forex: standard/exotic","-1995163270":"ETFs","-651501076":"Derived - SVG","-865172869":"Financial - BVI","-1851765767":"Financial - Vanuatu","-558597854":"Financial - Labuan","-2052425142":"Swap-Free - SVG","-1192904361":"Deriv X Demo","-283929334":"Deriv cTrader Demo","-1269597956":"MT5 Platform","-1302404116":"Maximum leverage","-239789243":"(License no. SIBA/L/18/1114)","-941636117":"MetaTrader 5 Linux app","-1434036215":"Demo Financial","-1416247163":"Financial STP","-1637969571":"Demo Swap-Free","-1882063886":"Demo CFDs","-1347908717":"Demo Financial SVG","-1780324582":"SVG","-860609405":"Password","-742647506":"Fund transfer","-712681566":"Peer-to-peer exchange","-1267880283":"{{field_name}} is required","-2084509650":"{{field_name}} is not properly formatted.","-790488576":"Forgot password?","-476558960":"If you don’t have open positions","-1385484963":"Confirm to change your {{platform}} password","-1990902270":"This will change the password to all of your {{platform}} accounts.","-12535938":"*Volatility 250 Index, Volatility 150 Index, Boom 300 and Crash 300 Index","-201485855":"Up to","-700260448":"demo","-1769158315":"real","-1922462747":"Trader's hub","-16858060":"You have a new Deriv MT5 password to log in to your Deriv MT5 accounts on the web and mobile apps.","-1868608634":"Current password","-2092058806":"8 to 16 characters","-2051033705":"A special character such as ( _ @ ? ! / # )","-1762249687":"A lowercase letter","-535365199":"Enter your {{platform}} password to add a {{platform_name}} {{account}} account.","-184453418":"Enter your {{platform}} password","-393388362":"We’re reviewing your documents. This should take about 1 to 3 days.","-2057918502":"Hint: You may have entered your Deriv password, which is different from your {{platform}} password.","-267598687":"Congratulations, you have successfully created your <0/>{{category}} {{platform}} {{type}} account. To start trading, <1 />transfer funds <2 />from your Deriv account into this account.","-1475660820":"Your Deriv MT5 {{type}} account is ready. ","-1710177700":"Your demo {{type}} account is ready.","-1184248732":"Congratulations, you have successfully created your <0/>{{category}} {{platform}} {{type}} account. ","-1928229820":"Reset Deriv X investor password","-1969916895":"Your password must contain between 8-16 characters that include uppercase and lowercase letters, and at least one number and special character ( _ @ ? ! / # ).","-1087845020":"main","-1950683866":"investor","-1874242353":"Fund top up","-89838213":"You can top up your demo account with an additional <0> if your balance is <1> or less.","-1211122723":"{{ platform }} {{ account_title }} account","-78895143":"Current balance","-149993085":"New current balance","-1615126227":"Manage up to {{max_count}} Deriv cTrader accounts. While you can convert any of your Deriv cTrader accounts into a strategy account, please take note of the following:","-1547739386":"To ensure you can always create and manage strategies with fees, <0>keep at least one account free from being a strategy provider. This way, you’ll always have an account ready for collecting fees, allowing you to have up to four strategies where you may impose fees.","-2145356061":"Download Deriv X on your phone to trade with the Deriv X account","-1547458328":"Run cTrader on your browser","-747382643":"Get another cTrader account","-1986258847":"Server maintenance starts at 01:00 GMT every Sunday, and this process may take up to 2 hours to complete. Service may be disrupted during this time.","-499504077":"Choose a cTrader account to transfer","-251202291":"Broker","-678964540":"to","-206829624":"(1:x)","-616293830":"Enjoy dynamic leverage of <0>up to 1:1500 when trading selected instruments in the forex, commodities, cryptocurrencies, and stock indices markets. Our dynamic leverage adjusts automatically to your trading position, based on asset type and trading volume.","-2042845290":"Your investor password has been changed.","-1882295407":"Your password has been changed.","-254497873":"Use this password to grant viewing access to another user. While they may view your trading account, they will not be able to trade or take any other actions.","-161656683":"Current investor password","-374736923":"New investor password","-1793894323":"Create or reset investor password","-21438174":"Add your Deriv cTrader account under Deriv (SVG) LLC (company no. 273 LLC 2020).","-2026018074":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (SVG) LLC (company no. 273 LLC 2020).","-162320753":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (BVI) Ltd, regulated by the British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114).","-271828350":"Get more out of Deriv MT5 Financial","-2125860351":"Choose a jurisdiction for your Deriv MT5 CFDs account","-1460321521":"Choose a jurisdiction for your {{account_type}} account","-637537305":"Download {{ platform }} on your phone to trade with the {{ platform }} {{ account }} account","-964130856":"{{existing_account_title}}","-879259635":"Enter your Deriv MT5 password to upgrade your account(s).","-1504907646":"Deriv MT5 password","-361998267":"We've introduced additional password requirements to increase your account security. Your password should:","-996995493":"Be between 8 to 16 characters.","-219163415":"Contain at least one special character.","-1446636186":"By clicking on <0>Next you agree to move your {{platform}} {{type_1}} and {{type_2}} {{from_account}} account(s) under Deriv {{account_to_migrate}} Ltd’s <1>terms and conditions.","-1766387013":"Upgrade your MT5 account(s)","-990927225":"Enter your Deriv MT5 password","-1486399361":"Trade with MT5 mobile app","-301350824":"Note: Don't have the MT5 app? Tap the <0>Trade with MT5 mobile app button to download. Once you have\n installed the app, return to this screen and hit the same button to log in.","-648956272":"Use this password to log in to your Deriv X accounts on the web and mobile apps.","-1814308691":"Please click on the link in the email to change your {{platform}} password.","-2015785957":"Compare CFDs {{demo_title}} accounts","-81650212":"MetaTrader 5 web","-508045656":"Coming soon on IOS","-601303096":"Scan the QR code to download Deriv {{ platform }}.","-1357917360":"Web terminal","-1282933308":"Not {{barrier}}","-968190634":"Equals {{barrier}}","-1747377543":"Under {{barrier}}","-1386326276":"Barrier is a required field.","-1418742026":"Higher barrier must be higher than lower barrier.","-92007689":"Lower barrier must be lower than higher barrier.","-1095538960":"Please enter the start time in the format \"HH:MM\".","-1975910372":"Minute must be between 0 and 59.","-866277689":"Expiry time cannot be in the past.","-1455298001":"Now","-256210543":"Trading is unavailable at this time.","-1150099396":"We’re working to have this available for you soon. If you have another account, switch to that account to continue trading. You may add a Deriv MT5 Financial.","-28115241":"{{platform_name_trader}} is not available for this account","-453920758":"Go to {{platform_name_mt5}} dashboard","-402175529":"History","-1013917510":"The reset time is {{ reset_time }}","-925402280":"Indicative low spot","-1075414250":"High spot","-902712434":"Deal cancellation","-988484646":"Deal cancellation (executed)","-444882676":"Deal cancellation (active)","-13423018":"Reference ID","-1371082433":"Reset barrier","-1402197933":"Reset time","-2035315547":"Low barrier","-1745835713":"Selected tick","-1551639437":"No history","-1214703885":"You have yet to update either take profit or stop loss","-504849554":"It will reopen at","-59803288":"In the meantime, try our synthetic indices. They simulate real-market volatility and are open 24/7.","-1278109940":"See open markets","-694105443":"This market is closed","-104603605":"You cannot trade as your documents are still under review. We will notify you by email once your verification is approved.","-439389714":"We’re working on it","-770929448":"Go to {{platform_name_smarttrader}}","-347156282":"Submit Proof","-138538812":"Log in or create a free account to place a trade.","-2036388794":"Create free account","-1813736037":"No further trading is allowed on this contract type for the current trading session. For more info, refer to our <0>terms and conditions.","-1043795232":"Recent positions","-153220091":"{{display_value}} Tick","-802374032":"Hour","-663862998":"Markets","-1052279158":"Your <0>payout is the sum of your initial stake and profit.","-1819891401":"You can close your trade anytime. However, be aware of <0>slippage risk.","-231957809":"Win maximum payout if the exit spot is higher than or equal to the upper barrier.","-464144986":"Win maximum payout if the exit spot is lower than or equal to the lower barrier.","-1031456093":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between upper barrier and exit spot.","-968162707":"No payout if exit spot is above or equal to the upper barrier.","-2089488446":"If you select \"Ends Between\", you win the payout if the exit spot is strictly higher than the Low barrier AND strictly lower than the High barrier.","-1876950330":"If you select \"Ends Outside\", you win the payout if the exit spot is EITHER strictly higher than the High barrier, OR strictly lower than the Low barrier.","-546460677":"If the exit spot is equal to either the Low barrier or the High barrier, you don't win the payout.","-1929209278":"If you select \"Even\", you will win the payout if the last digit of the last tick is an even number (i.e., 2, 4, 6, 8, or 0).","-2038865615":"If you select \"Odd\", you will win the payout if the last digit of the last tick is an odd number (i.e., 1, 3, 5, 7, or 9).","-1959473569":"If you select \"Lower\", you win the payout if the exit spot is strictly lower than the barrier.","-1350745673":"If the exit spot is equal to the barrier, you don't win the payout.","-93996528":"By purchasing the \"Close-to-Low\" contract, you'll win the multiplier times the difference between the close and low over the duration of the contract.","-420387848":"The high is the highest point ever reached by the market during the contract period.","-1722190480":"By purchasing the \"High-to-Low\" contract, you'll win the multiplier times the difference between the high and low over the duration of the contract.","-1281286610":"If you select \"Matches\", you will win the payout if the last digit of the last tick is the same as your prediction.","-618782785":"Use multipliers to leverage your potential returns. Predict if the asset price will move upward (bullish) or downward (bearish). We’ll charge a commission when you open a multipliers trade.","-565391674":"If you select \"<0>Up\", your total profit/loss will be the percentage increase in the underlying asset price, times the multiplier and stake, minus commissions.","-1113825265":"Additional features are available to manage your positions: “<0>Take profit” and “<0>Stop loss” allow you to adjust your level of risk aversion.","-1104397398":"Additional features are available to manage your positions: “<0>Take profit”, “<0>Stop loss” and “<0>Deal cancellation” allow you to adjust your level of risk aversion.","-1272255095":"If the exit spot is equal to the barrier or the new barrier (if a reset occurs), you don't win the payout.","-1392065699":"If you select \"Rise\", you win the payout if the exit spot is strictly higher than the entry spot.","-1762566006":"If you select \"Fall\", you win the payout if the exit spot is strictly lower than the entry spot.","-1435306976":"If you select \"Allow equals\", you win the payout if exit spot is higher than or equal to entry spot for \"Rise\". Similarly, you win the payout if exit spot is lower than or equal to entry spot for \"Fall\".","-1812957362":"If you select \"Stays Between\", you win the payout if the market stays between (does not touch) either the High barrier or the Low barrier at any time during the contract period","-220379757":"If you select \"Goes Outside\", you win the payout if the market touches either the High barrier or the Low barrier at any time during the contract period.","-299450697":"If you select \"High Tick\", you win the payout if the selected tick is the highest among the next five ticks.","-1416078023":"If you select \"Touch\", you win the payout if the market touches the barrier at any time during the contract period.","-1565216130":"If you select <0>\"Up\", you’ll earn a payout if the spot price never drops below the barrier.","-1336860323":"If you select <0>\"Down\", you’ll earn a payout if the spot price never rises above the barrier.","-1547935605":"Your payout is equal to the <0>payout per point multiplied by the difference between the <0>final price and the barrier. You will only earn a profit if your payout is higher than your initial stake.","-1307465836":"You may sell the contract up to 15 seconds before expiry. If you do, we’ll pay you the <0>contract value.","-351875097":"Number of ticks","-729830082":"View less","-1649593758":"Trade info","-1382749084":"Go back to trading","-1239477911":"second","-1585766960":"min","-1652791614":"mins","-1977959027":"hours","-442488432":"day","-337314714":"days","-1435392215":"About deal cancellation","-2017825013":"Got it","-1192773792":"Don't show this again","-1341681145":"When this is active, you can cancel your trade within the chosen time frame. Your stake will be returned without loss.","-471757681":"Risk management","-843831637":"Stop loss","-771725194":"Deal Cancellation","-1669741470":"The payout at expiry is equal to the payout per point multiplied by the difference between the final price and the strike price.","-993480898":"Accumulators","-2131851017":"Growth rate","-1422269966":"You can choose a growth rate with values of 1%, 2%, 3%, 4%, and 5%.","-1186791513":"Payout is the sum of your initial stake and profit.","-1682624802":"It is a percentage of the previous spot price. The percentage rate is based on your choice of the index and the growth rate.","-1186082278":"Your payout is equal to the payout per point multiplied by the difference between the final price and barrier.","-584445859":"This is when your contract will expire based on the duration or end time you’ve selected. If the duration is more than 24 hours, the cut-off time and expiry date will apply instead.","-1221049974":"Final price","-1247327943":"This is the spot price of the last tick at expiry.","-1890561510":"Cut-off time","-878534036":"If you select \"Call\", you’ll earn a payout if the final price is above the strike price at expiry. Otherwise, you won’t receive a payout.","-1587076792":"If you select \"Put\", you’ll earn a payout if the final price is below the strike price at expiry. Otherwise, you won’t receive a payout.","-1482134885":"We calculate this based on the strike price and duration you’ve selected.","-565990678":"Your contract will expire on this date (in GMT), based on the End time you’ve selected.","-1545819495":"Your trade will be closed automatically at the nearest available asset price when your loss reaches a certain percentage of your stake, but your loss never exceeds your stake. This percentage depends on the chosen underlying asset and the Multiplier.","-468501352":"If you select this feature, your trade will be closed automatically at the nearest available asset price when your profit reaches or exceeds the take profit amount. Your profit may be more than the amount you entered depending on the market price at closing.","-477936848":"We use next-tick-execution mechanism, which is the next asset price when the trade opening is processed by our servers.","-1476381873":"The latest asset price when the trade closure is processed by our servers.","-148680560":"Spot price of the last tick upon reaching expiry.","-1123926839":"Contracts will expire at exactly 14:00:00 GMT on your selected expiry date.","-1904828224":"We’ll offer to buy your contract at this price should you choose to sell it before its expiry. This is based on several factors, such as the current spot price, duration, etc. However, we won’t offer a contract value if the remaining duration is below 24 hours.","-127118348":"Choose {{contract_type}}","-543478618":"Try checking your spelling or use a different term","-338707425":"Minimum duration is 1 day","-1003473648":"Duration: {{duration}} day","-700280380":"Deal cancel. fee","-8998663":"Digit: {{last_digit}} ","-718750246":"Your stake will grow at {{growth_rate}}% per tick as long as the current spot price remains within ±{{tick_size_barrier_percentage}} from the previous spot price.","-1358367903":"Stake","-542594338":"Max. payout","-690963898":"Your contract will be automatically closed when your payout reaches this amount.","-511541916":"Your contract will be automatically closed upon reaching this number of ticks.","-438655760":"<0>Note: You can close your trade anytime. Be aware of slippage risk.","-774638412":"Stake must be between {{min_stake}} {{currency}} and {{max_stake}} {{currency}}","-434270664":"Current Price","-1956787775":"Barrier Price:","-1513281069":"Barrier 2","-390994177":"Should be between {{min}} and {{max}}","-1231210510":"Tick","-2055106024":"Toggle between advanced and simple duration settings","-1012793015":"End time","-1804019534":"Expiry: {{date}}","-2037881712":"Your contract will be closed automatically at the next available asset price on <0>.","-629549519":"Commission <0/>","-2131859340":"Stop out <0/>","-1686280757":"<0>{{commission_percentage}}% of (<1/> * {{multiplier}})","-732683018":"When your profit reaches or exceeds this amount, your trade will be closed automatically.","-339236213":"Multiplier","-1763848396":"Put","-194424366":"above","-857660728":"Strike Prices","-1346404690":"You receive a payout at expiry if the spot price never touches or breaches the barrier throughout the contract duration. Otherwise, your contract will be terminated early.","-1572548510":"Ups & Downs","-71301554":"Ins & Outs","-952298801":"Look Backs","-763273340":"Digits","-2002533437":"Custom function","-215053350":"with:","-1257232389":"Specify a parameter name:","-1885742588":"with: ","-188442606":"function {{ function_name }} {{ function_params }} {{ dummy }}","-313112159":"This block is similar to the one above, except that this returns a value. The returned value can be assigned to a variable of your choice.","-1783320173":"Prematurely returns a value within a function","-1485521724":"Conditional return","-1482801393":"return","-46453136":"get","-1838027177":"first","-1182568049":"Get list item","-1675454867":"This block gives you the value of a specific item in a list, given the position of the item. It can also remove the item from the list.","-381501912":"This block creates a list of items from an existing list, using specific item positions.","-426766796":"Get sub-list","-1679267387":"in list {{ input_list }} find {{ first_or_last }} occurence of item {{ input_value }}","-2087996855":"This block gives you the position of an item in a given list.","-422008824":"Checks if a given list is empty","-1343887675":"This block checks if a given list is empty. It returns “True” if the list is empty, “False” if otherwise.","-1548407578":"length of {{ input_list }}","-1786976254":"This block gives you the total number of items in a given list.","-2113424060":"create list with item {{ input_item }} repeated {{ number }} times","-1955149944":"Repeat an item","-434887204":"set","-197957473":"as","-851591741":"Set list item","-1874774866":"ascending","-1457178757":"Sorts the items in a given list","-350986785":"Sort list","-324118987":"make text from list","-155065324":"This block creates a list from a given string of text, splitting it with the given delimiter. It can also join items in a list into a string of text.","-459051222":"Create list from text","-977241741":"List Statement","-451425933":"{{ break_or_continue }} of loop","-323735484":"continue with next iteration","-1592513697":"Break out/continue","-713658317":"for each item {{ variable }} in list {{ input_list }}","-1825658540":"Iterates through a given list","-952264826":"repeat {{ number }} times","-887757135":"Repeat (2)","-1608672233":"This block is similar to the block above, except that the number of times it repeats is determined by a given variable.","-533154446":"Repeat (1)","-1059826179":"while","-1893063293":"until","-279445533":"Repeat While/Until","-1003706492":"User-defined variable","-359097473":"set {{ variable }} to {{ value }}","-1588521055":"Sets variable value","-980448436":"Set variable","-1538570345":"Get the last trade information and result, then trade again.","-222725327":"Here is where you can decide if your bot should continue trading.","-1638446329":"Result is {{ win_or_loss }}","-1968029988":"Last trade result","-1588406981":"You can check the result of the last trade with this block.","-1459154781":"Contract Details: {{ contract_detail }}","-1652241017":"Reads a selected property from contract details list","-985351204":"Trade again","-2082345383":"These blocks transfer control to the Purchase conditions block.","-172574065":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract.","-403103225":"restart","-837044282":"Ask Price {{ contract_type }}","-1033917049":"This block returns the purchase price for the selected trade type.","-1863737684":"2. Purchase conditions","-228133740":"Specify contract type and purchase conditions.","-1098726473":"This block is mandatory. Only one copy of this block is allowed. You can place the Purchase block (see below) here as well as conditional blocks to define your purchase conditions.","-1777988407":"Payout {{ contract_type }}","-511116341":"This block returns the potential payout for the selected trade type","-1943211857":"Potential payout","-1738427539":"Purchase","-813464969":"buy","-53668380":"True if active contract can be sold before expiration at current market price","-43337012":"Sell profit/loss","-2112866691":"Returns the profit/loss from selling at market price","-2132417588":"This block gives you the potential profit or loss if you decide to sell your contract.","-1360483055":"set {{ variable }} to Bollinger Bands {{ band_type }} {{ dummy }}","-20542296":"Calculates Bollinger Bands (BB) from a list with a period","-1951109427":"Bollinger Bands (BB)","-857226052":"BB is a technical analysis indicator that’s commonly used by traders. The idea behind BB is that the market price stays within the upper and lower bands for 95% of the time. The bands are the standard deviations of the market price, while the line in the middle is a simple moving average line. If the price reaches either the upper or lower band, there’s a possibility of a trend reversal.","-325196350":"set {{ variable }} to Bollinger Bands Array {{ band_type }} {{ dummy }}","-199689794":"Similar to BB. This block gives you a choice of returning the values of either the lower band, higher band, or the SMA line in the middle.","-920690791":"Calculates Exponential Moving Average (EMA) from a list with a period","-960641587":"EMA is a type of moving average that places more significance on the most recent data points. It’s also known as the exponentially weighted moving average. EMA is different from SMA in that it reacts more significantly to recent price changes.","-1557584784":"set {{ variable }} to Exponential Moving Average Array {{ dummy }}","-32333344":"Calculates Moving Average Convergence Divergence (MACD) from a list","-628573413":"MACD is calculated by subtracting the long-term EMA (26 periods) from the short-term EMA (12 periods). If the short-term EMA is greater or lower than the long-term EMA than there’s a possibility of a trend reversal.","-1133676960":"Fast EMA Period {{ input_number }}","-883166598":"Period {{ input_period }}","-450311772":"set {{ variable }} to Relative Strength Index {{ dummy }}","-1861493523":"Calculates Relative Strength Index (RSI) list from a list of values with a period","-880048629":"Calculates Simple Moving Average (SMA) from a list with a period","-1150972084":"Market direction","-276935417":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of “True” or “False”.","-764931948":"in candle list get # from end {{ input_number }}","-924607337":"Returns the last digit of the latest tick","-560033550":"Returns the list of last digits of 1000 recent tick values","-74062476":"Make a List of {{ candle_property }} values in candles list with interval: {{ candle_interval_type }}","-1556495906":"Returns a list of specific values from a candle list according to selected time interval","-166816850":"Create a list of candle values (1)","-1261436901":"Candles List","-1174859923":"Read the selected candle value","-1972165119":"Read candle value (1)","-1956100732":"You can use this block to analyze the ticks, regardless of your trades","-443243232":"The content of this block is called on every tick. Place this block outside of any root block.","-641399277":"Last Tick","-1628954567":"Returns the value of the last tick","-1332756793":"This block gives you the value of the last tick.","-2134440920":"Last Tick String","-1466340125":"Tick value","-467913286":"Tick value Description","-785831237":"This block gives you a list of the last 1000 tick values.","-1546430304":"Tick List String Description","-1788626968":"Returns \"True\" if the given candle is black","-436010611":"Make a list of {{ candle_property }} values from candles list {{ candle_list }}","-1384340453":"Returns a list of specific values from a given candle list","-584859539":"Create a list of candle values (2)","-2010558323":"Read {{ candle_property }} value in candle {{ input_candle }}","-2846417":"This block gives you the selected candle value.","-1587644990":"Read candle value (2)","-1202212732":"This block returns account balance","-1737837036":"Account balance","-1963883840":"Put your blocks in here to prevent them from being removed","-1284013334":"Use this block if you want some instructions to be ignored when your bot runs. Instructions within this block won’t be executed.","-1217253851":"Log","-1987568069":"Warn","-104925654":"Console","-1956819233":"This block displays messages in the developer's console with an input that can be either a string of text, a number, boolean, or an array of data.","-1450461842":"Load block from URL: {{ input_url }}","-1088614441":"Loads blocks from URL","-1747943728":"Loads from URL","-2105753391":"Notify Telegram {{ dummy }} Access Token: {{ input_access_token }} Chat ID: {{ input_chat_id }} Message: {{ input_message }}","-1008209188":"Sends a message to Telegram","-1218671372":"Displays a notification and optionally play selected sound","-2099284639":"This block gives you the total profit/loss of your trading strategy since your bot started running. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-683825404":"Total Profit String","-718220730":"Total Profit String Description","-1861858493":"Number of runs","-264195345":"Returns the number of runs","-303451917":"This block gives you the total number of times your bot has run. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-2132861129":"Conversion Helper Block","-74095551":"Seconds Since Epoch","-15528039":"Returns the number of seconds since January 1st, 1970","-729807788":"This block returns the number of seconds since January 1st, 1970.","-1370107306":"{{ dummy }} {{ stack_input }} Run after {{ number }} second(s)","-558838192":"Delayed run","-1975250999":"This block converts the number of seconds since the Unix Epoch (1 January 1970) into a string of text representing the date and time.","-702370957":"Convert to date/time","-982729677":"Convert to timestamp","-311268215":"This block converts a string of text that represents the date and time into seconds since the Unix Epoch (1 January 1970). The time and time zone offset are optional. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825.","-1797602591":"Stop Loss: {{ currency }} {{ stop_loss }}","-1374685318":"Your contract is closed automatically when your loss is more than or equals to this amount. This block can only be used with the multipliers trade type.","-1214929127":"Stop loss must be a positive number.","-780745489":"If the contract type is “Both”, then the Purchase Conditions should include both Rise and Fall using the “Conditional Block\"","-2142851225":"Multiplier trade options","-625636913":"Amount must be a positive number.","-1466383897":"Duration: {{ duration_unit }} {{ duration_value }}","-440702280":"Trade options","-1193894978":"Define your trade options such as duration and stake. Some options are only applicable for certain trade types.","-46523443":"Duration value is not allowed. To run the bot, please enter a value between {{min}} to {{max}}.","-1483427522":"Trade Type: {{ trade_type_category }} > {{ trade_type }}","-323348124":"1. Trade parameters","-1671903503":"Run once at start:","-783173909":"Trade options:","-376956832":"Here is where you define the parameters of your contract.","-1244007240":"if {{ condition }} then","-1577206704":"else if","-33796979":"true","-1434883449":"This is a single block that returns a boolean value, either true or false.","-1946404450":"Compares two values","-979918560":"This block converts the boolean value (true or false) to its opposite.","-2047257743":"Null","-1274387519":"Performs selected logic operation","-766386234":"This block performs the \"AND\" or the \"OR\" logic operation.","-790995537":"test {{ condition }}","-1860211657":"if false {{ return_value }}","-1643760249":"This block tests if a given value is true or false and returns “True” or “False” accordingly.","-1551875333":"Test value","-52486882":"Arithmetical operations","-1010436425":"This block adds the given number to the selected variable","-999773703":"Change variable","-1272091683":"Mathematical constants","-1396629894":"constrain {{ number }} low {{ low_number }} high {{ high_number }}","-425224412":"This block constrains a given number so that it is within a set range.","-2072551067":"Constrain within a range","-43523220":"remainder of {{ number1 }} ÷ {{ number2 }}","-1291857083":"Returns the remainder after a division","-592154850":"Remainder after division","-736665095":"Returns the remainder after the division of the given numbers.","-1266992960":"Math Number Description","-77191651":"{{ number }} is {{ type }}","-817881230":"even","-142319891":"odd","-1000789681":"whole","-1735674752":"Test a number","-1017805068":"This block tests a given number according to the selection and it returns a value of “True” or “False”. Available options: Even, Odd, Prime, Whole, Positive, Negative, Divisible","-1858332062":"Number","-1053492479":"Enter an integer or fractional number into this block. Please use `.` as a decimal separator for fractional numbers.","-927097011":"sum","-1653202295":"max","-1555878023":"average","-1748351061":"mode","-992067330":"Aggregate operations","-1691561447":"This block gives you a random fraction between 0.0 to 1.0","-523625686":"Random fraction number","-933024508":"Rounds a given number to an integer","-1656927862":"This block rounds a given number according to the selection: round, round up, round down.","-1495304618":"absolute","-61210477":"Operations on a given number","-181644914":"This block performs the selected operations to a given number.","-840732999":"to {{ variable }} append text {{ input_text }}","-1469497908":"Appends a given text to a variable","-1851366276":"Text Append","-1666316828":"Appends a given text to a variable.","-1902332770":"Transform {{ input_text }} to {{ transform_type }}","-1489004405":"Title Case","-904432685":"Changes text case accordingly","-882381096":"letter #","-1027605069":"letter # from end","-2066990284":"random letter","-337089610":"in text {{ input_text1 }} find {{ first_or_last }} occurence of text {{ input_text2 }}","-1966694141":"Searches through a string of text for a specific occurrence of a given character or word, and returns the position.","-697543841":"Text join","-141160667":"length of {{ input_text }}","-1133072029":"Text String Length","-1109723338":"print {{ input_text }}","-736668830":"Print","-1631669591":"string","-1768939692":"number","-1821552998":"trim spaces from {{ side }} of {{ input_text }}","-801766026":"right side","-474779821":"Trims spaces","-1687036846":"Download block","-1266781295":"Expand","-894560707":"function","-1867119688":"Duplicate","-610728049":"Rearrange Vertically","-2033146714":"Collapse All Blocks","-958601558":"Delete Block","-1193267384":"Detach Block","-1750478127":"New variable name","-1061878051":"Y","-2047029150":"Unable to load the block file.","-1410769167":"Target must be an XML file","-609157479":"This URL is already loaded","-241945454":"Proposals are not ready","-1087890592":"Maximum loss amount reached","-1030545878":"You are rate limited for: {{ message_type }}, retrying in {{ delay }}s (ID: {{ request }})","-490766438":"You are disconnected, retrying in {{ delay }}s","-1389975609":"unknown","-1900515692":"Duration must be a positive integer","-245297595":"Please login","-1445046468":"Given candle is not valid","-1891622945":"{{hourPast}}h ago","-1919680487":"workspace","-1703118772":"The {{block_type}} block is misplaced from {{missing_space}}.","-1785726890":"purchase conditions","-461955353":"purchase price","-172348735":"profit","-1624674721":"contract type","-1644154369":"entry spot time","-510792478":"entry spot price","-1974651308":"exit spot time","-1600267387":"exit spot price","-514917720":"barrier","-1072292603":"No Change","-795152863":"green","-1640576332":"blue","-804983649":"yellow","-94281841":"red","-1242470654":"Earned money","-841561409":"Put Spread","-1429914047":"Low","-1893628957":"Open Time","-1896106455":"10 minutes","-999492762":"15 minutes","-1978767852":"30 minutes","-293628675":"1 hour","-385604445":"2 hours","-1965813351":"4 hours","-525321833":"1 day","-1691868913":"Touch/No Touch","-151151292":"Asians","-1048378719":"Reset Call/Reset Put","-1282312809":"High/Low Ticks","-1237186896":"Only Ups/Only Downs","-529846150":"Seconds","-1635771697":"middle","-1529389221":"Histogram","-1819860668":"MACD","-1750896349":"D'Alembert","-102980621":"The Oscar's Grind Strategy is a low-risk positive progression strategy that first appeared in 1965. By using this strategy, the size of your contract will increase after successful trades, but remains unchanged after unsuccessful trades.","-462715374":"Untitled Bot","-280147477":"All transactions","-137444201":"Buy","-130601012":"Please select duration","-232254547":"Custom","-1577570698":"Start date","-1251526905":"Last 7 days","-1904030160":"Transaction performed by (App ID: {{app_id}})","-1876891031":"Currency","-513103225":"Transaction time","-2066666313":"Credit/Debit","-1981004241":"Sell time","-1196431745":"Contract cost","-3423966":"Take profit<0 />Stop loss","-1131753095":"The {{trade_type_name}} contract details aren't currently available. We're working on making them available soon.","-360975483":"You've made no transactions of this type during this period.","-1226595254":"Turbos","-922253974":"Rise/Fall","-1361254291":"Higher/Lower","-335816381":"Ends In/Ends Out","-1789807039":"Asian Up/Asian Down","-330437517":"Matches/Differs","-657360193":"Over/Under","-558031309":"High Tick/Low Tick","-123659792":"Vanillas","-447037544":"Buy price:","-737348236":"Contract cost:","-1694314813":"Contract value:","-113940416":"Current stake:","-1999539705":"Deal cancel. fee:","-155989831":"Decrement value","-338379841":"Indicative price:","-2027409966":"Initial stake:","-1769852749":"N/A","-726626679":"Potential profit/loss:","-1511825574":"Profit/Loss:","-1167474366":"Tick ","-1669418686":"AUD/CAD","-1548588249":"AUD/CHF","-1552890620":"AUD/JPY","-681231560":"AUD/PLN","-64938413":"AUD/USD","-1430522808":"EUR/AUD","-2020477069":"EUR/CAD","-1201853162":"EUR/CHF","-1318070255":"EUR/GBP","-1197505739":"EUR/JPY","-405907358":"EUR/USD","-1536293064":"NZD/JPY","-79700881":"NZD/USD","-642323838":"USD/CAD","-428199705":"USD/CHF","-424108348":"USD/JPY","-548255282":"USD/NOK","-1834131208":"USD/PLN","-524302516":"Silver/USD","-764731776":"Platinum/USD","-853582174":"France 40","-1096386695":"UK 100","-617646862":"Germany 40","-2077690248":"Japan 225","-512194910":"US Tech 100","-381746202":"US 500","-1935463381":"Swiss 20","-1941767726":"Euro 50","-1925264914":"Volatility 25 Index","-708579504":"Volatility 50 Index","-975255670":"Volatility 75 Index","-1736314513":"Crash 300 Index","-342128411":"Crash 500 Index","-9704319":"Crash 1000 Index","-465860988":"Bull Market Index","-390528194":"Step Index","-280323742":"EUR Basket","-563812039":"Volatility 10 (1s) Index","-82971929":"Volatility 25 (1s) Index","-433962508":"Volatility 75 (1s) Index","-764111252":"Volatility 100 (1s) Index","-816110209":"Volatility 150 (1s) Index","-1374309449":"Volatility 200 (1s) Index","-1288044380":"Volatility 250 (1s) Index","-1164978320":"Jump 10 Index","-575272887":"BCH/USD","-295406873":"BTC/ETH","-1713556301":"ZMR/USD","-2046638412":"XRP/USD","-1263203461":"BTC/USD","-1112522776":"DSH/USD","-460689370":"LTC/USD","-132112961":"Sharkfin","-1715390759":"I want to do this later","-56163366":"I don't have any of these","-175164838":"{{seconds_passed}}s ago","-514136557":"{{minutes_passed}}m ago","-1420737287":"{{hours_passed}}h ago","-2092611555":"Sorry, this app is unavailable in your current location.","-1488537825":"If you have an account, log in to continue.","-1603581277":"minutes","-886317740":"The <0>date of birth on your identity document doesn't match your profile.","-1606307809":"We were unable to verify the identity document with the details provided.","-475787720":"The verification status was empty, rejected for lack of information.","-1627868670":"Your identity document has expired.","-1302288704":"The document’s owner is deceased.","-895884696":"The <0>name and <0>date of birth on your identity document don't match your profile.","-1231856133":"The verification status is not available, provider says: Needs Technical Investigation.","-433687715":"For enhanced security, we need to reverify your identity. Kindly resubmit your proof of identity to unlock your account.","-1637538521":"Your document appears to be invalid.","-876579004":"The name on your document doesn’t match your profile.","-746520172":"Some details on your document appear to be invalid, missing, or unclear.","-2146200521":"The serial number of your document couldn’t be verified.","-1945323197":"Your document appears to be in black and white. Please upload a colour photo of your document.","-631393256":"Your document contains markings or text that should not be on your document.","-609103016":"The image quality of your document is too low. Please provide a hi-res photo of your identity document.","-530935718":"We’re unable to verify the document you provided because some details appear to be missing. Please try again or provide another document.","-1027031626":"We’re unable to verify the document you provided because it appears to be damaged. Please try again or upload another document.","-1671621833":"The front of your document appears to be missing. Please provide both sides of your identity document.","-727588232":"Your document appears to be a scanned copy that contains markings or text that shouldn’t be on your document.","-1435064387":"Your document appears to be a printed copy.","-624316211":"Your document appears to be a photo of a device screen.","-1714959941":"This chart display is not ideal for tick contracts","-1254554534":"Please change the chart duration to tick for a better trading experience.","-1658230823":"Contract was sold for <0 />.","-1905867404":"Contract cancelled"} \ No newline at end of file diff --git a/packages/translations/src/translations/ach.json b/packages/translations/src/translations/ach.json index f41e39e93c72..3a3235098ee8 100644 --- a/packages/translations/src/translations/ach.json +++ b/packages/translations/src/translations/ach.json @@ -1381,6 +1381,7 @@ "1415006332": "crwdns1261105:0crwdne1261105:0", "1415513655": "crwdns2981017:0crwdne2981017:0", "1415974522": "crwdns1261107:0crwdne1261107:0", + "1416521695": "crwdns5288764:0crwdne5288764:0", "1417558007": "crwdns1261109:0crwdne1261109:0", "1417907460": "crwdns5141360:0crwdne5141360:0", "1417914636": "crwdns1261111:0crwdne1261111:0", @@ -3669,6 +3670,7 @@ "-1043795232": "crwdns120656:0crwdne120656:0", "-153220091": "crwdns117884:0{{display_value}}crwdne117884:0", "-802374032": "crwdns81143:0crwdne81143:0", + "-663862998": "crwdns5288766:0crwdne5288766:0", "-1052279158": "crwdns3478678:0crwdne3478678:0", "-1819891401": "crwdns3286908:0crwdne3286908:0", "-231957809": "crwdns89596:0crwdne89596:0", diff --git a/packages/translations/src/translations/ar.json b/packages/translations/src/translations/ar.json index dad47577670a..91b74e4b4fd5 100644 --- a/packages/translations/src/translations/ar.json +++ b/packages/translations/src/translations/ar.json @@ -1381,6 +1381,7 @@ "1415006332": "احصل على قائمة فرعية من البداية", "1415513655": "قم بتنزيل cTrader على هاتفك للتداول باستخدام حساب Deriv cTrader", "1415974522": "إذا اخترت «Differs»، فستفوز بالعائد إذا كان الرقم الأخير من العلامة الأخيرة مختلفًا عن توقعاتك.", + "1416521695": "Positions", "1417558007": "الحد الأقصى للخسارة الإجمالية على مدى 7 أيام", "1417907460": "لا توجد مشكلة! لا يزال مفتاح المرور الخاص بك يعمل.", "1417914636": "رمز تسجيل الدخول ", @@ -3669,6 +3670,7 @@ "-1043795232": "المناصب الأخيرة", "-153220091": "{{display_value}} علامة", "-802374032": "ساعة", + "-663862998": "الأسواق", "-1052279158": "<0>الصرف الخاص بك هو مجموع حصتك الأولية والأرباح.", "-1819891401": "يمكنك إغلاق تداولك في أي وقت. ومع ذلك، كن على دراية <0>بمخاطر الانزلاق.", "-231957809": "اربح أقصى عائد إذا كانت نقطة الخروج أعلى من الحاجز العلوي أو مساوية له.", diff --git a/packages/translations/src/translations/bn.json b/packages/translations/src/translations/bn.json index b626d4786d0e..1f5e26a620cd 100644 --- a/packages/translations/src/translations/bn.json +++ b/packages/translations/src/translations/bn.json @@ -1381,6 +1381,7 @@ "1415006332": "প্রথম থেকে সাব-লিস্ট পেতে", "1415513655": "Deriv cTrader অ্যাকাউন্টে ট্রেড করতে আপনার ফোনে cTrader ডাউনলোড করুন", "1415974522": "আপনি যদি “Differs” নির্বাচন করেন, তাহলে শেষ টিকের শেষ অঙ্কটি আপনার ভবিষ্যদ্বাণীর মতই না হলে আপনি অর্থ প্রদান জিতবেন।", + "1416521695": "Positions", "1417558007": "সর্বোচ্চ। 7 দিনের মধ্যে মোট ক্ষতি", "1417907460": "কোন সমস্যা নেই! আপনার পাসকি এখনও কাজ করে।", "1417914636": "লগইন আইডি", @@ -3669,6 +3670,7 @@ "-1043795232": "সাম্প্রতিক অবস্থান", "-153220091": "{{display_value}} টিক", "-802374032": "ঘণ্টা", + "-663862998": "মার্কেটস", "-1052279158": "আপনার <0>পেআউট হল আপনার প্রাথমিক ষ্টেক এবং লাভের যোগফল।", "-1819891401": "আপনি যেকোনো সময় আপনার ট্রেড বন্ধ করতে পারেন। যাইহোক, <0>স্লিপেজ ঝুঁকি সম্পর্কে সচেতন থাকুন।", "-231957809": "প্রস্থান স্পট উপরের বাধার চেয়ে বেশি বা সমান হলে সর্বাধিক পেআউট জিতুন।", diff --git a/packages/translations/src/translations/de.json b/packages/translations/src/translations/de.json index 449b2792061b..21e1423ddacd 100644 --- a/packages/translations/src/translations/de.json +++ b/packages/translations/src/translations/de.json @@ -1381,6 +1381,7 @@ "1415006332": "Unterliste von Anfang an abrufen", "1415513655": "Laden Sie cTrader auf Ihr Handy herunter, um mit dem Deriv cTrader-Konto zu handeln", "1415974522": "Wenn Sie \"Differs\" wählen, gewinnen Sie die Auszahlung, wenn die letzte Digit des letzten Häkchens nicht mit Ihrer Vorhersage übereinstimmt.", + "1416521695": "Positions", "1417558007": "Max. Gesamtverlust über 7 Tage", "1417907460": "Kein Problem! Ihr Passkey funktioniert noch.", "1417914636": "Anmelde-ID", @@ -3669,6 +3670,7 @@ "-1043795232": "Aktuelle Positionen", "-153220091": "{{display_value}} Häkchen", "-802374032": "Stunde", + "-663862998": "Märkte", "-1052279158": "Ihre <0>Auszahlung ist die Summe aus Ihrem ursprünglichen Einsatz und Ihrem Gewinn.", "-1819891401": "Sie können Ihren Handel jederzeit schließen. Achten Sie jedoch auf das <0>Slippage-Risiko.", "-231957809": "Gewinnen Sie die maximale Auszahlung, wenn der Ausgangspunkt höher oder gleich der oberen Barriere ist.", diff --git a/packages/translations/src/translations/es.json b/packages/translations/src/translations/es.json index 18dfc6898fee..43e31eb7f4ce 100644 --- a/packages/translations/src/translations/es.json +++ b/packages/translations/src/translations/es.json @@ -1381,6 +1381,7 @@ "1415006332": "obtener sublista desde el primero", "1415513655": "Descargue cTrader en su teléfono para operar con la cuenta Deriv cTrader", "1415974522": "Si selecciona \"Differs\", ganará el pago si el último dígito del último tick no coincide con su predicción.", + "1416521695": "Positions", "1417558007": "Pérdida máx. total durante 7 días", "1417907460": "No hay problema. Su clave de acceso sigue funcionando.", "1417914636": "ID de acceso", @@ -3669,6 +3670,7 @@ "-1043795232": "Posiciones recientes", "-153220091": "{{display_value}} Tick", "-802374032": "Hora", + "-663862998": "Mercados", "-1052279158": "Su <0>pago es la suma de su inversión inicial y su ganancia.", "-1819891401": "Puede cerrar su operación en cualquier momento. Sin embargo, tenga en cuenta el <0>riesgo de deslizamiento.", "-231957809": "Gane el pago máximo si el punto de salida es más alto o igual que la barrera superior.", diff --git a/packages/translations/src/translations/fr.json b/packages/translations/src/translations/fr.json index 8b943b9639c9..cee8ee2ab090 100644 --- a/packages/translations/src/translations/fr.json +++ b/packages/translations/src/translations/fr.json @@ -1381,6 +1381,7 @@ "1415006332": "obtenir la sous-liste du premier", "1415513655": "Téléchargez cTrader sur votre téléphone pour trader avec le compte Deriv cTrader", "1415974522": "Si vous sélectionnez « Differs », vous gagnez si le dernier chiffre du dernier tick n'est pas égal à votre prédiction.", + "1416521695": "Positions", "1417558007": "Max. totale perte sur 7 jours", "1417907460": "Pas de problème ! Votre mot de passe fonctionne toujours.", "1417914636": "Identifiant de connexion", @@ -3669,6 +3670,7 @@ "-1043795232": "Positions récentes", "-153220091": "{{display_value}} Tick", "-802374032": "Heure", + "-663862998": "Marchés", "-1052279158": "Votre <0>gain correspond à la somme de votre mise initiale et de votre profit.", "-1819891401": "Vous pouvez clôturer votre contrat à tout moment. Cependant, soyez conscient du <0>risque de dérapage.", "-231957809": "Gagnez le paiement maximum si le spot de sortie est supérieur ou égal à la barrière supérieure.", diff --git a/packages/translations/src/translations/it.json b/packages/translations/src/translations/it.json index d19b3a77cdac..edb171b30210 100644 --- a/packages/translations/src/translations/it.json +++ b/packages/translations/src/translations/it.json @@ -1381,6 +1381,7 @@ "1415006332": "ottieni sotto elenco dai primi", "1415513655": "Scarichi cTrader sul suo telefono per fare trading con il conto Deriv cTrader", "1415974522": "Selezionando \"Differs\", vincerai il payout se l'ultima cifra dell'ultimo tick non è quella della tua previsione.", + "1416521695": "Positions", "1417558007": "Perdita massima totale su 7 giorni", "1417907460": "Nessun problema! La sua chiave di accesso funziona ancora.", "1417914636": "ID d'accesso", @@ -3669,6 +3670,7 @@ "-1043795232": "Posizioni recenti", "-153220091": "{{display_value}} tick", "-802374032": "Ora", + "-663862998": "Mercati", "-1052279158": "La sua <0>payout è la somma della puntata iniziale e del profitto.", "-1819891401": "Può chiudere l'operazione in qualsiasi momento. Tuttavia, faccia attenzione al <0>rischio di slippage.", "-231957809": "Vinci il payout massimo se lo spot di uscita è superiore o uguale alla barriera superiore.", diff --git a/packages/translations/src/translations/ko.json b/packages/translations/src/translations/ko.json index 1090eff6e8d7..f617f0359b2b 100644 --- a/packages/translations/src/translations/ko.json +++ b/packages/translations/src/translations/ko.json @@ -1381,6 +1381,7 @@ "1415006332": "첫번째로부터 하부 목록 받기", "1415513655": "휴대폰에 cTrader를 다운로드하여 파생 cTrader 계정으로 거래하세요.", "1415974522": "귀하께서 만약 \"Differs\"을 선택하시면, 마지막 틱의 마지막 숫자가 귀하의 예측과 같지 않을 때에 귀하께서 지불금을 받습니다.", + "1416521695": "Positions", "1417558007": "7일간에 걸친 최대 총 손실", "1417907460": "문제 없습니다! 암호 키는 여전히 작동합니다.", "1417914636": "로그인 아이디", @@ -3669,6 +3670,7 @@ "-1043795232": "최근 포지션", "-153220091": "{{display_value}} 틱", "-802374032": "시간", + "-663862998": "시장", "-1052279158": "<0>지급금은 초기 지분과 수익의 합계입니다.", "-1819891401": "언제든지 거래를 청산할 수 있습니다. 하지만 <0>슬리피지 위험에 유의하세요.", "-231957809": "귀하의 엑싯 스팟이 상위 장벽과 같거나 높을 경우 최대 지불금을 획득하세요.", diff --git a/packages/translations/src/translations/mn.json b/packages/translations/src/translations/mn.json index ae3ef6cb4f8e..0c8af20eb921 100644 --- a/packages/translations/src/translations/mn.json +++ b/packages/translations/src/translations/mn.json @@ -37,38 +37,38 @@ "46523711": "Таны иргэний үнэмлэхний нотолгоо баталгаажсан", "49404821": "Хэрэв та \"<0>{{trade_type}}\" сонголтыг худалдаж авбал эцсийн үнэ нь ажил хаялтын үнэ {{payout_status}} бол хугацаа дуусах үед төлбөр авах болно. Үгүй бол таны “<0>{{trade_type}}” сонгол тын хугацаа үнэ цэнэгүй хугацаа дуусна.", "53801223": "Хонг Конг 50", - "53964766": "5. Ботоо татаж авахын тулд Save дээр дарна уу. Та өөрийн ботыг төхөөрөмж эсвэл Google Drive дээрээ татаж авахыг сонгож болно.", + "53964766": "5. Ботоо татаж авахын тулд Save дээр дарна уу. Та өөрийн ботыг төхөөрөмжрүүгээ эсвэл Google Drive дээрээ татаж авч болно.", "54185751": "100,000 доллараас бага", "55340304": "Одоогийн гэрээгээ хадгалах уу?", "55916349": "Бүгд", "57362642": "Хаасан", "58254854": "Хамрах хүрээ", - "59169515": "Хэрэв та “Asian Rise” -г сонговол сүүлийн шалз нь хачгийн дунджаас өндөр байвал төлбөрийг хожих болно.", - "59341501": "Танигдаагүй файлын формат", + "59169515": "Хэрэв та “Asian Rise” -г сонговол сүүлийн tick нь дундаж tick-ээс өндөр байвал хожих болно.", + "59341501": "Танигдахгүй файлын формат", "59662816": "Тодорхойлсон хязгаарлалтыг урьдчилан мэдэгдэлгүйгээр өөрчлөх боломжтой.", "62748351": "Жагсаалтын урт", "63869411": "Энэ блок нь тухайн дугаарыг сонгон шалгаруулалтын дагуу туршиж үздэг", "64402604": "Шилжүүлгийн мэдээллийг шалгана уу", - "65185694": "Фиат онрамп", + "65185694": "Fiat onramp", "65982042": "Нийт", "66519591": "хөрөнгө оруулагчийн нууц үг", - "66610627": "Бид таны селфиг тодорхойгүй байгаа учраас баталгаажуулах боломжгүй болсон. Тодорхой зураг аваад дахин оролдоно уу. Хаана чинь хангалттай гэрэл байгаа эсэхийг шалгаарай, царай чинь бүхэлдээ хүрээндээ байгаа эсэхийг шалгаарай.", - "67923436": "Үгүй ээ, таны вэб хөтөч хаагдсан үед Deriv Bot ажиллуулахаа болих болно.", + "66610627": "Таны селфи бүрсгэр/ тодорхойгүй байгаа учраас бид баталгаажуулах боломжгүй байна. Илүү тод зураг аваад дахин оролдоно уу. Хангалттай гэрэлтэй газар, царайгаа бүтэн гаргаж зургаа аваарай.", + "67923436": "Үгүй, таны вэб хөтөч хаагдсан үед Deriv Bot ажиллахаа болих болно.", "68885999": "Алдаа гарсан үед өмнөх арилжааг давтана.", "69005593": "Доорх жишээ нь 1 минутын лаа эхэлснээс хойш 30 ба түүнээс дээш секундын дараа арилжааг дахин эхлүүлдэг.", - "71016232": "ОМГ/АМ.ДОЛЛАР", - "71232823": "Санхүүдийг удирдах", + "71016232": "OMG/USD", + "71232823": "Санхүүг удирдах", "71445658": "Нээлттэй", - "71563326": "Хурдан, аюулгүй fiat-to-crypto төлбөрийн үйлчилгээ. Кредит/дебит карт, банкны шилжүүлэг ашиглан дэлхийн хаанаас ч криптовалютыг хадгалуулна уу.", + "71563326": "Хурдан, аюулгүй fiat-to-crypto төлбөрийн үйлчилгээ. Кредит/дебит карт, банкны шилжүүлэг ашиглан дэлхийн хаанаас ч криптовалютаар мөнгө байршуулах боломжтой.", "71853457": "$100,001 - $500,000", "72500774": "Татварын оршин суух газрыг бөглөнө үү.", - "73086872": "Та өөрийгөө арилжаанаас хассан", - "73326375": "Хамгийн бага нь гэрээний хугацаанд зах зээлд хүрсэн хамгийн доод цэг юм.", + "73086872": "Та өөрийгөө арилжаанаас хассан байна", + "73326375": "Хамгийн бага нь гэрээний хугацаанд зах зээлийн хамгийн доод цэгт хүрсэн цэг юм.", "74963864": "Доор", - "76635112": "Цааш үргэлжлүүлэхийн тулд эдгээр баримт бичгийг дахин ирүүлнэ үү", - "76916358": "Та татгалзах хязгаарт хүрсэн байна. <0/> таны гарах үргэлжлүүлэхийн тулд хязгаарыг өргөх өөрийн биеийн байцаалт болон хаягийг нотлох баримтаа байршуулна уу.", + "76635112": "Цааш үргэлжлүүлэхийн тулд эдгээр баримт бичгийг дахин илгээнэ үү", + "76916358": "Таны татган авалтын лимит хэтэрсэн байна. <0/> таны татан авалтын лимитээ нэмж үргэлжлүүлэхийн тулд өөрийн ID болон оршин суугаа хаягийг нотлох баримтаа байршуулна уу.", "76925355": "Өөрийн ботын гүйцэтгэлийг шалгана уу", - "77982950": "Ванилийн сонголтууд нь “Дуудлага” эсвэл “Put” худалдан авах замаар үндсэн хөрөнгийн дээшээ (bullish) эсвэл доошоо (bearish) чиглэлийг урьдчилан таамаглах боломжийг олгодог.", + "77982950": "Vanilla options нь “Call” эсвэл “Put” худалдан авах замаар үндсэн хөрөнгийн дээшээ (bullish) эсвэл доошоо (bearish) чиглэлийг урьдчилан таамаглах боломжийг олгодог.", "81091424": "Шинэчлэлтийг дуусгахын тулд илүү их данс нэмэх, Түрийвчтэйгээ гүйлгээ хийхийн тулд нэвтэрч, дахин нэвтэрнэ үү.", "81450871": "Бид тэр хуудсыг олж чадсангүй", "82839270": "Таны зургийг агуулсан паспортынхаа хуудсыг байршуулна уу.", @@ -1381,6 +1381,7 @@ "1415006332": "дэд жагсаалтыг эхнээс нь авах", "1415513655": "Deriv cTrader дансаар худалдаа хийхийн тулд утсан дээрээ cTrader-ийг татаж аваарай", "1415974522": "Хэрэв та “Ялгаатай” -г сонговол сүүлийн шалчигийн сүүлчийн оронтой таны таамаглалтай адилгүй бол төлбөрийг ялах болно.", + "1416521695": "Positions", "1417558007": "Макс. 7 хоногийн хугацаанд нийт алдагдал", "1417907460": "Асуудалгүй! Таны нууц үг одоо ч ажилладаг.", "1417914636": "Нэвтрэх ID", @@ -3669,6 +3670,7 @@ "-1043795232": "Сүүлийн үеийн байр суурь", "-153220091": "{{display_value}} Тик", "-802374032": "Цаг", + "-663862998": "Markets", "-1052279158": "Таны <0>төлбөр нь таны анхны хувьцаа болон ашгийн нийлбэр юм.", "-1819891401": "Та хэзээ ч худалдаагаа хааж болно. Гэсэн хэдий ч гулсалтын эрсдэл <0>ийг анхаараарай.", "-231957809": "Гарах цэг дээд саад бэрхшээлээс өндөр буюу тэнцүү бол хамгийн их төлбөрийг ялах.", diff --git a/packages/translations/src/translations/pl.json b/packages/translations/src/translations/pl.json index 2d0db70c8e55..353cbe9d8989 100644 --- a/packages/translations/src/translations/pl.json +++ b/packages/translations/src/translations/pl.json @@ -1381,6 +1381,7 @@ "1415006332": "uzyskaj listę podrzędną z pierwszej", "1415513655": "Proszę pobrać cTrader na swój telefon, aby handlować na rachunku Deriv cTrader", "1415974522": "Jeśli wybierzesz „Differs”, zdobędziesz wypłatę, gdy ostatnia cyfra ostatniego ticku (najmniejszego przyrostu ceny) jest inna niż Twoje przewidywania.", + "1416521695": "Positions", "1417558007": "Całkowita maks. strata w ciągu 7 dni", "1417907460": "Nie ma problemu! Twoje hasło nadal działa.", "1417914636": "Login", @@ -3669,6 +3670,7 @@ "-1043795232": "Ostatnie pozycje", "-153220091": "{{display_value}} Tick", "-802374032": "Godzina", + "-663862998": "Rynki", "-1052279158": "Twoja <0>wypłata to suma początkowej stawki i zysku.", "-1819891401": "Mogą Państwo zamknąć transakcję w dowolnym momencie. Proszę jednak pamiętać o <0>ryzyku poślizgu.", "-231957809": "Zyskasz najwyższą wypłatę, jeśli punt wyjściowy będzie wyższy niż górny limit lub równy.", diff --git a/packages/translations/src/translations/pt.json b/packages/translations/src/translations/pt.json index 15fbe3ea7c85..ca8c62d94464 100644 --- a/packages/translations/src/translations/pt.json +++ b/packages/translations/src/translations/pt.json @@ -1381,6 +1381,7 @@ "1415006332": "obtenha uma sublista a partir do primeiro", "1415513655": "Descarregue a cTrader no seu telemóvel para negociar com a conta Deriv cTrader", "1415974522": "Se selecionar \"Differs\", recebe o pagamento se o último dígito do último tick não for o mesmo que a sua previsão.", + "1416521695": "Positions", "1417558007": "Perda total máxima em 7 dias", "1417907460": "Não tem problema! A sua chave de acesso ainda funciona.", "1417914636": "ID de login", @@ -3669,6 +3670,7 @@ "-1043795232": "Posições recentes", "-153220091": "{{display_value}} Tick", "-802374032": "Hora", + "-663862998": "Mercados", "-1052279158": "O <0>pagamento<0> é a soma da entrada inicial e do lucro.", "-1819891401": "Pode fechar a sua negociação em qualquer altura. No entanto, esteja ciente do <0>risco de derrapagem.", "-231957809": "Ganhe o pagamento máximo se o preço de fecho for maior ou igual à barreira superior.", diff --git a/packages/translations/src/translations/ru.json b/packages/translations/src/translations/ru.json index 68be0bf6fa13..8cf91f0eed43 100644 --- a/packages/translations/src/translations/ru.json +++ b/packages/translations/src/translations/ru.json @@ -1381,6 +1381,7 @@ "1415006332": "получить подсписок из", "1415513655": "Загрузите cTrader на телефон, чтобы торговать со счета Deriv cTrader", "1415974522": "Если вы выбираете \"Differs\", вы выигрываете, если последняя десятичная последней котировки не соответствует вашему прогнозу.", + "1416521695": "Positions", "1417558007": "Макс. размер потерь за 7 дней", "1417907460": "Нет проблем! Ваш пропуск по-прежнему работает.", "1417914636": "Логин", @@ -3669,6 +3670,7 @@ "-1043795232": "Недавние позиции", "-153220091": "{{display_value}} Тик", "-802374032": "Час.", + "-663862998": "Рынки", "-1052279158": "Ваша <0>выплата – это сумма первоначальной ставки и прибыли.", "-1819891401": "Вы можете закрыть свою сделку в любое время. Однако помните о <0>риске проскальзывания.", "-231957809": "Максимальная выплата, если спот-котировка выше или равна верхнему барьеру.", diff --git a/packages/translations/src/translations/si.json b/packages/translations/src/translations/si.json index 3fcd5883a207..d14aa5a8aa48 100644 --- a/packages/translations/src/translations/si.json +++ b/packages/translations/src/translations/si.json @@ -1381,6 +1381,7 @@ "1415006332": "පළමු උප ලැයිස්තුව ලබා ගන්න", "1415513655": "Deriv cTrader ගිණුම සමඟ ගනුදෙනු කිරීම සඳහා ඔබේ දුරකථනයෙන් cTrader බාගන්න", "1415974522": "ඔබ \"Differs\" තෝරා ගන්නේ නම්, අවසාන ටික් එකෙහි අවසාන ඉලක්කම් ඔබේ පුරෝකථනයට සමාන නොවන්නේ නම් ඔබ ගෙවීම දිනා ගනු ඇත.", + "1416521695": "Positions", "1417558007": "දින 7ක් තුළ උපරිම සම්පූර්ණ අලාභය", "1417907460": "ප්‍රශ්නයක් නැත! ඔබේ passkey එක තවමත් ක්‍රියා කරයි.", "1417914636": "පිවිසුම් හැඳුනුම්පත", @@ -3669,6 +3670,7 @@ "-1043795232": "මෑත කාලීන ස්ථාන", "-153220091": "{{display_value}} ටික් එක", "-802374032": "පැය", + "-663862998": "Markets", "-1052279158": "ඔබේ <0>ගෙවීම ඔබේ ආරම්භක කොටස්වල හා ලාභයේ එකතුවයි.", "-1819891401": "ඔබට ඕනෑම වේලාවක ඔබේ ගනුදෙනුව වසා දැමිය හැක. කෙසේ වෙතත්, <0>ලිස්සුම් අවදානම පිළිබඳව දැනුවත් වන්න.", "-231957809": "පිටවීමේ ස්ථානය පහළ බාධකයට වඩා අඩු හෝ සමාන නම් උපරිම ගෙවීම් දිනා ගන්න.", diff --git a/packages/translations/src/translations/sw.json b/packages/translations/src/translations/sw.json index 9d226d978f42..ab2cc6018e44 100644 --- a/packages/translations/src/translations/sw.json +++ b/packages/translations/src/translations/sw.json @@ -1381,6 +1381,7 @@ "1415006332": "pata orodha ndogo kutoka kwanza", "1415513655": "Pakua cTrader kwenye simu yako ili kufanya biashara na akaunti ya Deriv cTrader", "1415974522": "Ukichagua “Differs”, utashinda malipo ikiwa tarakimu ya mwisho katika tick ya mwisho sio sawa na utabiri wako.", + "1416521695": "Positions", "1417558007": "Max. jumla ya hasara kwa zaidi ya siku 7", "1417907460": "Hakuna tatizo! Passkey yako bado inafanya kazi.", "1417914636": "ID ya kuingia", @@ -3669,6 +3670,7 @@ "-1043795232": "Nafasi za hivi karibuni", "-153220091": "{{display_value}} Tick", "-802374032": "Saa", + "-663862998": "Masoko", "-1052279158": "<0>Malipo yako ni jumla ya dau lako la awali na faida.", "-1819891401": "Unaweza kufunga biashara yako wakati wowote. Walakini, fahamu <0>hatari ya kuteleza.", "-231957809": "Shinda malipo ya juu ikiwa mahali pa kuondoka ni kubwa kuliko au sawa na kizuizi cha juu.", diff --git a/packages/translations/src/translations/th.json b/packages/translations/src/translations/th.json index 6d88e597b364..b93799fda1a0 100644 --- a/packages/translations/src/translations/th.json +++ b/packages/translations/src/translations/th.json @@ -1381,6 +1381,7 @@ "1415006332": "รับลิสต์รายการย่อยจาก", "1415513655": "ดาวน์โหลด cTrader ไว้ในโทรศัพท์ของคุณเพื่อทำการเทรดด้วยบัญชี Deriv cTrader", "1415974522": "หากคุณเลือก \"Differs\" คุณจะได้รับเงินผลตอบแทนก็ต่อเมื่อตัวเลขหลักสุดท้ายของค่าจุด Tick ตัวสุดท้ายนั้นมีค่าต่างไปจากค่าที่คุณคาดการณ์ไว้", + "1416521695": "Positions", "1417558007": "ยอดรวมขาดทุนขั้นสูงสุดในช่วง 7 วัน", "1417907460": "ไม่มีปัญหา! Passkey ของคุณยังใช้งานได้อยู่", "1417914636": "บัญชีผู้ใช้งาน", @@ -3669,6 +3670,7 @@ "-1043795232": "ตำแหน่งล่าสุด", "-153220091": "ค่าจุด Tick {{display_value}} จุด", "-802374032": "ชั่วโมง", + "-663862998": "ตลาด", "-1052279158": "<0>เงินผลตอบแทน ของคุณคือผลรวมของเงินทุนทรัพย์แรกเริ่มและผลกำไรของคุณ", "-1819891401": "คุณสามารถปิดการเทรดของคุณได้ตลอดเวลา อย่างไรก็ตาม โปรดระวัง<0>ความเสี่ยงจากความคลาดเคลื่อน", "-231957809": "ได้รับเงินผลตอบแทนสูงสุด หากจุดออกสูงกว่าหรือเท่ากับเส้นระดับราคาเป้าหมายอันบน", diff --git a/packages/translations/src/translations/tr.json b/packages/translations/src/translations/tr.json index 899dd6ae09c6..7e4320b46319 100644 --- a/packages/translations/src/translations/tr.json +++ b/packages/translations/src/translations/tr.json @@ -1381,6 +1381,7 @@ "1415006332": "birinciden alt liste al", "1415513655": "Deriv cTrader hesabı ile işlem yapmak için cTrader'ı telefonunuza indirin", "1415974522": "\"Differs\" seçeneğini seçerseniz, son tikin son basamağı tahmininizle aynı değilse ödemeyi kazanırsınız.", + "1416521695": "Positions", "1417558007": "7 gün içinde maksimum toplam kayıp", "1417907460": "Sorun yok! Geçiş anahtarınız hala çalışıyor.", "1417914636": "Giriş kimliği", @@ -3669,6 +3670,7 @@ "-1043795232": "Son pozisyonlar", "-153220091": "{{display_value}} Tik", "-802374032": "Saat", + "-663862998": "Piyasalar", "-1052279158": "<0>Ödemeniz başlangıçtaki bahisinizin ve kârınızın toplamıdır.", "-1819891401": "İşleminizi istediğiniz zaman kapatabilirsiniz. Ancak, <0>kayma riskinin farkında olun.", "-231957809": "Çıkış noktası üst bariyerden daha yüksek veya üst bariyere eşitse maksimum ödeme kazanırsınız.", diff --git a/packages/translations/src/translations/vi.json b/packages/translations/src/translations/vi.json index f4b0dbccc13a..96b2f71229bd 100644 --- a/packages/translations/src/translations/vi.json +++ b/packages/translations/src/translations/vi.json @@ -1381,6 +1381,7 @@ "1415006332": "lấy danh sách phụ từ đầu", "1415513655": "Tải cTrader xuống điện thoại của bạn để giao dịch với tài khoản Deriv cTrader", "1415974522": "Nếu bạn chọn \"Differs\" (Khác), hợp đồng quyền chọn của bạn sẽ sinh lời nếu chữ số cuối của tick cuối cùng không giống với dự đoán của bạn.", + "1416521695": "Positions", "1417558007": "Tổng mức thua lỗ tối đa qua 7 ngày", "1417907460": "Không có vấn đề gì! Khóa mật khẩu của bạn vẫn hoạt động.", "1417914636": "ID đăng nhập", @@ -3669,6 +3670,7 @@ "-1043795232": "Các vị thế gần đây", "-153220091": "{{display_value}} Tick", "-802374032": "Giờ", + "-663862998": "Thị trường", "-1052279158": "<0>Khoản chi trả là tổng số tiền đầu tư ban đầu và lợi nhuận của bạn.", "-1819891401": "Bạn có thể đóng giao dịch bất cứ lúc nào. Tuy nhiên, hãy lưu ý về <0>rủi ro trượt giá..", "-231957809": "Kiếm được tối đa lợi nhuận nếu giá thoát cao hơn hoặc bằng ngưỡng trên.", diff --git a/packages/translations/src/translations/zh_cn.json b/packages/translations/src/translations/zh_cn.json index c28f4a1d4fe5..b7aa64b8a43e 100644 --- a/packages/translations/src/translations/zh_cn.json +++ b/packages/translations/src/translations/zh_cn.json @@ -1381,6 +1381,7 @@ "1415006332": "从第一项获取子列表", "1415513655": "手机下载 cTrader 即可使用 Deriv cTrader 账户交易", "1415974522": "如果选择“Differs”期权,当最新价格的最后一个数字跟预测不同时,将获得赔付。", + "1416521695": "Positions", "1417558007": "7天内最大总亏损金额", "1417907460": "没问题!密钥仍然有效。", "1417914636": "登录 ID", @@ -3669,6 +3670,7 @@ "-1043795232": "最近的头寸", "-153220091": "{{display_value}} 跳动点", "-802374032": "小时", + "-663862998": "市场", "-1052279158": "<0>赔付额是初始投注额和利润之和。", "-1819891401": "可以随时关闭交易。然而,要注意<0>滑点风险 。", "-231957809": "如果退市现价高于或等于高障碍,可获得最大赔付。", diff --git a/packages/translations/src/translations/zh_tw.json b/packages/translations/src/translations/zh_tw.json index 4d29903073a0..6698ccad0210 100644 --- a/packages/translations/src/translations/zh_tw.json +++ b/packages/translations/src/translations/zh_tw.json @@ -1381,6 +1381,7 @@ "1415006332": "從第一項取得子清單", "1415513655": "手機下載 cTrader 即可使用 Deriv cTrader 帳戶交易", "1415974522": "如果選擇「Differs」期權,當最新價格的最後一個數字跟預測不同時,將獲得賠付。", + "1416521695": "Positions", "1417558007": "7天內最大總虧損金額", "1417907460": "沒問題!密碼仍然有效。", "1417914636": "登入 ID", @@ -3669,6 +3670,7 @@ "-1043795232": "最近的頭寸", "-153220091": "{{display_value}} 跳動點", "-802374032": "小時", + "-663862998": "市場", "-1052279158": "<0>賠付額是初始投注額和利潤之和。", "-1819891401": "可以隨時關閉交易。 然而,要注意<0>滑點風險 。", "-231957809": "如果退市現價高於或等於高障礙,可獲得最大賠付。", From 5f9f869e33e37c9146292ea1dacc5c2fb28d9cc4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 17 May 2024 10:53:37 +0400 Subject: [PATCH 35/95] =?UTF-8?q?translations:=20=F0=9F=93=9A=20sync=20tra?= =?UTF-8?q?nslations=20with=20crowdin=20(#15219)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: DerivFE --- packages/translations/src/translations/pt.json | 2 +- packages/translations/src/translations/si.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/translations/src/translations/pt.json b/packages/translations/src/translations/pt.json index ca8c62d94464..d43ffa5e37bd 100644 --- a/packages/translations/src/translations/pt.json +++ b/packages/translations/src/translations/pt.json @@ -1381,7 +1381,7 @@ "1415006332": "obtenha uma sublista a partir do primeiro", "1415513655": "Descarregue a cTrader no seu telemóvel para negociar com a conta Deriv cTrader", "1415974522": "Se selecionar \"Differs\", recebe o pagamento se o último dígito do último tick não for o mesmo que a sua previsão.", - "1416521695": "Positions", + "1416521695": "Posições", "1417558007": "Perda total máxima em 7 dias", "1417907460": "Não tem problema! A sua chave de acesso ainda funciona.", "1417914636": "ID de login", diff --git a/packages/translations/src/translations/si.json b/packages/translations/src/translations/si.json index d14aa5a8aa48..f1bf8171dd3b 100644 --- a/packages/translations/src/translations/si.json +++ b/packages/translations/src/translations/si.json @@ -1381,7 +1381,7 @@ "1415006332": "පළමු උප ලැයිස්තුව ලබා ගන්න", "1415513655": "Deriv cTrader ගිණුම සමඟ ගනුදෙනු කිරීම සඳහා ඔබේ දුරකථනයෙන් cTrader බාගන්න", "1415974522": "ඔබ \"Differs\" තෝරා ගන්නේ නම්, අවසාන ටික් එකෙහි අවසාන ඉලක්කම් ඔබේ පුරෝකථනයට සමාන නොවන්නේ නම් ඔබ ගෙවීම දිනා ගනු ඇත.", - "1416521695": "Positions", + "1416521695": "ස්ථාන", "1417558007": "දින 7ක් තුළ උපරිම සම්පූර්ණ අලාභය", "1417907460": "ප්‍රශ්නයක් නැත! ඔබේ passkey එක තවමත් ක්‍රියා කරයි.", "1417914636": "පිවිසුම් හැඳුනුම්පත", @@ -3670,7 +3670,7 @@ "-1043795232": "මෑත කාලීන ස්ථාන", "-153220091": "{{display_value}} ටික් එක", "-802374032": "පැය", - "-663862998": "Markets", + "-663862998": "වෙළෙඳපළ", "-1052279158": "ඔබේ <0>ගෙවීම ඔබේ ආරම්භක කොටස්වල හා ලාභයේ එකතුවයි.", "-1819891401": "ඔබට ඕනෑම වේලාවක ඔබේ ගනුදෙනුව වසා දැමිය හැක. කෙසේ වෙතත්, <0>ලිස්සුම් අවදානම පිළිබඳව දැනුවත් වන්න.", "-231957809": "පිටවීමේ ස්ථානය පහළ බාධකයට වඩා අඩු හෝ සමාන නම් උපරිම ගෙවීම් දිනා ගන්න.", From 2718ef9a88944bc0baad7a7d6ded141ef64a958d Mon Sep 17 00:00:00 2001 From: Bassam El Obeid <127500305+bassam-deriv@users.noreply.github.com> Date: Fri, 17 May 2024 12:41:57 +0400 Subject: [PATCH 36/95] refactor(deriv_go): updated Deriv Go's app links paths for dev and staging (#15141) * refactor(deriv_go): updated Deriv Go's app links paths for dev and staging with the correct ones * refactor(p2p): added dp2p to the webcredentials * fix: added the path to `36S5Q8S4V5.com.deriv.app` --- .../core/src/public/.well-known/apple-app-site-association | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/core/src/public/.well-known/apple-app-site-association b/packages/core/src/public/.well-known/apple-app-site-association index c9ae3fe3667d..bc25aa2512ba 100644 --- a/packages/core/src/public/.well-known/apple-app-site-association +++ b/packages/core/src/public/.well-known/apple-app-site-association @@ -7,19 +7,19 @@ { "appID": "36S5Q8S4V5.com.deriv.app", "paths": [ - "/redirect" + "/redirect/derivgo" ] }, { "appID": "36S5Q8S4V5.com.deriv.app.dev", "paths": [ - "/redirect" + "/redirect/derivgo" ] }, { "appID": "36S5Q8S4V5.com.deriv.app.staging", "paths": [ - "/redirect" + "/redirect/derivgo" ] }, { From 0bddd7b4b8e63d49ac135ad45d6d4888e41828c0 Mon Sep 17 00:00:00 2001 From: Aizad Ridzo <103104395+aizad-deriv@users.noreply.github.com> Date: Fri, 17 May 2024 17:12:29 +0800 Subject: [PATCH 37/95] chore: update copy for onboarding (#15218) --- .../src/components/WalletTourGuide/WalletTourGuideSteps.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/wallets/src/components/WalletTourGuide/WalletTourGuideSteps.tsx b/packages/wallets/src/components/WalletTourGuide/WalletTourGuideSteps.tsx index 34e1faedb08c..6e46773a0f0f 100644 --- a/packages/wallets/src/components/WalletTourGuide/WalletTourGuideSteps.tsx +++ b/packages/wallets/src/components/WalletTourGuide/WalletTourGuideSteps.tsx @@ -28,11 +28,11 @@ export const desktopStepTourGuide: Step[] = [ ...stepProps, }, { - content: Use the drop-down menu to switch between your Wallets., + content: Switch to a Wallet from the drop-down menu., disableScrolling: false, placement: 'bottom', target: '.wallets-textfield__box', - title: Switch between Wallets, + title: Change your Wallet, ...stepProps, spotlightPadding: 8, }, @@ -48,7 +48,7 @@ export const desktopStepTourGuide: Step[] = [ target: '.wallets-add-more__card', title: ( - Explore more Wallets + Add more currencies ), ...stepProps, From b01628eaeb13bf4ff919ace4a54fe45f18374611 Mon Sep 17 00:00:00 2001 From: Shahzaib Date: Fri, 17 May 2024 18:06:38 +0800 Subject: [PATCH 38/95] chore: removed get more button and modal (#15115) --- .../CFDPlatformsListAccounts.tsx | 22 +----- .../MT5AccountTypeModal.scss | 45 ------------ .../MT5AccountTypeModal.tsx | 33 --------- .../cfd/modals/MT5AccountTypeModal/index.ts | 1 - .../wallets/src/features/cfd/modals/index.ts | 1 - .../GetMoreMT5Accounts.scss | 54 -------------- .../GetMoreMT5Accounts/GetMoreMT5Accounts.tsx | 27 ------- .../cfd/screens/GetMoreMT5Accounts/index.ts | 1 - .../MT5AccountType/MT5AccountType.scss | 30 -------- .../screens/MT5AccountType/MT5AccountType.tsx | 56 --------------- .../cfd/screens/MT5AccountType/index.ts | 1 - .../MT5AccountTypeCard.scss | 71 ------------------- .../MT5AccountTypeCard/MT5AccountTypeCard.tsx | 32 --------- .../cfd/screens/MT5AccountTypeCard/index.ts | 1 - .../wallets/src/features/cfd/screens/index.ts | 3 - 15 files changed, 3 insertions(+), 375 deletions(-) delete mode 100644 packages/wallets/src/features/cfd/modals/MT5AccountTypeModal/MT5AccountTypeModal.scss delete mode 100644 packages/wallets/src/features/cfd/modals/MT5AccountTypeModal/MT5AccountTypeModal.tsx delete mode 100644 packages/wallets/src/features/cfd/modals/MT5AccountTypeModal/index.ts delete mode 100644 packages/wallets/src/features/cfd/screens/GetMoreMT5Accounts/GetMoreMT5Accounts.scss delete mode 100644 packages/wallets/src/features/cfd/screens/GetMoreMT5Accounts/GetMoreMT5Accounts.tsx delete mode 100644 packages/wallets/src/features/cfd/screens/GetMoreMT5Accounts/index.ts delete mode 100644 packages/wallets/src/features/cfd/screens/MT5AccountType/MT5AccountType.scss delete mode 100644 packages/wallets/src/features/cfd/screens/MT5AccountType/MT5AccountType.tsx delete mode 100644 packages/wallets/src/features/cfd/screens/MT5AccountType/index.ts delete mode 100644 packages/wallets/src/features/cfd/screens/MT5AccountTypeCard/MT5AccountTypeCard.scss delete mode 100644 packages/wallets/src/features/cfd/screens/MT5AccountTypeCard/MT5AccountTypeCard.tsx delete mode 100644 packages/wallets/src/features/cfd/screens/MT5AccountTypeCard/index.ts diff --git a/packages/wallets/src/features/cfd/components/CFDPlatformsListAccounts/CFDPlatformsListAccounts.tsx b/packages/wallets/src/features/cfd/components/CFDPlatformsListAccounts/CFDPlatformsListAccounts.tsx index 85b84621818d..2fa4fc7c36f8 100644 --- a/packages/wallets/src/features/cfd/components/CFDPlatformsListAccounts/CFDPlatformsListAccounts.tsx +++ b/packages/wallets/src/features/cfd/components/CFDPlatformsListAccounts/CFDPlatformsListAccounts.tsx @@ -1,10 +1,5 @@ -import React, { useMemo } from 'react'; -import { - useActiveWalletAccount, - useCtraderAccountsList, - useDxtradeAccountsList, - useSortedMT5Accounts, -} from '@deriv/api-v2'; +import React from 'react'; +import { useCtraderAccountsList, useDxtradeAccountsList, useSortedMT5Accounts } from '@deriv/api-v2'; import { TradingAppCardLoader } from '../../../../components/SkeletonLoader'; import { AddedCTraderAccountsList, @@ -14,23 +9,13 @@ import { AvailableDxtradeAccountsList, AvailableMT5AccountsList, } from '../../flows'; -import { GetMoreMT5Accounts } from '../../screens'; import './CFDPlatformsListAccounts.scss'; const CFDPlatformsListAccounts: React.FC = () => { - const { - areAllAccountsCreated, - data: mt5AccountsList, - isFetchedAfterMount, - isLoading: isMT5Loading, - } = useSortedMT5Accounts(); + const { data: mt5AccountsList, isFetchedAfterMount, isLoading: isMT5Loading } = useSortedMT5Accounts(); const { data: ctraderAccountsList } = useCtraderAccountsList(); const { data: dxtradeAccountsList } = useDxtradeAccountsList(); - const { data: activeWallet } = useActiveWalletAccount(); - const hasMT5Account = useMemo(() => { - return mt5AccountsList?.some(account => account.is_added); - }, [mt5AccountsList]); const hasCTraderAccount = !!ctraderAccountsList?.length; const hasDxtradeAccount = !!dxtradeAccountsList?.length; @@ -54,7 +39,6 @@ const CFDPlatformsListAccounts: React.FC = () => { })} {hasCTraderAccount ? : } {hasDxtradeAccount ? : } - {hasMT5Account && !activeWallet?.is_virtual && !areAllAccountsCreated && }
); }; diff --git a/packages/wallets/src/features/cfd/modals/MT5AccountTypeModal/MT5AccountTypeModal.scss b/packages/wallets/src/features/cfd/modals/MT5AccountTypeModal/MT5AccountTypeModal.scss deleted file mode 100644 index 7685088f1c6f..000000000000 --- a/packages/wallets/src/features/cfd/modals/MT5AccountTypeModal/MT5AccountTypeModal.scss +++ /dev/null @@ -1,45 +0,0 @@ -.wallets-mt5-account-type-modal { - &-next-button { - display: flex; - height: 3.2rem; - padding: 0.6rem 1.6rem; - justify-content: center; - align-items: center; - border-radius: 0.4rem; - background: #ff444f; - border: unset; - cursor: pointer; - - @include mobile { - width: 100%; - padding: 2rem 1.6rem; - } - - &-disabled { - border: unset; - padding: 0.6rem 1.6rem; - justify-content: center; - align-items: center; - border-radius: 0.4rem; - background-color: #ccc; - color: #666; - cursor: not-allowed; - - @include mobile { - width: 100%; - padding: 1rem 1.6rem; - } - } - } - - &-text { - color: var(--system-dark-1-prominent-text, #fff); - text-align: center; - - /* desktop/paragraph/P2 - bold */ - font-size: 1.4rem; - font-style: normal; - font-weight: 700; - line-height: 2rem; /* 142.857% */ - } -} diff --git a/packages/wallets/src/features/cfd/modals/MT5AccountTypeModal/MT5AccountTypeModal.tsx b/packages/wallets/src/features/cfd/modals/MT5AccountTypeModal/MT5AccountTypeModal.tsx deleted file mode 100644 index 59ceb4641e56..000000000000 --- a/packages/wallets/src/features/cfd/modals/MT5AccountTypeModal/MT5AccountTypeModal.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import React, { useState } from 'react'; -import { ModalStepWrapper, WalletButton } from '../../../../components/Base'; -import { useModal } from '../../../../components/ModalProvider'; -import { MT5AccountType } from '../../screens'; -import { JurisdictionModal } from '../JurisdictionModal'; - -type TMarketTypes = React.ComponentProps['selectedMarketType']; - -const MT5AccountTypeModal = () => { - const [selectedMarketType, setSelectedMarketType] = useState(undefined); - const { setModalState, show } = useModal(); - - return ( - ( - { - setModalState('marketType', selectedMarketType); - show(); - }} - > - Next - - )} - title='Select Deriv MT5’s account type' - > - - - ); -}; - -export default MT5AccountTypeModal; diff --git a/packages/wallets/src/features/cfd/modals/MT5AccountTypeModal/index.ts b/packages/wallets/src/features/cfd/modals/MT5AccountTypeModal/index.ts deleted file mode 100644 index a3b05a816e2b..000000000000 --- a/packages/wallets/src/features/cfd/modals/MT5AccountTypeModal/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as MT5AccountTypeModal } from './MT5AccountTypeModal'; diff --git a/packages/wallets/src/features/cfd/modals/index.ts b/packages/wallets/src/features/cfd/modals/index.ts index f8a2c3231a51..cde1fcacdf1a 100644 --- a/packages/wallets/src/features/cfd/modals/index.ts +++ b/packages/wallets/src/features/cfd/modals/index.ts @@ -1,6 +1,5 @@ export * from './DxtradeEnterPasswordModal'; export * from './JurisdictionModal'; -export * from './MT5AccountTypeModal'; export * from './MT5PasswordModal'; export * from './MT5TradeModal'; export * from './VerificationFailedModal'; diff --git a/packages/wallets/src/features/cfd/screens/GetMoreMT5Accounts/GetMoreMT5Accounts.scss b/packages/wallets/src/features/cfd/screens/GetMoreMT5Accounts/GetMoreMT5Accounts.scss deleted file mode 100644 index 5d461d38a78d..000000000000 --- a/packages/wallets/src/features/cfd/screens/GetMoreMT5Accounts/GetMoreMT5Accounts.scss +++ /dev/null @@ -1,54 +0,0 @@ -.wallets-get-more-mt5-accounts { - display: flex; - align-items: flex-start; - cursor: pointer; - - &-container { - display: flex; - padding: 1.6rem; - align-items: center; - gap: 1.6rem; - flex: 1 0 0; - align-self: stretch; - border-radius: 0.8rem; - border: 0.1rem dashed var(--system-light-5-active-background, #d6dadb); - - @include mobile { - margin-top: 1.6rem; - } - - &-icon { - width: 3.2rem; - height: 3.2rem; - } - - &-details { - display: flex; - flex-direction: column; - align-items: flex-start; - flex: 1 0 0; - - &-title { - align-self: stretch; - color: var(--system-light-2-general-text, #333); - - /* desktop/paragraph/P2 - bold */ - font-size: 1.4rem; - font-style: normal; - font-weight: 700; - line-height: 2rem; /* 142.857% */ - } - - &-description { - align-self: stretch; - color: var(--system-light-2-general-text, #333); - - /* desktop/extra small/XS - regular */ - font-size: 1rem; - font-style: normal; - font-weight: 400; - line-height: 1.4rem; /* 140% */ - } - } - } -} diff --git a/packages/wallets/src/features/cfd/screens/GetMoreMT5Accounts/GetMoreMT5Accounts.tsx b/packages/wallets/src/features/cfd/screens/GetMoreMT5Accounts/GetMoreMT5Accounts.tsx deleted file mode 100644 index fab946a26bf7..000000000000 --- a/packages/wallets/src/features/cfd/screens/GetMoreMT5Accounts/GetMoreMT5Accounts.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import React from 'react'; -import { useModal } from '../../../../components/ModalProvider'; -import AddIcon from '../../../../public/images/add-icon.svg'; -import { MT5AccountTypeModal } from '../../modals'; -import './GetMoreMT5Accounts.scss'; - -const GetMoreMT5Accounts: React.FC = () => { - const { show } = useModal(); - - return ( -
show()}> -
-
- -
-
-
Get more
-
- Get more Deriv MT5 accounts under your preferred jurisdictions. -
-
-
-
- ); -}; - -export default GetMoreMT5Accounts; diff --git a/packages/wallets/src/features/cfd/screens/GetMoreMT5Accounts/index.ts b/packages/wallets/src/features/cfd/screens/GetMoreMT5Accounts/index.ts deleted file mode 100644 index 4c5c9ffafeac..000000000000 --- a/packages/wallets/src/features/cfd/screens/GetMoreMT5Accounts/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as GetMoreMT5Accounts } from './GetMoreMT5Accounts'; diff --git a/packages/wallets/src/features/cfd/screens/MT5AccountType/MT5AccountType.scss b/packages/wallets/src/features/cfd/screens/MT5AccountType/MT5AccountType.scss deleted file mode 100644 index 728a2d9a54f8..000000000000 --- a/packages/wallets/src/features/cfd/screens/MT5AccountType/MT5AccountType.scss +++ /dev/null @@ -1,30 +0,0 @@ -.wallets-mt5-account-type { - display: flex; - align-items: center; - flex-shrink: 0; - border-radius: 0.8rem; - background: var(--system-light-8-primary-background, #fff); - - &-content { - height: 70vh; - width: 85vw; - display: flex; - padding: 2.4rem; - flex-direction: row; - justify-content: center; - align-items: center; - gap: 2.4rem; - flex: 1 0 0; - align-self: stretch; - - @include mobile { - flex-direction: column; - align-items: center; - display: flex; - justify-content: flex-start; - width: 100%; - overflow-x: auto; - height: 100%; - } - } -} diff --git a/packages/wallets/src/features/cfd/screens/MT5AccountType/MT5AccountType.tsx b/packages/wallets/src/features/cfd/screens/MT5AccountType/MT5AccountType.tsx deleted file mode 100644 index e47f2a4610d1..000000000000 --- a/packages/wallets/src/features/cfd/screens/MT5AccountType/MT5AccountType.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import React from 'react'; -import { WalletMarketIcon } from '../../../../components'; -import i18n from '../../../../translations/i18n'; -import { MT5AccountTypeCard } from '../MT5AccountTypeCard'; -import './MT5AccountType.scss'; - -const marketTypeDetailsMapper = { - all: { - description: i18n.t( - 'Trade swap-free CFDs on MT5 with forex, stocks, stock indices, commodities cryptocurrencies, ETFs and synthetic indices.' - ), - icon: , - title: i18n.t('Swap-Free'), - }, - financial: { - description: i18n.t( - 'Trade CFDs on MT5 with forex, stocks and indices, commodities, cryptocurrencies, and ETFs.' - ), - icon: , - title: i18n.t('Financial'), - }, - synthetic: { - description: i18n.t('Trade CFDs on MT5 with derived indices that simulate real-world market movements.'), - icon: , - title: i18n.t('Derived'), - }, -}; - -type TProps = { - onMarketTypeSelect: (marketType: keyof typeof marketTypeDetailsMapper) => void; - selectedMarketType?: keyof typeof marketTypeDetailsMapper; -}; - -const MT5AccountType: React.FC = ({ onMarketTypeSelect, selectedMarketType }) => { - const sortedMarketTypeEntries = Object.entries(marketTypeDetailsMapper).sort(([keyA], [keyB]) => { - const order = ['synthetic', 'financial', 'all']; - return order.indexOf(keyA) - order.indexOf(keyB); - }); - return ( -
- {sortedMarketTypeEntries.map(([key, value]) => ( - onMarketTypeSelect(key === selectedMarketType ? undefined : key)} - title={value.title} - /> - ))} -
- ); -}; - -export default MT5AccountType; diff --git a/packages/wallets/src/features/cfd/screens/MT5AccountType/index.ts b/packages/wallets/src/features/cfd/screens/MT5AccountType/index.ts deleted file mode 100644 index b70b17814bba..000000000000 --- a/packages/wallets/src/features/cfd/screens/MT5AccountType/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as MT5AccountType } from './MT5AccountType'; diff --git a/packages/wallets/src/features/cfd/screens/MT5AccountTypeCard/MT5AccountTypeCard.scss b/packages/wallets/src/features/cfd/screens/MT5AccountTypeCard/MT5AccountTypeCard.scss deleted file mode 100644 index f2c1d83699d3..000000000000 --- a/packages/wallets/src/features/cfd/screens/MT5AccountTypeCard/MT5AccountTypeCard.scss +++ /dev/null @@ -1,71 +0,0 @@ -.wallets-mt5-account-type-card { - cursor: pointer; - &-list { - display: flex; - width: 26.4rem; - height: 32rem; - align-items: flex-start; - - &-content { - display: flex; - align-items: flex-start; - flex: 1 0 0; - padding: 2.4rem; - align-self: stretch; - border-radius: 1.6rem; - border: 0.1rem solid var(--system-light-5-active-background, #d6dadb); - background: var(--system-light-8-primary-background, #fff); - - &-details { - display: flex; - flex-direction: column; - align-items: center; - gap: 2.4rem; - align-self: stretch; - justify-content: center; - - &-title-description { - display: flex; - flex-direction: column; - align-items: center; - gap: 0.8rem; - align-self: stretch; - } - - &-title { - flex: 1 0 0; - color: var(--system-light-1-prominent-text, #333); - text-align: center; - align-items: center; - display: flex; - - /* desktop/subtitle/Sub 2 - bold */ - font-size: 2rem; - font-style: normal; - font-weight: 700; - line-height: 3rem; /* 150% */ - } - - &-description { - align-self: stretch; - color: var(--system-light-2-general-text, #333); - text-align: center; - - /* desktop/paragraph/P2 - regular */ - font-size: 1.4rem; - font-style: normal; - font-weight: 400; - line-height: 2rem; /* 142.857% */ - } - } - } - } - &-selected { - border-radius: 1.6rem; - border: 0.2rem solid var(--brand-blue, #85acb0); - background: var(--system-light-8-primary-background, #fff); - - /* Shadows/xxl */ - box-shadow: 0rem 2.4rem 4.8rem 0rem rgba(14, 14, 14, 0.18); - } -} diff --git a/packages/wallets/src/features/cfd/screens/MT5AccountTypeCard/MT5AccountTypeCard.tsx b/packages/wallets/src/features/cfd/screens/MT5AccountTypeCard/MT5AccountTypeCard.tsx deleted file mode 100644 index 6adab1bf50ee..000000000000 --- a/packages/wallets/src/features/cfd/screens/MT5AccountTypeCard/MT5AccountTypeCard.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import React from 'react'; -import './MT5AccountTypeCard.scss'; - -type TProps = { - description: string; - icon: JSX.Element; - isSelected: boolean; - onClick: () => void; - title: string; -}; - -const MT5AccountTypeCard: React.FC = ({ description, icon, isSelected, onClick, title }) => { - return ( -
-
-
-
- {icon} -
-
{title}
-
- {description} -
-
-
-
-
-
- ); -}; - -export default MT5AccountTypeCard; diff --git a/packages/wallets/src/features/cfd/screens/MT5AccountTypeCard/index.ts b/packages/wallets/src/features/cfd/screens/MT5AccountTypeCard/index.ts deleted file mode 100644 index 9ae57782cf4f..000000000000 --- a/packages/wallets/src/features/cfd/screens/MT5AccountTypeCard/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as MT5AccountTypeCard } from './MT5AccountTypeCard'; diff --git a/packages/wallets/src/features/cfd/screens/index.ts b/packages/wallets/src/features/cfd/screens/index.ts index cdb031a661cd..ea83580c7d1b 100644 --- a/packages/wallets/src/features/cfd/screens/index.ts +++ b/packages/wallets/src/features/cfd/screens/index.ts @@ -2,9 +2,6 @@ export * from './CFDSuccess'; export * from './ChangePassword'; export * from './CreatePassword'; export * from './EnterPassword'; -export * from './GetMoreMT5Accounts'; -export * from './MT5AccountType'; -export * from './MT5AccountTypeCard'; export * from './MT5ResetPasswordModal'; export * from './MT5TradeScreen'; export * from './Onfido'; From 261fb210709ee483e71ccc10d11668bcd3fcd8d2 Mon Sep 17 00:00:00 2001 From: Likhith Kolayari <98398322+likhith-deriv@users.noreply.github.com> Date: Fri, 17 May 2024 14:18:37 +0400 Subject: [PATCH 39/95] [coj]/likhith/wall-4066/locked onfido version to prevent unintended changes (#15133) * chore: locked onfido version to prevent unintented changes * fix: height for Iphone 8 devices --- packages/api-v2/src/hooks/useOnfido.ts | 8 ++++---- packages/api/src/hooks/useOnfido.ts | 6 +++--- .../sass/app/_common/components/account-common.scss | 11 +++++++++-- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/packages/api-v2/src/hooks/useOnfido.ts b/packages/api-v2/src/hooks/useOnfido.ts index 936ff3530773..a7f059093b46 100644 --- a/packages/api-v2/src/hooks/useOnfido.ts +++ b/packages/api-v2/src/hooks/useOnfido.ts @@ -154,17 +154,17 @@ const useOnfido = (country?: string, selectedDocument?: string) => { setIsOnfidoLoading(true); const scriptNode = document.createElement('script'); const linkNode = document.createElement('link'); - + // [TODO] - Need to lock version of onfido sdk - Current version in CDN is 13.8.4 scriptNode.id = 'onfido_sdk'; - scriptNode.src = 'https://assets.onfido.com/web-sdk-releases/latest/onfido.min.js'; - linkNode.href = 'https://assets.onfido.com/web-sdk-releases/latest/style.css'; + scriptNode.src = 'https://assets.onfido.com/web-sdk-releases/13.8.4/onfido.min.js'; + linkNode.href = 'https://assets.onfido.com/web-sdk-releases/13.8.4/style.css'; linkNode.rel = 'stylesheet'; document.body.appendChild(scriptNode); document.body.appendChild(linkNode); scriptNode.addEventListener('load', () => { - initOnfido(); + initOnfido(); setIsOnfidoLoading(false); }); } diff --git a/packages/api/src/hooks/useOnfido.ts b/packages/api/src/hooks/useOnfido.ts index 936ff3530773..c1a787785455 100644 --- a/packages/api/src/hooks/useOnfido.ts +++ b/packages/api/src/hooks/useOnfido.ts @@ -154,10 +154,10 @@ const useOnfido = (country?: string, selectedDocument?: string) => { setIsOnfidoLoading(true); const scriptNode = document.createElement('script'); const linkNode = document.createElement('link'); - + // [TODO] - Need to lock version of onfido sdk - Current version in CDN is 13.8.4 scriptNode.id = 'onfido_sdk'; - scriptNode.src = 'https://assets.onfido.com/web-sdk-releases/latest/onfido.min.js'; - linkNode.href = 'https://assets.onfido.com/web-sdk-releases/latest/style.css'; + scriptNode.src = 'https://assets.onfido.com/web-sdk-releases/13.8.4/onfido.min.js'; + linkNode.href = 'https://assets.onfido.com/web-sdk-releases/13.8.4/style.css'; linkNode.rel = 'stylesheet'; document.body.appendChild(scriptNode); diff --git a/packages/core/src/sass/app/_common/components/account-common.scss b/packages/core/src/sass/app/_common/components/account-common.scss index 140b197d6d42..6c006bb93bf6 100644 --- a/packages/core/src/sass/app/_common/components/account-common.scss +++ b/packages/core/src/sass/app/_common/components/account-common.scss @@ -22,8 +22,15 @@ margin-bottom: 0; } - .onfido-sdk-ui-Modal-inner { - border-radius: $BORDER_RADIUS * 2; + .onfido-sdk-ui { + &-Modal-inner { + border-radius: $BORDER_RADIUS * 2; + } + &-Theme-step { + @include mobile { + height: auto; + } + } } @include mobile { From e2c0041bbef31d9dab8fce85a73f27bfb9316ad8 Mon Sep 17 00:00:00 2001 From: Hasan Mobarak <126637868+hasan-deriv@users.noreply.github.com> Date: Fri, 17 May 2024 18:44:44 +0800 Subject: [PATCH 40/95] [WALL]Hasan/WALL-3823/Incorrect field highlighting (#15049) * fix: password modal server error * chore: remove console --- .../WalletPasswordField.tsx | 28 +++++++++++-------- .../WalletPasswordFieldLazy.tsx | 1 + .../MT5ResetPasswordModal.tsx | 8 +++++- 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/packages/wallets/src/components/Base/WalletPasswordField/WalletPasswordField.tsx b/packages/wallets/src/components/Base/WalletPasswordField/WalletPasswordField.tsx index 0376adad966c..72113361edff 100644 --- a/packages/wallets/src/components/Base/WalletPasswordField/WalletPasswordField.tsx +++ b/packages/wallets/src/components/Base/WalletPasswordField/WalletPasswordField.tsx @@ -21,7 +21,7 @@ import './WalletPasswordField.scss'; export const validatePassword = (password: string, mt5Policy: boolean) => { const score = mt5Policy ? calculateScoreMT5(password) : calculateScoreCFD(password); - let errorMessage = ''; + let validationErrorMessage = ''; const options = { dictionary: { ...dictionary } }; zxcvbnOptions.setOptions(options); @@ -33,14 +33,14 @@ export const validatePassword = (password: string, mt5Policy: boolean) => { } else { cfdSchema.validateSync(password); } - errorMessage = warningMessages[feedback.warning as passwordKeys] ?? ''; + validationErrorMessage = warningMessages[feedback.warning as passwordKeys] ?? ''; } catch (err) { if (err instanceof ValidationError) { - errorMessage = err?.message; + validationErrorMessage = err?.message; } } - return { errorMessage, score }; + return { score, validationErrorMessage }; }; const WalletPasswordField: React.FC = ({ @@ -51,14 +51,19 @@ const WalletPasswordField: React.FC = ({ onChange, password, passwordError, + serverErrorMessage, shouldDisablePasswordMeter = false, showMessage, }) => { const [isPasswordVisible, setIsPasswordVisible] = useState(false); const [isTouched, setIsTouched] = useState(false); const [showErrorMessage, setShowErrorMessage] = useState(false); + const [errorMessage, setErrorMessage] = useState(''); - const { errorMessage, score } = useMemo(() => validatePassword(password, mt5Policy), [password, mt5Policy]); + const { score, validationErrorMessage } = useMemo( + () => validatePassword(password, mt5Policy), + [password, mt5Policy] + ); const passwordValidation = mt5Policy ? !validPasswordMT5(password) : !validPassword(password); const handleChange = useCallback( @@ -79,19 +84,18 @@ const WalletPasswordField: React.FC = ({ }, [isTouched]); useEffect(() => { - if (passwordError) { - setShowErrorMessage(true); - } - }, [passwordError]); + setShowErrorMessage(!!passwordError); + setErrorMessage(passwordError ? passwordErrorMessage.PasswordError : validationErrorMessage); + }, [passwordError, validationErrorMessage]); return (
= ({ useEffect(() => { if (formError) { - formikRef.current?.setErrors({ currentPassword: formError.error?.message }); + if (formError.error.code === 'PasswordError') { + formikRef.current?.setErrors({ currentPassword: formError.error?.message }); + } else { + formikRef.current?.setErrors({ newPassword: formError.error?.message }); + } } }, [formError]); @@ -107,6 +111,8 @@ const MT5ResetPasswordModal: React.FC = ({ name='newPassword' onChange={handleChange} password={values.newPassword} + passwordError={!!errors?.newPassword} + serverErrorMessage={errors?.newPassword} />
    From 550acf28a9e080da89bf19687edb4a88cd41d966 Mon Sep 17 00:00:00 2001 From: Likhith Kolayari <98398322+likhith-deriv@users.noreply.github.com> Date: Fri, 17 May 2024 14:56:38 +0400 Subject: [PATCH 41/95] [coj]/likhith/coj-795/install deriv sharable libs to account package (#15120) * chore: added deriv sharable libs to account package * fix svg icons * chore: added deriv sharable libs to account package * chore: trigger rebuild * Merge branch 'master' into likhith/coj-795/setup-deriv-utils-and-quill-icons-in-account --- package-lock.json | 8 +- packages/account-v2/package.json | 2 +- packages/account-v2/src/modules/package.json | 2 +- packages/account/build/webpack.config.js | 2 + packages/account/package.json | 4 +- .../src/Assets/ic-6-month-issued-document.svg | 57 ------- .../account/src/Assets/ic-blurry-document.svg | 155 ------------------ .../src/Assets/ic-cropped-document.svg | 78 --------- .../Assets/ic-document-address-mismatch.svg | 58 ------- .../src/Assets/ic-document-name-mismatch.svg | 50 ------ packages/account/src/Assets/ic-envelop.svg | 110 ------------- .../poa-common-mistake-examples-config.tsx | 26 +-- packages/cashier-v2/package.json | 2 +- packages/core/package.json | 3 +- packages/p2p-v2/package.json | 2 +- packages/trader/package.json | 2 +- packages/tradershub/package.json | 2 +- packages/wallets/package.json | 2 +- 18 files changed, 31 insertions(+), 534 deletions(-) delete mode 100644 packages/account/src/Assets/ic-6-month-issued-document.svg delete mode 100644 packages/account/src/Assets/ic-blurry-document.svg delete mode 100644 packages/account/src/Assets/ic-cropped-document.svg delete mode 100644 packages/account/src/Assets/ic-document-address-mismatch.svg delete mode 100644 packages/account/src/Assets/ic-document-name-mismatch.svg delete mode 100644 packages/account/src/Assets/ic-envelop.svg diff --git a/package-lock.json b/package-lock.json index e01ab52a805d..b18416df9f86 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,7 @@ "@deriv/deriv-charts": "^2.1.15", "@deriv/js-interpreter": "^3.0.0", "@deriv/quill-design": "^1.3.2", - "@deriv/quill-icons": "^1.22.4", + "@deriv/quill-icons": "^1.22.7", "@deriv/react-joyride": "^2.6.2", "@deriv/ui": "^0.6.0", "@livechat/customer-sdk": "^2.0.4", @@ -3108,9 +3108,9 @@ } }, "node_modules/@deriv/quill-icons": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/@deriv/quill-icons/-/quill-icons-1.22.4.tgz", - "integrity": "sha512-05/DpUwWo17ECaPHeSlcFHeJOSF60ONDa6BthkIFwpBzTSaQgeD/s+Hwd0CivQDEaqjxJPoY2y54+EZ3ubmaWA==", + "version": "1.22.7", + "resolved": "https://registry.npmjs.org/@deriv/quill-icons/-/quill-icons-1.22.7.tgz", + "integrity": "sha512-6+HkLQya5dSllZ1gPwxrJuPPAFphSSieGhbpeWyrJsgKCFog9JmfKUoVdE/WmItElAh+JW3TWqzcQIOKklySMQ==", "peerDependencies": { "react": ">= 16", "react-dom": ">= 16" diff --git a/packages/account-v2/package.json b/packages/account-v2/package.json index 7f890ff002b8..8e6e1402dccf 100644 --- a/packages/account-v2/package.json +++ b/packages/account-v2/package.json @@ -17,7 +17,7 @@ "@deriv-com/utils": "^0.0.20", "@deriv/api-types": "^1.0.172", "@deriv/api-v2": "^1.0.0", - "@deriv/quill-icons": "^1.22.4", + "@deriv/quill-icons": "^1.22.7", "class-variance-authority": "^0.7.0", "dayjs": "^1.11.10", "formik": "^2.1.4", diff --git a/packages/account-v2/src/modules/package.json b/packages/account-v2/src/modules/package.json index 793cc25ec763..20bb3eaab357 100644 --- a/packages/account-v2/src/modules/package.json +++ b/packages/account-v2/src/modules/package.json @@ -27,7 +27,7 @@ ], "peerDependencies": { "@deriv-com/ui": "~1.14.5", - "@deriv/quill-icons": "~1.22.4", + "@deriv/quill-icons": "~1.22.7", "@deriv/api-v2": "1.0.0", "yup": "^0.32.11", "formik": "^2.1.4", diff --git a/packages/account/build/webpack.config.js b/packages/account/build/webpack.config.js index 81c41c24fba7..9668dbd5d5cd 100644 --- a/packages/account/build/webpack.config.js +++ b/packages/account/build/webpack.config.js @@ -104,6 +104,8 @@ module.exports = function (env) { '@deriv/api': '@deriv/api', '@deriv/hooks': '@deriv/hooks', '@deriv/stores': '@deriv/stores', + '@deriv/quill-icons': `@deriv/quill-icons`, + '@deriv-com/utils': '@deriv-com/utils', }, /^@deriv\/shared\/.+$/, /^@deriv\/components\/.+$/, diff --git a/packages/account/package.json b/packages/account/package.json index fec5d4465cec..13b491e7ae7d 100644 --- a/packages/account/package.json +++ b/packages/account/package.json @@ -31,11 +31,13 @@ "dependencies": { "@binary-com/binary-document-uploader": "^2.4.8", "@deriv-com/analytics": "1.4.13", - "@deriv/api-types": "^1.0.172", + "@deriv-com/utils": "^0.0.20", "@deriv/api": "^1.0.0", + "@deriv/api-types": "^1.0.172", "@deriv/components": "^1.0.0", "@deriv/hooks": "^1.0.0", "@deriv/integration": "1.0.0", + "@deriv/quill-icons": "^1.22.7", "@deriv/shared": "^1.0.0", "@deriv/stores": "^1.0.0", "@deriv/translations": "^1.0.0", diff --git a/packages/account/src/Assets/ic-6-month-issued-document.svg b/packages/account/src/Assets/ic-6-month-issued-document.svg deleted file mode 100644 index 7bd48aaf3630..000000000000 --- a/packages/account/src/Assets/ic-6-month-issued-document.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/account/src/Assets/ic-blurry-document.svg b/packages/account/src/Assets/ic-blurry-document.svg deleted file mode 100644 index d0cdf47114e8..000000000000 --- a/packages/account/src/Assets/ic-blurry-document.svg +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/account/src/Assets/ic-cropped-document.svg b/packages/account/src/Assets/ic-cropped-document.svg deleted file mode 100644 index d9914cf734d9..000000000000 --- a/packages/account/src/Assets/ic-cropped-document.svg +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/account/src/Assets/ic-document-address-mismatch.svg b/packages/account/src/Assets/ic-document-address-mismatch.svg deleted file mode 100644 index d53d8f41fe78..000000000000 --- a/packages/account/src/Assets/ic-document-address-mismatch.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/account/src/Assets/ic-document-name-mismatch.svg b/packages/account/src/Assets/ic-document-name-mismatch.svg deleted file mode 100644 index 427dc50f014d..000000000000 --- a/packages/account/src/Assets/ic-document-name-mismatch.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/account/src/Assets/ic-envelop.svg b/packages/account/src/Assets/ic-envelop.svg deleted file mode 100644 index 92d0b680b584..000000000000 --- a/packages/account/src/Assets/ic-envelop.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/account/src/Configs/poa-common-mistake-examples-config.tsx b/packages/account/src/Configs/poa-common-mistake-examples-config.tsx index 34d1b4b4b11f..032c0bf4ba7c 100644 --- a/packages/account/src/Configs/poa-common-mistake-examples-config.tsx +++ b/packages/account/src/Configs/poa-common-mistake-examples-config.tsx @@ -1,12 +1,14 @@ import React from 'react'; import { Localize } from '@deriv/translations'; -import IcDocumentNameMismatch from '../Assets/ic-document-name-mismatch.svg'; -import IcDocumentAddressMismatch from '../Assets/ic-document-address-mismatch.svg'; -import Ic6MonthsIssuedDocument from '../Assets/ic-6-month-issued-document.svg'; +import { + DerivLightIcBlurryDocumentIcon, + DerivLightIcCroppedDocumentIcon, + DerivLightIcDocumentAddressMismatchIcon, + DerivLightIcDocumentNameMismatchIcon, + DerivLightIcEnvelopeIcon, + DerivLightIcOldIssuedDocumentIcon, +} from '@deriv/quill-icons'; import Ic12MonthsIssuedDocument from '../Assets/ic-12-months-expiry.svg'; -import IcBlurryDocument from '../Assets/ic-blurry-document.svg'; -import IcCroppedDocument from '../Assets/ic-cropped-document.svg'; -import IcEnvelope from '../Assets/ic-envelop.svg'; type TExampleImageConfig = { image: React.ComponentType>; @@ -19,19 +21,19 @@ type TExampleImageConfig = { */ export const getExampleImagesConfig = (is_eu: boolean): Array => [ { - image: IcDocumentNameMismatch, + image: DerivLightIcDocumentNameMismatchIcon, description: , ref: 'name_mismatch', }, { - image: IcDocumentAddressMismatch, + image: DerivLightIcDocumentAddressMismatchIcon, description: , ref: 'address_mismatch', }, { ...(is_eu ? { - image: Ic6MonthsIssuedDocument, + image: DerivLightIcOldIssuedDocumentIcon, description: , ref: 'old_6_month_issued_document', } @@ -42,17 +44,17 @@ export const getExampleImagesConfig = (is_eu: boolean): Array, ref: 'blurry_document', }, { - image: IcCroppedDocument, + image: DerivLightIcCroppedDocumentIcon, description: , ref: 'cropped_document', }, { - image: IcEnvelope, + image: DerivLightIcEnvelopeIcon, description: , ref: 'envelope', }, diff --git a/packages/cashier-v2/package.json b/packages/cashier-v2/package.json index 510a761a18e5..99fd6b47cc8c 100644 --- a/packages/cashier-v2/package.json +++ b/packages/cashier-v2/package.json @@ -18,7 +18,7 @@ "@deriv-com/utils": "^0.0.20", "@deriv/api-v2": "^1.0.0", "@deriv/integration": "^1.0.0", - "@deriv/quill-icons": "^1.22.4", + "@deriv/quill-icons": "^1.22.7", "@deriv/utils": "^1.0.0", "clsx": "^2.0.0", "formik": "^2.1.4", diff --git a/packages/core/package.json b/packages/core/package.json index fefcd7528670..0856ec587fab 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -113,6 +113,7 @@ "@deriv/p2p": "^0.7.3", "@deriv/p2p-v2": "^1.0.0", "@deriv/quill-design": "^1.3.2", + "@deriv/quill-icons": "^1.22.7", "@deriv/reports": "^1.0.0", "@deriv/shared": "^1.0.0", "@deriv/stores": "^1.0.0", @@ -155,8 +156,6 @@ "react-tiny-popover": "^7.0.1", "react-transition-group": "4.4.2", "react-window": "^1.8.5", - "@simplewebauthn/browser": "^8.3.4", - "@simplewebauthn/typescript-types": "^8.3.4", "usehooks-ts": "^2.7.0" } } diff --git a/packages/p2p-v2/package.json b/packages/p2p-v2/package.json index 3177d51f06d0..3400898b3402 100644 --- a/packages/p2p-v2/package.json +++ b/packages/p2p-v2/package.json @@ -18,7 +18,7 @@ "@deriv-com/utils": "^0.0.20", "@deriv/api-v2": "^1.0.0", "@deriv/integration": "^1.0.0", - "@deriv/quill-icons": "^1.22.4", + "@deriv/quill-icons": "^1.22.7", "@deriv/react-joyride": "^2.6.2", "@sendbird/chat": "^4.9.7", "@tanstack/react-table": "^8.10.3", diff --git a/packages/trader/package.json b/packages/trader/package.json index 2ce1dc85cb65..3207f66d94c5 100644 --- a/packages/trader/package.json +++ b/packages/trader/package.json @@ -100,7 +100,7 @@ "@deriv/shared": "^1.0.0", "@deriv/stores": "^1.0.0", "@deriv/translations": "^1.0.0", - "@deriv/quill-icons": "^1.22.4", + "@deriv/quill-icons": "^1.22.7", "@types/react-loadable": "^5.5.6", "classnames": "^2.2.6", "extend": "^3.0.2", diff --git a/packages/tradershub/package.json b/packages/tradershub/package.json index 5169840f3c52..87771c8811e3 100644 --- a/packages/tradershub/package.json +++ b/packages/tradershub/package.json @@ -17,7 +17,7 @@ "dependencies": { "@deriv/api-v2": "^1.0.0", "@deriv-lib/account-v2-lib": "1.0.0", - "@deriv/quill-icons": "^1.22.4", + "@deriv/quill-icons": "^1.22.7", "@deriv-com/ui": "^1.14.5", "@deriv-com/utils": "^0.0.20", "@deriv/react-joyride": "^2.6.2", diff --git a/packages/wallets/package.json b/packages/wallets/package.json index c5c39b2669a5..46c0c93d24b0 100644 --- a/packages/wallets/package.json +++ b/packages/wallets/package.json @@ -18,7 +18,7 @@ "@deriv-com/utils": "^0.0.20", "@deriv/api-v2": "^1.0.0", "@deriv/integration": "^1.0.0", - "@deriv/quill-icons": "^1.22.4", + "@deriv/quill-icons": "^1.22.7", "react-joyride": "^2.5.3", "@deriv/utils": "^1.0.0", "@tanstack/react-table": "^8.10.3", From e877ce1479437d93e511887bed0b80414a5f658b Mon Sep 17 00:00:00 2001 From: adrienne-deriv <103016120+adrienne-deriv@users.noreply.github.com> Date: Fri, 17 May 2024 21:54:38 +0800 Subject: [PATCH 42/95] [WALL] Test case for TransferReceipt (#15010) * chore: added test cases for transfer receipt * chore: fix eslint issues on test cases * chore: resolved review comments --- .../src/components/AppCard/AppCard.tsx | 5 +- .../src/components/WalletCard/WalletCard.tsx | 1 + .../__tests__/TransferReceipt.spec.tsx | 141 ++++++++++++++++++ 3 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 packages/wallets/src/features/cashier/modules/Transfer/components/TransferReceipt/__tests__/TransferReceipt.spec.tsx diff --git a/packages/wallets/src/components/AppCard/AppCard.tsx b/packages/wallets/src/components/AppCard/AppCard.tsx index 55cdf7a7a370..d304427524d1 100644 --- a/packages/wallets/src/components/AppCard/AppCard.tsx +++ b/packages/wallets/src/components/AppCard/AppCard.tsx @@ -28,7 +28,10 @@ const AppCard: React.FC = ({ walletName, }) => { return ( -
    +
    {cardSize !== 'sm' && (
    diff --git a/packages/wallets/src/components/WalletCard/WalletCard.tsx b/packages/wallets/src/components/WalletCard/WalletCard.tsx index 9370a935b732..5d90a30c027a 100644 --- a/packages/wallets/src/components/WalletCard/WalletCard.tsx +++ b/packages/wallets/src/components/WalletCard/WalletCard.tsx @@ -31,6 +31,7 @@ const WalletCard: React.FC = ({ return ( + + + {body_content} + + + ); +}; + +export default InfoModal; diff --git a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx index 3f33947b6c52..6d58454f7b43 100644 --- a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx +++ b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx @@ -1,5 +1,8 @@ import React from 'react'; import { Text } from '@deriv-com/quill-ui'; +import InfoSheet from 'AppV2/Components/InfoModal'; +import { localize } from '@deriv/translations'; +import { LabelPairedCircleInfoSmRegularIcon } from '@deriv/quill-icons'; const ContractDetails = () => { return ( @@ -7,12 +10,23 @@ const ContractDetails = () => {
    Contract Details
    -
    - How do I earn a payout? -
    +
    Contract card
    + Take Profit + } + header_content={localize('Take profit')} + body_content={localize( + 'When your profit reaches or exceeds the set amount, your trade will be closed automatically.' + )} + />
    Chart placeholder
    From 7b03dc223d176d795ea14d57b9d1fcbe99400918 Mon Sep 17 00:00:00 2001 From: Mark <129744061+markw-deriv@users.noreply.github.com> Date: Mon, 20 May 2024 08:58:46 +0100 Subject: [PATCH 51/95] [TRAH-3259]: chore: add comment to pull requests with bundle size information (#15172) --- .github/actions/analyze/action.yml | 90 ++++++++++++++-- .github/actions/analyze/compareReports.js | 122 ++++++++++++++++++++++ .github/workflows/analyze.yml | 5 + 3 files changed, 210 insertions(+), 7 deletions(-) create mode 100644 .github/actions/analyze/compareReports.js diff --git a/.github/actions/analyze/action.yml b/.github/actions/analyze/action.yml index 9f9cb7dcf729..cc1c0ad37c3f 100644 --- a/.github/actions/analyze/action.yml +++ b/.github/actions/analyze/action.yml @@ -27,6 +27,9 @@ inputs: DATADOG_SESSION_SAMPLE_RATE: description: 'Datadog session sample rate' required: false + GITHUB_TOKEN: + description: 'Github token for downloading artifacts' + required: true GD_API_KEY: description: 'Google drive api key' required: false @@ -58,6 +61,54 @@ inputs: runs: using: composite steps: + + - name: Get latest commit hash from master + id: latest_commit + shell: bash + run: | + git fetch origin master + latest_commit=$(git rev-parse origin/master) + echo "latest_commit=$latest_commit" >> $GITHUB_OUTPUT + + - name: Check if previous artifact exists + env: + LATEST_COMMIT: ${{ steps.latest_commit.outputs.latest_commit }} + id: artifact_check + shell: bash + run: | + ARTIFACT_EXISTS=$(curl -s -H "Authorization: Bearer ${{ github.token }}" "https://api.github.com/repos/${{ github.repository }}/actions/artifacts?name=reports-$LATEST_COMMIT" | jq '.total_count' | awk '{print $1}') + if [[ $ARTIFACT_EXISTS -gt 0 ]]; then + echo "artifact_exists=true" >> $GITHUB_OUTPUT + else + echo "artifact_exists=false" >> $GITHUB_OUTPUT + fi + + - name: Get artifact URL + id: get_artifact_url + env: + GITHUB_TOKEN: ${{ inputs.GITHUB_TOKEN }} + LATEST_COMMIT: ${{ steps.latest_commit.outputs.latest_commit }} + shell: bash + run: | + ARTIFACT_URL=$(curl -s -H "Authorization: Bearer $GITHUB_TOKEN" \ + "https://api.github.com/repos/${{ github.repository }}/actions/artifacts?name=reports-${LATEST_COMMIT}" | \ + jq -r '.artifacts[0].archive_download_url') + echo "artifact_url=$ARTIFACT_URL" >> $GITHUB_OUTPUT + + - name: Download artifact + if: steps.get_artifact_url.outputs.artifact_url != 'null' + env: + ARTIFACT_URL: ${{ steps.get_artifact_url.outputs.artifact_url }} + GITHUB_TOKEN: ${{ inputs.GITHUB_TOKEN }} + shell: bash + run: | + curl -L -H "Authorization: Bearer $GITHUB_TOKEN" \ + "$ARTIFACT_URL" \ + -o artifact.zip + unzip artifact.zip -d old + cd old + unzip reports.zip + - name: Analyze all packages env: NODE_ENV: ${{ inputs.NODE_ENV }} @@ -78,17 +129,42 @@ runs: REF_NAME: ${{ inputs.REF_NAME }} REMOTE_CONFIG_URL: ${{ inputs.REMOTE_CONFIG_URL }} NODE_OPTIONS: "--max_old_space_size=4096" - run: npm run build:prod && npm run analyze:stats shell: bash + run: npm run build:prod && npm run analyze:stats && npm run analyze:build - - name: Zip all stats.json files + - name: Compare report to master + id: diff + if: steps.get_artifact_url.outputs.artifact_url != 'null' + shell: bash run: | - zip -r stats.zip packages/*/stats.json + DIFF_OUTPUT=$(node .github/workflows/compareReports.js) + echo "diff_output<> $GITHUB_OUTPUT + echo "$DIFF_OUTPUT" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + + - name: Comment on PR with Diff Output + if: github.event_name == 'pull_request' && steps.get_artifact_url.outputs.artifact_url != 'null' + uses: actions/github-script@v5 + env: + DIFF_OUTPUT: ${{ steps.diff.outputs.diff_output }} + with: + script: | + const diffOutput = process.env.DIFF_OUTPUT; + github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + body: `${diffOutput}` + }); + + - name: Zip all report.json files shell: bash + run: | + zip -r reports.zip packages/*/report.json - - name: Upload stats.zip + - name: Upload reports.zip uses: actions/upload-artifact@v4 with: - name: stats-${{ github.sha }} - path: stats.zip - retention-days: 1 + name: reports-${{ github.sha }} + path: reports.zip + retention-days: 5 diff --git a/.github/actions/analyze/compareReports.js b/.github/actions/analyze/compareReports.js new file mode 100644 index 000000000000..e6a69d5c112d --- /dev/null +++ b/.github/actions/analyze/compareReports.js @@ -0,0 +1,122 @@ +const fs = require('fs'); +const path = require('path'); + +function roundUpToDecimals(num, decimals) { + const factor = Math.pow(10, decimals); + return Math.ceil(num * factor) / factor; +} + +function readJsonFile(filePath) { + if (fs.existsSync(filePath)) { + const data = fs.readFileSync(filePath, 'utf-8'); + return JSON.parse(data); + } + return null; +} + +function calculateDiff(oldSize, newSize) { + return newSize - oldSize; +} + +function calculatePercentage(oldSize, newSize) { + if (oldSize === 0) { + return newSize === 0 ? 0 : 100; + } + return ((newSize - oldSize) / oldSize) * 100; +} + +function formatSize(size, roundUp) { + if (size === null) { + return '-'; + } + + const formattedSize = roundUp ? roundUpToDecimals(size / 1024, 2) + 'kb' : (size / 1024).toFixed(2) + 'kb'; + return formattedSize; +} + +const packagesDir = './packages'; +const oldPackagesDir = './old/packages'; +const packages = [...new Set([...fs.readdirSync(packagesDir), ...fs.readdirSync(oldPackagesDir)])]; + +let tableRows = ''; + +for (const pkg of packages) { + const oldReport = readJsonFile(path.join(oldPackagesDir, pkg, 'report.json')); + const newReport = readJsonFile(path.join(packagesDir, pkg, 'report.json')); + + const oldSize = oldReport ? oldReport[0].gzipSize : null; + const newSize = newReport ? newReport[0].gzipSize : null; + let diff = oldSize && newSize ? calculateDiff(oldSize, newSize) : null; + + if (oldSize === null) { + diff = newSize; + } + + if (newSize === null) { + diff = oldSize; + } + + let diffText = '-'; + + if (diff !== 0) { + diffText = diff < 0 ? '-' : '+' + formatSize(diff, true); + } else { + diffText = '+0kb'; + } + + let percentage = oldSize && newSize ? calculatePercentage(oldSize, newSize) : null; + + if (oldSize === null) { + percentage = 100; + } + + if (newSize === null) { + percentage = -100; + } + + let percentageText = '-'; + let percentageEmoji; + + if (percentage === 0) { + percentageEmoji = ''; + } else if (percentage < 0) { + percentageEmoji = '🟢'; // green for decrease + } else if (percentage >= 0 && percentage <= 5) { + percentageEmoji = '🟡'; // yellow for small increase + } else { + percentageEmoji = '🔴'; // red for larger increase + } + + if (percentage !== 0) { + percentageText = percentage.toFixed(2) + '%'; + } else { + percentageText = '0%'; + } + + tableRows += ` + + ${pkg} + ${formatSize(oldSize)} + ${formatSize(newSize)} + ${diffText} + ${percentageText} ${percentageEmoji} + + `.trim(); +} + +console.log( + ` + + + + + + + + + + ${tableRows} + +
    packageoldnewdiffpercentage
    +`.trim() +); diff --git a/.github/workflows/analyze.yml b/.github/workflows/analyze.yml index f6d6da369b75..63f0ad23b366 100644 --- a/.github/workflows/analyze.yml +++ b/.github/workflows/analyze.yml @@ -7,11 +7,15 @@ on: branches: - master + jobs: build_and_test: name: Analyze Bundle runs-on: Runner_16cores_Deriv-app environment: Preview + permissions: + contents: read + pull-requests: write steps: - name: Checkout uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 @@ -31,6 +35,7 @@ jobs: DATADOG_SESSION_REPLAY_SAMPLE_RATE: ${{ vars.DATADOG_SESSION_REPLAY_SAMPLE_RATE }} DATADOG_SESSION_SAMPLE_RATE: ${{ vars.DATADOG_SESSION_SAMPLE_RATE }} DATADOG_SESSION_SAMPLE_RATE_LOGS: ${{ vars.DATADOG_SESSION_SAMPLE_RATE_LOGS }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GD_API_KEY: ${{ secrets.GD_API_KEY }} GD_APP_ID: ${{ secrets.GD_APP_ID }} GD_CLIENT_ID: ${{ secrets.GD_CLIENT_ID }} From 52ba11e9f3bf265dd83df387b184a0c05c14ae23 Mon Sep 17 00:00:00 2001 From: Henry Hein Date: Mon, 20 May 2024 16:12:27 +0800 Subject: [PATCH 52/95] fix: make it single responsibility component --- .../src/AppV2/Components/InfoModal/index.ts | 4 -- .../AppV2/Components/InfoModal/info-modal.tsx | 40 ------------------- .../AppV2/Components/PayoutInfoModal/index.ts | 4 ++ .../payout-info-modal.scss} | 0 .../PayoutInfoModal/payout-info-modal.tsx | 33 +++++++++++++++ .../ContractDetails/contract-details.tsx | 18 +-------- 6 files changed, 39 insertions(+), 60 deletions(-) delete mode 100644 packages/trader/src/AppV2/Components/InfoModal/index.ts delete mode 100644 packages/trader/src/AppV2/Components/InfoModal/info-modal.tsx create mode 100644 packages/trader/src/AppV2/Components/PayoutInfoModal/index.ts rename packages/trader/src/AppV2/Components/{InfoModal/info-modal.scss => PayoutInfoModal/payout-info-modal.scss} (100%) create mode 100644 packages/trader/src/AppV2/Components/PayoutInfoModal/payout-info-modal.tsx diff --git a/packages/trader/src/AppV2/Components/InfoModal/index.ts b/packages/trader/src/AppV2/Components/InfoModal/index.ts deleted file mode 100644 index 16636d3b3ba4..000000000000 --- a/packages/trader/src/AppV2/Components/InfoModal/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -import InfoModal from './info-modal'; -import './info-modal.scss'; - -export default InfoModal; diff --git a/packages/trader/src/AppV2/Components/InfoModal/info-modal.tsx b/packages/trader/src/AppV2/Components/InfoModal/info-modal.tsx deleted file mode 100644 index 9efc5c7881a0..000000000000 --- a/packages/trader/src/AppV2/Components/InfoModal/info-modal.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import { CaptionText, Modal } from '@deriv-com/quill-ui'; -import { localize } from '@deriv/translations'; -import React from 'react'; - -type InfoModalProps = { - icon?: React.ReactNode; - header_content: string; - body_content: string; - className?: string; -}; - -const InfoModal = ({ header_content, body_content, icon }: InfoModalProps) => { - const [isVisible, setIsVisible] = React.useState(false); - return ( - <> - - - - {body_content} - - - ); -}; - -export default InfoModal; diff --git a/packages/trader/src/AppV2/Components/PayoutInfoModal/index.ts b/packages/trader/src/AppV2/Components/PayoutInfoModal/index.ts new file mode 100644 index 000000000000..789a9f6da67a --- /dev/null +++ b/packages/trader/src/AppV2/Components/PayoutInfoModal/index.ts @@ -0,0 +1,4 @@ +import PayoutInfoModal from './payout-info-modal'; +import './payout-info-modal.scss'; + +export default PayoutInfoModal; diff --git a/packages/trader/src/AppV2/Components/InfoModal/info-modal.scss b/packages/trader/src/AppV2/Components/PayoutInfoModal/payout-info-modal.scss similarity index 100% rename from packages/trader/src/AppV2/Components/InfoModal/info-modal.scss rename to packages/trader/src/AppV2/Components/PayoutInfoModal/payout-info-modal.scss diff --git a/packages/trader/src/AppV2/Components/PayoutInfoModal/payout-info-modal.tsx b/packages/trader/src/AppV2/Components/PayoutInfoModal/payout-info-modal.tsx new file mode 100644 index 000000000000..a65fa76278ab --- /dev/null +++ b/packages/trader/src/AppV2/Components/PayoutInfoModal/payout-info-modal.tsx @@ -0,0 +1,33 @@ +import { CaptionText, Modal } from '@deriv-com/quill-ui'; +import { Localize } from '@deriv/translations'; +import React from 'react'; + +const PayoutInfoModal = () => { + const [isVisible, setIsVisible] = React.useState(false); + return ( + <> + + } + shouldCloseOnPrimaryButtonClick + isMobile + showHandleBar + > + } /> + + { + + } + + + + ); +}; + +export default PayoutInfoModal; diff --git a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx index d15394938b6f..c08a37454c17 100644 --- a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx +++ b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx @@ -1,8 +1,6 @@ import React from 'react'; import { Text } from '@deriv-com/quill-ui'; -import InfoSheet from 'AppV2/Components/InfoModal'; -import { localize } from '@deriv/translations'; -import { LabelPairedCircleInfoSmRegularIcon } from '@deriv/quill-icons'; +import PayoutInfoModal from 'AppV2/Components/PayoutInfoModal'; import ChartPlaceholder from '../Chart'; const ContractDetails = () => { @@ -11,23 +9,11 @@ const ContractDetails = () => {
    Contract Details
    - +
    Contract card
    Take Profit - } - header_content={localize('Take profit')} - body_content={localize( - 'When your profit reaches or exceeds the set amount, your trade will be closed automatically.' - )} - />
    From b86dc09161277aa7080d20f0639ebee18b3d8cd5 Mon Sep 17 00:00:00 2001 From: Henry Hein Date: Mon, 20 May 2024 16:16:18 +0800 Subject: [PATCH 53/95] fix: remove unnecessary brackets --- .../AppV2/Components/PayoutInfoModal/payout-info-modal.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/trader/src/AppV2/Components/PayoutInfoModal/payout-info-modal.tsx b/packages/trader/src/AppV2/Components/PayoutInfoModal/payout-info-modal.tsx index a65fa76278ab..04fa9c066566 100644 --- a/packages/trader/src/AppV2/Components/PayoutInfoModal/payout-info-modal.tsx +++ b/packages/trader/src/AppV2/Components/PayoutInfoModal/payout-info-modal.tsx @@ -21,9 +21,7 @@ const PayoutInfoModal = () => { > } /> - { - - } + From 0917f77e5af6271aa6000e97e645a0b99dd68f92 Mon Sep 17 00:00:00 2001 From: Aizad Ridzo <103104395+aizad-deriv@users.noreply.github.com> Date: Mon, 20 May 2024 16:28:45 +0800 Subject: [PATCH 54/95] [WALL] Aizad/WALL-4096/Skip Step Add More Wallets (#15249) * chore: added boolean checks if all of the available wallets are added * chore: reduce flickering issues --- .../components/WalletTourGuide/WalletTourGuide.tsx | 5 ++++- .../WalletTourGuide/WalletTourGuideSteps.tsx | 14 +++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/packages/wallets/src/components/WalletTourGuide/WalletTourGuide.tsx b/packages/wallets/src/components/WalletTourGuide/WalletTourGuide.tsx index 38a7e37f5726..bc633a29e7ed 100644 --- a/packages/wallets/src/components/WalletTourGuide/WalletTourGuide.tsx +++ b/packages/wallets/src/components/WalletTourGuide/WalletTourGuide.tsx @@ -3,6 +3,7 @@ import Joyride, { CallBackProps, STATUS } from 'react-joyride'; import { useLocalStorage, useReadLocalStorage } from 'usehooks-ts'; import { useActiveWalletAccount, + useAllWalletAccounts, useAuthorize, useCtraderAccountsList, useDxtradeAccountsList, @@ -31,6 +32,7 @@ const WalletTourGuide = () => { const { isFetching: ctraderIsLoading } = useCtraderAccountsList(); const { isFetching: dxtradeIsLoading } = useDxtradeAccountsList(); const { isFetching: sortedAccountsIsLoading } = useSortedMT5Accounts(); + const { data: availableWallets } = useAllWalletAccounts(); const needToStart = walletsOnboarding === START_VALUE; const activeWalletLoginId = activeWallet?.loginid; @@ -38,6 +40,7 @@ const WalletTourGuide = () => { const activeFiatWalletLoginId = fiatWalletLoginId == activeWalletLoginId; const isEverythingLoaded = !isLoading && !isFetching && isSuccess && !ctraderIsLoading && !dxtradeIsLoading && !sortedAccountsIsLoading; + const allWalletsAreAdded = Boolean(availableWallets?.every(wallet => wallet.is_added)); useEffect(() => { const switchAccountAndRun = async () => { @@ -81,7 +84,7 @@ const WalletTourGuide = () => { floaterProps={{ disableAnimation: true }} run={run} scrollOffset={isMobile ? 100 : 80} - steps={isMobile ? mobileStepTourGuide : desktopStepTourGuide} + steps={isMobile ? mobileStepTourGuide(allWalletsAreAdded) : desktopStepTourGuide(allWalletsAreAdded)} tooltipComponent={TooltipComponent} /> ); diff --git a/packages/wallets/src/components/WalletTourGuide/WalletTourGuideSteps.tsx b/packages/wallets/src/components/WalletTourGuide/WalletTourGuideSteps.tsx index 6e46773a0f0f..bcf4830bb1ad 100644 --- a/packages/wallets/src/components/WalletTourGuide/WalletTourGuideSteps.tsx +++ b/packages/wallets/src/components/WalletTourGuide/WalletTourGuideSteps.tsx @@ -10,7 +10,7 @@ const stepProps = { spotlightPadding: 0, }; -export const desktopStepTourGuide: Step[] = [ +export const desktopStepTourGuide = (allWalletsAreAdded: boolean): Step[] => [ { content: Manage your funds with Wallets., placement: 'bottom-start', @@ -29,7 +29,7 @@ export const desktopStepTourGuide: Step[] = [ }, { content: Switch to a Wallet from the drop-down menu., - disableScrolling: false, + disableScrolling: !!allWalletsAreAdded, placement: 'bottom', target: '.wallets-textfield__box', title: Change your Wallet, @@ -45,7 +45,7 @@ export const desktopStepTourGuide: Step[] = [ disableScrolling: false, placement: 'right', styles: { spotlight: { borderRadius: '1.6rem' } }, - target: '.wallets-add-more__card', + target: allWalletsAreAdded ? 'null' : '.wallets-add-more__card', title: ( Add more currencies @@ -68,7 +68,7 @@ export const desktopStepTourGuide: Step[] = [ }, ]; -export const mobileStepTourGuide: Step[] = [ +export const mobileStepTourGuide = (allWalletsAreAdded: boolean): Step[] => [ { content: Manage your funds with Wallets., placement: 'bottom', @@ -79,6 +79,7 @@ export const mobileStepTourGuide: Step[] = [ }, { content: Swipe left or right to switch between Wallets., + disableScrolling: !!allWalletsAreAdded, placement: 'bottom', styles: { spotlight: { borderRadius: '0' } }, target: '.wallets-carousel-content__wrapper', @@ -87,6 +88,7 @@ export const mobileStepTourGuide: Step[] = [ }, { content: Press the tab to switch between CFDs and Options accounts., + disableScrolling: !!allWalletsAreAdded, placement: 'bottom', styles: { spotlight: { borderRadius: '0.8rem' } }, target: '.wallets-tabs-list', @@ -99,14 +101,16 @@ export const mobileStepTourGuide: Step[] = [ Want Wallets in other currencies too? Press Add. ), + disableScrolling: !!allWalletsAreAdded, placement: 'top', styles: { spotlight: { borderRadius: '1.6rem' } }, - target: '.wallets-add-more__card', + target: allWalletsAreAdded ? 'null' : '.wallets-add-more__card', title: Add more currencies, ...stepProps, }, { content: Press here to repeat this tour., + disableScrolling: !!allWalletsAreAdded, placement: 'bottom', styles: { spotlight: { borderRadius: '0 0 0.8rem 0.8rem' } }, target: '.traders-hub-header__tradershub--onboarding--logo', From 4fcb3b8708dccbac7e17f00f57977f79c8b2531f Mon Sep 17 00:00:00 2001 From: Henry Hein Date: Mon, 20 May 2024 16:37:53 +0800 Subject: [PATCH 55/95] fix: make body content reusable --- .../AppV2/Components/PayoutInfoModal/payout-info-modal.tsx | 6 ++---- .../AppV2/Containers/ContractDetails/contract-details.tsx | 7 ++++++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/trader/src/AppV2/Components/PayoutInfoModal/payout-info-modal.tsx b/packages/trader/src/AppV2/Components/PayoutInfoModal/payout-info-modal.tsx index 04fa9c066566..f8404e86e336 100644 --- a/packages/trader/src/AppV2/Components/PayoutInfoModal/payout-info-modal.tsx +++ b/packages/trader/src/AppV2/Components/PayoutInfoModal/payout-info-modal.tsx @@ -2,7 +2,7 @@ import { CaptionText, Modal } from '@deriv-com/quill-ui'; import { Localize } from '@deriv/translations'; import React from 'react'; -const PayoutInfoModal = () => { +const PayoutInfoModal = ({ body_content }: { body_content: React.ReactNode }) => { const [isVisible, setIsVisible] = React.useState(false); return ( <> @@ -20,9 +20,7 @@ const PayoutInfoModal = () => { showHandleBar > } /> - - - + {body_content} ); diff --git a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx index c08a37454c17..f6a37b9a39f4 100644 --- a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx +++ b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx @@ -2,6 +2,7 @@ import React from 'react'; import { Text } from '@deriv-com/quill-ui'; import PayoutInfoModal from 'AppV2/Components/PayoutInfoModal'; import ChartPlaceholder from '../Chart'; +import { Localize } from '@deriv/translations'; const ContractDetails = () => { return ( @@ -9,7 +10,11 @@ const ContractDetails = () => {
    Contract Details
    - + + } + />
    Contract card
    From dd4c2d7a2de1e41338ddf63f8f419632e3ae705d Mon Sep 17 00:00:00 2001 From: Akmal Djumakhodjaev Date: Mon, 20 May 2024 17:09:01 +0800 Subject: [PATCH 56/95] feat: add entry-exit-details component skeleton --- .../EntryExitDetails/entry-exit-details.scss | 34 ++++++++++ .../EntryExitDetails/entry-exit-details.tsx | 66 +++++++++++++++++++ .../Components/EntryExitDetails/index.ts | 4 ++ .../ContractDetails/contract-details.scss | 2 + .../ContractDetails/contract-details.tsx | 5 +- 5 files changed, 108 insertions(+), 3 deletions(-) create mode 100644 packages/trader/src/AppV2/Components/EntryExitDetails/entry-exit-details.scss create mode 100644 packages/trader/src/AppV2/Components/EntryExitDetails/entry-exit-details.tsx create mode 100644 packages/trader/src/AppV2/Components/EntryExitDetails/index.ts diff --git a/packages/trader/src/AppV2/Components/EntryExitDetails/entry-exit-details.scss b/packages/trader/src/AppV2/Components/EntryExitDetails/entry-exit-details.scss new file mode 100644 index 000000000000..58b2cc0c561e --- /dev/null +++ b/packages/trader/src/AppV2/Components/EntryExitDetails/entry-exit-details.scss @@ -0,0 +1,34 @@ +.entry-exit-details { + display: flex; + flex-direction: column; + justify-content: space-between; + background-color: #fff; + margin-top: 8px; + padding: 16px; + border-radius: 10px; + + .title { + margin-bottom: 16px; + } + + .table { + display: flex; + justify-content: space-between; + flex-direction: column; + + .row { + display: flex; + justify-content: space-between; + width: 100%; + border-bottom: 1px solid rgba(246, 247, 248, 1); + margin: 8px 0; + + .cell { + display: flex; + justify-content: space-between; + flex-direction: column; + text-align: end; + } + } + } +} diff --git a/packages/trader/src/AppV2/Components/EntryExitDetails/entry-exit-details.tsx b/packages/trader/src/AppV2/Components/EntryExitDetails/entry-exit-details.tsx new file mode 100644 index 000000000000..30c80ab9b183 --- /dev/null +++ b/packages/trader/src/AppV2/Components/EntryExitDetails/entry-exit-details.tsx @@ -0,0 +1,66 @@ +import { Text, CaptionText } from '@deriv-com/quill-ui'; +import React from 'react'; + +const EntryExitDetails = () => { + return ( +
    + + Entry & exit details + +
    +
    +
    + + Start time + +
    +
    + 01 Jan 2024 + 12:00:00 GMT +
    +
    +
    +
    + + Entry spot + +
    +
    + 12134234.12345 + + 01 Jan 2024 + + 12:00:00 GMT +
    +
    +
    +
    + + Exit time + +
    +
    + 01 Jan 2024 + 12:00:00 GMT +
    +
    +
    +
    + + Exit spot + +
    +
    + 12134234.12345 + + 01 Jan 2024 + + 12:00:00 GMT +
    +
    +
    +
    + ); +}; + +export default EntryExitDetails; diff --git a/packages/trader/src/AppV2/Components/EntryExitDetails/index.ts b/packages/trader/src/AppV2/Components/EntryExitDetails/index.ts new file mode 100644 index 000000000000..f2f063b52552 --- /dev/null +++ b/packages/trader/src/AppV2/Components/EntryExitDetails/index.ts @@ -0,0 +1,4 @@ +import EntryExitDetails from './entry-exit-details'; +import './entry-exit-details.scss'; + +export default EntryExitDetails; diff --git a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.scss b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.scss index 62508755cd6a..faf543e1b31a 100644 --- a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.scss +++ b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.scss @@ -1,5 +1,7 @@ .contract-details { background-color: rgba(0, 0, 0, 0.48); + height: 88vh; + padding: 8px; } .placeholder { height: 100px; diff --git a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx index 3f33947b6c52..d160bc3e4b31 100644 --- a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx +++ b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx @@ -1,5 +1,6 @@ import React from 'react'; import { Text } from '@deriv-com/quill-ui'; +import EntryExitDetails from 'AppV2/Components/EntryExitDetails'; const ContractDetails = () => { return ( @@ -22,9 +23,7 @@ const ContractDetails = () => {
    Order details
    -
    - Entry & exit details -
    +
    ); }; From 46196d578a4d2bacd08a3393bf8b1dd0a78a376b Mon Sep 17 00:00:00 2001 From: lubega-deriv <142860499+lubega-deriv@users.noreply.github.com> Date: Mon, 20 May 2024 17:51:45 +0800 Subject: [PATCH 57/95] chore: transactions unit test (#15250) --- .../components/ToggleSwitch/ToggleSwitch.tsx | 2 +- .../modules/Transactions/Transactions.tsx | 6 +- .../__tests__/Transactions.spec.tsx | 162 ++++++++++++++++++ 3 files changed, 166 insertions(+), 4 deletions(-) create mode 100644 packages/wallets/src/features/cashier/modules/Transactions/__tests__/Transactions.spec.tsx diff --git a/packages/wallets/src/components/ToggleSwitch/ToggleSwitch.tsx b/packages/wallets/src/components/ToggleSwitch/ToggleSwitch.tsx index 058028fdc580..d2556f53f999 100644 --- a/packages/wallets/src/components/ToggleSwitch/ToggleSwitch.tsx +++ b/packages/wallets/src/components/ToggleSwitch/ToggleSwitch.tsx @@ -8,7 +8,7 @@ interface ToggleSwitchProps { const ToggleSwitch = forwardRef(({ onChange, value }, ref) => ( )); diff --git a/packages/wallets/src/features/cashier/modules/Transactions/Transactions.tsx b/packages/wallets/src/features/cashier/modules/Transactions/Transactions.tsx index e153c32b0adf..e6090070ffd6 100644 --- a/packages/wallets/src/features/cashier/modules/Transactions/Transactions.tsx +++ b/packages/wallets/src/features/cashier/modules/Transactions/Transactions.tsx @@ -59,10 +59,10 @@ const Transactions = () => { ); useEffect(() => { - if (!isLoading && !wallet?.currency_config?.is_crypto && isPendingActive) { + if (!isLoading && !wallet?.is_crypto && isPendingActive) { setIsPendingActive(false); } - }, [isLoading, wallet?.currency_config?.is_crypto, isPendingActive]); + }, [isLoading, wallet?.is_crypto, isPendingActive]); useEffect(() => { if (isPendingActive && !Object.keys(filtersMapper.pending).includes(filterValue)) { @@ -80,7 +80,7 @@ const Transactions = () => { })} >
    - {wallet?.currency_config?.is_crypto && ( + {wallet?.is_crypto && (
    Pending Transactions setIsPendingActive(!isPendingActive)} value={isPendingActive} /> diff --git a/packages/wallets/src/features/cashier/modules/Transactions/__tests__/Transactions.spec.tsx b/packages/wallets/src/features/cashier/modules/Transactions/__tests__/Transactions.spec.tsx new file mode 100644 index 000000000000..a000150559d5 --- /dev/null +++ b/packages/wallets/src/features/cashier/modules/Transactions/__tests__/Transactions.spec.tsx @@ -0,0 +1,162 @@ +import React from 'react'; +import { useHistory } from 'react-router-dom'; +import { useActiveWalletAccount, useCurrencyConfig } from '@deriv/api-v2'; +import { fireEvent, render, screen } from '@testing-library/react'; +import useDevice from '../../../../../hooks/useDevice'; +import Transactions from '../Transactions'; + +jest.mock('@deriv/api-v2', () => ({ + useActiveWalletAccount: jest.fn(), + useCurrencyConfig: jest.fn(), +})); + +jest.mock('../../../../../hooks/useDevice', () => ({ + __esModule: true, + default: jest.fn(() => ({ + isMobile: true, + })), +})); + +jest.mock('react-router-dom', () => ({ + useHistory: jest.fn(() => ({ + location: { + pathname: '', + state: { + showPending: false, + }, + }, + })), +})); + +jest.mock('../components', () => ({ + TransactionsCompleted: () =>
    Transactions Completed
    , + TransactionsCompletedDemoResetBalance: () =>
    Transactions Completed Demo Reset Balance
    , + TransactionsPending: () =>
    Transactions Pending
    , +})); + +describe('Transactions', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + it('should render default content correctly', () => { + (useActiveWalletAccount as jest.Mock).mockReturnValue({}); + (useCurrencyConfig as jest.Mock).mockReturnValue({ isLoading: false }); + (useDevice as jest.Mock).mockReturnValue({ isMobile: false }); + + render(); + + expect(screen.getByText('Transactions Completed')).toBeInTheDocument(); + }); + + it('should switch to pending transactions when toggle is clicked', () => { + (useActiveWalletAccount as jest.Mock).mockReturnValue({ + data: { is_crypto: true, is_virtual: false }, + }); + (useCurrencyConfig as jest.Mock).mockReturnValue({ isLoading: false }); + (useHistory as jest.Mock).mockReturnValue({ + location: { pathname: '/wallets/cashier/transactions' }, + }); + render(); + + expect(screen.getByText('Transactions Completed')).toBeInTheDocument(); + fireEvent.click(screen.getByTestId('dt_wallets_toggle_switch')); + expect(screen.getByText('Transactions Pending')).toBeInTheDocument(); + }); + + it('should switch to pending transactions when toggle is clicked with an initial pending state', () => { + (useActiveWalletAccount as jest.Mock).mockReturnValue({ + data: { is_crypto: true, is_virtual: false }, + }); + (useCurrencyConfig as jest.Mock).mockReturnValue({ isLoading: false }); + (useHistory as jest.Mock).mockReturnValue({ + location: { pathname: '/wallets/cashier/transactions', state: { showPending: true } }, + }); + render(); + + expect(screen.getByText('Transactions Pending')).toBeInTheDocument(); + fireEvent.click(screen.getByTestId('dt_wallets_toggle_switch')); + expect(screen.getByText('Transactions Completed')).toBeInTheDocument(); + }); + + it('should show reset balance for virtual accounts selecting deposit', () => { + (useActiveWalletAccount as jest.Mock).mockReturnValue({ + data: { is_crypto: false, is_virtual: true }, + }); + (useCurrencyConfig as jest.Mock).mockReturnValue({ isLoading: false }); + render(); + + expect(screen.getByText('Transactions Completed')).toBeInTheDocument(); + fireEvent.click(screen.getByTestId('dt_wallets_textfield_icon_right')); + fireEvent.click(screen.getByText('Reset balance')); + expect(screen.getByRole('combobox')).toHaveValue('Reset balance'); + expect(screen.getByText('Transactions Completed Demo Reset Balance')).toBeInTheDocument(); + }); + + it('should change filter when a new option is selected from the dropdown', () => { + (useActiveWalletAccount as jest.Mock).mockReturnValue({ + data: { is_crypto: false, is_virtual: false }, + }); + (useCurrencyConfig as jest.Mock).mockReturnValue({ isLoading: false }); + render(); + + fireEvent.click(screen.getByTestId('dt_wallets_textfield_icon_right')); + fireEvent.click(screen.getByText('Deposit')); + + expect(screen.getByRole('combobox')).toHaveValue('Deposit'); + fireEvent.click(screen.getByTestId('dt_wallets_textfield_icon_right')); + fireEvent.click(screen.getByText('Withdrawal')); + + expect(screen.getByRole('combobox')).toHaveValue('Withdrawal'); + fireEvent.click(screen.getByTestId('dt_wallets_textfield_icon_right')); + fireEvent.click(screen.getByText('Transfer')); + + expect(screen.getByRole('combobox')).toHaveValue('Transfer'); + fireEvent.click(screen.getByTestId('dt_wallets_textfield_icon_right')); + fireEvent.click(screen.getByText('All')); + + expect(screen.getByRole('combobox')).toHaveValue('All'); + }); + + it('should set filter value to all if pending and filter value is invalid for pending filters', () => { + (useActiveWalletAccount as jest.Mock).mockReturnValue({ + data: { is_crypto: true, is_virtual: false }, + }); + (useCurrencyConfig as jest.Mock).mockReturnValue({ isLoading: false }); + (useHistory as jest.Mock).mockReturnValue({ + location: { + pathname: '/wallets/cashier/transactions', + state: { showPending: true, transactionType: 'invalidFilter' }, + }, + }); + + render(); + + expect(screen.getByText('Transactions Pending')).toBeInTheDocument(); + fireEvent.click(screen.getByTestId('dt_wallets_textfield_icon_right')); + fireEvent.click(screen.getByText('All')); + + expect(screen.getByRole('combobox')).toHaveValue('All'); + }); + + it('should set filter value to all if not pending and filter value is invalid for completed filters', () => { + (useActiveWalletAccount as jest.Mock).mockReturnValue({ + data: { is_crypto: true, is_virtual: false }, + }); + (useCurrencyConfig as jest.Mock).mockReturnValue({ isLoading: false }); + (useHistory as jest.Mock).mockReturnValue({ + location: { + pathname: '/wallets/cashier/transactions', + state: { showPending: false, transactionType: 'invalidFilter' }, + }, + }); + + render(); + + expect(screen.getByText('Transactions Completed')).toBeInTheDocument(); + fireEvent.click(screen.getByTestId('dt_wallets_textfield_icon_right')); + fireEvent.click(screen.getByText('All')); + + expect(screen.getByRole('combobox')).toHaveValue('All'); + }); +}); From d17c974e85a273fbbc4efa255215763389805a70 Mon Sep 17 00:00:00 2001 From: shontzu <108507236+shontzu-deriv@users.noreply.github.com> Date: Mon, 20 May 2024 18:18:52 +0800 Subject: [PATCH 58/95] [CFDS] shontzu/CFDS-3502/unexpected-behaviour-upon-clicking-dynamic-leverage (#15139) * style: fix transition glitch * style: minor animation duration tweaks --- .../src/components/cfds-listing/cfds-listing.scss | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/appstore/src/components/cfds-listing/cfds-listing.scss b/packages/appstore/src/components/cfds-listing/cfds-listing.scss index d48873b052c2..61fc7bd54d44 100644 --- a/packages/appstore/src/components/cfds-listing/cfds-listing.scss +++ b/packages/appstore/src/components/cfds-listing/cfds-listing.scss @@ -72,17 +72,27 @@ .jurisdiction-modal { &__content-wrapper { height: 100%; + transition: transform 1.5s ease; transform: rotateY(-180deg); visibility: hidden; } } .dynamic-leverage-modal { - transform: rotateY(0deg); + animation: show 1s ease forwards; } } } +@keyframes show { + 0% { + transform: rotateY(180deg); + } + 100% { + transform: rotateY(0deg); + } +} + .cfd-jurisdiction-card--synthetic, .cfd-jurisdiction-card--financial, .cfd-jurisdiction-card--all { @@ -915,7 +925,6 @@ position: absolute; backface-visibility: hidden; transition: transform 0.6s ease; - transform: rotateY(180deg); @include mobile { margin: 1.5rem 2.4rem 2.4rem; From ffcafe9f423c3787e6bb5d7b08bb18a39494a373 Mon Sep 17 00:00:00 2001 From: George Usynin <103181646+heorhi-deriv@users.noreply.github.com> Date: Mon, 20 May 2024 13:28:24 +0300 Subject: [PATCH 59/95] fix(wallets): :ambulance: fix demo cfd balance (#15230) --- .../AvailableCTraderAccountsList.tsx | 1 - .../CTraderSuccessModal/CTraderSuccessModal.tsx | 10 +++++----- .../DxtradeEnterPasswordModal.tsx | 12 ++++++------ .../cfd/modals/MT5AccountAdded/MT5AccountAdded.tsx | 10 ++-------- .../__tests__/MT5AccountAdded.spec.tsx | 5 ++++- 5 files changed, 17 insertions(+), 21 deletions(-) diff --git a/packages/wallets/src/features/cfd/flows/CTrader/AvailableCTraderAccountsList/AvailableCTraderAccountsList.tsx b/packages/wallets/src/features/cfd/flows/CTrader/AvailableCTraderAccountsList/AvailableCTraderAccountsList.tsx index 148c93201ff5..c105a2dc0914 100644 --- a/packages/wallets/src/features/cfd/flows/CTrader/AvailableCTraderAccountsList/AvailableCTraderAccountsList.tsx +++ b/packages/wallets/src/features/cfd/flows/CTrader/AvailableCTraderAccountsList/AvailableCTraderAccountsList.tsx @@ -32,7 +32,6 @@ const AvailableCTraderAccountsList: React.FC = () => { show( diff --git a/packages/wallets/src/features/cfd/modals/CTraderSuccessModal/CTraderSuccessModal.tsx b/packages/wallets/src/features/cfd/modals/CTraderSuccessModal/CTraderSuccessModal.tsx index ac98526d843a..5b731541df05 100644 --- a/packages/wallets/src/features/cfd/modals/CTraderSuccessModal/CTraderSuccessModal.tsx +++ b/packages/wallets/src/features/cfd/modals/CTraderSuccessModal/CTraderSuccessModal.tsx @@ -10,18 +10,18 @@ import { CTraderSuccessModalButtons } from './components'; type TCTraderSuccessModal = { createdAccount?: THooks.CreateOtherCFDAccount; - displayBalance?: string; isDemo: boolean; walletCurrencyType: THooks.WalletAccountsList['wallet_currency_type']; }; -const CTraderSuccessModal = ({ createdAccount, displayBalance, isDemo, walletCurrencyType }: TCTraderSuccessModal) => { +const CTraderSuccessModal = ({ createdAccount, isDemo, walletCurrencyType }: TCTraderSuccessModal) => { const { data: cTraderAccounts } = useCtraderAccountsList(); const { isMobile } = useDevice(); const { hide } = useModal(); + const cTraderBalance = cTraderAccounts?.find(account => account.login)?.formatted_balance; const description = isDemo - ? `Let's practise trading with ${displayBalance} virtual funds.` + ? `Let's practise trading with ${cTraderBalance} virtual funds.` : `Transfer funds from your ${walletCurrencyType} Wallet to your ${PlatformDetails.ctrader.title} account to start trading.`; if (isMobile) { @@ -34,7 +34,7 @@ const CTraderSuccessModal = ({ createdAccount, displayBalance, isDemo, walletCur > account.login)?.formatted_balance} + displayBalance={cTraderBalance} marketType='all' platform='ctrader' renderButton={() => ( @@ -50,7 +50,7 @@ const CTraderSuccessModal = ({ createdAccount, displayBalance, isDemo, walletCur account.login)?.formatted_balance} + displayBalance={cTraderBalance} marketType='all' platform={PlatformDetails.ctrader.platform} renderButton={() => ( diff --git a/packages/wallets/src/features/cfd/modals/DxtradeEnterPasswordModal/DxtradeEnterPasswordModal.tsx b/packages/wallets/src/features/cfd/modals/DxtradeEnterPasswordModal/DxtradeEnterPasswordModal.tsx index 606c0be87325..a198975abdc9 100644 --- a/packages/wallets/src/features/cfd/modals/DxtradeEnterPasswordModal/DxtradeEnterPasswordModal.tsx +++ b/packages/wallets/src/features/cfd/modals/DxtradeEnterPasswordModal/DxtradeEnterPasswordModal.tsx @@ -54,11 +54,15 @@ const DxtradeEnterPasswordModal = () => { }).catch(() => setPassword('')); }, [mutateAsync, accountType, password, dxtradePlatform]); + const dxtradeBalance = useMemo(() => { + return dxtradeAccount?.find(account => account.market_type === 'all')?.display_balance; + }, [dxtradeAccount]); + const successDescription = useMemo(() => { return accountType === 'demo' - ? `Let's practise trading with ${activeWallet?.display_balance} virtual funds.` + ? `Let's practise trading with ${dxtradeBalance} virtual funds.` : `Transfer funds from your ${activeWallet?.currency} Wallet to your ${PlatformDetails.dxtrade.title} account to start trading.`; - }, [accountType, activeWallet?.currency, activeWallet?.display_balance]); + }, [accountType, activeWallet?.currency, dxtradeBalance]); useEffect(() => { if (!isResetPasswordSuccessful) return; @@ -77,10 +81,6 @@ const DxtradeEnterPasswordModal = () => { } }, [dxtradePlatform, hide, isDxtradePasswordNotSet, isMobile, isResetPasswordSuccessful, show]); - const dxtradeBalance = useMemo(() => { - return dxtradeAccount?.find(account => account.market_type === 'all')?.display_balance; - }, [dxtradeAccount]); - const renderFooter = useMemo(() => { if (isCreateAccountSuccessful) { if (accountType === 'demo') { diff --git a/packages/wallets/src/features/cfd/modals/MT5AccountAdded/MT5AccountAdded.tsx b/packages/wallets/src/features/cfd/modals/MT5AccountAdded/MT5AccountAdded.tsx index 5fda93bbca35..81bda0c7162a 100644 --- a/packages/wallets/src/features/cfd/modals/MT5AccountAdded/MT5AccountAdded.tsx +++ b/packages/wallets/src/features/cfd/modals/MT5AccountAdded/MT5AccountAdded.tsx @@ -77,16 +77,10 @@ const MT5AccountAdded: FC = ({ account, marketType, platform }) => { const renderSuccessDescription = useMemo(() => { if (isDemo) { - return `Let's practise trading with ${activeWallet?.display_balance} virtual funds.`; + return `Let's practise trading with ${displayBalance} virtual funds.`; } return `Transfer funds from your ${activeWallet?.wallet_currency_type} Wallet to your ${marketTypeTitle} ${landingCompanyName} account to start trading.`; - }, [ - activeWallet?.display_balance, - activeWallet?.wallet_currency_type, - isDemo, - landingCompanyName, - marketTypeTitle, - ]); + }, [activeWallet?.wallet_currency_type, displayBalance, isDemo, landingCompanyName, marketTypeTitle]); const renderMainContent = useMemo(() => { if (!isSuccess) return null; diff --git a/packages/wallets/src/features/cfd/modals/MT5AccountAdded/__tests__/MT5AccountAdded.spec.tsx b/packages/wallets/src/features/cfd/modals/MT5AccountAdded/__tests__/MT5AccountAdded.spec.tsx index 8859f3bce329..70e1b2a78ac2 100644 --- a/packages/wallets/src/features/cfd/modals/MT5AccountAdded/__tests__/MT5AccountAdded.spec.tsx +++ b/packages/wallets/src/features/cfd/modals/MT5AccountAdded/__tests__/MT5AccountAdded.spec.tsx @@ -30,6 +30,9 @@ jest.mock('@deriv/api-v2', () => ({ })), isSuccess: true, })), + useMT5AccountsList: jest.fn(() => ({ + data: [{ display_balance: '10,000.00 USD', market_type: 'financial' }], + })), usePOI: jest.fn(() => ({ data: { current: { @@ -63,7 +66,7 @@ describe('MT5AccountAdded', () => { ); expect(screen.getByText('Your Financial demo account is ready')).toBeInTheDocument(); - expect(screen.getByText("Let's practise trading with 10000 USD virtual funds.")).toBeInTheDocument(); + expect(screen.getByText("Let's practise trading with 10,000.00 USD virtual funds.")).toBeInTheDocument(); const okButton = screen.getByRole('button', { name: 'OK' }); expect(okButton).toBeInTheDocument(); expect(okButton).toBeEnabled(); From 2b4ecaba379fecae70ef4c0fe5a8788f4c835692 Mon Sep 17 00:00:00 2001 From: George Usynin <103181646+heorhi-deriv@users.noreply.github.com> Date: Mon, 20 May 2024 14:45:22 +0300 Subject: [PATCH 60/95] fix(wallets): :ambulance: fix deposit iframe loading (#15252) --- .../cashier/flows/WalletDeposit/WalletDeposit.tsx | 3 ++- .../cashier/modules/DepositFiat/DepositFiat.tsx | 8 +++++--- .../DepositFiat/__tests__/DepositFiat.spec.tsx | 11 +---------- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/packages/wallets/src/features/cashier/flows/WalletDeposit/WalletDeposit.tsx b/packages/wallets/src/features/cashier/flows/WalletDeposit/WalletDeposit.tsx index 2028f26fd11a..e7139daf02b1 100644 --- a/packages/wallets/src/features/cashier/flows/WalletDeposit/WalletDeposit.tsx +++ b/packages/wallets/src/features/cashier/flows/WalletDeposit/WalletDeposit.tsx @@ -9,6 +9,7 @@ const WalletDeposit = () => { const { data } = useActiveWalletAccount(); const { isSuccess: isAuthorizeSuccess } = useAuthorize(); const { + data: iframeUrl, error: depositFiatError, isLoading: isFiatAddressLoading, mutate: mutateDepositFiat, @@ -40,7 +41,7 @@ const WalletDeposit = () => { return ; } - return isCrypto ? : ; + return isCrypto ? : ; }; export default WalletDeposit; diff --git a/packages/wallets/src/features/cashier/modules/DepositFiat/DepositFiat.tsx b/packages/wallets/src/features/cashier/modules/DepositFiat/DepositFiat.tsx index aa599e037b9b..a48f78011636 100644 --- a/packages/wallets/src/features/cashier/modules/DepositFiat/DepositFiat.tsx +++ b/packages/wallets/src/features/cashier/modules/DepositFiat/DepositFiat.tsx @@ -1,10 +1,12 @@ import React, { useState } from 'react'; -import { useCashierFiatAddress } from '@deriv/api-v2'; import { Loader } from '../../../../components'; import './DepositFiat.scss'; -const DepositFiat = () => { - const { data: iframeUrl } = useCashierFiatAddress(); +type TProps = { + iframeUrl?: string; +}; + +const DepositFiat: React.FC = ({ iframeUrl }) => { const [isLoading, setIsLoading] = useState(true); return ( diff --git a/packages/wallets/src/features/cashier/modules/DepositFiat/__tests__/DepositFiat.spec.tsx b/packages/wallets/src/features/cashier/modules/DepositFiat/__tests__/DepositFiat.spec.tsx index bc5baa9df4a9..8ad373fabf64 100644 --- a/packages/wallets/src/features/cashier/modules/DepositFiat/__tests__/DepositFiat.spec.tsx +++ b/packages/wallets/src/features/cashier/modules/DepositFiat/__tests__/DepositFiat.spec.tsx @@ -1,5 +1,4 @@ import React from 'react'; -import { useCashierFiatAddress } from '@deriv/api-v2'; import { fireEvent, render, screen } from '@testing-library/react'; import DepositFiat from '../DepositFiat'; @@ -13,21 +12,13 @@ describe('DepositFiat', () => { }); it('should render loader initially', () => { - (useCashierFiatAddress as jest.Mock).mockReturnValueOnce({ - data: null, - }); - render(); expect(screen.getByTestId('dt_wallets_loader')).toBeInTheDocument(); expect(screen.queryByTestId('dt_deposit-fiat-iframe')).not.toBeInTheDocument(); }); it('should display iframe correctly after onLoad event', () => { - (useCashierFiatAddress as jest.Mock).mockReturnValue({ - data: 'https://iframe_url', - }); - - render(); + render(); const iframe = screen.getByTestId('dt_deposit-fiat-iframe'); expect(iframe).toHaveAttribute('src', 'https://iframe_url'); From b31bfde1cbe1fe148ebab9b46da3946ea46af5fd Mon Sep 17 00:00:00 2001 From: Aum Bhatt <125039206+aum-deriv@users.noreply.github.com> Date: Mon, 20 May 2024 15:47:44 +0400 Subject: [PATCH 61/95] fix: fix routing to wallet transfer on clicking manage funds button in account settings page (#15204) --- packages/shared/src/utils/routes/routes.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/shared/src/utils/routes/routes.ts b/packages/shared/src/utils/routes/routes.ts index a95eb4aace45..789eb267a371 100644 --- a/packages/shared/src/utils/routes/routes.ts +++ b/packages/shared/src/utils/routes/routes.ts @@ -82,7 +82,7 @@ export const routes = { wallets_cashier: '/wallets/cashier', wallets_deposit: '/wallets/cashier/deposit', wallets_withdrawal: '/wallets/cashier/withdraw', - wallets_transfer: 'wallets/cashier/transfer', + wallets_transfer: '/wallets/cashier/transfer', wallets_transactions: '/wallets/cashier/transactions', wallets_compare_accounts: '/wallets/compare-accounts', From 5fdf2bda83f9d1b34252e10e908c57dff6c69455 Mon Sep 17 00:00:00 2001 From: Mark <129744061+markw-deriv@users.noreply.github.com> Date: Mon, 20 May 2024 13:19:23 +0100 Subject: [PATCH 62/95] chore: get the last successful master artifact (#15253) --- .github/actions/analyze/action.yml | 38 +++++++++--------------------- .github/workflows/analyze.yml | 2 ++ 2 files changed, 13 insertions(+), 27 deletions(-) diff --git a/.github/actions/analyze/action.yml b/.github/actions/analyze/action.yml index cc1c0ad37c3f..2b90460b8971 100644 --- a/.github/actions/analyze/action.yml +++ b/.github/actions/analyze/action.yml @@ -57,43 +57,25 @@ inputs: IS_GROWTHBOOK_ENABLED: description: 'Is growthbook enabled' required: true + ISSUE_NUMBER: + description: 'Issue to post a comment to' + required: false runs: using: composite steps: - - name: Get latest commit hash from master - id: latest_commit - shell: bash - run: | - git fetch origin master - latest_commit=$(git rev-parse origin/master) - echo "latest_commit=$latest_commit" >> $GITHUB_OUTPUT - - - name: Check if previous artifact exists - env: - LATEST_COMMIT: ${{ steps.latest_commit.outputs.latest_commit }} - id: artifact_check - shell: bash - run: | - ARTIFACT_EXISTS=$(curl -s -H "Authorization: Bearer ${{ github.token }}" "https://api.github.com/repos/${{ github.repository }}/actions/artifacts?name=reports-$LATEST_COMMIT" | jq '.total_count' | awk '{print $1}') - if [[ $ARTIFACT_EXISTS -gt 0 ]]; then - echo "artifact_exists=true" >> $GITHUB_OUTPUT - else - echo "artifact_exists=false" >> $GITHUB_OUTPUT - fi - - name: Get artifact URL id: get_artifact_url env: GITHUB_TOKEN: ${{ inputs.GITHUB_TOKEN }} - LATEST_COMMIT: ${{ steps.latest_commit.outputs.latest_commit }} shell: bash run: | ARTIFACT_URL=$(curl -s -H "Authorization: Bearer $GITHUB_TOKEN" \ - "https://api.github.com/repos/${{ github.repository }}/actions/artifacts?name=reports-${LATEST_COMMIT}" | \ - jq -r '.artifacts[0].archive_download_url') + "https://api.github.com/repos/${{ github.repository }}/actions/artifacts" | \ + jq -r '.artifacts | map(select(.workflow_run.head_branch == "master" and (.name | startswith("reports-")))) | .[0] | .archive_download_url') echo "artifact_url=$ARTIFACT_URL" >> $GITHUB_OUTPUT + echo "artifact_url=$ARTIFACT_URL" - name: Download artifact if: steps.get_artifact_url.outputs.artifact_url != 'null' @@ -137,23 +119,25 @@ runs: if: steps.get_artifact_url.outputs.artifact_url != 'null' shell: bash run: | - DIFF_OUTPUT=$(node .github/workflows/compareReports.js) + DIFF_OUTPUT=$(node .github/actions/analyze/compareReports.js) echo "diff_output<> $GITHUB_OUTPUT echo "$DIFF_OUTPUT" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT - name: Comment on PR with Diff Output - if: github.event_name == 'pull_request' && steps.get_artifact_url.outputs.artifact_url != 'null' + if: steps.get_artifact_url.outputs.artifact_url != 'null' && inputs.ISSUE_NUMBER uses: actions/github-script@v5 env: DIFF_OUTPUT: ${{ steps.diff.outputs.diff_output }} + ISSUE_NUMBER: ${{ inputs.ISSUE_NUMBER }} with: script: | const diffOutput = process.env.DIFF_OUTPUT; + const issueNumber = process.env.ISSUE_NUMBER; github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, - issue_number: context.issue.number, + issue_number: issueNumber, body: `${diffOutput}` }); diff --git a/.github/workflows/analyze.yml b/.github/workflows/analyze.yml index 63f0ad23b366..dec1e07dbf38 100644 --- a/.github/workflows/analyze.yml +++ b/.github/workflows/analyze.yml @@ -16,6 +16,7 @@ jobs: permissions: contents: read pull-requests: write + actions: read steps: - name: Checkout uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 @@ -44,3 +45,4 @@ jobs: GROWTHBOOK_DECRYPTION_KEY: ${{ vars.GROWTHBOOK_DECRYPTION_KEY }} REF_NAME: ${{ github.ref_name }} REMOTE_CONFIG_URL: ${{ vars.REMOTE_CONFIG_URL }} + ISSUE_NUMBER: ${{ github.event.pull_request.number }} From b88f5c436af8eeb85b22f815ad82042b0cbb2bd5 Mon Sep 17 00:00:00 2001 From: Jim Daniels Wasswa <104334373+jim-deriv@users.noreply.github.com> Date: Mon, 20 May 2024 21:12:32 +0800 Subject: [PATCH 63/95] Jim/wall 4000/too many attempts modal doesnt appear new (#15220) * chore: send email when forgot password is clicked * chore: add sendemail call to modal on mobile * chore: rename hook * docs: add tsdoc * chore: add sendemail to dependency array * chore: add error handling logic * chore: add error handling for sent email template * chore: add modal with lightbox in mobile Co-authored-by: adrienne-deriv <103016120+adrienne-deriv@users.noreply.github.com> * chore: add password limit modal * chore: remove prop causing re-rendering * chore: remove title from email modal * chore: move modal title from the body to the header * chore: rename classes --------- Co-authored-by: adrienne-deriv <103016120+adrienne-deriv@users.noreply.github.com> --- .../Base/WalletButton/WalletButton.scss | 11 +++ .../Base/WalletButton/WalletButton.tsx | 4 + .../DxtradeEnterPasswordModal.tsx | 17 +++- .../PasswordLimitExceededModal.scss | 41 +++++++++ .../PasswordLimitExceededModal.tsx | 87 +++++++++++++++++++ .../PasswordLimitExceededModal/index.ts | 1 + 6 files changed, 159 insertions(+), 2 deletions(-) create mode 100644 packages/wallets/src/features/cfd/modals/PasswordLimitExceededModal/PasswordLimitExceededModal.scss create mode 100644 packages/wallets/src/features/cfd/modals/PasswordLimitExceededModal/PasswordLimitExceededModal.tsx create mode 100644 packages/wallets/src/features/cfd/modals/PasswordLimitExceededModal/index.ts diff --git a/packages/wallets/src/components/Base/WalletButton/WalletButton.scss b/packages/wallets/src/components/Base/WalletButton/WalletButton.scss index e6903331b632..ef21269a2922 100644 --- a/packages/wallets/src/components/Base/WalletButton/WalletButton.scss +++ b/packages/wallets/src/components/Base/WalletButton/WalletButton.scss @@ -108,4 +108,15 @@ $size-map: ( } } } + &__border { + &--none { + border-width: 0; + } + &--sm { + border-width: 1px; + } + &--md { + border-width: 2px; + } + } } diff --git a/packages/wallets/src/components/Base/WalletButton/WalletButton.tsx b/packages/wallets/src/components/Base/WalletButton/WalletButton.tsx index e5a551508092..60e157e39cbe 100644 --- a/packages/wallets/src/components/Base/WalletButton/WalletButton.tsx +++ b/packages/wallets/src/components/Base/WalletButton/WalletButton.tsx @@ -7,9 +7,11 @@ import './WalletButton.scss'; type TVariant = 'contained' | 'ghost' | 'outlined'; type TColor = 'black' | 'primary-light' | 'primary' | 'white'; +type TBorderWidth = Extract | 'none'; interface WalletButtonProps { ariaLabel?: ComponentProps<'button'>['aria-label']; + borderWidth?: TBorderWidth; color?: TColor; disabled?: ComponentProps<'button'>['disabled']; icon?: ReactElement; @@ -25,6 +27,7 @@ interface WalletButtonProps { const WalletButton: FC> = ({ ariaLabel, + borderWidth = 'sm', children, color = 'primary', disabled = false, @@ -45,6 +48,7 @@ const WalletButton: FC> = ({ `wallets-button__size--${size}`, `wallets-button__variant--${variant}`, `wallets-button__rounded--${rounded}`, + `wallets-button__border--${borderWidth}`, isContained && `wallets-button__color--${color}`, isFullWidth && 'wallets-button__full-width' ); diff --git a/packages/wallets/src/features/cfd/modals/DxtradeEnterPasswordModal/DxtradeEnterPasswordModal.tsx b/packages/wallets/src/features/cfd/modals/DxtradeEnterPasswordModal/DxtradeEnterPasswordModal.tsx index a198975abdc9..3ffad4d2cac1 100644 --- a/packages/wallets/src/features/cfd/modals/DxtradeEnterPasswordModal/DxtradeEnterPasswordModal.tsx +++ b/packages/wallets/src/features/cfd/modals/DxtradeEnterPasswordModal/DxtradeEnterPasswordModal.tsx @@ -13,6 +13,7 @@ import useDevice from '../../../../hooks/useDevice'; import useSendPasswordResetEmail from '../../../../hooks/useSendPasswordResetEmail'; import { PlatformDetails } from '../../constants'; import { CFDSuccess, CreatePassword, EnterPassword } from '../../screens'; +import { PasswordLimitExceededModal } from '../PasswordLimitExceededModal'; import './DxtradeEnterPasswordModal.scss'; const DxtradeEnterPasswordModal = () => { @@ -28,7 +29,6 @@ const DxtradeEnterPasswordModal = () => { mutateAsync, status, } = useCreateOtherCFDAccount(); - const { data: dxtradeAccount, isSuccess: dxtradeAccountListSuccess } = useDxtradeAccountsList(); const { data: activeWallet } = useActiveWalletAccount(); const { @@ -68,7 +68,7 @@ const DxtradeEnterPasswordModal = () => { if (!isResetPasswordSuccessful) return; if (!isDxtradePasswordNotSet && isMobile) { show( - + ); @@ -233,6 +233,19 @@ const DxtradeEnterPasswordModal = () => { sendEmail, ]); + if (status === 'error' && error?.error?.code === 'PasswordReset') { + return ( + { + sendEmail({ + platform: dxtradePlatform, + }); + }} + /> + ); + } + if (status === 'error' && error?.error?.code !== 'PasswordError') { return ; } diff --git a/packages/wallets/src/features/cfd/modals/PasswordLimitExceededModal/PasswordLimitExceededModal.scss b/packages/wallets/src/features/cfd/modals/PasswordLimitExceededModal/PasswordLimitExceededModal.scss new file mode 100644 index 000000000000..c7e7b54f94d7 --- /dev/null +++ b/packages/wallets/src/features/cfd/modals/PasswordLimitExceededModal/PasswordLimitExceededModal.scss @@ -0,0 +1,41 @@ +.wallets-password-limit-exceeded-modal { + position: relative; + display: flex; + flex-direction: column; + background: var(--system-light-8-primary-background, #fff); + border-radius: 0.8rem; + width: 44rem; + height: 18rem; + padding: 2.4rem; + gap: 2.4rem; + @include mobile { + width: 100%; + height: 100%; + padding: 0; + gap: 0; + } + &__title { + display: flex; + width: 100%; + @include mobile { + padding: 2rem; + align-items: center; + justify-content: center; + } + } + &__content { + width: 100%; + display: flex; + flex-direction: column; + justify-content: stretch; + + @include mobile { + padding: 1rem; + } + } + &__buttons { + display: flex; + gap: 0.8rem; + justify-content: flex-end; + } +} diff --git a/packages/wallets/src/features/cfd/modals/PasswordLimitExceededModal/PasswordLimitExceededModal.tsx b/packages/wallets/src/features/cfd/modals/PasswordLimitExceededModal/PasswordLimitExceededModal.tsx new file mode 100644 index 000000000000..9333cd22750e --- /dev/null +++ b/packages/wallets/src/features/cfd/modals/PasswordLimitExceededModal/PasswordLimitExceededModal.tsx @@ -0,0 +1,87 @@ +import React from 'react'; +import { + ModalStepWrapper, + ModalWrapper, + WalletButton, + WalletButtonGroup, + WalletText, +} from '../../../../components/Base'; +import useDevice from '../../../../hooks/useDevice'; +import './PasswordLimitExceededModal.scss'; + +type TProps = { + onPrimaryClick: () => void; + onSecondaryClick: () => void; +}; + +const PasswordLimitExceededModal: React.FC = ({ onPrimaryClick, onSecondaryClick }) => { + const { isMobile } = useDevice(); + const textSize = isMobile ? 'md' : 'sm'; + const alignment = isMobile ? 'center' : 'start'; + if (isMobile) { + return ( + { + return ( + + + Forgot password? + + + Try later + + + ); + }} + title='Too many attempts' + > +
    +
    + + Please try again in a minute. + +
    +
    +
    + ); + } + return ( + +
    +
    + + Too many attempts + +
    +
    + + Please try again in a minute. + +
    +
    + + Forgot password? + + + Try later + +
    +
    +
    + ); +}; + +export default PasswordLimitExceededModal; diff --git a/packages/wallets/src/features/cfd/modals/PasswordLimitExceededModal/index.ts b/packages/wallets/src/features/cfd/modals/PasswordLimitExceededModal/index.ts new file mode 100644 index 000000000000..3c13e14845db --- /dev/null +++ b/packages/wallets/src/features/cfd/modals/PasswordLimitExceededModal/index.ts @@ -0,0 +1 @@ +export { default as PasswordLimitExceededModal } from './PasswordLimitExceededModal'; From 4da6b8a59f1dc2bf0a2ef84350c58f924c2d3b15 Mon Sep 17 00:00:00 2001 From: Jim Daniels Wasswa <104334373+jim-deriv@users.noreply.github.com> Date: Mon, 20 May 2024 22:48:52 +0800 Subject: [PATCH 64/95] [WALL] Jim/WALL-4121/Split modals and move modal titles to the header (#15251) * chore: move title to the header section * chore: retrieve markettype from prop * chore: remove unnecessary prop and make it optional in the host component --- .../CreatePasswordModal.tsx | 57 +++++ .../cfd/modals/CreatePasswordModal/index.ts | 1 + .../DxtradeEnterPasswordModal.tsx | 211 ++++-------------- .../EnterPasswordModal/EnterPasswordModal.tsx | 87 ++++++++ .../cfd/modals/EnterPasswordModal/index.ts | 1 + .../cfd/modals/SuccessModal/SuccessModal.tsx | 75 +++++++ .../features/cfd/modals/SuccessModal/index.ts | 1 + .../screens/EnterPassword/EnterPassword.tsx | 10 +- 8 files changed, 274 insertions(+), 169 deletions(-) create mode 100644 packages/wallets/src/features/cfd/modals/CreatePasswordModal/CreatePasswordModal.tsx create mode 100644 packages/wallets/src/features/cfd/modals/CreatePasswordModal/index.ts create mode 100644 packages/wallets/src/features/cfd/modals/EnterPasswordModal/EnterPasswordModal.tsx create mode 100644 packages/wallets/src/features/cfd/modals/EnterPasswordModal/index.ts create mode 100644 packages/wallets/src/features/cfd/modals/SuccessModal/SuccessModal.tsx create mode 100644 packages/wallets/src/features/cfd/modals/SuccessModal/index.ts diff --git a/packages/wallets/src/features/cfd/modals/CreatePasswordModal/CreatePasswordModal.tsx b/packages/wallets/src/features/cfd/modals/CreatePasswordModal/CreatePasswordModal.tsx new file mode 100644 index 000000000000..c4ca633dca25 --- /dev/null +++ b/packages/wallets/src/features/cfd/modals/CreatePasswordModal/CreatePasswordModal.tsx @@ -0,0 +1,57 @@ +import React, { ComponentProps, FC } from 'react'; +import { ModalStepWrapper, ModalWrapper, WalletButton } from '../../../../components'; +import useDevice from '../../../../hooks/useDevice'; +import { PlatformDetails } from '../../constants'; +import { CreatePassword } from '../../screens'; + +const CreatePasswordModal: FC> = ({ + isLoading, + onPasswordChange, + onPrimaryClick, + password, + platform, +}) => { + const { isMobile } = useDevice(); + if (isMobile) { + return ( + { + return ( + + {`Create ${PlatformDetails[platform].title} password`} + + ); + }} + title={''} + > + + + ); + } + + return ( + + + + ); +}; + +export default CreatePasswordModal; diff --git a/packages/wallets/src/features/cfd/modals/CreatePasswordModal/index.ts b/packages/wallets/src/features/cfd/modals/CreatePasswordModal/index.ts new file mode 100644 index 000000000000..07b5ed417b41 --- /dev/null +++ b/packages/wallets/src/features/cfd/modals/CreatePasswordModal/index.ts @@ -0,0 +1 @@ +export { default as CreatePasswordModal } from './CreatePasswordModal'; diff --git a/packages/wallets/src/features/cfd/modals/DxtradeEnterPasswordModal/DxtradeEnterPasswordModal.tsx b/packages/wallets/src/features/cfd/modals/DxtradeEnterPasswordModal/DxtradeEnterPasswordModal.tsx index 3ffad4d2cac1..c75ee0abe5d9 100644 --- a/packages/wallets/src/features/cfd/modals/DxtradeEnterPasswordModal/DxtradeEnterPasswordModal.tsx +++ b/packages/wallets/src/features/cfd/modals/DxtradeEnterPasswordModal/DxtradeEnterPasswordModal.tsx @@ -7,13 +7,15 @@ import { useDxtradeAccountsList, } from '@deriv/api-v2'; import { SentEmailContent, WalletError } from '../../../../components'; -import { ModalStepWrapper, ModalWrapper, WalletButton, WalletButtonGroup } from '../../../../components/Base'; +import { ModalStepWrapper, ModalWrapper } from '../../../../components/Base'; import { useModal } from '../../../../components/ModalProvider'; import useDevice from '../../../../hooks/useDevice'; import useSendPasswordResetEmail from '../../../../hooks/useSendPasswordResetEmail'; import { PlatformDetails } from '../../constants'; -import { CFDSuccess, CreatePassword, EnterPassword } from '../../screens'; +import { CreatePasswordModal } from '../CreatePasswordModal'; +import { EnterPasswordModal } from '../EnterPasswordModal'; import { PasswordLimitExceededModal } from '../PasswordLimitExceededModal'; +import { SuccessModal } from '../SuccessModal'; import './DxtradeEnterPasswordModal.scss'; const DxtradeEnterPasswordModal = () => { @@ -81,158 +83,6 @@ const DxtradeEnterPasswordModal = () => { } }, [dxtradePlatform, hide, isDxtradePasswordNotSet, isMobile, isResetPasswordSuccessful, show]); - const renderFooter = useMemo(() => { - if (isCreateAccountSuccessful) { - if (accountType === 'demo') { - return ( -
    - - OK - -
    - ); - } - return ( - - hide()} size={isMobile ? 'lg' : 'md'} variant='outlined'> - Maybe later - - { - hide(); - history.push('/wallets/cashier/transfer', { toAccountLoginId: createdAccount?.account_id }); - }} - size={isMobile ? 'lg' : 'md'} - > - Transfer funds - - - ); - } - - if (!isDxtradePasswordNotSet) { - return ( - - { - sendEmail({ - platform: dxtradePlatform, - }); - }} - size={isMobile ? 'lg' : 'md'} - variant='outlined' - > - Forgot password? - - - Add account - - - ); - } - - return ( - - {`Create ${PlatformDetails.dxtrade.title} password`} - - ); - }, [ - accountType, - createdAccount?.account_id, - dxtradePlatform, - hide, - history, - isCreateAccountSuccessful, - isDxtradePasswordNotSet, - isLoading, - isMobile, - isResetPasswordLoading, - onSubmit, - password, - sendEmail, - ]); - - const successComponent = useMemo(() => { - if (isCreateAccountSuccessful && dxtradeAccountListSuccess) { - return ( - renderFooter} - title={`Your ${PlatformDetails.dxtrade.title}${ - accountType === 'demo' ? ` ${accountType}` : '' - } account is ready`} - /> - ); - } - }, [ - isCreateAccountSuccessful, - dxtradeAccountListSuccess, - successDescription, - dxtradeBalance, - dxtradePlatform, - accountType, - renderFooter, - ]); - - const passwordComponent = useMemo(() => { - if (!isCreateAccountSuccessful && accountStatusSuccess) { - return isDxtradePasswordNotSet ? ( - setPassword(e.target.value)} - onPrimaryClick={onSubmit} - password={password} - platform={dxtradePlatform} - /> - ) : ( - setPassword(e.target.value)} - onPrimaryClick={onSubmit} - onSecondaryClick={() => { - sendEmail({ - platform: dxtradePlatform, - }); - }} - password={password} - passwordError={error?.error?.code === 'PasswordError'} - platform={dxtradePlatform} - setPassword={setPassword} - /> - ); - } - }, [ - isCreateAccountSuccessful, - accountStatusSuccess, - isDxtradePasswordNotSet, - isLoading, - onSubmit, - password, - dxtradePlatform, - isResetPasswordLoading, - error?.error?.code, - sendEmail, - ]); - if (status === 'error' && error?.error?.code === 'PasswordReset') { return ( { /> ); } - if (status === 'error' && error?.error?.code !== 'PasswordError') { return ; } @@ -260,20 +109,50 @@ const DxtradeEnterPasswordModal = () => { ); } - if (isMobile) { + if (!isCreateAccountSuccessful && accountStatusSuccess) { + return isDxtradePasswordNotSet ? ( + setPassword(e.target.value)} + onPrimaryClick={onSubmit} + password={password} + platform={dxtradePlatform} + /> + ) : ( + setPassword(e.target.value)} + onPrimaryClick={onSubmit} + onSecondaryClick={() => { + sendEmail({ + platform: dxtradePlatform, + }); + }} + password={password} + passwordError={error?.error?.code === 'PasswordError'} + platform={dxtradePlatform} + setPassword={setPassword} + /> + ); + } + if (isCreateAccountSuccessful && dxtradeAccountListSuccess) { return ( - renderFooter} title={' '}> - {successComponent} - {passwordComponent} - + { + hide(); + history.push('/wallets/cashier/transfer', { toAccountLoginId: createdAccount?.account_id }); + }} + onSecondaryClick={hide} + platform={dxtradePlatform} + /> ); } - return ( - - {successComponent} - {passwordComponent} - - ); + return null; }; export default DxtradeEnterPasswordModal; diff --git a/packages/wallets/src/features/cfd/modals/EnterPasswordModal/EnterPasswordModal.tsx b/packages/wallets/src/features/cfd/modals/EnterPasswordModal/EnterPasswordModal.tsx new file mode 100644 index 000000000000..cafb7d2fe4cd --- /dev/null +++ b/packages/wallets/src/features/cfd/modals/EnterPasswordModal/EnterPasswordModal.tsx @@ -0,0 +1,87 @@ +import React, { ComponentProps, FC } from 'react'; +import { ModalStepWrapper, ModalWrapper, WalletButton, WalletButtonGroup } from '../../../../components'; +import useDevice from '../../../../hooks/useDevice'; +import { PlatformDetails } from '../../constants'; +import { EnterPassword } from '../../screens'; + +const EnterPasswordModal: FC> = ({ + isForgotPasswordLoading, + isLoading, + marketType, + onPasswordChange, + onPrimaryClick, + onSecondaryClick, + password, + passwordError, + platform, + setPassword, +}) => { + const { isMobile } = useDevice(); + + const title = `Enter your ${PlatformDetails[platform].title} password`; + + if (isMobile) { + return ( + { + return ( + + + Forgot password? + + + Add account + + + ); + }} + title={title} + > + + + ); + } + + return ( + + + + ); +}; + +export default EnterPasswordModal; diff --git a/packages/wallets/src/features/cfd/modals/EnterPasswordModal/index.ts b/packages/wallets/src/features/cfd/modals/EnterPasswordModal/index.ts new file mode 100644 index 000000000000..f765028f7a42 --- /dev/null +++ b/packages/wallets/src/features/cfd/modals/EnterPasswordModal/index.ts @@ -0,0 +1 @@ +export { default as EnterPasswordModal } from './EnterPasswordModal'; diff --git a/packages/wallets/src/features/cfd/modals/SuccessModal/SuccessModal.tsx b/packages/wallets/src/features/cfd/modals/SuccessModal/SuccessModal.tsx new file mode 100644 index 000000000000..0ec10b805f79 --- /dev/null +++ b/packages/wallets/src/features/cfd/modals/SuccessModal/SuccessModal.tsx @@ -0,0 +1,75 @@ +import React, { ComponentProps, FC } from 'react'; +import { useActiveWalletAccount } from '@deriv/api-v2'; +import { ModalStepWrapper, ModalWrapper, WalletButton, WalletButtonGroup } from '../../../../components'; +import useDevice from '../../../../hooks/useDevice'; +import { PlatformDetails } from '../../constants'; +import { CFDSuccess } from '../../screens'; + +type TProps = Omit, 'title'> & { + onPrimaryClick?: () => void; + onSecondaryClick?: () => void; +}; + +const SuccessModal: FC = ({ + description, + displayBalance = '', + marketType = 'all', + onPrimaryClick, + onSecondaryClick, + platform = 'dxtrade', +}) => { + const { isMobile } = useDevice(); + const { data: activeWallet } = useActiveWalletAccount(); + const accountType = activeWallet?.is_virtual ? 'demo' : 'real'; + const title = `Your ${PlatformDetails[platform].title}${ + accountType === 'demo' ? ` ${accountType}` : '' + } account is ready`; + + const renderButton = () => { + return accountType === 'demo' ? ( +
    + + OK + +
    + ) : ( + + + Maybe later + + + Transfer funds + + + ); + }; + + if (isMobile) { + return ( + + + + ); + } + + return ( + + + + ); +}; + +export default SuccessModal; diff --git a/packages/wallets/src/features/cfd/modals/SuccessModal/index.ts b/packages/wallets/src/features/cfd/modals/SuccessModal/index.ts new file mode 100644 index 000000000000..259dad886e14 --- /dev/null +++ b/packages/wallets/src/features/cfd/modals/SuccessModal/index.ts @@ -0,0 +1 @@ +export { default as SuccessModal } from './SuccessModal'; diff --git a/packages/wallets/src/features/cfd/screens/EnterPassword/EnterPassword.tsx b/packages/wallets/src/features/cfd/screens/EnterPassword/EnterPassword.tsx index 2b06e82fa7b5..2ea3fcca6c85 100644 --- a/packages/wallets/src/features/cfd/screens/EnterPassword/EnterPassword.tsx +++ b/packages/wallets/src/features/cfd/screens/EnterPassword/EnterPassword.tsx @@ -11,6 +11,7 @@ type TProps = { isForgotPasswordLoading?: boolean; isLoading?: boolean; marketType: TMarketTypes.CreateOtherCFDAccount; + modalTitle?: string; onPasswordChange?: (e: React.ChangeEvent) => void; onPrimaryClick?: () => void; onSecondaryClick?: () => void; @@ -24,6 +25,7 @@ const EnterPassword: React.FC = ({ isForgotPasswordLoading, isLoading, marketType, + modalTitle, onPasswordChange, onPrimaryClick, onSecondaryClick, @@ -49,9 +51,11 @@ const EnterPassword: React.FC = ({ return (
    - - Enter your {title} password - + {isDesktop && ( + + {modalTitle} + + )}
    Enter your {title} password to add a{' '} From cc7f6d0b1b69bcedb55bb3a013901b36090ef428 Mon Sep 17 00:00:00 2001 From: lubega-deriv <142860499+lubega-deriv@users.noreply.github.com> Date: Mon, 20 May 2024 23:59:46 +0800 Subject: [PATCH 65/95] chore: transfer message unit test (#15222) --- .../__tests__/TransferMessages.spec.tsx | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 packages/wallets/src/features/cashier/modules/Transfer/components/TransferMessages/__tests__/TransferMessages.spec.tsx diff --git a/packages/wallets/src/features/cashier/modules/Transfer/components/TransferMessages/__tests__/TransferMessages.spec.tsx b/packages/wallets/src/features/cashier/modules/Transfer/components/TransferMessages/__tests__/TransferMessages.spec.tsx new file mode 100644 index 000000000000..939e137828db --- /dev/null +++ b/packages/wallets/src/features/cashier/modules/Transfer/components/TransferMessages/__tests__/TransferMessages.spec.tsx @@ -0,0 +1,83 @@ +import React from 'react'; +import { useFormikContext } from 'formik'; +import { BrowserRouter as Router } from 'react-router-dom'; +import { render, screen } from '@testing-library/react'; +import { useTransferMessages } from '../../../hooks'; +import { useTransfer } from '../../../provider'; +import TransferMessages from '../TransferMessages'; + +jest.mock('formik', () => ({ + useFormikContext: jest.fn(), +})); + +jest.mock('../../../hooks', () => ({ + useTransferMessages: jest.fn(), +})); + +jest.mock('../../../provider', () => ({ + useTransfer: jest.fn(), +})); + +describe('TransferMessages', () => { + const setFieldValueMock = jest.fn(); + const mockValues = { + fromAccount: 'account1', + toAccount: 'account2', + }; + + beforeEach(() => { + (useFormikContext as jest.Mock).mockReturnValue({ + setFieldValue: setFieldValueMock, + values: mockValues, + }); + + (useTransfer as jest.Mock).mockReturnValue({ + accountLimits: {}, + activeWalletExchangeRates: {}, + USDExchangeRates: {}, + }); + + (useTransferMessages as jest.Mock).mockReturnValue([ + { + action: { buttonLabel: 'Action', navigateTo: '/action', shouldOpenInNewTab: true }, + message: { text: 'Error message', values: {} }, + type: 'error', + }, + { + action: null, + message: { text: 'Info message', values: {} }, + type: 'info', + }, + ]); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + it('should render messages correctly', () => { + render( + + + + ); + + expect(screen.getByText('Error message')).toBeInTheDocument(); + expect(screen.getByText('Info message')).toBeInTheDocument(); + + const actionLink = screen.getByRole('link', { name: 'Action' }); + expect(actionLink).toHaveAttribute('href', '/action'); + expect(actionLink).toHaveAttribute('rel', 'noopener noreferrer'); + expect(actionLink).toHaveAttribute('target', '_blank'); + }); + + it('should set isError field based on messages', () => { + render( + + + + ); + + expect(setFieldValueMock).toHaveBeenCalledWith('isError', true); + }); +}); From 5725ddf6ed5bb1810fd5c9df52c3534f15d26a51 Mon Sep 17 00:00:00 2001 From: Maryia <103177211+maryia-deriv@users.noreply.github.com> Date: Tue, 21 May 2024 04:49:30 +0300 Subject: [PATCH 66/95] build: add quill-tokens lib + update quill-ui lib (#15266) --- package-lock.json | 44316 ++++++++++++++++------------ packages/core/package.json | 3 +- packages/trader/package.json | 3 +- packages/trader/src/AppV2/app.tsx | 2 +- 4 files changed, 24703 insertions(+), 19621 deletions(-) diff --git a/package-lock.json b/package-lock.json index f10bce8d5cde..4fa1b9ef5c99 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,8 @@ "@datadog/browser-logs": "^5.11.0", "@datadog/browser-rum": "^5.11.0", "@deriv-com/analytics": "1.4.13", - "@deriv-com/quill-ui": "^1.9.27", + "@deriv-com/quill-tokens": "^2.0.2", + "@deriv-com/quill-ui": "^1.10.2", "@deriv-com/ui": "^1.14.5", "@deriv-com/utils": "^0.0.20", "@deriv/api-types": "^1.0.172", @@ -339,10 +340,12 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.18.6", - "license": "MIT", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" @@ -669,8 +672,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "license": "MIT", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz", + "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==", "engines": { "node": ">=6.9.0" } @@ -709,12 +713,14 @@ } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "license": "MIT", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz", + "integrity": "sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "@babel/helper-validator-identifier": "^7.24.5", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" @@ -2962,10 +2968,24 @@ "npm": "9.x" } }, + "node_modules/@deriv-com/quill-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@deriv-com/quill-tokens/-/quill-tokens-2.0.2.tgz", + "integrity": "sha512-NlQqIuri/Swyfd6uYEuywLIeC1/6impR3+WYWpEtGlU/uCLyfkRBiAohUdLNTVNXV5Jpwxik4JwlUHwda8VyLg==", + "dependencies": { + "@semantic-release/changelog": "^6.0.3", + "@semantic-release/github": "^10.0.4", + "@semantic-release/npm": "^12.0.1", + "@semantic-release/release-notes-generator": "^13.0.0", + "@types/lodash": "^4.14.197", + "lodash": "^4.17.21", + "remove": "^0.1.5" + } + }, "node_modules/@deriv-com/quill-ui": { - "version": "1.9.27", - "resolved": "https://registry.npmjs.org/@deriv-com/quill-ui/-/quill-ui-1.9.27.tgz", - "integrity": "sha512-bdxHaNM/Anb2mjkO5OUnwBs+k4uExBZtY8LFYlgxkxAxM5tzscMwDf8fN5GRkmdby/bPv2y8SzfmoxElWdjfbQ==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/@deriv-com/quill-ui/-/quill-ui-1.10.2.tgz", + "integrity": "sha512-RSdX2bsZlSob3ntvMPj4qsAJurcVBI3mH0NRBIHWM88kDHa0wHAV8vNS4DcARG4LrX24IIL8VXZz4HOUGPlvaQ==", "dependencies": { "@deriv/quill-icons": "^1.19.20", "@headlessui/react": "^1.7.18", @@ -3834,7 +3854,6 @@ }, "node_modules/@isaacs/string-locale-compare": { "version": "1.1.0", - "dev": true, "license": "ISC" }, "node_modules/@istanbuljs/load-nyc-config": { @@ -7338,7 +7357,6 @@ }, "node_modules/@npmcli/arborist": { "version": "5.3.0", - "dev": true, "license": "ISC", "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", @@ -7385,7 +7403,6 @@ }, "node_modules/@npmcli/arborist/node_modules/hosted-git-info": { "version": "5.2.1", - "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^7.5.1" @@ -7396,7 +7413,6 @@ }, "node_modules/@npmcli/arborist/node_modules/npm-package-arg": { "version": "9.1.2", - "dev": true, "license": "ISC", "dependencies": { "hosted-git-info": "^5.0.0", @@ -7410,7 +7426,6 @@ }, "node_modules/@npmcli/arborist/node_modules/semver": { "version": "7.3.8", - "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -7424,7 +7439,6 @@ }, "node_modules/@npmcli/arborist/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", - "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -7435,7 +7449,6 @@ }, "node_modules/@npmcli/fs": { "version": "2.1.2", - "dev": true, "license": "ISC", "dependencies": { "@gar/promisify": "^1.1.3", @@ -7447,7 +7460,6 @@ }, "node_modules/@npmcli/fs/node_modules/lru-cache": { "version": "6.0.0", - "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -7458,7 +7470,6 @@ }, "node_modules/@npmcli/fs/node_modules/semver": { "version": "7.3.8", - "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -7472,7 +7483,6 @@ }, "node_modules/@npmcli/git": { "version": "3.0.2", - "dev": true, "license": "ISC", "dependencies": { "@npmcli/promise-spawn": "^3.0.0", @@ -7491,7 +7501,6 @@ }, "node_modules/@npmcli/git/node_modules/semver": { "version": "7.3.8", - "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -7505,7 +7514,6 @@ }, "node_modules/@npmcli/git/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", - "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -7516,7 +7524,6 @@ }, "node_modules/@npmcli/installed-package-contents": { "version": "1.0.7", - "dev": true, "license": "ISC", "dependencies": { "npm-bundled": "^1.1.1", @@ -7531,7 +7538,6 @@ }, "node_modules/@npmcli/map-workspaces": { "version": "2.0.4", - "dev": true, "license": "ISC", "dependencies": { "@npmcli/name-from-folder": "^1.0.1", @@ -7545,7 +7551,6 @@ }, "node_modules/@npmcli/map-workspaces/node_modules/brace-expansion": { "version": "2.0.1", - "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -7553,7 +7558,6 @@ }, "node_modules/@npmcli/map-workspaces/node_modules/glob": { "version": "8.0.3", - "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -7571,7 +7575,6 @@ }, "node_modules/@npmcli/map-workspaces/node_modules/minimatch": { "version": "5.1.1", - "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" @@ -7582,7 +7585,6 @@ }, "node_modules/@npmcli/metavuln-calculator": { "version": "3.1.1", - "dev": true, "license": "ISC", "dependencies": { "cacache": "^16.0.0", @@ -7596,7 +7598,6 @@ }, "node_modules/@npmcli/metavuln-calculator/node_modules/lru-cache": { "version": "6.0.0", - "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -7607,7 +7608,6 @@ }, "node_modules/@npmcli/metavuln-calculator/node_modules/semver": { "version": "7.3.8", - "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -7621,7 +7621,6 @@ }, "node_modules/@npmcli/move-file": { "version": "2.0.1", - "dev": true, "license": "MIT", "dependencies": { "mkdirp": "^1.0.4", @@ -7633,12 +7632,10 @@ }, "node_modules/@npmcli/name-from-folder": { "version": "1.0.1", - "dev": true, "license": "ISC" }, "node_modules/@npmcli/node-gyp": { "version": "2.0.0", - "dev": true, "license": "ISC", "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" @@ -7646,7 +7643,6 @@ }, "node_modules/@npmcli/package-json": { "version": "2.0.0", - "dev": true, "license": "ISC", "dependencies": { "json-parse-even-better-errors": "^2.3.1" @@ -7657,7 +7653,6 @@ }, "node_modules/@npmcli/promise-spawn": { "version": "3.0.0", - "dev": true, "license": "ISC", "dependencies": { "infer-owner": "^1.0.4" @@ -7668,7 +7663,6 @@ }, "node_modules/@npmcli/run-script": { "version": "4.2.1", - "dev": true, "license": "ISC", "dependencies": { "@npmcli/node-gyp": "^2.0.0", @@ -9897,6 +9891,38 @@ "node": ">= 8" } }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "dependencies": { + "graceful-fs": "4.2.10" + }, + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/npm-conf": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz", + "integrity": "sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==", + "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/@polka/url": { "version": "1.0.0-next.25", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", @@ -10679,6 +10705,11 @@ "linux" ] }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==" + }, "node_modules/@segment/localstorage-retry": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@segment/localstorage-retry/-/localstorage-retry-1.3.0.tgz", @@ -10699,1091 +10730,1277 @@ "node": "*" } }, - "node_modules/@sendbird/chat": { - "version": "4.9.7", - "resolved": "https://registry.npmjs.org/@sendbird/chat/-/chat-4.9.7.tgz", - "integrity": "sha512-VNipPeJT7B6hD/OBDi6IjcGW+Y8fJHNkVUkvFk0BUkkZLY1eefUmtrv2CWWbJ0hxfGFWe+wRVEjsdWDXqLN/DA==", - "peerDependencies": { - "@react-native-async-storage/async-storage": "^1.17.6" + "node_modules/@semantic-release/changelog": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.3.tgz", + "integrity": "sha512-dZuR5qByyfe3Y03TpmCvAxCyTnp7r5XwtHRf/8vD9EAn4ZWbavUX8adMtXYzE86EVh0gyLA7lm5yW4IV30XUag==", + "dependencies": { + "@semantic-release/error": "^3.0.0", + "aggregate-error": "^3.0.0", + "fs-extra": "^11.0.0", + "lodash": "^4.17.4" }, - "peerDependenciesMeta": { - "@react-native-async-storage/async-storage": { - "optional": true - } + "engines": { + "node": ">=14.17" + }, + "peerDependencies": { + "semantic-release": ">=18.0.0" } }, - "node_modules/@simplewebauthn/browser": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/@simplewebauthn/browser/-/browser-8.3.4.tgz", - "integrity": "sha512-rO0hZ0ESD28bZl6Qe8k7RUuYvDLbsS6oPezkMMTtZ5vC80U07j4qBELKBzojDD6BsdL3dIJ9SExVp8E7pqQ5fA==", + "node_modules/@semantic-release/changelog/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dependencies": { - "@simplewebauthn/typescript-types": "^8.3.4" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" } }, - "node_modules/@simplewebauthn/typescript-types": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/@simplewebauthn/typescript-types/-/typescript-types-8.3.4.tgz", - "integrity": "sha512-38xtca0OqfRVNloKBrFB5LEM6PN5vzFbJG6rAutPVrtGHFYxPdiV3btYWq0eAZAZmP+dqFPYJxJWeJrGfmYHng==" - }, - "node_modules/@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", - "dev": true - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.6", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/@semantic-release/commit-analyzer": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-12.0.0.tgz", + "integrity": "sha512-qG+md5gdes+xa8zP7lIo1fWE17zRdO8yMCaxh9lyL65TQleoSv8WHHOqRURfghTytUh+NpkSyBprQ5hrkxOKVQ==", + "peer": true, "dependencies": { - "type-detect": "4.0.8" + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-filter": "^4.0.0", + "conventional-commits-parser": "^5.0.0", + "debug": "^4.0.0", + "import-from-esm": "^1.0.3", + "lodash-es": "^4.17.21", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=20.8.1" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "6.0.1", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/@semantic-release/commit-analyzer/node_modules/conventional-changelog-angular": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", + "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", + "peer": true, "dependencies": { - "@sinonjs/commons": "^1.7.0" + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=16" } }, - "node_modules/@sinonjs/samsam": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", - "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", + "node_modules/@semantic-release/commit-analyzer/node_modules/conventional-commits-filter": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz", + "integrity": "sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==", + "peer": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/@semantic-release/commit-analyzer/node_modules/conventional-commits-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", "peer": true, "dependencies": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" + "is-text-path": "^2.0.0", + "JSONStream": "^1.3.5", + "meow": "^12.0.1", + "split2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.mjs" + }, + "engines": { + "node": ">=16" } }, - "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { + "node_modules/@semantic-release/commit-analyzer/node_modules/is-text-path": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", + "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", "peer": true, "dependencies": { - "type-detect": "4.0.8" + "text-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", - "peer": true + "node_modules/@semantic-release/commit-analyzer/node_modules/meow": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", + "peer": true, + "engines": { + "node": ">=16.10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/@stitches/react": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@stitches/react/-/react-1.2.8.tgz", - "integrity": "sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==", - "peerDependencies": { - "react": ">= 16.3.0" + "node_modules/@semantic-release/commit-analyzer/node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "peer": true, + "engines": { + "node": ">= 10.x" } }, - "node_modules/@storybook/addon-actions": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-6.5.16.tgz", - "integrity": "sha512-aADjilFmuD6TNGz2CRPSupnyiA/IGkPJHDBTqMpsDXTUr8xnuD122xkIhg6UxmCM2y1c+ncwYXy3WPK2xXK57g==", - "dependencies": { - "@storybook/addons": "6.5.16", - "@storybook/api": "6.5.16", - "@storybook/client-logger": "6.5.16", - "@storybook/components": "6.5.16", - "@storybook/core-events": "6.5.16", - "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/theming": "6.5.16", - "core-js": "^3.8.2", - "fast-deep-equal": "^3.1.3", - "global": "^4.4.0", - "lodash": "^4.17.21", - "polished": "^4.2.2", - "prop-types": "^15.7.2", - "react-inspector": "^5.1.0", - "regenerator-runtime": "^0.13.7", - "telejson": "^6.0.8", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2", - "uuid-browser": "^3.1.0" + "node_modules/@semantic-release/commit-analyzer/node_modules/text-extensions": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", + "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", + "peer": true, + "engines": { + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-actions/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/@semantic-release/error": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-3.0.0.tgz", + "integrity": "sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==", + "engines": { + "node": ">=14.17" } }, - "node_modules/@storybook/addon-backgrounds": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-6.5.16.tgz", - "integrity": "sha512-t7qooZ892BruhilFmzYPbysFwpULt/q4zYXNSmKVbAYta8UVvitjcU4F18p8FpWd9WvhiTr0SDlyhNZuzvDfug==", + "node_modules/@semantic-release/github": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-10.0.4.tgz", + "integrity": "sha512-eHCfW3jlzax5OKd5nTovlvoCdg+b9YBa31M2JGT1KmzmJR3TIalu2ahVU+V/xATVeOx+S8fbCiPnBBgMlzH5Vw==", "dependencies": { - "@storybook/addons": "6.5.16", - "@storybook/api": "6.5.16", - "@storybook/client-logger": "6.5.16", - "@storybook/components": "6.5.16", - "@storybook/core-events": "6.5.16", - "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/theming": "6.5.16", - "core-js": "^3.8.2", - "global": "^4.4.0", - "memoizerific": "^1.11.3", - "regenerator-runtime": "^0.13.7", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" + "@octokit/core": "^6.0.0", + "@octokit/plugin-paginate-rest": "^11.0.0", + "@octokit/plugin-retry": "^7.0.0", + "@octokit/plugin-throttling": "^9.0.0", + "@semantic-release/error": "^4.0.0", + "aggregate-error": "^5.0.0", + "debug": "^4.3.4", + "dir-glob": "^3.0.1", + "globby": "^14.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "issue-parser": "^7.0.0", + "lodash-es": "^4.17.21", + "mime": "^4.0.0", + "p-filter": "^4.0.0", + "url-join": "^5.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "engines": { + "node": ">=20.8.1" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } + "semantic-release": ">=20.1.0" } }, - "node_modules/@storybook/addon-backgrounds/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/@semantic-release/github/node_modules/@octokit/auth-token": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz", + "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==", + "engines": { + "node": ">= 18" } }, - "node_modules/@storybook/addon-controls": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-6.5.16.tgz", - "integrity": "sha512-kShSGjq1MjmmyL3l8i+uPz6yddtf82mzys0l82VKtcuyjrr5944wYFJ5NTXMfZxrO/U6FeFsfuFZE/k6ex3EMg==", + "node_modules/@semantic-release/github/node_modules/@octokit/core": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", + "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", "dependencies": { - "@storybook/addons": "6.5.16", - "@storybook/api": "6.5.16", - "@storybook/client-logger": "6.5.16", - "@storybook/components": "6.5.16", - "@storybook/core-common": "6.5.16", - "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/node-logger": "6.5.16", - "@storybook/store": "6.5.16", - "@storybook/theming": "6.5.16", - "core-js": "^3.8.2", - "lodash": "^4.17.21", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.0.0", + "@octokit/request": "^9.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "engines": { + "node": ">= 18" + } + }, + "node_modules/@semantic-release/github/node_modules/@octokit/endpoint": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.1.tgz", + "integrity": "sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==", + "dependencies": { + "@octokit/types": "^13.0.0", + "universal-user-agent": "^7.0.2" }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } + "engines": { + "node": ">= 18" } }, - "node_modules/@storybook/addon-controls/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/@semantic-release/github/node_modules/@octokit/graphql": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz", + "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", + "dependencies": { + "@octokit/request": "^9.0.0", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" } }, - "node_modules/@storybook/addon-docs": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-6.5.16.tgz", - "integrity": "sha512-QM9WDZG9P02UvbzLu947a8ZngOrQeAKAT8jCibQFM/+RJ39xBlfm8rm+cQy3dm94wgtjmVkA3mKGOV/yrrsddg==", + "node_modules/@semantic-release/github/node_modules/@octokit/openapi-types": { + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", + "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==" + }, + "node_modules/@semantic-release/github/node_modules/@octokit/plugin-paginate-rest": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.0.tgz", + "integrity": "sha512-n4znWfRinnUQF6TPyxs7EctSAA3yVSP4qlJP2YgI3g9d4Ae2n5F3XDOjbUluKRxPU3rfsgpOboI4O4VtPc6Ilg==", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.12.12", - "@babel/preset-env": "^7.12.11", - "@jest/transform": "^26.6.2", - "@mdx-js/react": "^1.6.22", - "@storybook/addons": "6.5.16", - "@storybook/api": "6.5.16", - "@storybook/components": "6.5.16", - "@storybook/core-common": "6.5.16", - "@storybook/core-events": "6.5.16", - "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/docs-tools": "6.5.16", - "@storybook/mdx1-csf": "^0.0.1", - "@storybook/node-logger": "6.5.16", - "@storybook/postinstall": "6.5.16", - "@storybook/preview-web": "6.5.16", - "@storybook/source-loader": "6.5.16", - "@storybook/store": "6.5.16", - "@storybook/theming": "6.5.16", - "babel-loader": "^8.0.0", - "core-js": "^3.8.2", - "fast-deep-equal": "^3.1.3", - "global": "^4.4.0", - "lodash": "^4.17.21", - "regenerator-runtime": "^0.13.7", - "remark-external-links": "^8.0.0", - "remark-slug": "^6.0.0", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" + "@octokit/types": "^13.5.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "engines": { + "node": ">= 18" }, "peerDependencies": { - "@storybook/mdx2-csf": "^0.0.3", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@storybook/mdx2-csf": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } + "@octokit/core": ">=6" } }, - "node_modules/@storybook/addon-docs/node_modules/@jest/transform": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", - "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "node_modules/@semantic-release/github/node_modules/@octokit/plugin-retry": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.1.tgz", + "integrity": "sha512-G9Ue+x2odcb8E1XIPhaFBnTTIrrUDfXN05iFXiqhR+SeeeDMMILcAnysOsxUpEWcQp2e5Ft397FCXTcPkiPkLw==", "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" + "@octokit/request-error": "^6.0.0", + "@octokit/types": "^13.0.0", + "bottleneck": "^2.15.3" }, "engines": { - "node": ">= 10.14.2" + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" } }, - "node_modules/@storybook/addon-docs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@semantic-release/github/node_modules/@octokit/plugin-throttling": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.0.tgz", + "integrity": "sha512-B5YTToSRTzNSeEyssnrT7WwGhpIdbpV9NKIs3KyTWHX6PhpYn7gqF/+lL3BvsASBM3Sg5BAUYk7KZx5p/Ec77w==", "dependencies": { - "color-convert": "^2.0.1" + "@octokit/types": "^13.0.0", + "bottleneck": "^2.15.3" }, "engines": { - "node": ">=8" + "node": ">= 18" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@octokit/core": "^6.0.0" } }, - "node_modules/@storybook/addon-docs/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@semantic-release/github/node_modules/@octokit/request": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.1.tgz", + "integrity": "sha512-pyAguc0p+f+GbQho0uNetNQMmLG1e80WjkIaqqgUkihqUp0boRU6nKItXO4VWnr+nbZiLGEyy4TeKRwqaLvYgw==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@octokit/endpoint": "^10.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^7.0.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 18" } }, - "node_modules/@storybook/addon-docs/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@semantic-release/github/node_modules/@octokit/request-error": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.1.tgz", + "integrity": "sha512-1mw1gqT3fR/WFvnoVpY/zUM2o/XkMs/2AszUUG9I69xn0JFLv6PGkPhNk5lbfvROs79wiS0bqiJNxfCZcRJJdg==", "dependencies": { - "color-name": "~1.1.4" + "@octokit/types": "^13.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">= 18" } }, - "node_modules/@storybook/addon-docs/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@storybook/addon-docs/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/@semantic-release/github/node_modules/@octokit/types": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", + "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", + "dependencies": { + "@octokit/openapi-types": "^22.2.0" } }, - "node_modules/@storybook/addon-docs/node_modules/has-flag": { + "node_modules/@semantic-release/github/node_modules/@semantic-release/error": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", + "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/@storybook/addon-docs/node_modules/jest-haste-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", - "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "node_modules/@semantic-release/github/node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", "dependencies": { - "@jest/types": "^26.6.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7" + "debug": "^4.3.4" }, "engines": { - "node": ">= 10.14.2" + "node": ">= 14" + } + }, + "node_modules/@semantic-release/github/node_modules/aggregate-error": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", + "dependencies": { + "clean-stack": "^5.2.0", + "indent-string": "^5.0.0" }, - "optionalDependencies": { - "fsevents": "^2.1.2" + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-docs/node_modules/jest-regex-util": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "node_modules/@semantic-release/github/node_modules/before-after-hook": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" + }, + "node_modules/@semantic-release/github/node_modules/clean-stack": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", + "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", + "dependencies": { + "escape-string-regexp": "5.0.0" + }, "engines": { - "node": ">= 10.14.2" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-docs/node_modules/jest-serializer": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", - "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "node_modules/@semantic-release/github/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/github/node_modules/globby": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.1.tgz", + "integrity": "sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==", "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.4" + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-docs/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@semantic-release/github/node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dependencies": { - "has-flag": "^4.0.0" + "agent-base": "^7.1.0", + "debug": "^4.3.4" }, "engines": { - "node": ">=8" + "node": ">= 14" } }, - "node_modules/@storybook/addon-essentials": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-6.5.16.tgz", - "integrity": "sha512-TeoMr6tEit4Pe91GH6f8g/oar1P4M0JL9S6oMcFxxrhhtOGO7XkWD5EnfyCx272Ok2VYfE58FNBTGPNBVIqYKQ==", + "node_modules/@semantic-release/github/node_modules/https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", "dependencies": { - "@storybook/addon-actions": "6.5.16", - "@storybook/addon-backgrounds": "6.5.16", - "@storybook/addon-controls": "6.5.16", - "@storybook/addon-docs": "6.5.16", - "@storybook/addon-measure": "6.5.16", - "@storybook/addon-outline": "6.5.16", - "@storybook/addon-toolbars": "6.5.16", - "@storybook/addon-viewport": "6.5.16", - "@storybook/addons": "6.5.16", - "@storybook/api": "6.5.16", - "@storybook/core-common": "6.5.16", - "@storybook/node-logger": "6.5.16", - "core-js": "^3.8.2", - "regenerator-runtime": "^0.13.7", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "@babel/core": "^7.9.6" + "agent-base": "^7.0.2", + "debug": "4" }, - "peerDependenciesMeta": { - "@storybook/angular": { - "optional": true - }, - "@storybook/builder-manager4": { - "optional": true - }, - "@storybook/builder-manager5": { - "optional": true - }, - "@storybook/builder-webpack4": { - "optional": true - }, - "@storybook/builder-webpack5": { - "optional": true - }, - "@storybook/html": { - "optional": true - }, - "@storybook/vue": { - "optional": true - }, - "@storybook/vue3": { - "optional": true - }, - "@storybook/web-components": { - "optional": true - }, - "lit": { - "optional": true - }, - "lit-html": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { - "optional": true - }, - "svelte": { - "optional": true - }, - "sveltedoc-parser": { - "optional": true - }, - "vue": { - "optional": true - }, - "webpack": { - "optional": true - } + "engines": { + "node": ">= 14" } }, - "node_modules/@storybook/addon-essentials/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, + "node_modules/@semantic-release/github/node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "engines": { + "node": ">=12" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-info": { - "version": "5.3.21", - "resolved": "https://registry.npmjs.org/@storybook/addon-info/-/addon-info-5.3.21.tgz", - "integrity": "sha512-A/K9HzmoXMuOUxH3AozTvjNZwTlYVHob2OaDRfMza0gYMzG0tOrxqcdNTigeAWAjS//Z0G3enue6rHulQZK/+g==", - "dependencies": { - "@storybook/addons": "5.3.21", - "@storybook/client-logger": "5.3.21", - "@storybook/components": "5.3.21", - "@storybook/theming": "5.3.21", - "core-js": "^3.0.1", - "global": "^4.3.2", - "marksy": "^8.0.0", - "nested-object-assign": "^1.0.3", - "prop-types": "^15.7.2", - "react": "^16.8.3", - "react-addons-create-fragment": "^15.6.2", - "react-element-to-jsx-string": "^14.0.2", - "react-is": "^16.8.3", - "react-lifecycles-compat": "^3.0.4", - "util-deprecate": "^1.0.2" + "node_modules/@semantic-release/github/node_modules/mime": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.3.tgz", + "integrity": "sha512-KgUb15Oorc0NEKPbvfa0wRU+PItIEZmiv+pyAO2i0oTIVTJhlzMclU7w4RXWQrSOVH5ax/p/CkIO7KI4OyFJTQ==", + "funding": [ + "https://github.com/sponsors/broofa" + ], + "bin": { + "mime": "bin/cli.js" }, - "peerDependencies": { - "react": "*" + "engines": { + "node": ">=16" } }, - "node_modules/@storybook/addon-info/node_modules/@reach/router": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@reach/router/-/router-1.3.4.tgz", - "integrity": "sha512-+mtn9wjlB9NN2CNnnC/BRYtwdKBfSyyasPYraNAyvaV1occr/5NnB4CVzjEZipNHwYebQwcndGUmpFzxAUoqSA==", + "node_modules/@semantic-release/github/node_modules/p-filter": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-4.1.0.tgz", + "integrity": "sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==", "dependencies": { - "create-react-context": "0.3.0", - "invariant": "^2.2.3", - "prop-types": "^15.6.1", - "react-lifecycles-compat": "^3.0.4" + "p-map": "^7.0.1" }, - "peerDependencies": { - "react": "15.x || 16.x || 16.4.0-alpha.0911da3", - "react-dom": "15.x || 16.x || 16.4.0-alpha.0911da3" + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-info/node_modules/@storybook/addons": { - "version": "5.3.21", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-5.3.21.tgz", - "integrity": "sha512-Ji/21WADTLVbTbiKcZ64BcL0Es+h1Afxx3kNmGJqPSTUYroCwIFCT9mUzCqU6G+YyWaISAmTii5UJkTwMkChwA==", - "dependencies": { - "@storybook/api": "5.3.21", - "@storybook/channels": "5.3.21", - "@storybook/client-logger": "5.3.21", - "@storybook/core-events": "5.3.21", - "core-js": "^3.0.1", - "global": "^4.3.2", - "util-deprecate": "^1.0.2" + "node_modules/@semantic-release/github/node_modules/p-map": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.2.tgz", + "integrity": "sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-info/node_modules/@storybook/api": { - "version": "5.3.21", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-5.3.21.tgz", - "integrity": "sha512-K1o4an/Rx8daKRDooks6qzN6ZGyqizeacZZbair3F8CsSfTgrr2zCcf9pgKojLQa9koEmMHlcdb2KnS+GwPEgA==", - "dependencies": { - "@reach/router": "^1.2.1", - "@storybook/channels": "5.3.21", - "@storybook/client-logger": "5.3.21", - "@storybook/core-events": "5.3.21", - "@storybook/csf": "0.0.1", - "@storybook/router": "5.3.21", - "@storybook/theming": "5.3.21", - "@types/reach__router": "^1.2.3", - "core-js": "^3.0.1", - "fast-deep-equal": "^2.0.1", - "global": "^4.3.2", - "lodash": "^4.17.15", - "memoizerific": "^1.11.3", - "prop-types": "^15.6.2", - "react": "^16.8.3", - "semver": "^6.0.0", - "shallow-equal": "^1.1.0", - "store2": "^2.7.1", - "telejson": "^3.2.0", - "util-deprecate": "^1.0.2" + "node_modules/@semantic-release/github/node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "engines": { + "node": ">=12" }, - "peerDependencies": { - "regenerator-runtime": "*" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-info/node_modules/@storybook/channels": { - "version": "5.3.21", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-5.3.21.tgz", - "integrity": "sha512-OXoFs9XtBVg/cCk6lYMrxkzaNlJRf54ABdorp7YAAj7S9tRL1JxOZHxmjNQwEoiRvssmem2rAWtEAxfuEANsAA==", - "dependencies": { - "core-js": "^3.0.1" + "node_modules/@semantic-release/github/node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-info/node_modules/@storybook/client-logger": { - "version": "5.3.21", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-5.3.21.tgz", - "integrity": "sha512-OzQkwpZ5SK9cXD9Mv6lxPGPot+hSZvnkEW12kpt1AHfJz4ET26YTDOI3oetPsjfRJo6qYLeQX8+wF7rklfXbzA==", - "dependencies": { - "core-js": "^3.0.1" - } + "node_modules/@semantic-release/github/node_modules/universal-user-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" }, - "node_modules/@storybook/addon-info/node_modules/@storybook/components": { - "version": "5.3.21", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-5.3.21.tgz", - "integrity": "sha512-42QQk6qZl6wrtajP8yNCfmNS2t8Iod5QY+4V/l6iNnnT9O+j6cWOlnO+ZyvjNv0Xm0zIOt+VyVjdkKh8FUjQmA==", + "node_modules/@semantic-release/npm": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.1.tgz", + "integrity": "sha512-/6nntGSUGK2aTOI0rHPwY3ZjgY9FkXmEHbW9Kr+62NVOsyqpKKeP0lrCH+tphv+EsNdJNmqqwijTEnVWUMQ2Nw==", "dependencies": { - "@storybook/client-logger": "5.3.21", - "@storybook/theming": "5.3.21", - "@types/react-syntax-highlighter": "11.0.4", - "@types/react-textarea-autosize": "^4.3.3", - "core-js": "^3.0.1", - "global": "^4.3.2", - "lodash": "^4.17.15", - "markdown-to-jsx": "^6.11.4", - "memoizerific": "^1.11.3", - "polished": "^3.3.1", - "popper.js": "^1.14.7", - "prop-types": "^15.7.2", - "react": "^16.8.3", - "react-dom": "^16.8.3", - "react-focus-lock": "^2.1.0", - "react-helmet-async": "^1.0.2", - "react-popper-tooltip": "^2.8.3", - "react-syntax-highlighter": "^11.0.2", - "react-textarea-autosize": "^7.1.0", - "simplebar-react": "^1.0.0-alpha.6", - "ts-dedent": "^1.1.0" + "@semantic-release/error": "^4.0.0", + "aggregate-error": "^5.0.0", + "execa": "^9.0.0", + "fs-extra": "^11.0.0", + "lodash-es": "^4.17.21", + "nerf-dart": "^1.0.0", + "normalize-url": "^8.0.0", + "npm": "^10.5.0", + "rc": "^1.2.8", + "read-pkg": "^9.0.0", + "registry-auth-token": "^5.0.0", + "semver": "^7.1.2", + "tempy": "^3.0.0" + }, + "engines": { + "node": ">=20.8.1" }, "peerDependencies": { - "react": "*", - "react-dom": "*" + "semantic-release": ">=20.1.0" } }, - "node_modules/@storybook/addon-info/node_modules/@storybook/core-events": { - "version": "5.3.21", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-5.3.21.tgz", - "integrity": "sha512-/Zsm1sKAh6pzQv8jQUmuhM7nuM01ZljIRKy8p2HjPNlMjDB5yaRkBfyeAUXUg+qXNI6aHVWa4jGdPEdwwY4oLA==", - "dependencies": { - "core-js": "^3.0.1" + "node_modules/@semantic-release/npm/node_modules/@semantic-release/error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", + "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", + "engines": { + "node": ">=18" } }, - "node_modules/@storybook/addon-info/node_modules/@storybook/csf": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.1.tgz", - "integrity": "sha512-USTLkZze5gkel8MYCujSRBVIrUQ3YPBrLOx7GNk/0wttvVtlzWXAq9eLbQ4p/NicGxP+3T7KPEMVV//g+yubpw==", - "dependencies": { - "lodash": "^4.17.15" + "node_modules/@semantic-release/npm/node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-info/node_modules/@storybook/router": { - "version": "5.3.21", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-5.3.21.tgz", - "integrity": "sha512-c29m5UikK5Q1lyd6FltOGFhIcpd6PIb855YS3OUNe3F6ZA1tfJ+aNKrCBc65d1c+fvCGG76dYYYv0RvwEmKXXg==", + "node_modules/@semantic-release/npm/node_modules/aggregate-error": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dependencies": { - "@reach/router": "^1.2.1", - "@storybook/csf": "0.0.1", - "@types/reach__router": "^1.2.3", - "core-js": "^3.0.1", - "global": "^4.3.2", - "lodash": "^4.17.15", - "memoizerific": "^1.11.3", - "qs": "^6.6.0", - "util-deprecate": "^1.0.2" + "clean-stack": "^5.2.0", + "indent-string": "^5.0.0" }, - "peerDependencies": { - "react": "*", - "react-dom": "*" + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-info/node_modules/@storybook/theming": { - "version": "5.3.21", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-5.3.21.tgz", - "integrity": "sha512-FZbxjizqdO9lV5LUixPio/7+6UdPiswCzTJn8Hcot9uwwgfnrViRdN7xyjmSYRqv9nHP3OlYbtdeCAgZ4aPq8g==", + "node_modules/@semantic-release/npm/node_modules/clean-stack": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", + "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", "dependencies": { - "@emotion/core": "^10.0.20", - "@emotion/styled": "^10.0.17", - "@storybook/client-logger": "5.3.21", - "core-js": "^3.0.1", - "deep-object-diff": "^1.1.0", - "emotion-theming": "^10.0.19", - "global": "^4.3.2", - "memoizerific": "^1.11.3", - "polished": "^3.3.1", - "prop-types": "^15.7.2", - "resolve-from": "^5.0.0", - "ts-dedent": "^1.1.0" + "escape-string-regexp": "5.0.0" + }, + "engines": { + "node": ">=14.16" }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@storybook/addon-info/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-info/node_modules/create-react-context": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.3.0.tgz", - "integrity": "sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==", + "node_modules/@semantic-release/npm/node_modules/crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", "dependencies": { - "gud": "^1.0.0", - "warning": "^4.0.3" + "type-fest": "^1.0.1" }, - "peerDependencies": { - "prop-types": "^15.0.0", - "react": "^0.14.0 || ^15.0.0 || ^16.0.0" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-info/node_modules/fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==" - }, - "node_modules/@storybook/addon-info/node_modules/isobject": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", - "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==", + "node_modules/@semantic-release/npm/node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-info/node_modules/polished": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/polished/-/polished-3.7.2.tgz", - "integrity": "sha512-pQKtpZGmsZrW8UUpQMAnR7s3ppHeMQVNyMDKtUyKwuvDmklzcEyM5Kllb3JyE/sE/x7arDmyd35i+4vp99H6sQ==", - "dependencies": { - "@babel/runtime": "^7.12.5" - }, + "node_modules/@semantic-release/npm/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "engines": { - "node": ">=10" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-info/node_modules/react": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "node_modules/@semantic-release/npm/node_modules/execa": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.1.0.tgz", + "integrity": "sha512-lSgHc4Elo2m6bUDhc3Hl/VxvUDJdQWI40RZ4KMY9bKRc+hgMOT7II/JjbNDhI8VnMtrCb7U/fhpJIkLORZozWw==", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.3", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^7.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^5.2.0", + "pretty-ms": "^9.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/@storybook/addon-info/node_modules/react-dom": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", - "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "node_modules/@semantic-release/npm/node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" + "is-unicode-supported": "^2.0.0" }, - "peerDependencies": { - "react": "^16.14.0" + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-info/node_modules/react-popper-tooltip": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/react-popper-tooltip/-/react-popper-tooltip-2.11.1.tgz", - "integrity": "sha512-04A2f24GhyyMicKvg/koIOQ5BzlrRbKiAgP6L+Pdj1MVX3yJ1NeZ8+EidndQsbejFT55oW1b++wg2Z8KlAyhfQ==", + "node_modules/@semantic-release/npm/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dependencies": { - "@babel/runtime": "^7.9.2", - "react-popper": "^1.3.7" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, - "peerDependencies": { - "react": "^16.6.0", - "react-dom": "^16.6.0" + "engines": { + "node": ">=14.14" } }, - "node_modules/@storybook/addon-info/node_modules/react-textarea-autosize": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-7.1.2.tgz", - "integrity": "sha512-uH3ORCsCa3C6LHxExExhF4jHoXYCQwE5oECmrRsunlspaDAbS4mGKNlWZqjLfInWtFQcf0o1n1jC/NGXFdUBCg==", + "node_modules/@semantic-release/npm/node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dependencies": { - "@babel/runtime": "^7.1.2", - "prop-types": "^15.6.0" + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" }, - "peerDependencies": { - "react": ">=0.14.0 <17.0.0" + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-info/node_modules/simplebar-react": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/simplebar-react/-/simplebar-react-1.2.3.tgz", - "integrity": "sha512-1EOWJzFC7eqHUp1igD1/tb8GBv5aPQA5ZMvpeDnVkpNJ3jAuvmrL2kir3HuijlxhG7njvw9ssxjjBa89E5DrJg==", + "node_modules/@semantic-release/npm/node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "dependencies": { - "prop-types": "^15.6.1", - "simplebar": "^4.2.3" + "lru-cache": "^10.0.1" }, - "peerDependencies": { - "react": "^0.14.9 || ^15.3.0 || ^16.0.0-rc || ^16.0", - "react-dom": "^0.14.9 || ^15.3.0 || ^16.0.0-rc || ^16.0" + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@storybook/addon-info/node_modules/telejson": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/telejson/-/telejson-3.3.0.tgz", - "integrity": "sha512-er08AylQ+LEbDLp1GRezORZu5wKOHaBczF6oYJtgC3Idv10qZ8A3p6ffT+J5BzDKkV9MqBvu8HAKiIIOp6KJ2w==", - "dependencies": { - "@types/is-function": "^1.0.0", - "global": "^4.4.0", - "is-function": "^1.0.1", - "is-regex": "^1.0.4", - "is-symbol": "^1.0.3", - "isobject": "^4.0.0", - "lodash": "^4.17.15", - "memoizerific": "^1.11.3" + "node_modules/@semantic-release/npm/node_modules/human-signals": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-7.0.0.tgz", + "integrity": "sha512-74kytxOUSvNbjrT9KisAbaTZ/eJwD/LrbM/kh5j0IhPuJzwuA19dWvniFGwBzN9rVjg+O/e+F310PjObDXS+9Q==", + "engines": { + "node": ">=18.18.0" } }, - "node_modules/@storybook/addon-info/node_modules/ts-dedent": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-1.2.0.tgz", - "integrity": "sha512-6zSJp23uQI+Txyz5LlXMXAHpUhY4Hi0oluXny0OgIR7g/Cromq4vDBnhtbBdyIV34g0pgwxUvnvg+jLJe4c1NA==", + "node_modules/@semantic-release/npm/node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "engines": { - "node": ">=6.10" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-interactions": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-6.5.16.tgz", - "integrity": "sha512-DdTtyp3DgB/SpbM1GQgMnuSEBCkadxmj1mUcPk+Wp2iY+fDwsuoRDkr1H9Oe7IvlBKe7ciR79LEjoaABXNdw4w==", - "dependencies": { - "@devtools-ds/object-inspector": "^1.1.2", - "@storybook/addons": "6.5.16", - "@storybook/api": "6.5.16", - "@storybook/client-logger": "6.5.16", - "@storybook/components": "6.5.16", - "@storybook/core-common": "6.5.16", - "@storybook/core-events": "6.5.16", - "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/instrumenter": "6.5.16", - "@storybook/theming": "6.5.16", - "core-js": "^3.8.2", - "global": "^4.4.0", - "jest-mock": "^27.0.6", - "polished": "^4.2.2", - "ts-dedent": "^2.2.0" + "node_modules/@semantic-release/npm/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-interactions/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "node_modules/@semantic-release/npm/node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "engines": { + "node": ">=18" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/is-unicode-supported": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.0.0.tgz", + "integrity": "sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-interactions/node_modules/@types/yargs": { - "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", - "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "dependencies": { - "@types/yargs-parser": "*" + "node_modules/@semantic-release/npm/node_modules/lru-cache": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "engines": { + "node": "14 || >=16.14" } }, - "node_modules/@storybook/addon-interactions/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@semantic-release/npm/node_modules/normalize-package-data": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.1.tgz", + "integrity": "sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ==", "dependencies": { - "color-convert": "^2.0.1" + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=8" + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/normalize-url": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", + "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", + "engines": { + "node": ">=14.16" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-interactions/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@semantic-release/npm/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/parse-json": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", + "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "index-to-position": "^0.1.2", + "type-fest": "^4.7.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/read-pkg": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", + "dependencies": { + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" + } + }, + "node_modules/@semantic-release/npm/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@storybook/addon-interactions/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@semantic-release/npm/node_modules/strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/temp-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", + "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==", + "engines": { + "node": ">=14.16" + } + }, + "node_modules/@semantic-release/npm/node_modules/tempy": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.1.0.tgz", + "integrity": "sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==", "dependencies": { - "color-name": "~1.1.4" + "is-stream": "^3.0.0", + "temp-dir": "^3.0.0", + "type-fest": "^2.12.2", + "unique-string": "^3.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-interactions/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "node_modules/@semantic-release/npm/node_modules/tempy/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/@storybook/addon-interactions/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, + "node_modules/@semantic-release/npm/node_modules/tempy/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-interactions/node_modules/has-flag": { + "node_modules/@semantic-release/npm/node_modules/type-fest": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.18.2.tgz", + "integrity": "sha512-+suCYpfJLAe4OXS6+PPXjW3urOS4IoP9waSiLuXfLgqZODKw/aWwASvzqE886wA0kQgGy0mIWyhd87VpqIy6Xg==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/unique-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "dependencies": { + "crypto-random-string": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/release-notes-generator": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-13.0.0.tgz", + "integrity": "sha512-LEeZWb340keMYuREMyxrODPXJJ0JOL8D/mCl74B4LdzbxhtXV2LrPN2QBEcGJrlQhoqLO0RhxQb6masHytKw+A==", + "dependencies": { + "conventional-changelog-angular": "^7.0.0", + "conventional-changelog-writer": "^7.0.0", + "conventional-commits-filter": "^4.0.0", + "conventional-commits-parser": "^5.0.0", + "debug": "^4.0.0", + "get-stream": "^7.0.0", + "import-from-esm": "^1.0.3", + "into-stream": "^7.0.0", + "lodash-es": "^4.17.21", + "read-pkg-up": "^11.0.0" + }, + "engines": { + "node": ">=20.8.1" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/conventional-changelog-angular": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", + "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/conventional-changelog-writer": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-7.0.1.tgz", + "integrity": "sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==", + "dependencies": { + "conventional-commits-filter": "^4.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "meow": "^12.0.1", + "semver": "^7.5.2", + "split2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.mjs" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/conventional-commits-filter": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz", + "integrity": "sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==", "engines": { - "node": ">=8" + "node": ">=16" } }, - "node_modules/@storybook/addon-interactions/node_modules/jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "node_modules/@semantic-release/release-notes-generator/node_modules/conventional-commits-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*" + "is-text-path": "^2.0.0", + "JSONStream": "^1.3.5", + "meow": "^12.0.1", + "split2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.mjs" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=16" } }, - "node_modules/@storybook/addon-interactions/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@semantic-release/release-notes-generator/node_modules/get-stream": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.1.tgz", + "integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "dependencies": { - "has-flag": "^4.0.0" + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/is-text-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", + "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", + "dependencies": { + "text-extensions": "^2.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/@storybook/addon-knobs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-knobs/-/addon-knobs-6.4.0.tgz", - "integrity": "sha512-DiH1/5e2AFHoHrncl1qLu18ZHPHzRMMPvOLFz8AWvvmc+VCqTdIaE+tdxKr3e8rYylKllibgvDOzrLjfTNjF+Q==", - "deprecated": "deprecating @storybook/addon-knobs in favor of @storybook/addon-controls", + "node_modules/@semantic-release/release-notes-generator/node_modules/lru-cache": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/meow": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", + "engines": { + "node": ">=16.10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/normalize-package-data": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.1.tgz", + "integrity": "sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ==", "dependencies": { - "copy-to-clipboard": "^3.3.1", - "core-js": "^3.8.2", - "escape-html": "^1.0.3", - "fast-deep-equal": "^3.1.3", - "global": "^4.4.0", - "lodash": "^4.17.20", - "prop-types": "^15.7.2", - "qs": "^6.10.0", - "react-colorful": "^5.1.2", - "react-lifecycles-compat": "^3.0.4", - "react-select": "^3.2.0" + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, - "peerDependencies": { - "@storybook/addons": "^6.4.0", - "@storybook/api": "^6.4.0", - "@storybook/components": "^6.4.0", - "@storybook/core-events": "^6.4.0", - "@storybook/theming": "^6.4.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/parse-json": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", + "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "index-to-position": "^0.1.2", + "type-fest": "^4.7.1" }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-knobs/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, + "node_modules/@semantic-release/release-notes-generator/node_modules/read-pkg": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", + "dependencies": { + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/addon-links": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-6.5.16.tgz", - "integrity": "sha512-P/mmqK57NGXnR0i3d/T5B0rIt0Lg8Yq+qionRr3LK3AwG/4yGnYt4GNomLEknn/eEwABYq1Q/Z1aOpgIhNdq5A==", + "node_modules/@semantic-release/release-notes-generator/node_modules/read-pkg-up": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-11.0.0.tgz", + "integrity": "sha512-LOVbvF1Q0SZdjClSefZ0Nz5z8u+tIE7mV5NibzmE9VYmDe9CaBbAVtz1veOSZbofrdsilxuDAYnFenukZVp8/Q==", + "deprecated": "Renamed to read-package-up", "dependencies": { - "@storybook/addons": "6.5.16", - "@storybook/client-logger": "6.5.16", - "@storybook/core-events": "6.5.16", - "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.16", - "@types/qs": "^6.9.5", - "core-js": "^3.8.2", - "global": "^4.4.0", - "prop-types": "^15.7.2", - "qs": "^6.10.0", - "regenerator-runtime": "^0.13.7", - "ts-dedent": "^2.0.0" + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" + }, + "engines": { + "node": ">=18" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/text-extensions": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", + "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", + "engines": { + "node": ">=8" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/type-fest": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.18.2.tgz", + "integrity": "sha512-+suCYpfJLAe4OXS6+PPXjW3urOS4IoP9waSiLuXfLgqZODKw/aWwASvzqE886wA0kQgGy0mIWyhd87VpqIy6Xg==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sendbird/chat": { + "version": "4.9.7", + "resolved": "https://registry.npmjs.org/@sendbird/chat/-/chat-4.9.7.tgz", + "integrity": "sha512-VNipPeJT7B6hD/OBDi6IjcGW+Y8fJHNkVUkvFk0BUkkZLY1eefUmtrv2CWWbJ0hxfGFWe+wRVEjsdWDXqLN/DA==", "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@react-native-async-storage/async-storage": "^1.17.6" }, "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { + "@react-native-async-storage/async-storage": { "optional": true } } }, - "node_modules/@storybook/addon-links/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, + "node_modules/@simplewebauthn/browser": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@simplewebauthn/browser/-/browser-8.3.4.tgz", + "integrity": "sha512-rO0hZ0ESD28bZl6Qe8k7RUuYvDLbsS6oPezkMMTtZ5vC80U07j4qBELKBzojDD6BsdL3dIJ9SExVp8E7pqQ5fA==", + "dependencies": { + "@simplewebauthn/typescript-types": "^8.3.4" + } + }, + "node_modules/@simplewebauthn/typescript-types": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@simplewebauthn/typescript-types/-/typescript-types-8.3.4.tgz", + "integrity": "sha512-38xtca0OqfRVNloKBrFB5LEM6PN5vzFbJG6rAutPVrtGHFYxPdiV3btYWq0eAZAZmP+dqFPYJxJWeJrGfmYHng==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "dev": true + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "peer": true, + "engines": { + "node": ">=10" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "node_modules/@storybook/addon-measure": { + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "6.0.1", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@sinonjs/samsam": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", + "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", + "peer": true, + "dependencies": { + "@sinonjs/commons": "^2.0.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" + } + }, + "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "peer": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/text-encoding": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", + "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", + "peer": true + }, + "node_modules/@stitches/react": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@stitches/react/-/react-1.2.8.tgz", + "integrity": "sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==", + "peerDependencies": { + "react": ">= 16.3.0" + } + }, + "node_modules/@storybook/addon-actions": { "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-6.5.16.tgz", - "integrity": "sha512-DMwnXkmM2L6POTh4KaOWvOAtQ2p9Tr1UUNxz6VXiN5cKFohpCs6x0txdLU5WN8eWIq0VFsO7u5ZX34CGCc6gCg==", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-6.5.16.tgz", + "integrity": "sha512-aADjilFmuD6TNGz2CRPSupnyiA/IGkPJHDBTqMpsDXTUr8xnuD122xkIhg6UxmCM2y1c+ncwYXy3WPK2xXK57g==", "dependencies": { "@storybook/addons": "6.5.16", "@storybook/api": "6.5.16", @@ -11791,8 +12008,19 @@ "@storybook/components": "6.5.16", "@storybook/core-events": "6.5.16", "@storybook/csf": "0.0.2--canary.4566f4d.1", + "@storybook/theming": "6.5.16", "core-js": "^3.8.2", - "global": "^4.4.0" + "fast-deep-equal": "^3.1.3", + "global": "^4.4.0", + "lodash": "^4.17.21", + "polished": "^4.2.2", + "prop-types": "^15.7.2", + "react-inspector": "^5.1.0", + "regenerator-runtime": "^0.13.7", + "telejson": "^6.0.8", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2", + "uuid-browser": "^3.1.0" }, "funding": { "type": "opencollective", @@ -11811,7 +12039,7 @@ } } }, - "node_modules/@storybook/addon-measure/node_modules/core-js": { + "node_modules/@storybook/addon-actions/node_modules/core-js": { "version": "3.36.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", @@ -11821,10 +12049,10 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/addon-outline": { + "node_modules/@storybook/addon-backgrounds": { "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-6.5.16.tgz", - "integrity": "sha512-0du96nha4qltexO0Xq1xB7LeRSbqjC9XqtZLflXG7/X3ABoPD2cXgOV97eeaXUodIyb2qYBbHUfftBeA75x0+w==", + "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-6.5.16.tgz", + "integrity": "sha512-t7qooZ892BruhilFmzYPbysFwpULt/q4zYXNSmKVbAYta8UVvitjcU4F18p8FpWd9WvhiTr0SDlyhNZuzvDfug==", "dependencies": { "@storybook/addons": "6.5.16", "@storybook/api": "6.5.16", @@ -11832,10 +12060,13 @@ "@storybook/components": "6.5.16", "@storybook/core-events": "6.5.16", "@storybook/csf": "0.0.2--canary.4566f4d.1", + "@storybook/theming": "6.5.16", "core-js": "^3.8.2", "global": "^4.4.0", + "memoizerific": "^1.11.3", "regenerator-runtime": "^0.13.7", - "ts-dedent": "^2.0.0" + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" }, "funding": { "type": "opencollective", @@ -11854,7 +12085,7 @@ } } }, - "node_modules/@storybook/addon-outline/node_modules/core-js": { + "node_modules/@storybook/addon-backgrounds/node_modules/core-js": { "version": "3.36.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", @@ -11864,18 +12095,23 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/addon-toolbars": { + "node_modules/@storybook/addon-controls": { "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-6.5.16.tgz", - "integrity": "sha512-y3PuUKiwOWrAvqx1YdUvArg0UaAwmboXFeR2bkrowk1xcT+xnRO3rML4npFeUl26OQ1FzwxX/cw6nknREBBLEA==", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-6.5.16.tgz", + "integrity": "sha512-kShSGjq1MjmmyL3l8i+uPz6yddtf82mzys0l82VKtcuyjrr5944wYFJ5NTXMfZxrO/U6FeFsfuFZE/k6ex3EMg==", "dependencies": { "@storybook/addons": "6.5.16", "@storybook/api": "6.5.16", "@storybook/client-logger": "6.5.16", "@storybook/components": "6.5.16", + "@storybook/core-common": "6.5.16", + "@storybook/csf": "0.0.2--canary.4566f4d.1", + "@storybook/node-logger": "6.5.16", + "@storybook/store": "6.5.16", "@storybook/theming": "6.5.16", "core-js": "^3.8.2", - "regenerator-runtime": "^0.13.7" + "lodash": "^4.17.21", + "ts-dedent": "^2.0.0" }, "funding": { "type": "opencollective", @@ -11894,7 +12130,7 @@ } } }, - "node_modules/@storybook/addon-toolbars/node_modules/core-js": { + "node_modules/@storybook/addon-controls/node_modules/core-js": { "version": "3.36.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", @@ -11904,32 +12140,53 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/addon-viewport": { + "node_modules/@storybook/addon-docs": { "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-6.5.16.tgz", - "integrity": "sha512-1Vyqf1U6Qng6TXlf4SdqUKyizlw1Wn6+qW8YeA2q1lbkJqn3UlnHXIp8Q0t/5q1dK5BFtREox3+jkGwbJrzkmA==", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-6.5.16.tgz", + "integrity": "sha512-QM9WDZG9P02UvbzLu947a8ZngOrQeAKAT8jCibQFM/+RJ39xBlfm8rm+cQy3dm94wgtjmVkA3mKGOV/yrrsddg==", "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.12.12", + "@babel/preset-env": "^7.12.11", + "@jest/transform": "^26.6.2", + "@mdx-js/react": "^1.6.22", "@storybook/addons": "6.5.16", "@storybook/api": "6.5.16", - "@storybook/client-logger": "6.5.16", "@storybook/components": "6.5.16", + "@storybook/core-common": "6.5.16", "@storybook/core-events": "6.5.16", + "@storybook/csf": "0.0.2--canary.4566f4d.1", + "@storybook/docs-tools": "6.5.16", + "@storybook/mdx1-csf": "^0.0.1", + "@storybook/node-logger": "6.5.16", + "@storybook/postinstall": "6.5.16", + "@storybook/preview-web": "6.5.16", + "@storybook/source-loader": "6.5.16", + "@storybook/store": "6.5.16", "@storybook/theming": "6.5.16", + "babel-loader": "^8.0.0", "core-js": "^3.8.2", + "fast-deep-equal": "^3.1.3", "global": "^4.4.0", - "memoizerific": "^1.11.3", - "prop-types": "^15.7.2", - "regenerator-runtime": "^0.13.7" + "lodash": "^4.17.21", + "regenerator-runtime": "^0.13.7", + "remark-external-links": "^8.0.0", + "remark-slug": "^6.0.0", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { + "@storybook/mdx2-csf": "^0.0.3", "react": "^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" }, "peerDependenciesMeta": { + "@storybook/mdx2-csf": { + "optional": true + }, "react": { "optional": true }, @@ -11938,85 +12195,77 @@ } } }, - "node_modules/@storybook/addon-viewport/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/@storybook/addons": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.16.tgz", - "integrity": "sha512-p3DqQi+8QRL5k7jXhXmJZLsE/GqHqyY6PcoA1oNTJr0try48uhTGUOYkgzmqtDaa/qPFO5LP+xCPzZXckGtquQ==", + "node_modules/@storybook/addon-docs/node_modules/@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", "dependencies": { - "@storybook/api": "6.5.16", - "@storybook/channels": "6.5.16", - "@storybook/client-logger": "6.5.16", - "@storybook/core-events": "6.5.16", - "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.16", - "@storybook/theming": "6.5.16", - "@types/webpack-env": "^1.16.0", - "core-js": "^3.8.2", - "global": "^4.4.0", - "regenerator-runtime": "^0.13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "engines": { + "node": ">= 10.14.2" } }, - "node_modules/@storybook/addons/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, + "node_modules/@storybook/addon-docs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@storybook/api": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.16.tgz", - "integrity": "sha512-HOsuT8iomqeTMQJrRx5U8nsC7lJTwRr1DhdD0SzlqL4c80S/7uuCy4IZvOt4sYQjOzW5fOo/kamcoBXyLproTA==", + "node_modules/@storybook/addon-docs/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "@storybook/channels": "6.5.16", - "@storybook/client-logger": "6.5.16", - "@storybook/core-events": "6.5.16", - "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.16", - "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.5.16", - "core-js": "^3.8.2", - "fast-deep-equal": "^3.1.3", - "global": "^4.4.0", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "regenerator-runtime": "^0.13.7", - "store2": "^2.12.0", - "telejson": "^6.0.8", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@storybook/addon-docs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/@storybook/api/node_modules/core-js": { + "node_modules/@storybook/addon-docs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@storybook/addon-docs/node_modules/core-js": { "version": "3.36.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", @@ -12026,882 +12275,1053 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/builder-webpack4": { + "node_modules/@storybook/addon-docs/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/addon-docs/node_modules/jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "dependencies": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/@storybook/addon-docs/node_modules/jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@storybook/addon-docs/node_modules/jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@storybook/addon-docs/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/addon-essentials": { "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.5.16.tgz", - "integrity": "sha512-YqDIrVNsUo8r9xc6AxsYDLxVYtMgl5Bxk+8/h1adsOko+jAFhdg6hOcAVxEmoSI0TMASOOVMFlT2hr23ppN2rQ==", + "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-6.5.16.tgz", + "integrity": "sha512-TeoMr6tEit4Pe91GH6f8g/oar1P4M0JL9S6oMcFxxrhhtOGO7XkWD5EnfyCx272Ok2VYfE58FNBTGPNBVIqYKQ==", "dependencies": { - "@babel/core": "^7.12.10", + "@storybook/addon-actions": "6.5.16", + "@storybook/addon-backgrounds": "6.5.16", + "@storybook/addon-controls": "6.5.16", + "@storybook/addon-docs": "6.5.16", + "@storybook/addon-measure": "6.5.16", + "@storybook/addon-outline": "6.5.16", + "@storybook/addon-toolbars": "6.5.16", + "@storybook/addon-viewport": "6.5.16", "@storybook/addons": "6.5.16", "@storybook/api": "6.5.16", - "@storybook/channel-postmessage": "6.5.16", - "@storybook/channels": "6.5.16", - "@storybook/client-api": "6.5.16", - "@storybook/client-logger": "6.5.16", - "@storybook/components": "6.5.16", "@storybook/core-common": "6.5.16", - "@storybook/core-events": "6.5.16", "@storybook/node-logger": "6.5.16", - "@storybook/preview-web": "6.5.16", - "@storybook/router": "6.5.16", - "@storybook/semver": "^7.3.2", - "@storybook/store": "6.5.16", - "@storybook/theming": "6.5.16", - "@storybook/ui": "6.5.16", - "@types/node": "^14.0.10 || ^16.0.0", - "@types/webpack": "^4.41.26", - "autoprefixer": "^9.8.6", - "babel-loader": "^8.0.0", - "case-sensitive-paths-webpack-plugin": "^2.3.0", "core-js": "^3.8.2", - "css-loader": "^3.6.0", - "file-loader": "^6.2.0", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^4.1.6", - "glob": "^7.1.6", - "glob-promise": "^3.4.0", - "global": "^4.4.0", - "html-webpack-plugin": "^4.0.0", - "pnp-webpack-plugin": "1.6.4", - "postcss": "^7.0.36", - "postcss-flexbugs-fixes": "^4.2.1", - "postcss-loader": "^4.2.0", - "raw-loader": "^4.0.2", - "stable": "^0.1.8", - "style-loader": "^1.3.0", - "terser-webpack-plugin": "^4.2.3", - "ts-dedent": "^2.0.0", - "url-loader": "^4.1.1", - "util-deprecate": "^1.0.2", - "webpack": "4", - "webpack-dev-middleware": "^3.7.3", - "webpack-filter-warnings-plugin": "^1.2.1", - "webpack-hot-middleware": "^2.25.1", - "webpack-virtual-modules": "^0.2.2" + "regenerator-runtime": "^0.13.7", + "ts-dedent": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@babel/core": "^7.9.6" }, "peerDependenciesMeta": { - "typescript": { + "@storybook/angular": { + "optional": true + }, + "@storybook/builder-manager4": { + "optional": true + }, + "@storybook/builder-manager5": { + "optional": true + }, + "@storybook/builder-webpack4": { + "optional": true + }, + "@storybook/builder-webpack5": { + "optional": true + }, + "@storybook/html": { + "optional": true + }, + "@storybook/vue": { + "optional": true + }, + "@storybook/vue3": { + "optional": true + }, + "@storybook/web-components": { + "optional": true + }, + "lit": { + "optional": true + }, + "lit-html": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "svelte": { + "optional": true + }, + "sveltedoc-parser": { + "optional": true + }, + "vue": { + "optional": true + }, + "webpack": { "optional": true } } }, - "node_modules/@storybook/builder-webpack4/node_modules/@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "dependencies": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" + "node_modules/@storybook/addon-essentials/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/builder-webpack4/node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "node_modules/@storybook/addon-info": { + "version": "5.3.21", + "resolved": "https://registry.npmjs.org/@storybook/addon-info/-/addon-info-5.3.21.tgz", + "integrity": "sha512-A/K9HzmoXMuOUxH3AozTvjNZwTlYVHob2OaDRfMza0gYMzG0tOrxqcdNTigeAWAjS//Z0G3enue6rHulQZK/+g==", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@storybook/addons": "5.3.21", + "@storybook/client-logger": "5.3.21", + "@storybook/components": "5.3.21", + "@storybook/theming": "5.3.21", + "core-js": "^3.0.1", + "global": "^4.3.2", + "marksy": "^8.0.0", + "nested-object-assign": "^1.0.3", + "prop-types": "^15.7.2", + "react": "^16.8.3", + "react-addons-create-fragment": "^15.6.2", + "react-element-to-jsx-string": "^14.0.2", + "react-is": "^16.8.3", + "react-lifecycles-compat": "^3.0.4", + "util-deprecate": "^1.0.2" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "react": "*" } }, - "node_modules/@storybook/builder-webpack4/node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "deprecated": "This functionality has been moved to @npmcli/fs", + "node_modules/@storybook/addon-info/node_modules/@reach/router": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@reach/router/-/router-1.3.4.tgz", + "integrity": "sha512-+mtn9wjlB9NN2CNnnC/BRYtwdKBfSyyasPYraNAyvaV1occr/5NnB4CVzjEZipNHwYebQwcndGUmpFzxAUoqSA==", "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" + "create-react-context": "0.3.0", + "invariant": "^2.2.3", + "prop-types": "^15.6.1", + "react-lifecycles-compat": "^3.0.4" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "react": "15.x || 16.x || 16.4.0-alpha.0911da3", + "react-dom": "15.x || 16.x || 16.4.0-alpha.0911da3" } }, - "node_modules/@storybook/builder-webpack4/node_modules/@types/html-minifier-terser": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", - "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==" - }, - "node_modules/@storybook/builder-webpack4/node_modules/@types/node": { - "version": "16.18.88", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.88.tgz", - "integrity": "sha512-Za3eRO5y0UWShynpsbNq/Dtqjc+g3GM9/PnrebiWiU4pYa5dOQbpCGuZ7ICqbiZ0JvLaZZ4eq7t5cSts2IEgkg==" - }, - "node_modules/@storybook/builder-webpack4/node_modules/@types/webpack": { - "version": "4.41.38", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.38.tgz", - "integrity": "sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw==", + "node_modules/@storybook/addon-info/node_modules/@storybook/addons": { + "version": "5.3.21", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-5.3.21.tgz", + "integrity": "sha512-Ji/21WADTLVbTbiKcZ64BcL0Es+h1Afxx3kNmGJqPSTUYroCwIFCT9mUzCqU6G+YyWaISAmTii5UJkTwMkChwA==", "dependencies": { - "@types/node": "*", - "@types/tapable": "^1", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "anymatch": "^3.0.0", - "source-map": "^0.6.0" + "@storybook/api": "5.3.21", + "@storybook/channels": "5.3.21", + "@storybook/client-logger": "5.3.21", + "@storybook/core-events": "5.3.21", + "core-js": "^3.0.1", + "global": "^4.3.2", + "util-deprecate": "^1.0.2" } }, - "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "node_modules/@storybook/addon-info/node_modules/@storybook/api": { + "version": "5.3.21", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-5.3.21.tgz", + "integrity": "sha512-K1o4an/Rx8daKRDooks6qzN6ZGyqizeacZZbair3F8CsSfTgrr2zCcf9pgKojLQa9koEmMHlcdb2KnS+GwPEgA==", "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "@reach/router": "^1.2.1", + "@storybook/channels": "5.3.21", + "@storybook/client-logger": "5.3.21", + "@storybook/core-events": "5.3.21", + "@storybook/csf": "0.0.1", + "@storybook/router": "5.3.21", + "@storybook/theming": "5.3.21", + "@types/reach__router": "^1.2.3", + "core-js": "^3.0.1", + "fast-deep-equal": "^2.0.1", + "global": "^4.3.2", + "lodash": "^4.17.15", + "memoizerific": "^1.11.3", + "prop-types": "^15.6.2", + "react": "^16.8.3", + "semver": "^6.0.0", + "shallow-equal": "^1.1.0", + "store2": "^2.7.1", + "telejson": "^3.2.0", + "util-deprecate": "^1.0.2" + }, + "peerDependencies": { + "regenerator-runtime": "*" } }, - "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" - }, - "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" - }, - "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" - }, - "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "node_modules/@storybook/addon-info/node_modules/@storybook/channels": { + "version": "5.3.21", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-5.3.21.tgz", + "integrity": "sha512-OXoFs9XtBVg/cCk6lYMrxkzaNlJRf54ABdorp7YAAj7S9tRL1JxOZHxmjNQwEoiRvssmem2rAWtEAxfuEANsAA==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" + "core-js": "^3.0.1" } }, - "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "node_modules/@storybook/addon-info/node_modules/@storybook/client-logger": { + "version": "5.3.21", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-5.3.21.tgz", + "integrity": "sha512-OzQkwpZ5SK9cXD9Mv6lxPGPot+hSZvnkEW12kpt1AHfJz4ET26YTDOI3oetPsjfRJo6qYLeQX8+wF7rklfXbzA==", "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "core-js": "^3.0.1" } }, - "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "node_modules/@storybook/addon-info/node_modules/@storybook/components": { + "version": "5.3.21", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-5.3.21.tgz", + "integrity": "sha512-42QQk6qZl6wrtajP8yNCfmNS2t8Iod5QY+4V/l6iNnnT9O+j6cWOlnO+ZyvjNv0Xm0zIOt+VyVjdkKh8FUjQmA==", "dependencies": { - "@xtuc/long": "4.2.2" + "@storybook/client-logger": "5.3.21", + "@storybook/theming": "5.3.21", + "@types/react-syntax-highlighter": "11.0.4", + "@types/react-textarea-autosize": "^4.3.3", + "core-js": "^3.0.1", + "global": "^4.3.2", + "lodash": "^4.17.15", + "markdown-to-jsx": "^6.11.4", + "memoizerific": "^1.11.3", + "polished": "^3.3.1", + "popper.js": "^1.14.7", + "prop-types": "^15.7.2", + "react": "^16.8.3", + "react-dom": "^16.8.3", + "react-focus-lock": "^2.1.0", + "react-helmet-async": "^1.0.2", + "react-popper-tooltip": "^2.8.3", + "react-syntax-highlighter": "^11.0.2", + "react-textarea-autosize": "^7.1.0", + "simplebar-react": "^1.0.0-alpha.6", + "ts-dedent": "^1.1.0" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" - }, - "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "node_modules/@storybook/addon-info/node_modules/@storybook/core-events": { + "version": "5.3.21", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-5.3.21.tgz", + "integrity": "sha512-/Zsm1sKAh6pzQv8jQUmuhM7nuM01ZljIRKy8p2HjPNlMjDB5yaRkBfyeAUXUg+qXNI6aHVWa4jGdPEdwwY4oLA==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" + "core-js": "^3.0.1" } }, - "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "node_modules/@storybook/addon-info/node_modules/@storybook/csf": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.1.tgz", + "integrity": "sha512-USTLkZze5gkel8MYCujSRBVIrUQ3YPBrLOx7GNk/0wttvVtlzWXAq9eLbQ4p/NicGxP+3T7KPEMVV//g+yubpw==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "lodash": "^4.17.15" } }, - "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "node_modules/@storybook/addon-info/node_modules/@storybook/router": { + "version": "5.3.21", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-5.3.21.tgz", + "integrity": "sha512-c29m5UikK5Q1lyd6FltOGFhIcpd6PIb855YS3OUNe3F6ZA1tfJ+aNKrCBc65d1c+fvCGG76dYYYv0RvwEmKXXg==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" + "@reach/router": "^1.2.1", + "@storybook/csf": "0.0.1", + "@types/reach__router": "^1.2.3", + "core-js": "^3.0.1", + "global": "^4.3.2", + "lodash": "^4.17.15", + "memoizerific": "^1.11.3", + "qs": "^6.6.0", + "util-deprecate": "^1.0.2" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "node_modules/@storybook/addon-info/node_modules/@storybook/theming": { + "version": "5.3.21", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-5.3.21.tgz", + "integrity": "sha512-FZbxjizqdO9lV5LUixPio/7+6UdPiswCzTJn8Hcot9uwwgfnrViRdN7xyjmSYRqv9nHP3OlYbtdeCAgZ4aPq8g==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "@emotion/core": "^10.0.20", + "@emotion/styled": "^10.0.17", + "@storybook/client-logger": "5.3.21", + "core-js": "^3.0.1", + "deep-object-diff": "^1.1.0", + "emotion-theming": "^10.0.19", + "global": "^4.3.2", + "memoizerific": "^1.11.3", + "polished": "^3.3.1", + "prop-types": "^15.7.2", + "resolve-from": "^5.0.0", + "ts-dedent": "^1.1.0" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" + "node_modules/@storybook/addon-info/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/builder-webpack4/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@storybook/addon-info/node_modules/create-react-context": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.3.0.tgz", + "integrity": "sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "gud": "^1.0.0", + "warning": "^4.0.3" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@storybook/builder-webpack4/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "peerDependencies": { - "ajv": "^6.9.1" + "prop-types": "^15.0.0", + "react": "^0.14.0 || ^15.0.0 || ^16.0.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "node_modules/@storybook/addon-info/node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==" + }, + "node_modules/@storybook/addon-info/node_modules/isobject": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", + "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==", "engines": { "node": ">=0.10.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/autoprefixer": { - "version": "9.8.8", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", - "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "node_modules/@storybook/addon-info/node_modules/polished": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/polished/-/polished-3.7.2.tgz", + "integrity": "sha512-pQKtpZGmsZrW8UUpQMAnR7s3ppHeMQVNyMDKtUyKwuvDmklzcEyM5Kllb3JyE/sE/x7arDmyd35i+4vp99H6sQ==", "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "picocolors": "^0.2.1", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" + "@babel/runtime": "^7.12.5" }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" + "engines": { + "node": ">=10" } }, - "node_modules/@storybook/builder-webpack4/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/@storybook/addon-info/node_modules/react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/@storybook/addon-info/node_modules/react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", "dependencies": { - "is-extendable": "^0.1.0" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "react": "^16.14.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "node_modules/@storybook/addon-info/node_modules/react-popper-tooltip": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/react-popper-tooltip/-/react-popper-tooltip-2.11.1.tgz", + "integrity": "sha512-04A2f24GhyyMicKvg/koIOQ5BzlrRbKiAgP6L+Pdj1MVX3yJ1NeZ8+EidndQsbejFT55oW1b++wg2Z8KlAyhfQ==", "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" + "@babel/runtime": "^7.9.2", + "react-popper": "^1.3.7" }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@storybook/builder-webpack4/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/@storybook/builder-webpack4/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "peerDependencies": { + "react": "^16.6.0", + "react-dom": "^16.6.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/css-loader": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", - "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", + "node_modules/@storybook/addon-info/node_modules/react-textarea-autosize": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-7.1.2.tgz", + "integrity": "sha512-uH3ORCsCa3C6LHxExExhF4jHoXYCQwE5oECmrRsunlspaDAbS4mGKNlWZqjLfInWtFQcf0o1n1jC/NGXFdUBCg==", "dependencies": { - "camelcase": "^5.3.1", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.32", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^2.7.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "@babel/runtime": "^7.1.2", + "prop-types": "^15.6.0" }, "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "react": ">=0.14.0 <17.0.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/css-loader/node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "node_modules/@storybook/addon-info/node_modules/simplebar-react": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/simplebar-react/-/simplebar-react-1.2.3.tgz", + "integrity": "sha512-1EOWJzFC7eqHUp1igD1/tb8GBv5aPQA5ZMvpeDnVkpNJ3jAuvmrL2kir3HuijlxhG7njvw9ssxjjBa89E5DrJg==", "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" + "prop-types": "^15.6.1", + "simplebar": "^4.2.3" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "peerDependencies": { + "react": "^0.14.9 || ^15.3.0 || ^16.0.0-rc || ^16.0", + "react-dom": "^0.14.9 || ^15.3.0 || ^16.0.0-rc || ^16.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/@storybook/addon-info/node_modules/telejson": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/telejson/-/telejson-3.3.0.tgz", + "integrity": "sha512-er08AylQ+LEbDLp1GRezORZu5wKOHaBczF6oYJtgC3Idv10qZ8A3p6ffT+J5BzDKkV9MqBvu8HAKiIIOp6KJ2w==", "dependencies": { - "ms": "^2.1.1" + "@types/is-function": "^1.0.0", + "global": "^4.4.0", + "is-function": "^1.0.1", + "is-regex": "^1.0.4", + "is-symbol": "^1.0.3", + "isobject": "^4.0.0", + "lodash": "^4.17.15", + "memoizerific": "^1.11.3" } }, - "node_modules/@storybook/builder-webpack4/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "node_modules/@storybook/addon-info/node_modules/ts-dedent": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-1.2.0.tgz", + "integrity": "sha512-6zSJp23uQI+Txyz5LlXMXAHpUhY4Hi0oluXny0OgIR7g/Cromq4vDBnhtbBdyIV34g0pgwxUvnvg+jLJe4c1NA==", + "engines": { + "node": ">=6.10" + } + }, + "node_modules/@storybook/addon-interactions": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-6.5.16.tgz", + "integrity": "sha512-DdTtyp3DgB/SpbM1GQgMnuSEBCkadxmj1mUcPk+Wp2iY+fDwsuoRDkr1H9Oe7IvlBKe7ciR79LEjoaABXNdw4w==", "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "@devtools-ds/object-inspector": "^1.1.2", + "@storybook/addons": "6.5.16", + "@storybook/api": "6.5.16", + "@storybook/client-logger": "6.5.16", + "@storybook/components": "6.5.16", + "@storybook/core-common": "6.5.16", + "@storybook/core-events": "6.5.16", + "@storybook/csf": "0.0.2--canary.4566f4d.1", + "@storybook/instrumenter": "6.5.16", + "@storybook/theming": "6.5.16", + "core-js": "^3.8.2", + "global": "^4.4.0", + "jest-mock": "^27.0.6", + "polished": "^4.2.2", + "ts-dedent": "^2.2.0" }, "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/@storybook/builder-webpack4/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true } - ] + } }, - "node_modules/@storybook/builder-webpack4/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "node_modules/@storybook/addon-interactions/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "domelementtype": "^2.2.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "node_modules/@storybook/addon-interactions/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "@types/yargs-parser": "*" } }, - "node_modules/@storybook/builder-webpack4/node_modules/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "node_modules/@storybook/addon-interactions/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@storybook/builder-webpack4/node_modules/enhanced-resolve/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "node_modules/@storybook/addon-interactions/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/@storybook/builder-webpack4/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "node": ">=10" + }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@storybook/builder-webpack4/node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "node_modules/@storybook/addon-interactions/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">=4.0.0" + "node": ">=7.0.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" + "node_modules/@storybook/addon-interactions/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@storybook/addon-interactions/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/builder-webpack4/node_modules/fill-range": { + "node_modules/@storybook/addon-interactions/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/@storybook/builder-webpack4/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/@storybook/addon-interactions/node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", "dependencies": { - "is-extendable": "^0.1.0" + "@jest/types": "^27.5.1", + "@types/node": "*" }, "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "node_modules/@storybook/addon-interactions/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/@storybook/builder-webpack4/node_modules/fork-ts-checker-webpack-plugin": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz", - "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==", + "node_modules/@storybook/addon-knobs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-knobs/-/addon-knobs-6.4.0.tgz", + "integrity": "sha512-DiH1/5e2AFHoHrncl1qLu18ZHPHzRMMPvOLFz8AWvvmc+VCqTdIaE+tdxKr3e8rYylKllibgvDOzrLjfTNjF+Q==", + "deprecated": "deprecating @storybook/addon-knobs in favor of @storybook/addon-controls", "dependencies": { - "@babel/code-frame": "^7.5.5", - "chalk": "^2.4.1", - "micromatch": "^3.1.10", - "minimatch": "^3.0.4", - "semver": "^5.6.0", - "tapable": "^1.0.0", - "worker-rpc": "^0.1.0" + "copy-to-clipboard": "^3.3.1", + "core-js": "^3.8.2", + "escape-html": "^1.0.3", + "fast-deep-equal": "^3.1.3", + "global": "^4.4.0", + "lodash": "^4.17.20", + "prop-types": "^15.7.2", + "qs": "^6.10.0", + "react-colorful": "^5.1.2", + "react-lifecycles-compat": "^3.0.4", + "react-select": "^3.2.0" }, - "engines": { - "node": ">=6.11.5", - "yarn": ">=1.0.0" + "peerDependencies": { + "@storybook/addons": "^6.4.0", + "@storybook/api": "^6.4.0", + "@storybook/components": "^6.4.0", + "@storybook/core-events": "^6.4.0", + "@storybook/theming": "^6.4.0", + "react": "^16.8.0 || ^17.0.0", + "react-dom": "^16.8.0 || ^17.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, - "node_modules/@storybook/builder-webpack4/node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "bin": { - "semver": "bin/semver" + "node_modules/@storybook/addon-knobs/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/builder-webpack4/node_modules/html-webpack-plugin": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz", - "integrity": "sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==", + "node_modules/@storybook/addon-links": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-6.5.16.tgz", + "integrity": "sha512-P/mmqK57NGXnR0i3d/T5B0rIt0Lg8Yq+qionRr3LK3AwG/4yGnYt4GNomLEknn/eEwABYq1Q/Z1aOpgIhNdq5A==", "dependencies": { - "@types/html-minifier-terser": "^5.0.0", - "@types/tapable": "^1.0.5", - "@types/webpack": "^4.41.8", - "html-minifier-terser": "^5.0.1", - "loader-utils": "^1.2.3", - "lodash": "^4.17.20", - "pretty-error": "^2.1.1", - "tapable": "^1.1.3", - "util.promisify": "1.0.0" + "@storybook/addons": "6.5.16", + "@storybook/client-logger": "6.5.16", + "@storybook/core-events": "6.5.16", + "@storybook/csf": "0.0.2--canary.4566f4d.1", + "@storybook/router": "6.5.16", + "@types/qs": "^6.9.5", + "core-js": "^3.8.2", + "global": "^4.4.0", + "prop-types": "^15.7.2", + "qs": "^6.10.0", + "regenerator-runtime": "^0.13.7", + "ts-dedent": "^2.0.0" }, - "engines": { - "node": ">=6.9" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/@storybook/builder-webpack4/node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/@storybook/builder-webpack4/node_modules/icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "dependencies": { - "postcss": "^7.0.14" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" }, - "engines": { - "node": ">= 6" + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, - "node_modules/@storybook/builder-webpack4/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/@storybook/builder-webpack4/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" + "node_modules/@storybook/addon-links/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/builder-webpack4/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "node_modules/@storybook/addon-measure": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-6.5.16.tgz", + "integrity": "sha512-DMwnXkmM2L6POTh4KaOWvOAtQ2p9Tr1UUNxz6VXiN5cKFohpCs6x0txdLU5WN8eWIq0VFsO7u5ZX34CGCc6gCg==", "dependencies": { - "kind-of": "^3.0.2" + "@storybook/addons": "6.5.16", + "@storybook/api": "6.5.16", + "@storybook/client-logger": "6.5.16", + "@storybook/components": "6.5.16", + "@storybook/core-events": "6.5.16", + "@storybook/csf": "0.0.2--canary.4566f4d.1", + "core-js": "^3.8.2", + "global": "^4.4.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@storybook/builder-webpack4/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@storybook/builder-webpack4/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "engines": { - "node": ">=4" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, - "node_modules/@storybook/builder-webpack4/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/@storybook/builder-webpack4/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/@storybook/builder-webpack4/node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" + "node_modules/@storybook/addon-measure/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/builder-webpack4/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "node_modules/@storybook/addon-outline": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-6.5.16.tgz", + "integrity": "sha512-0du96nha4qltexO0Xq1xB7LeRSbqjC9XqtZLflXG7/X3ABoPD2cXgOV97eeaXUodIyb2qYBbHUfftBeA75x0+w==", "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "@storybook/addons": "6.5.16", + "@storybook/api": "6.5.16", + "@storybook/client-logger": "6.5.16", + "@storybook/components": "6.5.16", + "@storybook/core-events": "6.5.16", + "@storybook/csf": "0.0.2--canary.4566f4d.1", + "core-js": "^3.8.2", + "global": "^4.4.0", + "regenerator-runtime": "^0.13.7", + "ts-dedent": "^2.0.0" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@storybook/builder-webpack4/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, - "node_modules/@storybook/builder-webpack4/node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "node_modules/@storybook/addon-outline/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/builder-webpack4/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/@storybook/addon-toolbars": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-6.5.16.tgz", + "integrity": "sha512-y3PuUKiwOWrAvqx1YdUvArg0UaAwmboXFeR2bkrowk1xcT+xnRO3rML4npFeUl26OQ1FzwxX/cw6nknREBBLEA==", "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "@storybook/addons": "6.5.16", + "@storybook/api": "6.5.16", + "@storybook/client-logger": "6.5.16", + "@storybook/components": "6.5.16", + "@storybook/theming": "6.5.16", + "core-js": "^3.8.2", + "regenerator-runtime": "^0.13.7" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@storybook/builder-webpack4/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "bin": { - "mime": "cli.js" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" }, - "engines": { - "node": ">=4.0.0" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, - "node_modules/@storybook/builder-webpack4/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" + "node_modules/@storybook/addon-toolbars/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/builder-webpack4/node_modules/p-locate/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/@storybook/addon-viewport": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-6.5.16.tgz", + "integrity": "sha512-1Vyqf1U6Qng6TXlf4SdqUKyizlw1Wn6+qW8YeA2q1lbkJqn3UlnHXIp8Q0t/5q1dK5BFtREox3+jkGwbJrzkmA==", "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" + "@storybook/addons": "6.5.16", + "@storybook/api": "6.5.16", + "@storybook/client-logger": "6.5.16", + "@storybook/components": "6.5.16", + "@storybook/core-events": "6.5.16", + "@storybook/theming": "6.5.16", + "core-js": "^3.8.2", + "global": "^4.4.0", + "memoizerific": "^1.11.3", + "prop-types": "^15.7.2", + "regenerator-runtime": "^0.13.7" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@storybook/builder-webpack4/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "engines": { - "node": ">=4" + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, - "node_modules/@storybook/builder-webpack4/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - }, - "node_modules/@storybook/builder-webpack4/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" + "node_modules/@storybook/addon-viewport/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/builder-webpack4/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/@storybook/addons": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.16.tgz", + "integrity": "sha512-p3DqQi+8QRL5k7jXhXmJZLsE/GqHqyY6PcoA1oNTJr0try48uhTGUOYkgzmqtDaa/qPFO5LP+xCPzZXckGtquQ==", "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "@storybook/api": "6.5.16", + "@storybook/channels": "6.5.16", + "@storybook/client-logger": "6.5.16", + "@storybook/core-events": "6.5.16", + "@storybook/csf": "0.0.2--canary.4566f4d.1", + "@storybook/router": "6.5.16", + "@storybook/theming": "6.5.16", + "@types/webpack-env": "^1.16.0", + "core-js": "^3.8.2", + "global": "^4.4.0", + "regenerator-runtime": "^0.13.7" }, - "engines": { - "node": ">=6.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addons/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, "funding": { "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/builder-webpack4/node_modules/postcss-loader": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.3.0.tgz", - "integrity": "sha512-M/dSoIiNDOo8Rk0mUqoj4kpGq91gcxCfb9PoyZVdZ76/AuhxylHDYZblNE8o+EQ9AMSASeMFEKxZf5aU6wlx1Q==", + "node_modules/@storybook/api": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.16.tgz", + "integrity": "sha512-HOsuT8iomqeTMQJrRx5U8nsC7lJTwRr1DhdD0SzlqL4c80S/7uuCy4IZvOt4sYQjOzW5fOo/kamcoBXyLproTA==", "dependencies": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.4" - }, - "engines": { - "node": ">= 10.13.0" + "@storybook/channels": "6.5.16", + "@storybook/client-logger": "6.5.16", + "@storybook/core-events": "6.5.16", + "@storybook/csf": "0.0.2--canary.4566f4d.1", + "@storybook/router": "6.5.16", + "@storybook/semver": "^7.3.2", + "@storybook/theming": "6.5.16", + "core-js": "^3.8.2", + "fast-deep-equal": "^3.1.3", + "global": "^4.4.0", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "regenerator-runtime": "^0.13.7", + "store2": "^2.12.0", + "telejson": "^6.0.8", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^4.0.0 || ^5.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/postcss-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" + "node_modules/@storybook/api/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/builder-webpack4/node_modules/postcss-loader/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "node_modules/@storybook/builder-webpack4": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.5.16.tgz", + "integrity": "sha512-YqDIrVNsUo8r9xc6AxsYDLxVYtMgl5Bxk+8/h1adsOko+jAFhdg6hOcAVxEmoSI0TMASOOVMFlT2hr23ppN2rQ==", + "dependencies": { + "@babel/core": "^7.12.10", + "@storybook/addons": "6.5.16", + "@storybook/api": "6.5.16", + "@storybook/channel-postmessage": "6.5.16", + "@storybook/channels": "6.5.16", + "@storybook/client-api": "6.5.16", + "@storybook/client-logger": "6.5.16", + "@storybook/components": "6.5.16", + "@storybook/core-common": "6.5.16", + "@storybook/core-events": "6.5.16", + "@storybook/node-logger": "6.5.16", + "@storybook/preview-web": "6.5.16", + "@storybook/router": "6.5.16", + "@storybook/semver": "^7.3.2", + "@storybook/store": "6.5.16", + "@storybook/theming": "6.5.16", + "@storybook/ui": "6.5.16", + "@types/node": "^14.0.10 || ^16.0.0", + "@types/webpack": "^4.41.26", + "autoprefixer": "^9.8.6", + "babel-loader": "^8.0.0", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "core-js": "^3.8.2", + "css-loader": "^3.6.0", + "file-loader": "^6.2.0", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^4.1.6", + "glob": "^7.1.6", + "glob-promise": "^3.4.0", + "global": "^4.4.0", + "html-webpack-plugin": "^4.0.0", + "pnp-webpack-plugin": "1.6.4", + "postcss": "^7.0.36", + "postcss-flexbugs-fixes": "^4.2.1", + "postcss-loader": "^4.2.0", + "raw-loader": "^4.0.2", + "stable": "^0.1.8", + "style-loader": "^1.3.0", + "terser-webpack-plugin": "^4.2.3", + "ts-dedent": "^2.0.0", + "url-loader": "^4.1.1", + "util-deprecate": "^1.0.2", + "webpack": "4", + "webpack-dev-middleware": "^3.7.3", + "webpack-filter-warnings-plugin": "^1.2.1", + "webpack-hot-middleware": "^2.25.1", + "webpack-virtual-modules": "^0.2.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/@npmcli/fs/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -12912,428 +13332,505 @@ "node": ">=10" } }, - "node_modules/@storybook/builder-webpack4/node_modules/postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "node_modules/@storybook/builder-webpack4/node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "deprecated": "This functionality has been moved to @npmcli/fs", "dependencies": { - "postcss": "^7.0.5" + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" }, "engines": { - "node": ">= 6" + "node": ">=10" } }, - "node_modules/@storybook/builder-webpack4/node_modules/postcss-modules-local-by-default": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", - "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", + "node_modules/@storybook/builder-webpack4/node_modules/@types/html-minifier-terser": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", + "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==" + }, + "node_modules/@storybook/builder-webpack4/node_modules/@types/node": { + "version": "16.18.88", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.88.tgz", + "integrity": "sha512-Za3eRO5y0UWShynpsbNq/Dtqjc+g3GM9/PnrebiWiU4pYa5dOQbpCGuZ7ICqbiZ0JvLaZZ4eq7t5cSts2IEgkg==" + }, + "node_modules/@storybook/builder-webpack4/node_modules/@types/webpack": { + "version": "4.41.38", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.38.tgz", + "integrity": "sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw==", "dependencies": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.32", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": ">= 6" + "@types/node": "*", + "@types/tapable": "^1", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "anymatch": "^3.0.0", + "source-map": "^0.6.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dependencies": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - }, - "engines": { - "node": ">= 6" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", - "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" + }, + "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" + }, + "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" + }, + "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dependencies": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/pretty-error": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", - "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^2.0.4" + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "@xtuc/long": "4.2.2" } }, - "node_modules/@storybook/builder-webpack4/node_modules/renderkid": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", - "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" + }, + "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^3.0.1" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } }, - "node_modules/@storybook/builder-webpack4/node_modules/serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dependencies": { - "randombytes": "^2.1.0" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dependencies": { - "safe-buffer": "~5.1.0" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "node_modules/@storybook/builder-webpack4/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "node_modules/@storybook/builder-webpack4/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { - "ansi-regex": "^2.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@storybook/builder-webpack4/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "node_modules/@storybook/builder-webpack4/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/terser-webpack-plugin": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz", - "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==", + "node_modules/@storybook/builder-webpack4/node_modules/autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", "dependencies": { - "cacache": "^15.0.5", - "find-cache-dir": "^3.3.1", - "jest-worker": "^26.5.0", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1", - "terser": "^5.3.4", - "webpack-sources": "^1.4.3" + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" }, - "engines": { - "node": ">= 10.13.0" + "bin": { + "autoprefixer": "bin/autoprefixer" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" } }, - "node_modules/@storybook/builder-webpack4/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "node_modules/@storybook/builder-webpack4/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "node_modules/@storybook/builder-webpack4/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dependencies": { - "unique-slug": "^2.0.0" + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "node_modules/@storybook/builder-webpack4/node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", "dependencies": { - "imurmurhash": "^0.1.4" + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" } }, - "node_modules/@storybook/builder-webpack4/node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" + "node_modules/@storybook/builder-webpack4/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/@storybook/builder-webpack4/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack": { - "version": "4.47.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", - "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", + "node_modules/@storybook/builder-webpack4/node_modules/css-loader": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", + "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" + "normalize-path": "^3.0.0", + "postcss": "^7.0.32", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.0", + "semver": "^6.3.0" }, "engines": { - "node": ">=6.11.5" + "node": ">= 8.9.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "node_modules/@storybook/builder-webpack4/node_modules/css-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "dependencies": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": ">= 6" + "node": ">= 8.9.0" }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack-dev-middleware/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "node_modules/@storybook/builder-webpack4/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "ms": "^2.1.1" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack-filter-warnings-plugin": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/webpack-filter-warnings-plugin/-/webpack-filter-warnings-plugin-1.2.1.tgz", - "integrity": "sha512-Ez6ytc9IseDMLPo0qCuNNYzgtUl8NovOqjIq4uAU8LTD4uoa1w1KpZyyzFtLTEMZpkkOkLfL9eN+KGYdk1Qtwg==", - "engines": { - "node": ">= 4.3 < 5.0.0 || >= 5.10" + "node_modules/@storybook/builder-webpack4/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" }, - "peerDependencies": { - "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } + "node_modules/@storybook/builder-webpack4/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack-virtual-modules": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.2.2.tgz", - "integrity": "sha512-kDUmfm3BZrei0y+1NTHJInejzxfhtU8eDj2M7OKb2IWrPFAeO1SOH2KuQ68MSZu9IGEHcxbkKKR1v18FrUSOmA==", + "node_modules/@storybook/builder-webpack4/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dependencies": { - "debug": "^3.0.0" + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "node_modules/@storybook/builder-webpack4/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "node_modules/@storybook/builder-webpack4/node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=6.9.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "node_modules/@storybook/builder-webpack4/node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dependencies": { - "locate-path": "^3.0.0" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" }, "engines": { - "node": ">=6" + "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" + "node_modules/@storybook/builder-webpack4/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "node_modules/@storybook/builder-webpack4/node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">=6" + "node": ">=4.0.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "node_modules/@storybook/builder-webpack4/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dependencies": { - "minimist": "^1.2.6" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "node_modules/@storybook/builder-webpack4/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dependencies": { - "find-up": "^3.0.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/@storybook/builder-webpack4/node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dependencies": { - "glob": "^7.1.3" + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "node_modules/@storybook/builder-webpack4/node_modules/fork-ts-checker-webpack-plugin": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz", + "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==", "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "@babel/code-frame": "^7.5.5", + "chalk": "^2.4.1", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" }, "engines": { - "node": ">= 4" + "node": ">=6.11.5", + "yarn": ">=1.0.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/semver": { + "node_modules/@storybook/builder-webpack4/node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", @@ -13341,759 +13838,601 @@ "semver": "bin/semver" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "node_modules/@storybook/builder-webpack4/node_modules/html-webpack-plugin": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz", + "integrity": "sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==", "dependencies": { - "randombytes": "^2.1.0" + "@types/html-minifier-terser": "^5.0.0", + "@types/tapable": "^1.0.5", + "@types/webpack": "^4.41.8", + "html-minifier-terser": "^5.0.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.20", + "pretty-error": "^2.1.1", + "tapable": "^1.1.3", + "util.promisify": "1.0.0" + }, + "engines": { + "node": ">=6.9" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "node_modules/@storybook/builder-webpack4/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], "dependencies": { - "figgy-pudding": "^3.5.1" + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/terser": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "node_modules/@storybook/builder-webpack4/node_modules/icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" + "postcss": "^7.0.14" }, "engines": { - "node": ">=6.0.0" + "node": ">= 6" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "node_modules/@storybook/builder-webpack4/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/@storybook/builder-webpack4/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" + "node": ">=0.10.0" } }, - "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/@storybook/builder-webpack4/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "node_modules/@storybook/builder-webpack5": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-6.5.16.tgz", - "integrity": "sha512-kh8Sofm1sbijaHDWtm0sXabqACHVFjikU/fIkkW786kpjoPIPIec1a+hrLgDsZxMU3I7XapSOaCFzWt6FjVXjg==", + "node_modules/@storybook/builder-webpack4/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dependencies": { - "@babel/core": "^7.12.10", - "@storybook/addons": "6.5.16", - "@storybook/api": "6.5.16", - "@storybook/channel-postmessage": "6.5.16", - "@storybook/channels": "6.5.16", - "@storybook/client-api": "6.5.16", - "@storybook/client-logger": "6.5.16", - "@storybook/components": "6.5.16", - "@storybook/core-common": "6.5.16", - "@storybook/core-events": "6.5.16", - "@storybook/node-logger": "6.5.16", - "@storybook/preview-web": "6.5.16", - "@storybook/router": "6.5.16", - "@storybook/semver": "^7.3.2", - "@storybook/store": "6.5.16", - "@storybook/theming": "6.5.16", - "@types/node": "^14.0.10 || ^16.0.0", - "babel-loader": "^8.0.0", - "babel-plugin-named-exports-order": "^0.0.2", - "browser-assert": "^1.2.1", - "case-sensitive-paths-webpack-plugin": "^2.3.0", - "core-js": "^3.8.2", - "css-loader": "^5.0.1", - "fork-ts-checker-webpack-plugin": "^6.0.4", - "glob": "^7.1.6", - "glob-promise": "^3.4.0", - "html-webpack-plugin": "^5.0.0", - "path-browserify": "^1.0.1", - "process": "^0.11.10", - "stable": "^0.1.8", - "style-loader": "^2.0.0", - "terser-webpack-plugin": "^5.0.3", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2", - "webpack": "^5.9.0", - "webpack-dev-middleware": "^4.1.0", - "webpack-hot-middleware": "^2.25.1", - "webpack-virtual-modules": "^0.4.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "is-buffer": "^1.1.5" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@storybook/builder-webpack5/node_modules/@types/node": { - "version": "16.18.88", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.88.tgz", - "integrity": "sha512-Za3eRO5y0UWShynpsbNq/Dtqjc+g3GM9/PnrebiWiU4pYa5dOQbpCGuZ7ICqbiZ0JvLaZZ4eq7t5cSts2IEgkg==" + "node_modules/@storybook/builder-webpack4/node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "engines": { + "node": ">=4" + } }, - "node_modules/@storybook/builder-webpack5/node_modules/colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + "node_modules/@storybook/builder-webpack4/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, - "node_modules/@storybook/builder-webpack5/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/@storybook/builder-webpack4/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/@storybook/builder-webpack4/node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/@storybook/builder-webpack5/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "node_modules/@storybook/builder-webpack4/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=8.9.0" + "node": ">=6" } }, - "node_modules/@storybook/builder-webpack5/node_modules/style-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", - "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", + "node_modules/@storybook/builder-webpack4/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "node": ">=10" } }, - "node_modules/@storybook/builder-webpack5/node_modules/webpack-dev-middleware": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-4.3.0.tgz", - "integrity": "sha512-PjwyVY95/bhBh6VUqt6z4THplYcsvQ8YNNBTBM873xLVmw8FLeALn0qurHbs9EmcfhzQis/eoqypSnZeuUz26w==", + "node_modules/@storybook/builder-webpack4/node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", "dependencies": { - "colorette": "^1.2.2", - "mem": "^8.1.1", - "memfs": "^3.2.2", - "mime-types": "^2.1.30", - "range-parser": "^1.2.1", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= v10.23.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" } }, - "node_modules/@storybook/channel-postmessage": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.5.16.tgz", - "integrity": "sha512-fZZSN29dsUArWOx7e7lTdMA9+7zijVwCwbvi2Fo4fqhRLh1DsTb/VXfz1FKMCWAjNlcX7QQvV25tnxbqsD6lyw==", + "node_modules/@storybook/builder-webpack4/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dependencies": { - "@storybook/channels": "6.5.16", - "@storybook/client-logger": "6.5.16", - "@storybook/core-events": "6.5.16", - "core-js": "^3.8.2", - "global": "^4.4.0", - "qs": "^6.10.0", - "telejson": "^6.0.8" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@storybook/channel-postmessage/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/@storybook/builder-webpack4/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" } }, - "node_modules/@storybook/channel-websocket": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-6.5.16.tgz", - "integrity": "sha512-wJg2lpBjmRC2GJFzmhB9kxlh109VE58r/0WhFtLbwKvPqsvGf82xkBEl6BtBCvIQ4stzYnj/XijjA8qSi2zpOg==", + "node_modules/@storybook/builder-webpack4/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dependencies": { - "@storybook/channels": "6.5.16", - "@storybook/client-logger": "6.5.16", - "core-js": "^3.8.2", - "global": "^4.4.0", - "telejson": "^6.0.8" + "p-limit": "^2.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/channel-websocket/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "engines": { + "node": ">=6" } }, - "node_modules/@storybook/channels": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.16.tgz", - "integrity": "sha512-VylzaWQZaMozEwZPJdyJoz+0jpDa8GRyaqu9TGG6QGv+KU5POoZaGLDkRE7TzWkyyP0KQLo80K99MssZCpgSeg==", + "node_modules/@storybook/builder-webpack4/node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dependencies": { - "core-js": "^3.8.2", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/channels/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/@storybook/builder-webpack4/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" } }, - "node_modules/@storybook/client-api": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.5.16.tgz", - "integrity": "sha512-i3UwkzzUFw8I+E6fOcgB5sc4oU2fhvaKnqC1mpd9IYGJ9JN9MnGIaVl3Ko28DtFItu/QabC9JsLIJVripFLktQ==", - "dependencies": { - "@storybook/addons": "6.5.16", - "@storybook/channel-postmessage": "6.5.16", - "@storybook/channels": "6.5.16", - "@storybook/client-logger": "6.5.16", - "@storybook/core-events": "6.5.16", - "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/store": "6.5.16", - "@types/qs": "^6.9.5", - "@types/webpack-env": "^1.16.0", - "core-js": "^3.8.2", - "fast-deep-equal": "^3.1.3", - "global": "^4.4.0", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "regenerator-runtime": "^0.13.7", - "store2": "^2.12.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } + "node_modules/@storybook/builder-webpack4/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, - "node_modules/@storybook/client-api/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/@storybook/builder-webpack4/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" } }, - "node_modules/@storybook/client-logger": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.16.tgz", - "integrity": "sha512-pxcNaCj3ItDdicPTXTtmYJE3YC1SjxFrBmHcyrN+nffeNyiMuViJdOOZzzzucTUG0wcOOX8jaSyak+nnHg5H1Q==", + "node_modules/@storybook/builder-webpack4/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "core-js": "^3.8.2", - "global": "^4.4.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/client-logger/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://opencollective.com/postcss/" } }, - "node_modules/@storybook/components": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.5.16.tgz", - "integrity": "sha512-LzBOFJKITLtDcbW9jXl0/PaG+4xAz25PK8JxPZpIALbmOpYWOAPcO6V9C2heX6e6NgWFMUxjplkULEk9RCQMNA==", + "node_modules/@storybook/builder-webpack4/node_modules/postcss-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.3.0.tgz", + "integrity": "sha512-M/dSoIiNDOo8Rk0mUqoj4kpGq91gcxCfb9PoyZVdZ76/AuhxylHDYZblNE8o+EQ9AMSASeMFEKxZf5aU6wlx1Q==", "dependencies": { - "@storybook/client-logger": "6.5.16", - "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/theming": "6.5.16", - "core-js": "^3.8.2", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "regenerator-runtime": "^0.13.7", - "util-deprecate": "^1.0.2" + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/storybook" + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/components/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/@storybook/core": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.5.16.tgz", - "integrity": "sha512-CEF3QFTsm/VMnMKtRNr4rRdLeIkIG0g1t26WcmxTdSThNPBd8CsWzQJ7Jqu7CKiut+MU4A1LMOwbwCE5F2gmyA==", + "node_modules/@storybook/builder-webpack4/node_modules/postcss-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dependencies": { - "@storybook/core-client": "6.5.16", - "@storybook/core-server": "6.5.16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", - "webpack": "*" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, - "peerDependenciesMeta": { - "@storybook/builder-webpack5": { - "optional": true - }, - "@storybook/manager-webpack5": { - "optional": true - }, - "typescript": { - "optional": true - } + "engines": { + "node": ">=8.9.0" } }, - "node_modules/@storybook/core-client": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.5.16.tgz", - "integrity": "sha512-14IRaDrVtKrQ+gNWC0wPwkCNfkZOKghYV/swCUnQX3rP99defsZK8Hc7xHIYoAiOP5+sc3sweRAxgmFiJeQ1Ig==", + "node_modules/@storybook/builder-webpack4/node_modules/postcss-loader/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dependencies": { - "@storybook/addons": "6.5.16", - "@storybook/channel-postmessage": "6.5.16", - "@storybook/channel-websocket": "6.5.16", - "@storybook/client-api": "6.5.16", - "@storybook/client-logger": "6.5.16", - "@storybook/core-events": "6.5.16", - "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/preview-web": "6.5.16", - "@storybook/store": "6.5.16", - "@storybook/ui": "6.5.16", - "airbnb-js-shims": "^2.2.1", - "ansi-to-html": "^0.6.11", - "core-js": "^3.8.2", - "global": "^4.4.0", - "lodash": "^4.17.21", - "qs": "^6.10.0", - "regenerator-runtime": "^0.13.7", - "ts-dedent": "^2.0.0", - "unfetch": "^4.2.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "lru-cache": "^6.0.0" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", - "webpack": "*" + "bin": { + "semver": "bin/semver.js" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": ">=10" } }, - "node_modules/@storybook/core-client/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/@storybook/builder-webpack4/node_modules/postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dependencies": { + "postcss": "^7.0.5" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/@storybook/core-client/node_modules/unfetch": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", - "integrity": "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==" - }, - "node_modules/@storybook/core-common": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.16.tgz", - "integrity": "sha512-2qtnKP3TTOzt2cp6LXKRTh7XrI9z5VanMnMTgeoFcA5ebnndD4V6BExQUdYPClE/QooLx6blUWNgS9dFEpjSqQ==", + "node_modules/@storybook/builder-webpack4/node_modules/postcss-modules-local-by-default": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", + "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", "dependencies": { - "@babel/core": "^7.12.10", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-decorators": "^7.12.12", - "@babel/plugin-proposal-export-default-from": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.7", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-private-property-in-object": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.12", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/preset-env": "^7.12.11", - "@babel/preset-react": "^7.12.10", - "@babel/preset-typescript": "^7.12.7", - "@babel/register": "^7.12.1", - "@storybook/node-logger": "6.5.16", - "@storybook/semver": "^7.3.2", - "@types/node": "^14.0.10 || ^16.0.0", - "@types/pretty-hrtime": "^1.0.0", - "babel-loader": "^8.0.0", - "babel-plugin-macros": "^3.0.1", - "babel-plugin-polyfill-corejs3": "^0.1.0", - "chalk": "^4.1.0", - "core-js": "^3.8.2", - "express": "^4.17.1", - "file-system-cache": "^1.0.5", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.0.4", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "handlebars": "^4.7.7", - "interpret": "^2.2.0", - "json5": "^2.2.3", - "lazy-universal-dotenv": "^3.0.1", - "picomatch": "^2.3.0", - "pkg-dir": "^5.0.0", - "pretty-hrtime": "^1.0.3", - "resolve-from": "^5.0.0", - "slash": "^3.0.0", - "telejson": "^6.0.8", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2", - "webpack": "4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "icss-utils": "^4.1.1", + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": ">= 6" } }, - "node_modules/@storybook/core-common/node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz", - "integrity": "sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==", + "node_modules/@storybook/builder-webpack4/node_modules/postcss-modules-scope": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", "dependencies": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" + "engines": { + "node": ">= 6" } }, - "node_modules/@storybook/core-common/node_modules/@types/node": { - "version": "16.18.88", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.88.tgz", - "integrity": "sha512-Za3eRO5y0UWShynpsbNq/Dtqjc+g3GM9/PnrebiWiU4pYa5dOQbpCGuZ7ICqbiZ0JvLaZZ4eq7t5cSts2IEgkg==" - }, - "node_modules/@storybook/core-common/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "node_modules/@storybook/builder-webpack4/node_modules/postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" } }, - "node_modules/@storybook/core-common/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" - }, - "node_modules/@storybook/core-common/node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" - }, - "node_modules/@storybook/core-common/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" - }, - "node_modules/@storybook/core-common/node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "node_modules/@storybook/builder-webpack4/node_modules/pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" + "lodash": "^4.17.20", + "renderkid": "^2.0.4" } }, - "node_modules/@storybook/core-common/node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "node_modules/@storybook/builder-webpack4/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/@storybook/core-common/node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "node_modules/@storybook/builder-webpack4/node_modules/renderkid": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", "dependencies": { - "@xtuc/long": "4.2.2" + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" } }, - "node_modules/@storybook/core-common/node_modules/@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" + "node_modules/@storybook/builder-webpack4/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/@storybook/core-common/node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" + "node_modules/@storybook/builder-webpack4/node_modules/serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dependencies": { + "randombytes": "^2.1.0" } }, - "node_modules/@storybook/core-common/node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "node_modules/@storybook/builder-webpack4/node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@storybook/core-common/node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "node_modules/@storybook/builder-webpack4/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/@storybook/core-common/node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "node_modules/@storybook/builder-webpack4/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@storybook/core-common/node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" + "node_modules/@storybook/builder-webpack4/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" } }, - "node_modules/@storybook/core-common/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@storybook/builder-webpack4/node_modules/terser-webpack-plugin": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz", + "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "cacache": "^15.0.5", + "find-cache-dir": "^3.3.1", + "jest-worker": "^26.5.0", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "source-map": "^0.6.1", + "terser": "^5.3.4", + "webpack-sources": "^1.4.3" + }, + "engines": { + "node": ">= 10.13.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/@storybook/core-common/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "peerDependencies": { - "ajv": "^6.9.1" + "node_modules/@storybook/builder-webpack4/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@storybook/core-common/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@storybook/builder-webpack4/node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dependencies": { - "color-convert": "^2.0.1" + "unique-slug": "^2.0.0" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/webpack": { + "version": "4.47.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", + "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" }, "engines": { - "node": ">=8" + "node": ">=6.11.5" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } } }, - "node_modules/@storybook/core-common/node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz", - "integrity": "sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==", + "node_modules/@storybook/builder-webpack4/node_modules/webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.1.5", - "core-js-compat": "^3.8.1" + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "engines": { + "node": ">= 6" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/@storybook/core-common/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/@storybook/builder-webpack4/node_modules/webpack-dev-middleware/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "minimist": "^1.2.6" }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/webpack-filter-warnings-plugin": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/webpack-filter-warnings-plugin/-/webpack-filter-warnings-plugin-1.2.1.tgz", + "integrity": "sha512-Ez6ytc9IseDMLPo0qCuNNYzgtUl8NovOqjIq4uAU8LTD4uoa1w1KpZyyzFtLTEMZpkkOkLfL9eN+KGYdk1Qtwg==", "engines": { - "node": ">=0.10.0" + "node": ">= 4.3 < 5.0.0 || >= 5.10" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" } }, - "node_modules/@storybook/core-common/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/@storybook/builder-webpack4/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" } }, - "node_modules/@storybook/core-common/node_modules/cacache": { + "node_modules/@storybook/builder-webpack4/node_modules/webpack-virtual-modules": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.2.2.tgz", + "integrity": "sha512-kDUmfm3BZrei0y+1NTHJInejzxfhtU8eDj2M7OKb2IWrPFAeO1SOH2KuQ68MSZu9IGEHcxbkKKR1v18FrUSOmA==", + "dependencies": { + "debug": "^3.0.0" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/cacache": { "version": "12.0.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", @@ -14115,525 +14454,375 @@ "y18n": "^4.0.0" } }, - "node_modules/@storybook/core-common/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@storybook/core-common/node_modules/chownr": { + "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, - "node_modules/@storybook/core-common/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dependencies": { - "color-name": "~1.1.4" + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" }, "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@storybook/core-common/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@storybook/core-common/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/@storybook/core-common/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node": ">=6" } }, - "node_modules/@storybook/core-common/node_modules/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" + "locate-path": "^3.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=6" } }, - "node_modules/@storybook/core-common/node_modules/enhanced-resolve/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" + "yallist": "^3.0.2" } }, - "node_modules/@storybook/core-common/node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "pify": "^4.0.1", + "semver": "^5.6.0" }, "engines": { - "node": ">=4.0.0" + "node": ">=6" } }, - "node_modules/@storybook/core-common/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" + "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/@storybook/core-common/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "find-up": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/@storybook/core-common/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dependencies": { - "is-extendable": "^0.1.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "rimraf": "bin.js" } }, - "node_modules/@storybook/core-common/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" }, "engines": { - "node": ">=10" + "node": ">= 4" } }, - "node_modules/@storybook/core-common/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" + "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" } }, - "node_modules/@storybook/core-common/node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "engines": { - "node": ">= 0.10" + "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dependencies": { + "randombytes": "^2.1.0" } }, - "node_modules/@storybook/core-common/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/@storybook/core-common/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" + "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dependencies": { + "figgy-pudding": "^3.5.1" } }, - "node_modules/@storybook/core-common/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dependencies": { - "kind-of": "^3.0.2" + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" } }, - "node_modules/@storybook/core-common/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dependencies": { - "is-buffer": "^1.1.5" + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" } }, - "node_modules/@storybook/core-common/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@storybook/core-common/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/@storybook/core-common/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/@storybook/core-common/node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/@storybook/core-common/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } + "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, - "node_modules/@storybook/core-common/node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } + "node_modules/@storybook/builder-webpack4/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" }, - "node_modules/@storybook/core-common/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/@storybook/builder-webpack5": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-6.5.16.tgz", + "integrity": "sha512-kh8Sofm1sbijaHDWtm0sXabqACHVFjikU/fIkkW786kpjoPIPIec1a+hrLgDsZxMU3I7XapSOaCFzWt6FjVXjg==", "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "@babel/core": "^7.12.10", + "@storybook/addons": "6.5.16", + "@storybook/api": "6.5.16", + "@storybook/channel-postmessage": "6.5.16", + "@storybook/channels": "6.5.16", + "@storybook/client-api": "6.5.16", + "@storybook/client-logger": "6.5.16", + "@storybook/components": "6.5.16", + "@storybook/core-common": "6.5.16", + "@storybook/core-events": "6.5.16", + "@storybook/node-logger": "6.5.16", + "@storybook/preview-web": "6.5.16", + "@storybook/router": "6.5.16", + "@storybook/semver": "^7.3.2", + "@storybook/store": "6.5.16", + "@storybook/theming": "6.5.16", + "@types/node": "^14.0.10 || ^16.0.0", + "babel-loader": "^8.0.0", + "babel-plugin-named-exports-order": "^0.0.2", + "browser-assert": "^1.2.1", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "core-js": "^3.8.2", + "css-loader": "^5.0.1", + "fork-ts-checker-webpack-plugin": "^6.0.4", + "glob": "^7.1.6", + "glob-promise": "^3.4.0", + "html-webpack-plugin": "^5.0.0", + "path-browserify": "^1.0.1", + "process": "^0.11.10", + "stable": "^0.1.8", + "style-loader": "^2.0.0", + "terser-webpack-plugin": "^5.0.3", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2", + "webpack": "^5.9.0", + "webpack-dev-middleware": "^4.1.0", + "webpack-hot-middleware": "^2.25.1", + "webpack-virtual-modules": "^0.4.1" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@storybook/core-common/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/@storybook/core-common/node_modules/pkg-dir": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", - "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", - "dependencies": { - "find-up": "^5.0.0" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" }, - "engines": { - "node": ">=10" + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@storybook/core-common/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } + "node_modules/@storybook/builder-webpack5/node_modules/@types/node": { + "version": "16.18.88", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.88.tgz", + "integrity": "sha512-Za3eRO5y0UWShynpsbNq/Dtqjc+g3GM9/PnrebiWiU4pYa5dOQbpCGuZ7ICqbiZ0JvLaZZ4eq7t5cSts2IEgkg==" }, - "node_modules/@storybook/core-common/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } + "node_modules/@storybook/builder-webpack5/node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" }, - "node_modules/@storybook/core-common/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "node_modules/@storybook/builder-webpack5/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } }, - "node_modules/@storybook/core-common/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "node_modules/@storybook/builder-webpack5/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": ">= 4" - } - }, - "node_modules/@storybook/core-common/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/@storybook/core-common/node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "node_modules/@storybook/core-common/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" + "node": ">=8.9.0" } }, - "node_modules/@storybook/core-common/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@storybook/builder-webpack5/node_modules/style-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", + "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", "dependencies": { - "has-flag": "^4.0.0" + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/@storybook/core-common/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@storybook/core-common/node_modules/terser": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" + "node": ">= 10.13.0" }, - "bin": { - "terser": "bin/terser" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, - "engines": { - "node": ">=6.0.0" + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/@storybook/core-common/node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "node_modules/@storybook/builder-webpack5/node_modules/webpack-dev-middleware": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-4.3.0.tgz", + "integrity": "sha512-PjwyVY95/bhBh6VUqt6z4THplYcsvQ8YNNBTBM873xLVmw8FLeALn0qurHbs9EmcfhzQis/eoqypSnZeuUz26w==", "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" + "colorette": "^1.2.2", + "mem": "^8.1.1", + "memfs": "^3.2.2", + "mime-types": "^2.1.30", + "range-parser": "^1.2.1", + "schema-utils": "^3.0.0" }, "engines": { - "node": ">= 6.9.0" + "node": ">= v10.23.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.0.0" + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/@storybook/core-common/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "node_modules/@storybook/channel-postmessage": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.5.16.tgz", + "integrity": "sha512-fZZSN29dsUArWOx7e7lTdMA9+7zijVwCwbvi2Fo4fqhRLh1DsTb/VXfz1FKMCWAjNlcX7QQvV25tnxbqsD6lyw==", "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "@storybook/channels": "6.5.16", + "@storybook/client-logger": "6.5.16", + "@storybook/core-events": "6.5.16", + "core-js": "^3.8.2", + "global": "^4.4.0", + "qs": "^6.10.0", + "telejson": "^6.0.8" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@storybook/core-common/node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/@storybook/core-common/node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dependencies": { - "imurmurhash": "^0.1.4" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-common/node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" + "node_modules/@storybook/channel-postmessage/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/core-common/node_modules/webpack": { - "version": "4.47.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", - "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", + "node_modules/@storybook/channel-websocket": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-6.5.16.tgz", + "integrity": "sha512-wJg2lpBjmRC2GJFzmhB9kxlh109VE58r/0WhFtLbwKvPqsvGf82xkBEl6BtBCvIQ4stzYnj/XijjA8qSi2zpOg==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" + "@storybook/channels": "6.5.16", + "@storybook/client-logger": "6.5.16", + "core-js": "^3.8.2", + "global": "^4.4.0", + "telejson": "^6.0.8" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-common/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "node_modules/@storybook/channel-websocket/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/core-common/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "node_modules/@storybook/core-common/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/@storybook/core-events": { + "node_modules/@storybook/channels": { "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.16.tgz", - "integrity": "sha512-qMZQwmvzpH5F2uwNUllTPg6eZXr2OaYZQRRN8VZJiuorZzDNdAFmiVWMWdkThwmyLEJuQKXxqCL8lMj/7PPM+g==", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.16.tgz", + "integrity": "sha512-VylzaWQZaMozEwZPJdyJoz+0jpDa8GRyaqu9TGG6QGv+KU5POoZaGLDkRE7TzWkyyP0KQLo80K99MssZCpgSeg==", "dependencies": { - "core-js": "^3.8.2" + "core-js": "^3.8.2", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-events/node_modules/core-js": { + "node_modules/@storybook/channels/node_modules/core-js": { "version": "3.36.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", @@ -14643,56 +14832,31 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/core-server": { + "node_modules/@storybook/client-api": { "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.5.16.tgz", - "integrity": "sha512-/3NPfmNyply395Dm0zaVZ8P9aruwO+tPx4D6/jpw8aqrRSwvAMndPMpoMCm0NXcpSm5rdX+Je4S3JW6JcggFkA==", + "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.5.16.tgz", + "integrity": "sha512-i3UwkzzUFw8I+E6fOcgB5sc4oU2fhvaKnqC1mpd9IYGJ9JN9MnGIaVl3Ko28DtFItu/QabC9JsLIJVripFLktQ==", "dependencies": { - "@discoveryjs/json-ext": "^0.5.3", - "@storybook/builder-webpack4": "6.5.16", - "@storybook/core-client": "6.5.16", - "@storybook/core-common": "6.5.16", + "@storybook/addons": "6.5.16", + "@storybook/channel-postmessage": "6.5.16", + "@storybook/channels": "6.5.16", + "@storybook/client-logger": "6.5.16", "@storybook/core-events": "6.5.16", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/csf-tools": "6.5.16", - "@storybook/manager-webpack4": "6.5.16", - "@storybook/node-logger": "6.5.16", - "@storybook/semver": "^7.3.2", "@storybook/store": "6.5.16", - "@storybook/telemetry": "6.5.16", - "@types/node": "^14.0.10 || ^16.0.0", - "@types/node-fetch": "^2.5.7", - "@types/pretty-hrtime": "^1.0.0", - "@types/webpack": "^4.41.26", - "better-opn": "^2.1.1", - "boxen": "^5.1.2", - "chalk": "^4.1.0", - "cli-table3": "^0.6.1", - "commander": "^6.2.1", - "compression": "^1.7.4", + "@types/qs": "^6.9.5", + "@types/webpack-env": "^1.16.0", "core-js": "^3.8.2", - "cpy": "^8.1.2", - "detect-port": "^1.3.0", - "express": "^4.17.1", - "fs-extra": "^9.0.1", + "fast-deep-equal": "^3.1.3", "global": "^4.4.0", - "globby": "^11.0.2", - "ip": "^2.0.0", "lodash": "^4.17.21", - "node-fetch": "^2.6.7", - "open": "^8.4.0", - "pretty-hrtime": "^1.0.3", - "prompts": "^2.4.0", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", "regenerator-runtime": "^0.13.7", - "serve-favicon": "^2.5.0", - "slash": "^3.0.0", - "telejson": "^6.0.8", + "store2": "^2.12.0", + "synchronous-promise": "^2.0.15", "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2", - "watchpack": "^2.2.0", - "webpack": "4", - "ws": "^8.2.3", - "x-default-browser": "^0.4.0" + "util-deprecate": "^1.0.2" }, "funding": { "type": "opencollective", @@ -14701,38 +14865,253 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@storybook/builder-webpack5": { - "optional": true - }, - "@storybook/manager-webpack5": { - "optional": true - }, - "typescript": { - "optional": true - } } }, - "node_modules/@storybook/core-server/node_modules/@types/node": { - "version": "16.18.88", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.88.tgz", - "integrity": "sha512-Za3eRO5y0UWShynpsbNq/Dtqjc+g3GM9/PnrebiWiU4pYa5dOQbpCGuZ7ICqbiZ0JvLaZZ4eq7t5cSts2IEgkg==" - }, - "node_modules/@storybook/core-server/node_modules/@types/webpack": { - "version": "4.41.38", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.38.tgz", - "integrity": "sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw==", + "node_modules/@storybook/client-api/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@storybook/client-logger": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.16.tgz", + "integrity": "sha512-pxcNaCj3ItDdicPTXTtmYJE3YC1SjxFrBmHcyrN+nffeNyiMuViJdOOZzzzucTUG0wcOOX8jaSyak+nnHg5H1Q==", "dependencies": { - "@types/node": "*", - "@types/tapable": "^1", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "anymatch": "^3.0.0", - "source-map": "^0.6.0" + "core-js": "^3.8.2", + "global": "^4.4.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-server/node_modules/@webassemblyjs/ast": { + "node_modules/@storybook/client-logger/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@storybook/components": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.5.16.tgz", + "integrity": "sha512-LzBOFJKITLtDcbW9jXl0/PaG+4xAz25PK8JxPZpIALbmOpYWOAPcO6V9C2heX6e6NgWFMUxjplkULEk9RCQMNA==", + "dependencies": { + "@storybook/client-logger": "6.5.16", + "@storybook/csf": "0.0.2--canary.4566f4d.1", + "@storybook/theming": "6.5.16", + "core-js": "^3.8.2", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "regenerator-runtime": "^0.13.7", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/components/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@storybook/core": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.5.16.tgz", + "integrity": "sha512-CEF3QFTsm/VMnMKtRNr4rRdLeIkIG0g1t26WcmxTdSThNPBd8CsWzQJ7Jqu7CKiut+MU4A1LMOwbwCE5F2gmyA==", + "dependencies": { + "@storybook/core-client": "6.5.16", + "@storybook/core-server": "6.5.16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "webpack": "*" + }, + "peerDependenciesMeta": { + "@storybook/builder-webpack5": { + "optional": true + }, + "@storybook/manager-webpack5": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@storybook/core-client": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.5.16.tgz", + "integrity": "sha512-14IRaDrVtKrQ+gNWC0wPwkCNfkZOKghYV/swCUnQX3rP99defsZK8Hc7xHIYoAiOP5+sc3sweRAxgmFiJeQ1Ig==", + "dependencies": { + "@storybook/addons": "6.5.16", + "@storybook/channel-postmessage": "6.5.16", + "@storybook/channel-websocket": "6.5.16", + "@storybook/client-api": "6.5.16", + "@storybook/client-logger": "6.5.16", + "@storybook/core-events": "6.5.16", + "@storybook/csf": "0.0.2--canary.4566f4d.1", + "@storybook/preview-web": "6.5.16", + "@storybook/store": "6.5.16", + "@storybook/ui": "6.5.16", + "airbnb-js-shims": "^2.2.1", + "ansi-to-html": "^0.6.11", + "core-js": "^3.8.2", + "global": "^4.4.0", + "lodash": "^4.17.21", + "qs": "^6.10.0", + "regenerator-runtime": "^0.13.7", + "ts-dedent": "^2.0.0", + "unfetch": "^4.2.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "webpack": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@storybook/core-client/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@storybook/core-client/node_modules/unfetch": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", + "integrity": "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==" + }, + "node_modules/@storybook/core-common": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.16.tgz", + "integrity": "sha512-2qtnKP3TTOzt2cp6LXKRTh7XrI9z5VanMnMTgeoFcA5ebnndD4V6BExQUdYPClE/QooLx6blUWNgS9dFEpjSqQ==", + "dependencies": { + "@babel/core": "^7.12.10", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-decorators": "^7.12.12", + "@babel/plugin-proposal-export-default-from": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-private-property-in-object": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.12", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/preset-env": "^7.12.11", + "@babel/preset-react": "^7.12.10", + "@babel/preset-typescript": "^7.12.7", + "@babel/register": "^7.12.1", + "@storybook/node-logger": "6.5.16", + "@storybook/semver": "^7.3.2", + "@types/node": "^14.0.10 || ^16.0.0", + "@types/pretty-hrtime": "^1.0.0", + "babel-loader": "^8.0.0", + "babel-plugin-macros": "^3.0.1", + "babel-plugin-polyfill-corejs3": "^0.1.0", + "chalk": "^4.1.0", + "core-js": "^3.8.2", + "express": "^4.17.1", + "file-system-cache": "^1.0.5", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.0.4", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "handlebars": "^4.7.7", + "interpret": "^2.2.0", + "json5": "^2.2.3", + "lazy-universal-dotenv": "^3.0.1", + "picomatch": "^2.3.0", + "pkg-dir": "^5.0.0", + "pretty-hrtime": "^1.0.3", + "resolve-from": "^5.0.0", + "slash": "^3.0.0", + "telejson": "^6.0.8", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2", + "webpack": "4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@storybook/core-common/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz", + "integrity": "sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@storybook/core-common/node_modules/@types/node": { + "version": "16.18.88", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.88.tgz", + "integrity": "sha512-Za3eRO5y0UWShynpsbNq/Dtqjc+g3GM9/PnrebiWiU4pYa5dOQbpCGuZ7ICqbiZ0JvLaZZ4eq7t5cSts2IEgkg==" + }, + "node_modules/@storybook/core-common/node_modules/@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", @@ -14742,22 +15121,22 @@ "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/@storybook/core-server/node_modules/@webassemblyjs/helper-api-error": { + "node_modules/@storybook/core-common/node_modules/@webassemblyjs/helper-api-error": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" }, - "node_modules/@storybook/core-server/node_modules/@webassemblyjs/helper-buffer": { + "node_modules/@storybook/core-common/node_modules/@webassemblyjs/helper-buffer": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" }, - "node_modules/@storybook/core-server/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "node_modules/@storybook/core-common/node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" }, - "node_modules/@storybook/core-server/node_modules/@webassemblyjs/helper-wasm-section": { + "node_modules/@storybook/core-common/node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", @@ -14768,7 +15147,7 @@ "@webassemblyjs/wasm-gen": "1.9.0" } }, - "node_modules/@storybook/core-server/node_modules/@webassemblyjs/ieee754": { + "node_modules/@storybook/core-common/node_modules/@webassemblyjs/ieee754": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", @@ -14776,7 +15155,7 @@ "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/@storybook/core-server/node_modules/@webassemblyjs/leb128": { + "node_modules/@storybook/core-common/node_modules/@webassemblyjs/leb128": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", @@ -14784,12 +15163,12 @@ "@xtuc/long": "4.2.2" } }, - "node_modules/@storybook/core-server/node_modules/@webassemblyjs/utf8": { + "node_modules/@storybook/core-common/node_modules/@webassemblyjs/utf8": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" }, - "node_modules/@storybook/core-server/node_modules/@webassemblyjs/wasm-edit": { + "node_modules/@storybook/core-common/node_modules/@webassemblyjs/wasm-edit": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", @@ -14804,7 +15183,7 @@ "@webassemblyjs/wast-printer": "1.9.0" } }, - "node_modules/@storybook/core-server/node_modules/@webassemblyjs/wasm-gen": { + "node_modules/@storybook/core-common/node_modules/@webassemblyjs/wasm-gen": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", @@ -14816,7 +15195,7 @@ "@webassemblyjs/utf8": "1.9.0" } }, - "node_modules/@storybook/core-server/node_modules/@webassemblyjs/wasm-opt": { + "node_modules/@storybook/core-common/node_modules/@webassemblyjs/wasm-opt": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", @@ -14827,7 +15206,7 @@ "@webassemblyjs/wasm-parser": "1.9.0" } }, - "node_modules/@storybook/core-server/node_modules/@webassemblyjs/wasm-parser": { + "node_modules/@storybook/core-common/node_modules/@webassemblyjs/wasm-parser": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", @@ -14840,7 +15219,7 @@ "@webassemblyjs/utf8": "1.9.0" } }, - "node_modules/@storybook/core-server/node_modules/@webassemblyjs/wast-printer": { + "node_modules/@storybook/core-common/node_modules/@webassemblyjs/wast-printer": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", @@ -14850,7 +15229,7 @@ "@xtuc/long": "4.2.2" } }, - "node_modules/@storybook/core-server/node_modules/ajv": { + "node_modules/@storybook/core-common/node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", @@ -14865,7 +15244,7 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@storybook/core-server/node_modules/ajv-keywords": { + "node_modules/@storybook/core-common/node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", @@ -14873,7 +15252,7 @@ "ajv": "^6.9.1" } }, - "node_modules/@storybook/core-server/node_modules/ansi-styles": { + "node_modules/@storybook/core-common/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -14887,7 +15266,19 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@storybook/core-server/node_modules/braces": { + "node_modules/@storybook/core-common/node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz", + "integrity": "sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.1.5", + "core-js-compat": "^3.8.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@storybook/core-common/node_modules/braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", @@ -14907,7 +15298,7 @@ "node": ">=0.10.0" } }, - "node_modules/@storybook/core-server/node_modules/braces/node_modules/extend-shallow": { + "node_modules/@storybook/core-common/node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", @@ -14918,7 +15309,7 @@ "node": ">=0.10.0" } }, - "node_modules/@storybook/core-server/node_modules/cacache": { + "node_modules/@storybook/core-common/node_modules/cacache": { "version": "12.0.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", @@ -14940,7 +15331,7 @@ "y18n": "^4.0.0" } }, - "node_modules/@storybook/core-server/node_modules/chalk": { + "node_modules/@storybook/core-common/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -14955,12 +15346,12 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@storybook/core-server/node_modules/chownr": { + "node_modules/@storybook/core-common/node_modules/chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, - "node_modules/@storybook/core-server/node_modules/color-convert": { + "node_modules/@storybook/core-common/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -14971,20 +15362,17 @@ "node": ">=7.0.0" } }, - "node_modules/@storybook/core-server/node_modules/color-name": { + "node_modules/@storybook/core-common/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/@storybook/core-server/node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "engines": { - "node": ">= 6" - } + "node_modules/@storybook/core-common/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, - "node_modules/@storybook/core-server/node_modules/core-js": { + "node_modules/@storybook/core-common/node_modules/core-js": { "version": "3.36.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", @@ -14994,7 +15382,7 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/core-server/node_modules/enhanced-resolve": { + "node_modules/@storybook/core-common/node_modules/enhanced-resolve": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", @@ -15007,7 +15395,7 @@ "node": ">=6.9.0" } }, - "node_modules/@storybook/core-server/node_modules/enhanced-resolve/node_modules/memory-fs": { + "node_modules/@storybook/core-common/node_modules/enhanced-resolve/node_modules/memory-fs": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", @@ -15019,7 +15407,7 @@ "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/@storybook/core-server/node_modules/eslint-scope": { + "node_modules/@storybook/core-common/node_modules/eslint-scope": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", @@ -15031,7 +15419,7 @@ "node": ">=4.0.0" } }, - "node_modules/@storybook/core-server/node_modules/estraverse": { + "node_modules/@storybook/core-common/node_modules/estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", @@ -15039,7 +15427,7 @@ "node": ">=4.0" } }, - "node_modules/@storybook/core-server/node_modules/fill-range": { + "node_modules/@storybook/core-common/node_modules/fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", @@ -15053,7 +15441,7 @@ "node": ">=0.10.0" } }, - "node_modules/@storybook/core-server/node_modules/fill-range/node_modules/extend-shallow": { + "node_modules/@storybook/core-common/node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", @@ -15064,7 +15452,7 @@ "node": ">=0.10.0" } }, - "node_modules/@storybook/core-server/node_modules/fs-extra": { + "node_modules/@storybook/core-common/node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", @@ -15078,7 +15466,7 @@ "node": ">=10" } }, - "node_modules/@storybook/core-server/node_modules/has-flag": { + "node_modules/@storybook/core-common/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -15086,12 +15474,20 @@ "node": ">=8" } }, - "node_modules/@storybook/core-server/node_modules/is-buffer": { + "node_modules/@storybook/core-common/node_modules/interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/@storybook/core-common/node_modules/is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, - "node_modules/@storybook/core-server/node_modules/is-extendable": { + "node_modules/@storybook/core-common/node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", @@ -15099,7 +15495,7 @@ "node": ">=0.10.0" } }, - "node_modules/@storybook/core-server/node_modules/is-number": { + "node_modules/@storybook/core-common/node_modules/is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", @@ -15110,7 +15506,7 @@ "node": ">=0.10.0" } }, - "node_modules/@storybook/core-server/node_modules/is-number/node_modules/kind-of": { + "node_modules/@storybook/core-common/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", @@ -15121,7 +15517,7 @@ "node": ">=0.10.0" } }, - "node_modules/@storybook/core-server/node_modules/is-wsl": { + "node_modules/@storybook/core-common/node_modules/is-wsl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", @@ -15129,17 +15525,17 @@ "node": ">=4" } }, - "node_modules/@storybook/core-server/node_modules/isarray": { + "node_modules/@storybook/core-common/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, - "node_modules/@storybook/core-server/node_modules/json-schema-traverse": { + "node_modules/@storybook/core-common/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, - "node_modules/@storybook/core-server/node_modules/loader-runner": { + "node_modules/@storybook/core-common/node_modules/loader-runner": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", @@ -15147,7 +15543,7 @@ "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/@storybook/core-server/node_modules/lru-cache": { + "node_modules/@storybook/core-common/node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", @@ -15155,7 +15551,7 @@ "yallist": "^3.0.2" } }, - "node_modules/@storybook/core-server/node_modules/memory-fs": { + "node_modules/@storybook/core-common/node_modules/memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", @@ -15164,7 +15560,7 @@ "readable-stream": "^2.0.1" } }, - "node_modules/@storybook/core-server/node_modules/micromatch": { + "node_modules/@storybook/core-common/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", @@ -15187,7 +15583,7 @@ "node": ">=0.10.0" } }, - "node_modules/@storybook/core-server/node_modules/mkdirp": { + "node_modules/@storybook/core-common/node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", @@ -15198,7 +15594,18 @@ "mkdirp": "bin/cmd.js" } }, - "node_modules/@storybook/core-server/node_modules/readable-stream": { + "node_modules/@storybook/core-common/node_modules/pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "dependencies": { + "find-up": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/core-common/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", @@ -15212,7 +15619,7 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/@storybook/core-server/node_modules/rimraf": { + "node_modules/@storybook/core-common/node_modules/rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", @@ -15223,12 +15630,12 @@ "rimraf": "bin.js" } }, - "node_modules/@storybook/core-server/node_modules/safe-buffer": { + "node_modules/@storybook/core-common/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/@storybook/core-server/node_modules/schema-utils": { + "node_modules/@storybook/core-common/node_modules/schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", @@ -15241,7 +15648,7 @@ "node": ">= 4" } }, - "node_modules/@storybook/core-server/node_modules/serialize-javascript": { + "node_modules/@storybook/core-common/node_modules/serialize-javascript": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", @@ -15249,7 +15656,7 @@ "randombytes": "^2.1.0" } }, - "node_modules/@storybook/core-server/node_modules/ssri": { + "node_modules/@storybook/core-common/node_modules/ssri": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", @@ -15257,7 +15664,7 @@ "figgy-pudding": "^3.5.1" } }, - "node_modules/@storybook/core-server/node_modules/string_decoder": { + "node_modules/@storybook/core-common/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", @@ -15265,7 +15672,7 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/@storybook/core-server/node_modules/supports-color": { + "node_modules/@storybook/core-common/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -15276,7 +15683,7 @@ "node": ">=8" } }, - "node_modules/@storybook/core-server/node_modules/tapable": { + "node_modules/@storybook/core-common/node_modules/tapable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", @@ -15284,7 +15691,7 @@ "node": ">=6" } }, - "node_modules/@storybook/core-server/node_modules/terser": { + "node_modules/@storybook/core-common/node_modules/terser": { "version": "4.8.1", "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", @@ -15300,7 +15707,7 @@ "node": ">=6.0.0" } }, - "node_modules/@storybook/core-server/node_modules/terser-webpack-plugin": { + "node_modules/@storybook/core-common/node_modules/terser-webpack-plugin": { "version": "1.4.5", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", @@ -15322,12 +15729,7 @@ "webpack": "^4.0.0" } }, - "node_modules/@storybook/core-server/node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/@storybook/core-server/node_modules/to-regex-range": { + "node_modules/@storybook/core-common/node_modules/to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", @@ -15339,7 +15741,7 @@ "node": ">=0.10.0" } }, - "node_modules/@storybook/core-server/node_modules/unique-filename": { + "node_modules/@storybook/core-common/node_modules/unique-filename": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", @@ -15347,7 +15749,7 @@ "unique-slug": "^2.0.0" } }, - "node_modules/@storybook/core-server/node_modules/unique-slug": { + "node_modules/@storybook/core-common/node_modules/unique-slug": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", @@ -15355,7 +15757,20 @@ "imurmurhash": "^0.1.4" } }, - "node_modules/@storybook/core-server/node_modules/webpack": { + "node_modules/@storybook/core-common/node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" + } + }, + "node_modules/@storybook/core-common/node_modules/webpack": { "version": "4.47.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", @@ -15403,7 +15818,7 @@ } } }, - "node_modules/@storybook/core-server/node_modules/webpack-sources": { + "node_modules/@storybook/core-common/node_modules/webpack-sources": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", @@ -15412,71 +15827,29 @@ "source-map": "~0.6.1" } }, - "node_modules/@storybook/core-server/node_modules/webpack/node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" - } - }, - "node_modules/@storybook/core-server/node_modules/y18n": { + "node_modules/@storybook/core-common/node_modules/y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" }, - "node_modules/@storybook/core-server/node_modules/yallist": { + "node_modules/@storybook/core-common/node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, - "node_modules/@storybook/csf": { - "version": "0.0.2--canary.4566f4d.1", - "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.4566f4d.1.tgz", - "integrity": "sha512-9OVvMVh3t9znYZwb0Svf/YQoxX2gVOeQTGe2bses2yj+a3+OJnCrUF3/hGv6Em7KujtOdL2LL+JnG49oMVGFgQ==", - "dependencies": { - "lodash": "^4.17.15" - } - }, - "node_modules/@storybook/csf-tools": { + "node_modules/@storybook/core-events": { "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-6.5.16.tgz", - "integrity": "sha512-+WD4sH/OwAfXZX3IN6/LOZ9D9iGEFcN+Vvgv9wOsLRgsAZ10DG/NK6c1unXKDM/ogJtJYccNI8Hd+qNE/GFV6A==", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.16.tgz", + "integrity": "sha512-qMZQwmvzpH5F2uwNUllTPg6eZXr2OaYZQRRN8VZJiuorZzDNdAFmiVWMWdkThwmyLEJuQKXxqCL8lMj/7PPM+g==", "dependencies": { - "@babel/core": "^7.12.10", - "@babel/generator": "^7.12.11", - "@babel/parser": "^7.12.11", - "@babel/plugin-transform-react-jsx": "^7.12.12", - "@babel/preset-env": "^7.12.11", - "@babel/traverse": "^7.12.11", - "@babel/types": "^7.12.11", - "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/mdx1-csf": "^0.0.1", - "core-js": "^3.8.2", - "fs-extra": "^9.0.1", - "global": "^4.4.0", - "regenerator-runtime": "^0.13.7", - "ts-dedent": "^2.0.0" + "core-js": "^3.8.2" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "@storybook/mdx2-csf": "^0.0.3" - }, - "peerDependenciesMeta": { - "@storybook/mdx2-csf": { - "optional": true - } } }, - "node_modules/@storybook/csf-tools/node_modules/core-js": { + "node_modules/@storybook/core-events/node_modules/core-js": { "version": "3.36.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", @@ -15486,114 +15859,56 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/csf-tools/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/docs-tools": { + "node_modules/@storybook/core-server": { "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-6.5.16.tgz", - "integrity": "sha512-o+rAWPRGifjBF5xZzTKOqnHN3XQWkl0QFJYVDIiJYJrVll7ExCkpEq/PahOGzIBBV+tpMstJgmKM3lr/lu/jmg==", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.5.16.tgz", + "integrity": "sha512-/3NPfmNyply395Dm0zaVZ8P9aruwO+tPx4D6/jpw8aqrRSwvAMndPMpoMCm0NXcpSm5rdX+Je4S3JW6JcggFkA==", "dependencies": { - "@babel/core": "^7.12.10", + "@discoveryjs/json-ext": "^0.5.3", + "@storybook/builder-webpack4": "6.5.16", + "@storybook/core-client": "6.5.16", + "@storybook/core-common": "6.5.16", + "@storybook/core-events": "6.5.16", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/store": "6.5.16", - "core-js": "^3.8.2", - "doctrine": "^3.0.0", - "lodash": "^4.17.21", - "regenerator-runtime": "^0.13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/docs-tools/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/@storybook/instrumenter": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-6.5.16.tgz", - "integrity": "sha512-q8/GaBk8PA/cL7m5OW+ec5t63+Zja9YvYSPGXrYtW17koSv7OnNPmk6RvI7tIHHO0mODBYnaHjF4zQfEGoyR5Q==", - "dependencies": { - "@storybook/addons": "6.5.16", - "@storybook/client-logger": "6.5.16", - "@storybook/core-events": "6.5.16", - "core-js": "^3.8.2", - "global": "^4.4.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/instrumenter/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/@storybook/manager-webpack4": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/manager-webpack4/-/manager-webpack4-6.5.16.tgz", - "integrity": "sha512-5VJZwmQU6AgdsBPsYdu886UKBHQ9SJEnFMaeUxKEclXk+iRsmbzlL4GHKyVd6oGX/ZaecZtcHPR6xrzmA4Ziew==", - "dependencies": { - "@babel/core": "^7.12.10", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/preset-react": "^7.12.10", - "@storybook/addons": "6.5.16", - "@storybook/core-client": "6.5.16", - "@storybook/core-common": "6.5.16", + "@storybook/csf-tools": "6.5.16", + "@storybook/manager-webpack4": "6.5.16", "@storybook/node-logger": "6.5.16", - "@storybook/theming": "6.5.16", - "@storybook/ui": "6.5.16", + "@storybook/semver": "^7.3.2", + "@storybook/store": "6.5.16", + "@storybook/telemetry": "6.5.16", "@types/node": "^14.0.10 || ^16.0.0", + "@types/node-fetch": "^2.5.7", + "@types/pretty-hrtime": "^1.0.0", "@types/webpack": "^4.41.26", - "babel-loader": "^8.0.0", - "case-sensitive-paths-webpack-plugin": "^2.3.0", + "better-opn": "^2.1.1", + "boxen": "^5.1.2", "chalk": "^4.1.0", + "cli-table3": "^0.6.1", + "commander": "^6.2.1", + "compression": "^1.7.4", "core-js": "^3.8.2", - "css-loader": "^3.6.0", + "cpy": "^8.1.2", + "detect-port": "^1.3.0", "express": "^4.17.1", - "file-loader": "^6.2.0", - "find-up": "^5.0.0", "fs-extra": "^9.0.1", - "html-webpack-plugin": "^4.0.0", + "global": "^4.4.0", + "globby": "^11.0.2", + "ip": "^2.0.0", + "lodash": "^4.17.21", "node-fetch": "^2.6.7", - "pnp-webpack-plugin": "1.6.4", - "read-pkg-up": "^7.0.1", + "open": "^8.4.0", + "pretty-hrtime": "^1.0.3", + "prompts": "^2.4.0", "regenerator-runtime": "^0.13.7", - "resolve-from": "^5.0.0", - "style-loader": "^1.3.0", + "serve-favicon": "^2.5.0", + "slash": "^3.0.0", "telejson": "^6.0.8", - "terser-webpack-plugin": "^4.2.3", "ts-dedent": "^2.0.0", - "url-loader": "^4.1.1", "util-deprecate": "^1.0.2", + "watchpack": "^2.2.0", "webpack": "4", - "webpack-dev-middleware": "^3.7.3", - "webpack-virtual-modules": "^0.2.2" + "ws": "^8.2.3", + "x-default-browser": "^0.4.0" }, "funding": { "type": "opencollective", @@ -15604,58 +15919,23 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" }, "peerDependenciesMeta": { + "@storybook/builder-webpack5": { + "optional": true + }, + "@storybook/manager-webpack5": { + "optional": true + }, "typescript": { "optional": true } } }, - "node_modules/@storybook/manager-webpack4/node_modules/@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "dependencies": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/@types/html-minifier-terser": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", - "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==" - }, - "node_modules/@storybook/manager-webpack4/node_modules/@types/node": { + "node_modules/@storybook/core-server/node_modules/@types/node": { "version": "16.18.88", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.88.tgz", "integrity": "sha512-Za3eRO5y0UWShynpsbNq/Dtqjc+g3GM9/PnrebiWiU4pYa5dOQbpCGuZ7ICqbiZ0JvLaZZ4eq7t5cSts2IEgkg==" }, - "node_modules/@storybook/manager-webpack4/node_modules/@types/webpack": { + "node_modules/@storybook/core-server/node_modules/@types/webpack": { "version": "4.41.38", "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.38.tgz", "integrity": "sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw==", @@ -15668,7 +15948,7 @@ "source-map": "^0.6.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/ast": { + "node_modules/@storybook/core-server/node_modules/@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", @@ -15678,22 +15958,22 @@ "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/helper-api-error": { + "node_modules/@storybook/core-server/node_modules/@webassemblyjs/helper-api-error": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" }, - "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/helper-buffer": { + "node_modules/@storybook/core-server/node_modules/@webassemblyjs/helper-buffer": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" }, - "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "node_modules/@storybook/core-server/node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" }, - "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/helper-wasm-section": { + "node_modules/@storybook/core-server/node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", @@ -15704,7 +15984,7 @@ "@webassemblyjs/wasm-gen": "1.9.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/ieee754": { + "node_modules/@storybook/core-server/node_modules/@webassemblyjs/ieee754": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", @@ -15712,7 +15992,7 @@ "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/leb128": { + "node_modules/@storybook/core-server/node_modules/@webassemblyjs/leb128": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", @@ -15720,12 +16000,12 @@ "@xtuc/long": "4.2.2" } }, - "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/utf8": { + "node_modules/@storybook/core-server/node_modules/@webassemblyjs/utf8": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" }, - "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/wasm-edit": { + "node_modules/@storybook/core-server/node_modules/@webassemblyjs/wasm-edit": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", @@ -15740,7 +16020,7 @@ "@webassemblyjs/wast-printer": "1.9.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/wasm-gen": { + "node_modules/@storybook/core-server/node_modules/@webassemblyjs/wasm-gen": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", @@ -15752,7 +16032,7 @@ "@webassemblyjs/utf8": "1.9.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/wasm-opt": { + "node_modules/@storybook/core-server/node_modules/@webassemblyjs/wasm-opt": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", @@ -15763,7 +16043,7 @@ "@webassemblyjs/wasm-parser": "1.9.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/wasm-parser": { + "node_modules/@storybook/core-server/node_modules/@webassemblyjs/wasm-parser": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", @@ -15776,7 +16056,7 @@ "@webassemblyjs/utf8": "1.9.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/wast-printer": { + "node_modules/@storybook/core-server/node_modules/@webassemblyjs/wast-printer": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", @@ -15786,7 +16066,7 @@ "@xtuc/long": "4.2.2" } }, - "node_modules/@storybook/manager-webpack4/node_modules/ajv": { + "node_modules/@storybook/core-server/node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", @@ -15801,7 +16081,7 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@storybook/manager-webpack4/node_modules/ajv-keywords": { + "node_modules/@storybook/core-server/node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", @@ -15809,15 +16089,7 @@ "ajv": "^6.9.1" } }, - "node_modules/@storybook/manager-webpack4/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/ansi-styles": { + "node_modules/@storybook/core-server/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -15831,7 +16103,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@storybook/manager-webpack4/node_modules/braces": { + "node_modules/@storybook/core-server/node_modules/braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", @@ -15851,7 +16123,7 @@ "node": ">=0.10.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/braces/node_modules/extend-shallow": { + "node_modules/@storybook/core-server/node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", @@ -15862,35 +16134,29 @@ "node": ">=0.10.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "node_modules/@storybook/core-server/node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 10" + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/chalk": { + "node_modules/@storybook/core-server/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -15905,7 +16171,12 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@storybook/manager-webpack4/node_modules/color-convert": { + "node_modules/@storybook/core-server/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/@storybook/core-server/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -15916,17 +16187,20 @@ "node": ">=7.0.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/color-name": { + "node_modules/@storybook/core-server/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/@storybook/manager-webpack4/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "node_modules/@storybook/core-server/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "engines": { + "node": ">= 6" + } }, - "node_modules/@storybook/manager-webpack4/node_modules/core-js": { + "node_modules/@storybook/core-server/node_modules/core-js": { "version": "3.36.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", @@ -15936,113 +16210,7 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/manager-webpack4/node_modules/css-loader": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", - "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", - "dependencies": { - "camelcase": "^5.3.1", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.32", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^2.7.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/css-loader/node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/@storybook/manager-webpack4/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/enhanced-resolve": { + "node_modules/@storybook/core-server/node_modules/enhanced-resolve": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", @@ -16055,7 +16223,7 @@ "node": ">=6.9.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/enhanced-resolve/node_modules/memory-fs": { + "node_modules/@storybook/core-server/node_modules/enhanced-resolve/node_modules/memory-fs": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", @@ -16067,15 +16235,7 @@ "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/@storybook/manager-webpack4/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/eslint-scope": { + "node_modules/@storybook/core-server/node_modules/eslint-scope": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", @@ -16087,7 +16247,7 @@ "node": ">=4.0.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/estraverse": { + "node_modules/@storybook/core-server/node_modules/estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", @@ -16095,7 +16255,7 @@ "node": ">=4.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/fill-range": { + "node_modules/@storybook/core-server/node_modules/fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", @@ -16109,7 +16269,7 @@ "node": ">=0.10.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/fill-range/node_modules/extend-shallow": { + "node_modules/@storybook/core-server/node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", @@ -16120,23 +16280,7 @@ "node": ">=0.10.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/fs-extra": { + "node_modules/@storybook/core-server/node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", @@ -16150,7 +16294,7 @@ "node": ">=10" } }, - "node_modules/@storybook/manager-webpack4/node_modules/has-flag": { + "node_modules/@storybook/core-server/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -16158,63 +16302,12 @@ "node": ">=8" } }, - "node_modules/@storybook/manager-webpack4/node_modules/html-webpack-plugin": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz", - "integrity": "sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==", - "dependencies": { - "@types/html-minifier-terser": "^5.0.0", - "@types/tapable": "^1.0.5", - "@types/webpack": "^4.41.8", - "html-minifier-terser": "^5.0.1", - "loader-utils": "^1.2.3", - "lodash": "^4.17.20", - "pretty-error": "^2.1.1", - "tapable": "^1.1.3", - "util.promisify": "1.0.0" - }, - "engines": { - "node": ">=6.9" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "dependencies": { - "postcss": "^7.0.14" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/is-buffer": { + "node_modules/@storybook/core-server/node_modules/is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, - "node_modules/@storybook/manager-webpack4/node_modules/is-extendable": { + "node_modules/@storybook/core-server/node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", @@ -16222,7 +16315,7 @@ "node": ">=0.10.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/is-number": { + "node_modules/@storybook/core-server/node_modules/is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", @@ -16233,7 +16326,7 @@ "node": ">=0.10.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/is-number/node_modules/kind-of": { + "node_modules/@storybook/core-server/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", @@ -16244,7 +16337,7 @@ "node": ">=0.10.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/is-wsl": { + "node_modules/@storybook/core-server/node_modules/is-wsl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", @@ -16252,17 +16345,17 @@ "node": ">=4" } }, - "node_modules/@storybook/manager-webpack4/node_modules/isarray": { + "node_modules/@storybook/core-server/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, - "node_modules/@storybook/manager-webpack4/node_modules/json-schema-traverse": { + "node_modules/@storybook/core-server/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, - "node_modules/@storybook/manager-webpack4/node_modules/loader-runner": { + "node_modules/@storybook/core-server/node_modules/loader-runner": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", @@ -16270,30 +16363,15 @@ "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/@storybook/manager-webpack4/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@storybook/core-server/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "yallist": "^3.0.2" } }, - "node_modules/@storybook/manager-webpack4/node_modules/memory-fs": { + "node_modules/@storybook/core-server/node_modules/memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", @@ -16302,7 +16380,7 @@ "readable-stream": "^2.0.1" } }, - "node_modules/@storybook/manager-webpack4/node_modules/micromatch": { + "node_modules/@storybook/core-server/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", @@ -16325,135 +16403,18 @@ "node": ">=0.10.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "bin": { - "mime": "cli.js" + "node_modules/@storybook/core-server/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/p-locate/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - }, - "node_modules/@storybook/manager-webpack4/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "dependencies": { - "postcss": "^7.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/postcss-modules-local-by-default": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", - "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", - "dependencies": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.32", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", - "dependencies": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", - "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", - "dependencies": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/pretty-error": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", - "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^2.0.4" + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/@storybook/manager-webpack4/node_modules/readable-stream": { + "node_modules/@storybook/core-server/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", @@ -16467,43 +16428,52 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/@storybook/manager-webpack4/node_modules/renderkid": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", - "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "node_modules/@storybook/core-server/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^3.0.1" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "node_modules/@storybook/manager-webpack4/node_modules/safe-buffer": { + "node_modules/@storybook/core-server/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/@storybook/manager-webpack4/node_modules/serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "node_modules/@storybook/core-server/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@storybook/core-server/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dependencies": { "randombytes": "^2.1.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "node_modules/@storybook/core-server/node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" + "figgy-pudding": "^3.5.1" } }, - "node_modules/@storybook/manager-webpack4/node_modules/string_decoder": { + "node_modules/@storybook/core-server/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", @@ -16511,18 +16481,7 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/supports-color": { + "node_modules/@storybook/core-server/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -16533,7 +16492,7 @@ "node": ">=8" } }, - "node_modules/@storybook/manager-webpack4/node_modules/tapable": { + "node_modules/@storybook/core-server/node_modules/tapable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", @@ -16541,33 +16500,50 @@ "node": ">=6" } }, - "node_modules/@storybook/manager-webpack4/node_modules/terser-webpack-plugin": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz", - "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==", + "node_modules/@storybook/core-server/node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dependencies": { - "cacache": "^15.0.5", - "find-cache-dir": "^3.3.1", - "jest-worker": "^26.5.0", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1", - "terser": "^5.3.4", - "webpack-sources": "^1.4.3" + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" }, "engines": { - "node": ">= 10.13.0" + "node": ">=6.0.0" + } + }, + "node_modules/@storybook/core-server/node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "engines": { + "node": ">= 6.9.0" }, "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "webpack": "^4.0.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/to-regex-range": { + "node_modules/@storybook/core-server/node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/@storybook/core-server/node_modules/to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", @@ -16579,7 +16555,7 @@ "node": ">=0.10.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/unique-filename": { + "node_modules/@storybook/core-server/node_modules/unique-filename": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", @@ -16587,7 +16563,7 @@ "unique-slug": "^2.0.0" } }, - "node_modules/@storybook/manager-webpack4/node_modules/unique-slug": { + "node_modules/@storybook/core-server/node_modules/unique-slug": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", @@ -16595,20 +16571,7 @@ "imurmurhash": "^0.1.4" } }, - "node_modules/@storybook/manager-webpack4/node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack": { + "node_modules/@storybook/core-server/node_modules/webpack": { "version": "4.47.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", @@ -16656,36 +16619,7 @@ } } }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", - "dependencies": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack-dev-middleware/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack-sources": { + "node_modules/@storybook/core-server/node_modules/webpack-sources": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", @@ -16694,207 +16628,152 @@ "source-map": "~0.6.1" } }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack-virtual-modules": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.2.2.tgz", - "integrity": "sha512-kDUmfm3BZrei0y+1NTHJInejzxfhtU8eDj2M7OKb2IWrPFAeO1SOH2KuQ68MSZu9IGEHcxbkKKR1v18FrUSOmA==", + "node_modules/@storybook/core-server/node_modules/webpack/node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dependencies": { - "debug": "^3.0.0" + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" } }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } + "node_modules/@storybook/core-server/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "node_modules/@storybook/core-server/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "node_modules/@storybook/csf": { + "version": "0.0.2--canary.4566f4d.1", + "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.4566f4d.1.tgz", + "integrity": "sha512-9OVvMVh3t9znYZwb0Svf/YQoxX2gVOeQTGe2bses2yj+a3+OJnCrUF3/hGv6Em7KujtOdL2LL+JnG49oMVGFgQ==", "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" + "lodash": "^4.17.15" } }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "node_modules/@storybook/csf-tools": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-6.5.16.tgz", + "integrity": "sha512-+WD4sH/OwAfXZX3IN6/LOZ9D9iGEFcN+Vvgv9wOsLRgsAZ10DG/NK6c1unXKDM/ogJtJYccNI8Hd+qNE/GFV6A==", "dependencies": { - "locate-path": "^3.0.0" + "@babel/core": "^7.12.10", + "@babel/generator": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/plugin-transform-react-jsx": "^7.12.12", + "@babel/preset-env": "^7.12.11", + "@babel/traverse": "^7.12.11", + "@babel/types": "^7.12.11", + "@storybook/csf": "0.0.2--canary.4566f4d.1", + "@storybook/mdx1-csf": "^0.0.1", + "core-js": "^3.8.2", + "fs-extra": "^9.0.1", + "global": "^4.4.0", + "regenerator-runtime": "^0.13.7", + "ts-dedent": "^2.0.0" }, - "engines": { - "node": ">=6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "@storybook/mdx2-csf": "^0.0.3" + }, + "peerDependenciesMeta": { + "@storybook/mdx2-csf": { + "optional": true + } } }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" + "node_modules/@storybook/csf-tools/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "node_modules/@storybook/csf-tools/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "node": ">=10" } }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "node_modules/@storybook/docs-tools": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-6.5.16.tgz", + "integrity": "sha512-o+rAWPRGifjBF5xZzTKOqnHN3XQWkl0QFJYVDIiJYJrVll7ExCkpEq/PahOGzIBBV+tpMstJgmKM3lr/lu/jmg==", "dependencies": { - "find-up": "^3.0.0" + "@babel/core": "^7.12.10", + "@storybook/csf": "0.0.2--canary.4566f4d.1", + "@storybook/store": "6.5.16", + "core-js": "^3.8.2", + "doctrine": "^3.0.0", + "lodash": "^4.17.21", + "regenerator-runtime": "^0.13.7" }, - "engines": { - "node": ">=6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "node_modules/@storybook/docs-tools/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "node_modules/@storybook/instrumenter": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-6.5.16.tgz", + "integrity": "sha512-q8/GaBk8PA/cL7m5OW+ec5t63+Zja9YvYSPGXrYtW17koSv7OnNPmk6RvI7tIHHO0mODBYnaHjF4zQfEGoyR5Q==", "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "@storybook/addons": "6.5.16", + "@storybook/client-logger": "6.5.16", + "@storybook/core-events": "6.5.16", + "core-js": "^3.8.2", + "global": "^4.4.0" }, - "engines": { - "node": ">= 4" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "bin": { - "semver": "bin/semver" + "node_modules/@storybook/instrumenter/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/terser": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/@storybook/manager-webpack4/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "node_modules/@storybook/manager-webpack5": { + "node_modules/@storybook/manager-webpack4": { "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/manager-webpack5/-/manager-webpack5-6.5.16.tgz", - "integrity": "sha512-OtxXv8JCe0r/0rE5HxaFicsNsXA+fqZxzokxquFFgrYf/1Jg4d7QX6/pG5wINF+5qInJfVkRG6xhPzv1s5bk9Q==", + "resolved": "https://registry.npmjs.org/@storybook/manager-webpack4/-/manager-webpack4-6.5.16.tgz", + "integrity": "sha512-5VJZwmQU6AgdsBPsYdu886UKBHQ9SJEnFMaeUxKEclXk+iRsmbzlL4GHKyVd6oGX/ZaecZtcHPR6xrzmA4Ziew==", "dependencies": { "@babel/core": "^7.12.10", "@babel/plugin-transform-template-literals": "^7.12.1", @@ -16906,28 +16785,31 @@ "@storybook/theming": "6.5.16", "@storybook/ui": "6.5.16", "@types/node": "^14.0.10 || ^16.0.0", + "@types/webpack": "^4.41.26", "babel-loader": "^8.0.0", "case-sensitive-paths-webpack-plugin": "^2.3.0", "chalk": "^4.1.0", "core-js": "^3.8.2", - "css-loader": "^5.0.1", + "css-loader": "^3.6.0", "express": "^4.17.1", + "file-loader": "^6.2.0", "find-up": "^5.0.0", "fs-extra": "^9.0.1", - "html-webpack-plugin": "^5.0.0", + "html-webpack-plugin": "^4.0.0", "node-fetch": "^2.6.7", - "process": "^0.11.10", + "pnp-webpack-plugin": "1.6.4", "read-pkg-up": "^7.0.1", "regenerator-runtime": "^0.13.7", "resolve-from": "^5.0.0", - "style-loader": "^2.0.0", + "style-loader": "^1.3.0", "telejson": "^6.0.8", - "terser-webpack-plugin": "^5.0.3", + "terser-webpack-plugin": "^4.2.3", "ts-dedent": "^2.0.0", + "url-loader": "^4.1.1", "util-deprecate": "^1.0.2", - "webpack": "^5.9.0", - "webpack-dev-middleware": "^4.1.0", - "webpack-virtual-modules": "^0.4.1" + "webpack": "4", + "webpack-dev-middleware": "^3.7.3", + "webpack-virtual-modules": "^0.2.2" }, "funding": { "type": "opencollective", @@ -16943,218 +16825,215 @@ } } }, - "node_modules/@storybook/manager-webpack5/node_modules/@types/node": { - "version": "16.18.88", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.88.tgz", - "integrity": "sha512-Za3eRO5y0UWShynpsbNq/Dtqjc+g3GM9/PnrebiWiU4pYa5dOQbpCGuZ7ICqbiZ0JvLaZZ4eq7t5cSts2IEgkg==" - }, - "node_modules/@storybook/manager-webpack5/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@storybook/manager-webpack4/node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" } }, - "node_modules/@storybook/manager-webpack5/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@storybook/manager-webpack4/node_modules/@npmcli/fs/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@storybook/manager-webpack5/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@storybook/manager-webpack4/node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "deprecated": "This functionality has been moved to @npmcli/fs", "dependencies": { - "color-name": "~1.1.4" + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=7.0.0" + "node": ">=10" } }, - "node_modules/@storybook/manager-webpack5/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "node_modules/@storybook/manager-webpack4/node_modules/@types/html-minifier-terser": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", + "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==" }, - "node_modules/@storybook/manager-webpack5/node_modules/colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + "node_modules/@storybook/manager-webpack4/node_modules/@types/node": { + "version": "16.18.88", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.88.tgz", + "integrity": "sha512-Za3eRO5y0UWShynpsbNq/Dtqjc+g3GM9/PnrebiWiU4pYa5dOQbpCGuZ7ICqbiZ0JvLaZZ4eq7t5cSts2IEgkg==" }, - "node_modules/@storybook/manager-webpack5/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/@storybook/manager-webpack4/node_modules/@types/webpack": { + "version": "4.41.38", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.38.tgz", + "integrity": "sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw==", + "dependencies": { + "@types/node": "*", + "@types/tapable": "^1", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "anymatch": "^3.0.0", + "source-map": "^0.6.0" } }, - "node_modules/@storybook/manager-webpack5/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/@storybook/manager-webpack5/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" + "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" + }, + "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" + }, + "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" + }, + "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" } }, - "node_modules/@storybook/manager-webpack5/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/@storybook/manager-webpack5/node_modules/style-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", - "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", + "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "@xtuc/long": "4.2.2" } }, - "node_modules/@storybook/manager-webpack5/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" + }, + "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" } }, - "node_modules/@storybook/manager-webpack5/node_modules/webpack-dev-middleware": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-4.3.0.tgz", - "integrity": "sha512-PjwyVY95/bhBh6VUqt6z4THplYcsvQ8YNNBTBM873xLVmw8FLeALn0qurHbs9EmcfhzQis/eoqypSnZeuUz26w==", + "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dependencies": { - "colorette": "^1.2.2", - "mem": "^8.1.1", - "memfs": "^3.2.2", - "mime-types": "^2.1.30", - "range-parser": "^1.2.1", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= v10.23.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, - "node_modules/@storybook/mdx1-csf": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@storybook/mdx1-csf/-/mdx1-csf-0.0.1.tgz", - "integrity": "sha512-4biZIWWzoWlCarMZmTpqcJNgo/RBesYZwGFbQeXiGYsswuvfWARZnW9RE9aUEMZ4XPn7B1N3EKkWcdcWe/K2tg==", + "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dependencies": { - "@babel/generator": "^7.12.11", - "@babel/parser": "^7.12.11", - "@babel/preset-env": "^7.12.11", - "@babel/types": "^7.12.11", - "@mdx-js/mdx": "^1.6.22", - "@types/lodash": "^4.14.167", - "js-string-escape": "^1.0.1", - "loader-utils": "^2.0.0", - "lodash": "^4.17.21", - "prettier": ">=2.2.1 <=2.3.0", - "ts-dedent": "^2.0.0" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" } }, - "node_modules/@storybook/mdx1-csf/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, - "node_modules/@storybook/mdx1-csf/node_modules/prettier": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz", - "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" + "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "node_modules/@storybook/node-logger": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.16.tgz", - "integrity": "sha512-YjhBKrclQtjhqFNSO+BZK+RXOx6EQypAELJKoLFaawg331e8VUfvUuRCNB3fcEWp8G9oH13PQQte0OTjLyyOYg==", + "node_modules/@storybook/manager-webpack4/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { - "@types/npmlog": "^4.1.2", - "chalk": "^4.1.0", - "core-js": "^3.8.2", - "npmlog": "^5.0.1", - "pretty-hrtime": "^1.0.3" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@storybook/node-logger/node_modules/ansi-styles": { + "node_modules/@storybook/manager-webpack4/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -17168,19 +17047,66 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@storybook/node-logger/node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "node_modules/@storybook/manager-webpack4/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/@storybook/node-logger/node_modules/chalk": { + "node_modules/@storybook/manager-webpack4/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -17195,7 +17121,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@storybook/node-logger/node_modules/color-convert": { + "node_modules/@storybook/manager-webpack4/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -17206,12 +17132,17 @@ "node": ">=7.0.0" } }, - "node_modules/@storybook/node-logger/node_modules/color-name": { + "node_modules/@storybook/manager-webpack4/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/@storybook/node-logger/node_modules/core-js": { + "node_modules/@storybook/manager-webpack4/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/@storybook/manager-webpack4/node_modules/core-js": { "version": "3.36.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", @@ -17221,222 +17152,191 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/@storybook/node-logger/node_modules/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "node_modules/@storybook/manager-webpack4/node_modules/css-loader": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", + "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/node-logger/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.32", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.0", + "semver": "^6.3.0" + }, "engines": { - "node": ">=8" + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/@storybook/node-logger/node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "node_modules/@storybook/manager-webpack4/node_modules/css-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/@storybook/node-logger/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@storybook/manager-webpack4/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "ms": "^2.1.1" } }, - "node_modules/@storybook/postinstall": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-6.5.16.tgz", - "integrity": "sha512-08K2q+qN6pqyPW7PHLCZ5G5Xa6Wosd6t0F16PQ4abX2ItlJLabVoJN5mZ0gm/aeLTjD8QYr8IDvacu4eXh0SVA==", + "node_modules/@storybook/manager-webpack4/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dependencies": { - "core-js": "^3.8.2" + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/@storybook/postinstall/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } + "node_modules/@storybook/manager-webpack4/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] }, - "node_modules/@storybook/preview-web": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.5.16.tgz", - "integrity": "sha512-IJnvfe2sKCfk7apN9Fu9U8qibbarrPX5JB55ZzK1amSHVmSDuYk5MIMc/U3NnSQNnvd1DO5v/zMcGgj563hrtg==", + "node_modules/@storybook/manager-webpack4/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dependencies": { - "@storybook/addons": "6.5.16", - "@storybook/channel-postmessage": "6.5.16", - "@storybook/client-logger": "6.5.16", - "@storybook/core-events": "6.5.16", - "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/store": "6.5.16", - "ansi-to-html": "^0.6.11", - "core-js": "^3.8.2", - "global": "^4.4.0", - "lodash": "^4.17.21", - "qs": "^6.10.0", - "regenerator-runtime": "^0.13.7", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "unfetch": "^4.2.0", - "util-deprecate": "^1.0.2" + "domelementtype": "^2.2.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "engines": { + "node": ">= 4" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/@storybook/preview-web/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, + "node_modules/@storybook/manager-webpack4/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/@storybook/preview-web/node_modules/unfetch": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", - "integrity": "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==" - }, - "node_modules/@storybook/react": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-6.5.16.tgz", - "integrity": "sha512-cBtNlOzf/MySpNLBK22lJ8wFU22HnfTB2xJyBk7W7Zi71Lm7Uxkhv1Pz8HdiQndJ0SlsAAQOWjQYsSZsGkZIaA==", + "node_modules/@storybook/manager-webpack4/node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dependencies": { - "@babel/preset-flow": "^7.12.1", - "@babel/preset-react": "^7.12.10", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", - "@storybook/addons": "6.5.16", - "@storybook/client-logger": "6.5.16", - "@storybook/core": "6.5.16", - "@storybook/core-common": "6.5.16", - "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/docs-tools": "6.5.16", - "@storybook/node-logger": "6.5.16", - "@storybook/react-docgen-typescript-plugin": "1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0", - "@storybook/semver": "^7.3.2", - "@storybook/store": "6.5.16", - "@types/estree": "^0.0.51", - "@types/node": "^14.14.20 || ^16.0.0", - "@types/webpack-env": "^1.16.0", - "acorn": "^7.4.1", - "acorn-jsx": "^5.3.1", - "acorn-walk": "^7.2.0", - "babel-plugin-add-react-displayname": "^0.0.5", - "babel-plugin-react-docgen": "^4.2.1", - "core-js": "^3.8.2", - "escodegen": "^2.0.0", - "fs-extra": "^9.0.1", - "global": "^4.4.0", - "html-tags": "^3.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2", - "react-element-to-jsx-string": "^14.3.4", - "react-refresh": "^0.11.0", - "read-pkg-up": "^7.0.1", - "regenerator-runtime": "^0.13.7", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2", - "webpack": ">=4.43.0 <6.0.0" - }, - "bin": { - "build-storybook": "bin/build.js", - "start-storybook": "bin/index.js", - "storybook-server": "bin/index.js" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=6.9.0" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" }, - "peerDependencies": { - "@babel/core": "^7.11.5", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", - "require-from-string": "^2.0.2" + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@storybook/builder-webpack4": { - "optional": true - }, - "@storybook/builder-webpack5": { - "optional": true - }, - "@storybook/manager-webpack4": { - "optional": true - }, - "@storybook/manager-webpack5": { - "optional": true - }, - "typescript": { - "optional": true - } + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@storybook/react-docgen-typescript-plugin": { - "version": "1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0", - "resolved": "https://registry.npmjs.org/@storybook/react-docgen-typescript-plugin/-/react-docgen-typescript-plugin-1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0.tgz", - "integrity": "sha512-eVg3BxlOm2P+chijHBTByr90IZVUtgRW56qEOLX7xlww2NBuKrcavBlcmn+HH7GIUktquWkMPtvy6e0W0NgA5w==", + "node_modules/@storybook/manager-webpack4/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dependencies": { - "debug": "^4.1.1", - "endent": "^2.0.1", - "find-cache-dir": "^3.3.1", - "flat-cache": "^3.0.4", - "micromatch": "^4.0.2", - "react-docgen-typescript": "^2.1.1", - "tslib": "^2.0.0" + "is-extendable": "^0.1.0" }, - "peerDependencies": { - "typescript": ">= 3.x", - "webpack": ">= 4" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@storybook/react-docgen-typescript-plugin/node_modules/find-cache-dir": { + "node_modules/@storybook/manager-webpack4/node_modules/find-cache-dir": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", @@ -17452,38 +17352,7 @@ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/@storybook/react/node_modules/@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" - }, - "node_modules/@storybook/react/node_modules/@types/node": { - "version": "16.18.88", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.88.tgz", - "integrity": "sha512-Za3eRO5y0UWShynpsbNq/Dtqjc+g3GM9/PnrebiWiU4pYa5dOQbpCGuZ7ICqbiZ0JvLaZZ4eq7t5cSts2IEgkg==" - }, - "node_modules/@storybook/react/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/@storybook/react/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/@storybook/react/node_modules/fs-extra": { + "node_modules/@storybook/manager-webpack4/node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", @@ -17497,2372 +17366,4798 @@ "node": ">=10" } }, - "node_modules/@storybook/router": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.16.tgz", - "integrity": "sha512-ZgeP8a5YV/iuKbv31V8DjPxlV4AzorRiR8OuSt/KqaiYXNXlOoQDz/qMmiNcrshrfLpmkzoq7fSo4T8lWo2UwQ==", + "node_modules/@storybook/manager-webpack4/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/html-webpack-plugin": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz", + "integrity": "sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==", "dependencies": { - "@storybook/client-logger": "6.5.16", - "core-js": "^3.8.2", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "regenerator-runtime": "^0.13.7" + "@types/html-minifier-terser": "^5.0.0", + "@types/tapable": "^1.0.5", + "@types/webpack": "^4.41.8", + "html-minifier-terser": "^5.0.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.20", + "pretty-error": "^2.1.1", + "tapable": "^1.1.3", + "util.promisify": "1.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "engines": { + "node": ">=6.9" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/@storybook/router/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/@storybook/manager-webpack4/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" } }, - "node_modules/@storybook/semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/@storybook/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg==", + "node_modules/@storybook/manager-webpack4/node_modules/icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", "dependencies": { - "core-js": "^3.6.5", - "find-up": "^4.1.0" - }, - "bin": { - "semver": "bin/semver.js" + "postcss": "^7.0.14" }, "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/@storybook/semver/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/@storybook/manager-webpack4/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/@storybook/manager-webpack4/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@storybook/semver/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/@storybook/manager-webpack4/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/@storybook/semver/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/@storybook/manager-webpack4/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dependencies": { - "p-locate": "^4.1.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/@storybook/semver/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/@storybook/manager-webpack4/node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/@storybook/manager-webpack4/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/@storybook/manager-webpack4/node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dependencies": { - "p-try": "^2.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" }, "engines": { "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/semver/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/@storybook/manager-webpack4/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { - "p-limit": "^2.2.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/@storybook/source-loader": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/source-loader/-/source-loader-6.5.16.tgz", - "integrity": "sha512-fyVl4jrM/5JLrb48aqXPu7sTsmySQaVGFp1zfeqvPPlJRFMastDrePm5XGPN7Qjv1wsKmpuBvuweFKOT1pru3g==", + "node_modules/@storybook/manager-webpack4/node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", "dependencies": { - "@storybook/addons": "6.5.16", - "@storybook/client-logger": "6.5.16", - "@storybook/csf": "0.0.2--canary.4566f4d.1", - "core-js": "^3.8.2", - "estraverse": "^5.2.0", - "global": "^4.4.0", - "loader-utils": "^2.0.4", - "lodash": "^4.17.21", - "prettier": ">=2.2.1 <=2.3.0", - "regenerator-runtime": "^0.13.7" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "engines": { + "node": ">=4.0.0" } }, - "node_modules/@storybook/source-loader/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, + "node_modules/@storybook/manager-webpack4/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/@storybook/manager-webpack4/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://opencollective.com/postcss/" } }, - "node_modules/@storybook/source-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "node_modules/@storybook/manager-webpack4/node_modules/postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "postcss": "^7.0.5" }, "engines": { - "node": ">=8.9.0" + "node": ">= 6" } }, - "node_modules/@storybook/source-loader/node_modules/prettier": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz", - "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==", - "bin": { - "prettier": "bin-prettier.js" + "node_modules/@storybook/manager-webpack4/node_modules/postcss-modules-local-by-default": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", + "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", + "dependencies": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" }, "engines": { - "node": ">=10.13.0" + "node": ">= 6" } }, - "node_modules/@storybook/store": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.16.tgz", - "integrity": "sha512-g+bVL5hmMq/9cM51K04e37OviUPHT0rHHrRm5wj/hrf18Kd9120b3sxdQ5Dc+HZ292yuME0n+cyrQPTYx9Epmw==", + "node_modules/@storybook/manager-webpack4/node_modules/postcss-modules-scope": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", "dependencies": { - "@storybook/addons": "6.5.16", - "@storybook/client-logger": "6.5.16", - "@storybook/core-events": "6.5.16", - "@storybook/csf": "0.0.2--canary.4566f4d.1", - "core-js": "^3.8.2", - "fast-deep-equal": "^3.1.3", - "global": "^4.4.0", + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "dependencies": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/renderkid": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "regenerator-runtime": "^0.13.7", - "slash": "^3.0.0", - "stable": "^0.1.8", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" + "strip-ansi": "^3.0.1" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/@storybook/manager-webpack4/node_modules/serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/terser-webpack-plugin": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz", + "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==", + "dependencies": { + "cacache": "^15.0.5", + "find-cache-dir": "^3.3.1", + "jest-worker": "^26.5.0", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "source-map": "^0.6.1", + "terser": "^5.3.4", + "webpack-sources": "^1.4.3" + }, + "engines": { + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/storybook" + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/@storybook/store/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, + "node_modules/@storybook/manager-webpack4/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack": { + "version": "4.47.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", + "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "dependencies": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack-dev-middleware/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack-virtual-modules": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.2.2.tgz", + "integrity": "sha512-kDUmfm3BZrei0y+1NTHJInejzxfhtU8eDj2M7OKb2IWrPFAeO1SOH2KuQ68MSZu9IGEHcxbkKKR1v18FrUSOmA==", + "dependencies": { + "debug": "^3.0.0" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" } }, - "node_modules/@storybook/telemetry": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-6.5.16.tgz", - "integrity": "sha512-CWr5Uko1l9jJW88yTXsZTj/3GTabPvw0o7pDPOXPp8JRZiJTxv1JFaFCafhK9UzYbgcRuGfCC8kEWPZims7iKA==", + "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/@storybook/manager-webpack4/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "node_modules/@storybook/manager-webpack5": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/manager-webpack5/-/manager-webpack5-6.5.16.tgz", + "integrity": "sha512-OtxXv8JCe0r/0rE5HxaFicsNsXA+fqZxzokxquFFgrYf/1Jg4d7QX6/pG5wINF+5qInJfVkRG6xhPzv1s5bk9Q==", + "dependencies": { + "@babel/core": "^7.12.10", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/preset-react": "^7.12.10", + "@storybook/addons": "6.5.16", + "@storybook/core-client": "6.5.16", + "@storybook/core-common": "6.5.16", + "@storybook/node-logger": "6.5.16", + "@storybook/theming": "6.5.16", + "@storybook/ui": "6.5.16", + "@types/node": "^14.0.10 || ^16.0.0", + "babel-loader": "^8.0.0", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "chalk": "^4.1.0", + "core-js": "^3.8.2", + "css-loader": "^5.0.1", + "express": "^4.17.1", + "find-up": "^5.0.0", + "fs-extra": "^9.0.1", + "html-webpack-plugin": "^5.0.0", + "node-fetch": "^2.6.7", + "process": "^0.11.10", + "read-pkg-up": "^7.0.1", + "regenerator-runtime": "^0.13.7", + "resolve-from": "^5.0.0", + "style-loader": "^2.0.0", + "telejson": "^6.0.8", + "terser-webpack-plugin": "^5.0.3", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2", + "webpack": "^5.9.0", + "webpack-dev-middleware": "^4.1.0", + "webpack-virtual-modules": "^0.4.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@storybook/manager-webpack5/node_modules/@types/node": { + "version": "16.18.88", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.88.tgz", + "integrity": "sha512-Za3eRO5y0UWShynpsbNq/Dtqjc+g3GM9/PnrebiWiU4pYa5dOQbpCGuZ7ICqbiZ0JvLaZZ4eq7t5cSts2IEgkg==" + }, + "node_modules/@storybook/manager-webpack5/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@storybook/manager-webpack5/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@storybook/manager-webpack5/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@storybook/manager-webpack5/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@storybook/manager-webpack5/node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + }, + "node_modules/@storybook/manager-webpack5/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@storybook/manager-webpack5/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/manager-webpack5/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/manager-webpack5/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/@storybook/manager-webpack5/node_modules/style-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", + "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/@storybook/manager-webpack5/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/manager-webpack5/node_modules/webpack-dev-middleware": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-4.3.0.tgz", + "integrity": "sha512-PjwyVY95/bhBh6VUqt6z4THplYcsvQ8YNNBTBM873xLVmw8FLeALn0qurHbs9EmcfhzQis/eoqypSnZeuUz26w==", + "dependencies": { + "colorette": "^1.2.2", + "mem": "^8.1.1", + "memfs": "^3.2.2", + "mime-types": "^2.1.30", + "range-parser": "^1.2.1", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= v10.23.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/@storybook/mdx1-csf": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@storybook/mdx1-csf/-/mdx1-csf-0.0.1.tgz", + "integrity": "sha512-4biZIWWzoWlCarMZmTpqcJNgo/RBesYZwGFbQeXiGYsswuvfWARZnW9RE9aUEMZ4XPn7B1N3EKkWcdcWe/K2tg==", + "dependencies": { + "@babel/generator": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/preset-env": "^7.12.11", + "@babel/types": "^7.12.11", + "@mdx-js/mdx": "^1.6.22", + "@types/lodash": "^4.14.167", + "js-string-escape": "^1.0.1", + "loader-utils": "^2.0.0", + "lodash": "^4.17.21", + "prettier": ">=2.2.1 <=2.3.0", + "ts-dedent": "^2.0.0" + } + }, + "node_modules/@storybook/mdx1-csf/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/@storybook/mdx1-csf/node_modules/prettier": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz", + "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@storybook/node-logger": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.16.tgz", + "integrity": "sha512-YjhBKrclQtjhqFNSO+BZK+RXOx6EQypAELJKoLFaawg331e8VUfvUuRCNB3fcEWp8G9oH13PQQte0OTjLyyOYg==", + "dependencies": { + "@types/npmlog": "^4.1.2", + "chalk": "^4.1.0", + "core-js": "^3.8.2", + "npmlog": "^5.0.1", + "pretty-hrtime": "^1.0.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/node-logger/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@storybook/node-logger/node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/node-logger/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@storybook/node-logger/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@storybook/node-logger/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@storybook/node-logger/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@storybook/node-logger/node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/node-logger/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/node-logger/node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/@storybook/node-logger/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/postinstall": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-6.5.16.tgz", + "integrity": "sha512-08K2q+qN6pqyPW7PHLCZ5G5Xa6Wosd6t0F16PQ4abX2ItlJLabVoJN5mZ0gm/aeLTjD8QYr8IDvacu4eXh0SVA==", + "dependencies": { + "core-js": "^3.8.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/postinstall/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@storybook/preview-web": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.5.16.tgz", + "integrity": "sha512-IJnvfe2sKCfk7apN9Fu9U8qibbarrPX5JB55ZzK1amSHVmSDuYk5MIMc/U3NnSQNnvd1DO5v/zMcGgj563hrtg==", + "dependencies": { + "@storybook/addons": "6.5.16", + "@storybook/channel-postmessage": "6.5.16", + "@storybook/client-logger": "6.5.16", + "@storybook/core-events": "6.5.16", + "@storybook/csf": "0.0.2--canary.4566f4d.1", + "@storybook/store": "6.5.16", + "ansi-to-html": "^0.6.11", + "core-js": "^3.8.2", + "global": "^4.4.0", + "lodash": "^4.17.21", + "qs": "^6.10.0", + "regenerator-runtime": "^0.13.7", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "unfetch": "^4.2.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/preview-web/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@storybook/preview-web/node_modules/unfetch": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", + "integrity": "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==" + }, + "node_modules/@storybook/react": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-6.5.16.tgz", + "integrity": "sha512-cBtNlOzf/MySpNLBK22lJ8wFU22HnfTB2xJyBk7W7Zi71Lm7Uxkhv1Pz8HdiQndJ0SlsAAQOWjQYsSZsGkZIaA==", + "dependencies": { + "@babel/preset-flow": "^7.12.1", + "@babel/preset-react": "^7.12.10", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@storybook/addons": "6.5.16", + "@storybook/client-logger": "6.5.16", + "@storybook/core": "6.5.16", + "@storybook/core-common": "6.5.16", + "@storybook/csf": "0.0.2--canary.4566f4d.1", + "@storybook/docs-tools": "6.5.16", + "@storybook/node-logger": "6.5.16", + "@storybook/react-docgen-typescript-plugin": "1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0", + "@storybook/semver": "^7.3.2", + "@storybook/store": "6.5.16", + "@types/estree": "^0.0.51", + "@types/node": "^14.14.20 || ^16.0.0", + "@types/webpack-env": "^1.16.0", + "acorn": "^7.4.1", + "acorn-jsx": "^5.3.1", + "acorn-walk": "^7.2.0", + "babel-plugin-add-react-displayname": "^0.0.5", + "babel-plugin-react-docgen": "^4.2.1", + "core-js": "^3.8.2", + "escodegen": "^2.0.0", + "fs-extra": "^9.0.1", + "global": "^4.4.0", + "html-tags": "^3.1.0", + "lodash": "^4.17.21", + "prop-types": "^15.7.2", + "react-element-to-jsx-string": "^14.3.4", + "react-refresh": "^0.11.0", + "read-pkg-up": "^7.0.1", + "regenerator-runtime": "^0.13.7", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2", + "webpack": ">=4.43.0 <6.0.0" + }, + "bin": { + "build-storybook": "bin/build.js", + "start-storybook": "bin/index.js", + "storybook-server": "bin/index.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "@babel/core": "^7.11.5", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "require-from-string": "^2.0.2" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@storybook/builder-webpack4": { + "optional": true + }, + "@storybook/builder-webpack5": { + "optional": true + }, + "@storybook/manager-webpack4": { + "optional": true + }, + "@storybook/manager-webpack5": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@storybook/react-docgen-typescript-plugin": { + "version": "1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0", + "resolved": "https://registry.npmjs.org/@storybook/react-docgen-typescript-plugin/-/react-docgen-typescript-plugin-1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0.tgz", + "integrity": "sha512-eVg3BxlOm2P+chijHBTByr90IZVUtgRW56qEOLX7xlww2NBuKrcavBlcmn+HH7GIUktquWkMPtvy6e0W0NgA5w==", + "dependencies": { + "debug": "^4.1.1", + "endent": "^2.0.1", + "find-cache-dir": "^3.3.1", + "flat-cache": "^3.0.4", + "micromatch": "^4.0.2", + "react-docgen-typescript": "^2.1.1", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "typescript": ">= 3.x", + "webpack": ">= 4" + } + }, + "node_modules/@storybook/react-docgen-typescript-plugin/node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/@storybook/react/node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" + }, + "node_modules/@storybook/react/node_modules/@types/node": { + "version": "16.18.88", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.88.tgz", + "integrity": "sha512-Za3eRO5y0UWShynpsbNq/Dtqjc+g3GM9/PnrebiWiU4pYa5dOQbpCGuZ7ICqbiZ0JvLaZZ4eq7t5cSts2IEgkg==" + }, + "node_modules/@storybook/react/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/@storybook/react/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@storybook/react/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/router": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.16.tgz", + "integrity": "sha512-ZgeP8a5YV/iuKbv31V8DjPxlV4AzorRiR8OuSt/KqaiYXNXlOoQDz/qMmiNcrshrfLpmkzoq7fSo4T8lWo2UwQ==", + "dependencies": { + "@storybook/client-logger": "6.5.16", + "core-js": "^3.8.2", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "regenerator-runtime": "^0.13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/router/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@storybook/semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@storybook/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg==", + "dependencies": { + "core-js": "^3.6.5", + "find-up": "^4.1.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/semver/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@storybook/semver/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/semver/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/semver/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@storybook/semver/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/source-loader": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/source-loader/-/source-loader-6.5.16.tgz", + "integrity": "sha512-fyVl4jrM/5JLrb48aqXPu7sTsmySQaVGFp1zfeqvPPlJRFMastDrePm5XGPN7Qjv1wsKmpuBvuweFKOT1pru3g==", + "dependencies": { + "@storybook/addons": "6.5.16", + "@storybook/client-logger": "6.5.16", + "@storybook/csf": "0.0.2--canary.4566f4d.1", + "core-js": "^3.8.2", + "estraverse": "^5.2.0", + "global": "^4.4.0", + "loader-utils": "^2.0.4", + "lodash": "^4.17.21", + "prettier": ">=2.2.1 <=2.3.0", + "regenerator-runtime": "^0.13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/source-loader/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@storybook/source-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/@storybook/source-loader/node_modules/prettier": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz", + "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@storybook/store": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.16.tgz", + "integrity": "sha512-g+bVL5hmMq/9cM51K04e37OviUPHT0rHHrRm5wj/hrf18Kd9120b3sxdQ5Dc+HZ292yuME0n+cyrQPTYx9Epmw==", + "dependencies": { + "@storybook/addons": "6.5.16", + "@storybook/client-logger": "6.5.16", + "@storybook/core-events": "6.5.16", + "@storybook/csf": "0.0.2--canary.4566f4d.1", + "core-js": "^3.8.2", + "fast-deep-equal": "^3.1.3", + "global": "^4.4.0", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "regenerator-runtime": "^0.13.7", + "slash": "^3.0.0", + "stable": "^0.1.8", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/store/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@storybook/telemetry": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-6.5.16.tgz", + "integrity": "sha512-CWr5Uko1l9jJW88yTXsZTj/3GTabPvw0o7pDPOXPp8JRZiJTxv1JFaFCafhK9UzYbgcRuGfCC8kEWPZims7iKA==", + "dependencies": { + "@storybook/client-logger": "6.5.16", + "@storybook/core-common": "6.5.16", + "chalk": "^4.1.0", + "core-js": "^3.8.2", + "detect-package-manager": "^2.0.1", + "fetch-retry": "^5.0.2", + "fs-extra": "^9.0.1", + "global": "^4.4.0", + "isomorphic-unfetch": "^3.1.0", + "nanoid": "^3.3.1", + "read-pkg-up": "^7.0.1", + "regenerator-runtime": "^0.13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/telemetry/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@storybook/telemetry/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@storybook/telemetry/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@storybook/telemetry/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@storybook/telemetry/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@storybook/telemetry/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/telemetry/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/telemetry/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/testing-library": { + "version": "0.0.13", + "resolved": "https://registry.npmjs.org/@storybook/testing-library/-/testing-library-0.0.13.tgz", + "integrity": "sha512-vRMeIGer4EjJkTgI8sQyK9W431ekPWYCWL//OmSDJ64IT3h7FnW7Xg6p+eqM3oII98/O5pcya5049GxnjaPtxw==", + "dependencies": { + "@storybook/client-logger": "^6.4.0", + "@storybook/instrumenter": "^6.4.0", + "@testing-library/dom": "^8.3.0", + "@testing-library/user-event": "^13.2.1", + "ts-dedent": "^2.2.0" + } + }, + "node_modules/@storybook/theming": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.16.tgz", + "integrity": "sha512-hNLctkjaYLRdk1+xYTkC1mg4dYz2wSv6SqbLpcKMbkPHTE0ElhddGPHQqB362md/w9emYXNkt1LSMD8Xk9JzVQ==", + "dependencies": { + "@storybook/client-logger": "6.5.16", + "core-js": "^3.8.2", + "memoizerific": "^1.11.3", + "regenerator-runtime": "^0.13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/theming/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@storybook/ui": { + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.5.16.tgz", + "integrity": "sha512-rHn/n12WM8BaXtZ3IApNZCiS+C4Oc5+Lkl4MoctX8V7QSml0SxZBB5hsJ/AiWkgbRxjQpa/L/Nt7/Qw0FjTH/A==", + "dependencies": { + "@storybook/addons": "6.5.16", + "@storybook/api": "6.5.16", + "@storybook/channels": "6.5.16", + "@storybook/client-logger": "6.5.16", + "@storybook/components": "6.5.16", + "@storybook/core-events": "6.5.16", + "@storybook/router": "6.5.16", + "@storybook/semver": "^7.3.2", + "@storybook/theming": "6.5.16", + "core-js": "^3.8.2", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "regenerator-runtime": "^0.13.7", + "resolve-from": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/ui/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@stylelint/postcss-css-in-js": { + "version": "0.37.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.17.9" + }, + "peerDependencies": { + "postcss": ">=7.0.0", + "postcss-syntax": ">=0.36.2" + } + }, + "node_modules/@stylelint/postcss-markdown": { + "version": "0.36.2", + "dev": true, + "license": "MIT", + "dependencies": { + "remark": "^13.0.0", + "unist-util-find-all-after": "^3.0.2" + }, + "peerDependencies": { + "postcss": ">=7.0.0", + "postcss-syntax": ">=0.36.2" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@tanstack/match-sorter-utils": { + "version": "8.11.8", + "resolved": "https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.11.8.tgz", + "integrity": "sha512-3VPh0SYMGCa5dWQEqNab87UpCMk+ANWHDP4ALs5PeEW9EpfTAbrezzaOk/OiM52IESViefkoAOYuxdoa04p6aA==", + "dependencies": { + "remove-accents": "0.4.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/query-core": { + "version": "4.36.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.36.1.tgz", + "integrity": "sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/react-query": { + "version": "4.36.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.36.1.tgz", + "integrity": "sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==", + "dependencies": { + "@tanstack/query-core": "4.36.1", + "use-sync-external-store": "^1.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-native": "*" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/@tanstack/react-query-devtools": { + "version": "4.36.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-4.36.1.tgz", + "integrity": "sha512-WYku83CKP3OevnYSG8Y/QO9g0rT75v1om5IvcWUwiUZJ4LanYGLVCZ8TdFG5jfsq4Ej/lu2wwDAULEUnRIMBSw==", + "dependencies": { + "@tanstack/match-sorter-utils": "^8.7.0", + "superjson": "^1.10.0", + "use-sync-external-store": "^1.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "@tanstack/react-query": "^4.36.1", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@tanstack/react-table": { + "version": "8.13.2", + "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.13.2.tgz", + "integrity": "sha512-b6mR3mYkjRtJ443QZh9sc7CvGTce81J35F/XMr0OoWbx0KIM7TTTdyNP2XKObvkLpYnLpCrYDwI3CZnLezWvpg==", + "dependencies": { + "@tanstack/table-core": "8.13.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, + "node_modules/@tanstack/react-virtual": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.1.3.tgz", + "integrity": "sha512-YCzcbF/Ws/uZ0q3Z6fagH+JVhx4JLvbSflgldMgLsuvB8aXjZLLb3HvrEVxY480F9wFlBiXlvQxOyXb5ENPrNA==", + "dependencies": { + "@tanstack/virtual-core": "3.1.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@tanstack/table-core": { + "version": "8.13.2", + "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.13.2.tgz", + "integrity": "sha512-/2saD1lWBUV6/uNAwrsg2tw58uvMJ07bO2F1IWMxjFRkJiXKQRuc3Oq2aufeobD3873+4oIM/DRySIw7+QsPPw==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/virtual-core": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.1.3.tgz", + "integrity": "sha512-Y5B4EYyv1j9V8LzeAoOVeTg0LI7Fo5InYKgAjkY1Pu9GjtUwX/EKxNcU7ng3sKr99WEf+bPTcktAeybyMOYo+g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@testing-library/dom": { + "version": "8.19.0", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^5.0.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.4.4", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/@testing-library/dom/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/dom/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "5.16.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@testing-library/jest-dom/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/react": { + "version": "12.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.0.0", + "@types/react-dom": "<18.0.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "react": "<18.0.0", + "react-dom": "<18.0.0" + } + }, + "node_modules/@testing-library/react-hooks": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-7.0.2.tgz", + "integrity": "sha512-dYxpz8u9m4q1TuzfcUApqi8iFfR6R0FaMbr2hjZJy1uC8z+bO/K4v8Gs9eogGKYQop7QsrBTFkv/BCF7MzD2Cg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "@types/react": ">=16.9.0", + "@types/react-dom": ">=16.9.0", + "@types/react-test-renderer": ">=16.9.0", + "react-error-boundary": "^3.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0", + "react-test-renderer": ">=16.9.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-test-renderer": { + "optional": true + } + } + }, + "node_modules/@testing-library/react-hooks/node_modules/react-error-boundary": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", + "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + }, + "peerDependencies": { + "react": ">=16.13.1" + } + }, + "node_modules/@testing-library/react/node_modules/@types/react": { + "version": "17.0.52", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@testing-library/react/node_modules/@types/react-dom": { + "version": "17.0.18", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/react": "^17" + } + }, + "node_modules/@testing-library/user-event": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", + "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.3", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@types/aria-query": { + "version": "4.2.2", + "license": "MIT" + }, + "node_modules/@types/babel__core": { + "version": "7.1.20", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.18.3", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/classnames": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-zeOWb0JGBoVmlQoznvqXbE0tEC/HONsnoUNH19Hc96NFsTAwTXbTqb8FMYkru1F/iqp7a18Ws3nWJvtA1sHD1A==", + "deprecated": "This is a stub types definition. classnames provides its own type definitions, so you do not need this installed.", + "dependencies": { + "classnames": "*" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" + }, + "node_modules/@types/copy-webpack-plugin": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@types/copy-webpack-plugin/-/copy-webpack-plugin-10.1.0.tgz", + "integrity": "sha512-Dk0NUW3X6hVQdkH2n9R7NejjPNCocZBiv8XF8Ac5su2d6EKzCcG/yWDwnWGrEsAWvogoADJyUKULwncx0G9Jkg==", + "deprecated": "This is a stub types definition. copy-webpack-plugin provides its own type definitions, so you do not need this installed.", + "dependencies": { + "copy-webpack-plugin": "*" + } + }, + "node_modules/@types/css-modules": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/css-modules/-/css-modules-1.0.5.tgz", + "integrity": "sha512-oeKafs/df9lwOvtfiXVliZsocFVOexK9PZtLQWuPeuVCFR7jwiqlg60lu80JTe5NFNtH3tnV6Fs/ySR8BUPHAw==" + }, + "node_modules/@types/debug": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.10.tgz", + "integrity": "sha512-tOSCru6s732pofZ+sMv9o4o3Zc+Sa8l3bxd/tweTQudFn06vAzb13ZX46Zi6m6EJ+RUbRTHvgQJ1gBtSgkaUYA==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/dompurify": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.5.tgz", + "integrity": "sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==", + "dependencies": { + "@types/trusted-types": "*" + } + }, + "node_modules/@types/eslint": { + "version": "7.29.0", + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/hast": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/@types/history": { + "version": "4.7.11", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", + "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", + "dependencies": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "node_modules/@types/is-function": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/is-function/-/is-function-1.0.3.tgz", + "integrity": "sha512-/CLhCW79JUeLKznI6mbVieGbl4QU5Hfn+6udw1YHZoofASjbQ5zaP5LzAUZYDpRYEjS4/P+DhEgyJ/PQmGGTWw==" + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "27.5.2", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-matcher-utils": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, + "node_modules/@types/js-cookie": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.6.tgz", + "integrity": "sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==" + }, + "node_modules/@types/js-levenshtein": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/js-levenshtein/-/js-levenshtein-1.1.2.tgz", + "integrity": "sha512-/NCbMABw2uacuyE16Iwka1EzREDD50/W2ggRBad0y1WHBvAkvR9OEINxModVY7D428gXBe0igeVX7bUc9GaslQ==" + }, + "node_modules/@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "license": "MIT" + }, + "node_modules/@types/loadjs": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/loadjs/-/loadjs-4.0.4.tgz", + "integrity": "sha512-IrO82vQKb37H9R+CJYoKTJBlMcIcSCA64ZPIBrLScH2vHMgXLnXtLc76PyKKzdbkj/lRLIhoH+fFAZ0UvIP5Dw==" + }, + "node_modules/@types/lodash": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.0.tgz", + "integrity": "sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==" + }, + "node_modules/@types/lodash.debounce": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/lodash.debounce/-/lodash.debounce-4.0.9.tgz", + "integrity": "sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/lodash.groupby": { + "version": "4.6.9", + "resolved": "https://registry.npmjs.org/@types/lodash.groupby/-/lodash.groupby-4.6.9.tgz", + "integrity": "sha512-z2xtCX2ko7GrqORnnYea4+ksT7jZNAvaOcLd6mP9M7J09RHvJs06W8BGdQQAX8ARef09VQLdeRilSOcfHlDQJQ==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/lodash.memoize": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/lodash.memoize/-/lodash.memoize-4.1.9.tgz", + "integrity": "sha512-glY1nQuoqX4Ft8Uk+KfJudOD7DQbbEDF6k9XpGncaohW3RW4eSWBlx6AA0fZCrh40tZcQNH4jS/Oc59J6Eq+aw==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/lodash.merge": { + "version": "4.6.9", + "resolved": "https://registry.npmjs.org/@types/lodash.merge/-/lodash.merge-4.6.9.tgz", + "integrity": "sha512-23sHDPmzd59kUgWyKGiOMO2Qb9YtqRO/x4IhkgNUiPQ1+5MUVqi6bCZeq9nBJ17msjIMbEIO5u+XW4Kz6aGUhQ==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/lodash.pickby": { + "version": "4.6.9", + "resolved": "https://registry.npmjs.org/@types/lodash.pickby/-/lodash.pickby-4.6.9.tgz", + "integrity": "sha512-SPI248FYnyd3jOxDeJq2vX2UKQnDzqacuqdeOVqwE1MPSk8gN8TA3FcHSMQWLlpBnuHgXvgKInvywbOFbidpJA==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/lodash.set": { + "version": "4.3.9", + "resolved": "https://registry.npmjs.org/@types/lodash.set/-/lodash.set-4.3.9.tgz", + "integrity": "sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/lodash.throttle": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/lodash.throttle/-/lodash.throttle-4.1.9.tgz", + "integrity": "sha512-PCPVfpfueguWZQB7pJQK890F2scYKoDUL3iM522AptHWn7d5NQmeS/LTEHIcLr5PaTzl3dK2Z0xSUHHTHwaL5g==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/md5": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@types/md5/-/md5-2.3.5.tgz", + "integrity": "sha512-/i42wjYNgE6wf0j2bcTX6kuowmdL/6PE4IVitMpm2eYKBUuYCprdcWVK+xEF0gcV6ufMCRhtxmReGfc6hIK7Jw==" + }, + "node_modules/@types/mdast": { + "version": "3.0.10", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "license": "MIT" + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "0.7.33", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.33.tgz", + "integrity": "sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ==" + }, + "node_modules/@types/node": { + "version": "17.0.45", + "license": "MIT" + }, + "node_modules/@types/node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@types/node-fetch/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==" + }, + "node_modules/@types/npmlog": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/npmlog/-/npmlog-4.1.6.tgz", + "integrity": "sha512-0l3z16vnlJGl2Mi/rgJFrdwfLZ4jfNYgE6ZShEpjqhHuGTqdEzNles03NpYHwUMVYZa+Tj46UxKIEpE78lQ3DQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/object.fromentries": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/object.fromentries/-/object.fromentries-2.0.4.tgz", + "integrity": "sha512-DWMXJpuTqjYLDIqEJN1FiTUvRcOjnTceeJCmJcz9CyrzN26kjT+2WE9jIzGPdCHxTXk+DTY7ihPPtpUBwfBbQw==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "license": "MIT" + }, + "node_modules/@types/parse5": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", + "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" + }, + "node_modules/@types/postcss-modules-local-by-default": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.2.tgz", + "integrity": "sha512-CtYCcD+L+trB3reJPny+bKWKMzPfxEyQpKIwit7kErnOexf5/faaGpkFy4I5AwbV4hp1sk7/aTg0tt0B67VkLQ==", + "dependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/@types/postcss-modules-scope": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/postcss-modules-scope/-/postcss-modules-scope-3.0.4.tgz", + "integrity": "sha512-//ygSisVq9kVI0sqx3UPLzWIMCmtSVrzdljtuaAEJtGoGnpjBikZ2sXO5MpH9SnWX9HRfXxHifDAXcQjupWnIQ==", + "dependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/@types/prettier": { + "version": "2.7.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "license": "MIT" + }, + "node_modules/@types/q": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==" + }, + "node_modules/@types/qrcode.react": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/qrcode.react/-/qrcode.react-1.0.5.tgz", + "integrity": "sha512-BghPtnlwvrvq8QkGa1H25YnN+5OIgCKFuQruncGWLGJYOzeSKiix/4+B9BtfKF2wf5ja8yfyWYA3OXju995G8w==", "dependencies": { - "@storybook/client-logger": "6.5.16", - "@storybook/core-common": "6.5.16", - "chalk": "^4.1.0", - "core-js": "^3.8.2", - "detect-package-manager": "^2.0.1", - "fetch-retry": "^5.0.2", - "fs-extra": "^9.0.1", - "global": "^4.4.0", - "isomorphic-unfetch": "^3.1.0", - "nanoid": "^3.3.1", - "read-pkg-up": "^7.0.1", - "regenerator-runtime": "^0.13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "@types/react": "*" } }, - "node_modules/@storybook/telemetry/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@types/qs": { + "version": "6.9.12", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.12.tgz", + "integrity": "sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==" + }, + "node_modules/@types/reach__router": { + "version": "1.3.15", + "resolved": "https://registry.npmjs.org/@types/reach__router/-/reach__router-1.3.15.tgz", + "integrity": "sha512-5WEHKGglRjq/Ae3F8UQxg+GYUIhTUEiyBT9GKPoOLU/vPTn8iZrRbdzxqvarOaGludIejJykHLMdOCdhgWqaxA==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "@types/react": "*" } }, - "node_modules/@storybook/telemetry/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@types/react": { + "version": "18.0.25", + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, - "node_modules/@storybook/telemetry/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@types/react-dom": { + "version": "18.0.9", + "devOptional": true, + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "@types/react": "*" } }, - "node_modules/@storybook/telemetry/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@storybook/telemetry/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/@types/react-loadable": { + "version": "5.5.11", + "resolved": "https://registry.npmjs.org/@types/react-loadable/-/react-loadable-5.5.11.tgz", + "integrity": "sha512-/tq2IJ853MoIFRBmqVOxnGsRRjER5TmEKzsZtaAkiXAWoDeKgR/QNOT1vd9k0p9h/F616X21cpNh3hu4RutzRQ==", + "dependencies": { + "@types/react": "*", + "@types/webpack": "^4" } }, - "node_modules/@storybook/telemetry/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "node_modules/@types/react-loadable/node_modules/@types/webpack": { + "version": "4.41.38", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.38.tgz", + "integrity": "sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw==", "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" + "@types/node": "*", + "@types/tapable": "^1", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "anymatch": "^3.0.0", + "source-map": "^0.6.0" } }, - "node_modules/@storybook/telemetry/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" + "node_modules/@types/react-modal": { + "version": "3.16.3", + "resolved": "https://registry.npmjs.org/@types/react-modal/-/react-modal-3.16.3.tgz", + "integrity": "sha512-xXuGavyEGaFQDgBv4UVm8/ZsG+qxeQ7f77yNrW3n+1J6XAstUy5rYHeIHPh1KzsGc6IkCIdu6lQ2xWzu1jBTLg==", + "dependencies": { + "@types/react": "*" } }, - "node_modules/@storybook/telemetry/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@types/react-router": { + "version": "5.1.19", + "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@types/history": "^4.7.11", + "@types/react": "*" } }, - "node_modules/@storybook/testing-library": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/@storybook/testing-library/-/testing-library-0.0.13.tgz", - "integrity": "sha512-vRMeIGer4EjJkTgI8sQyK9W431ekPWYCWL//OmSDJ64IT3h7FnW7Xg6p+eqM3oII98/O5pcya5049GxnjaPtxw==", + "node_modules/@types/react-router-dom": { + "version": "5.3.3", + "dev": true, + "license": "MIT", "dependencies": { - "@storybook/client-logger": "^6.4.0", - "@storybook/instrumenter": "^6.4.0", - "@testing-library/dom": "^8.3.0", - "@testing-library/user-event": "^13.2.1", - "ts-dedent": "^2.2.0" + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" } }, - "node_modules/@storybook/theming": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.16.tgz", - "integrity": "sha512-hNLctkjaYLRdk1+xYTkC1mg4dYz2wSv6SqbLpcKMbkPHTE0ElhddGPHQqB362md/w9emYXNkt1LSMD8Xk9JzVQ==", + "node_modules/@types/react-syntax-highlighter": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-11.0.4.tgz", + "integrity": "sha512-9GfTo3a0PHwQeTVoqs0g5bS28KkSY48pp5659wA+Dp4MqceDEa8EHBqrllJvvtyusszyJhViUEap0FDvlk/9Zg==", "dependencies": { - "@storybook/client-logger": "6.5.16", - "core-js": "^3.8.2", - "memoizerific": "^1.11.3", - "regenerator-runtime": "^0.13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*" } }, - "node_modules/@storybook/theming/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/@types/react-test-renderer": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-18.0.0.tgz", + "integrity": "sha512-C7/5FBJ3g3sqUahguGi03O79b8afNeSD6T8/GU50oQrJCU0bVCCGQHaGKUbg2Ce8VQEEqTw8/HiS6lXHHdgkdQ==", + "dev": true, + "dependencies": { + "@types/react": "*" } }, - "node_modules/@storybook/ui": { - "version": "6.5.16", - "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.5.16.tgz", - "integrity": "sha512-rHn/n12WM8BaXtZ3IApNZCiS+C4Oc5+Lkl4MoctX8V7QSml0SxZBB5hsJ/AiWkgbRxjQpa/L/Nt7/Qw0FjTH/A==", + "node_modules/@types/react-textarea-autosize": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@types/react-textarea-autosize/-/react-textarea-autosize-4.3.6.tgz", + "integrity": "sha512-cTf8tCem0c8A7CERYbTuF+bRFaqYu7N7HLCa6ZhUhDx8XnUsTpGx5udMWljt87JpciUKuUkImKPEsy6kcKhrcQ==", "dependencies": { - "@storybook/addons": "6.5.16", - "@storybook/api": "6.5.16", - "@storybook/channels": "6.5.16", - "@storybook/client-logger": "6.5.16", - "@storybook/components": "6.5.16", - "@storybook/core-events": "6.5.16", - "@storybook/router": "6.5.16", - "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.5.16", - "core-js": "^3.8.2", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "regenerator-runtime": "^0.13.7", - "resolve-from": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*" } }, - "node_modules/@storybook/ui/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/@types/react-transition-group": { + "version": "4.4.5", + "license": "MIT", + "dependencies": { + "@types/react": "*" } }, - "node_modules/@stylelint/postcss-css-in-js": { - "version": "0.37.3", + "node_modules/@types/react-virtualized": { + "version": "9.21.21", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.17.9" - }, - "peerDependencies": { - "postcss": ">=7.0.0", - "postcss-syntax": ">=0.36.2" + "@types/prop-types": "*", + "@types/react": "^17" } }, - "node_modules/@stylelint/postcss-markdown": { - "version": "0.36.2", + "node_modules/@types/react-virtualized/node_modules/@types/react": { + "version": "17.0.52", "dev": true, "license": "MIT", "dependencies": { - "remark": "^13.0.0", - "unist-util-find-all-after": "^3.0.2" - }, - "peerDependencies": { - "postcss": ">=7.0.0", - "postcss-syntax": ">=0.36.2" + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, - "node_modules/@surma/rollup-plugin-off-main-thread": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", - "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", "dependencies": { - "ejs": "^3.1.6", - "json5": "^2.2.0", - "magic-string": "^0.25.0", - "string.prototype.matchall": "^4.0.6" + "@types/node": "*" } }, - "node_modules/@tanstack/match-sorter-utils": { - "version": "8.11.8", - "resolved": "https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.11.8.tgz", - "integrity": "sha512-3VPh0SYMGCa5dWQEqNab87UpCMk+ANWHDP4ALs5PeEW9EpfTAbrezzaOk/OiM52IESViefkoAOYuxdoa04p6aA==", + "node_modules/@types/scheduler": { + "version": "0.16.2", + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.3.13", + "license": "MIT" + }, + "node_modules/@types/set-cookie-parser": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/@types/set-cookie-parser/-/set-cookie-parser-2.4.5.tgz", + "integrity": "sha512-ZPmztaAQ4rbnW/WTUnT1dwSENQo4bjGqxCSeyK+gZxmd+zJl/QAeF6dpEXcS5UEJX22HwiggFSaY8nE1nRmkbg==", "dependencies": { - "remove-accents": "0.4.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" + "@types/node": "*" } }, - "node_modules/@tanstack/query-core": { - "version": "4.36.1", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.36.1.tgz", - "integrity": "sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" + "node_modules/@types/sha.js": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/sha.js/-/sha.js-2.4.4.tgz", + "integrity": "sha512-Qukd+D6S2Hm0wLVt2Vh+/eWBIoUt+wF8jWjBsG4F8EFQRwKtYvtXCPcNl2OEUQ1R+eTr3xuSaBYUyM3WD1x/Qw==", + "dependencies": { + "@types/node": "*" } }, - "node_modules/@tanstack/react-query": { - "version": "4.36.1", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.36.1.tgz", - "integrity": "sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==", + "node_modules/@types/sockjs-client": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/sockjs-client/-/sockjs-client-1.5.4.tgz", + "integrity": "sha512-zk+uFZeWyvJ5ZFkLIwoGA/DfJ+pYzcZ8eH4H/EILCm2OBZyHH6Hkdna1/UWL/CFruh5wj6ES7g75SvUB0VsH5w==" + }, + "node_modules/@types/source-list-map": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.6.tgz", + "integrity": "sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g==" + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/tapable": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.12.tgz", + "integrity": "sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q==" + }, + "node_modules/@types/testing-library__jest-dom": { + "version": "5.14.5", + "dev": true, + "license": "MIT", "dependencies": { - "@tanstack/query-core": "4.36.1", - "use-sync-external-store": "^1.2.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-native": "*" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } + "@types/jest": "*" } }, - "node_modules/@tanstack/react-query-devtools": { - "version": "4.36.1", - "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-4.36.1.tgz", - "integrity": "sha512-WYku83CKP3OevnYSG8Y/QO9g0rT75v1om5IvcWUwiUZJ4LanYGLVCZ8TdFG5jfsq4Ej/lu2wwDAULEUnRIMBSw==", + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==" + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" + }, + "node_modules/@types/ua-parser-js": { + "version": "0.7.39", + "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.39.tgz", + "integrity": "sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==" + }, + "node_modules/@types/uglify-js": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.5.tgz", + "integrity": "sha512-TU+fZFBTBcXj/GpDpDaBmgWk/gn96kMZ+uocaFUlV2f8a6WdMzzI44QBCmGcCiYR0Y6ZlNRiyUyKKt5nl/lbzQ==", "dependencies": { - "@tanstack/match-sorter-utils": "^8.7.0", - "superjson": "^1.10.0", - "use-sync-external-store": "^1.2.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "@tanstack/react-query": "^4.36.1", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "source-map": "^0.6.1" } }, - "node_modules/@tanstack/react-table": { - "version": "8.13.2", - "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.13.2.tgz", - "integrity": "sha512-b6mR3mYkjRtJ443QZh9sc7CvGTce81J35F/XMr0OoWbx0KIM7TTTdyNP2XKObvkLpYnLpCrYDwI3CZnLezWvpg==", + "node_modules/@types/unist": { + "version": "2.0.6", + "license": "MIT" + }, + "node_modules/@types/uuid": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==" + }, + "node_modules/@types/webpack": { + "version": "5.28.5", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-5.28.5.tgz", + "integrity": "sha512-wR87cgvxj3p6D0Crt1r5avwqffqPXUkNlnQ1mjU93G7gCuFjufZR4I6j8cz5g1F1tTYpfOOFvly+cmIQwL9wvw==", "dependencies": { - "@tanstack/table-core": "8.13.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": ">=16", - "react-dom": ">=16" + "@types/node": "*", + "tapable": "^2.2.0", + "webpack": "^5" } }, - "node_modules/@tanstack/react-virtual": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.1.3.tgz", - "integrity": "sha512-YCzcbF/Ws/uZ0q3Z6fagH+JVhx4JLvbSflgldMgLsuvB8aXjZLLb3HvrEVxY480F9wFlBiXlvQxOyXb5ENPrNA==", + "node_modules/@types/webpack-env": { + "version": "1.18.4", + "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.18.4.tgz", + "integrity": "sha512-I6e+9+HtWADAWeeJWDFQtdk4EVSAbj6Rtz4q8fJ7mSr1M0jzlFcs8/HZ+Xb5SHzVm1dxH7aUiI+A8kA8Gcrm0A==" + }, + "node_modules/@types/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw==", "dependencies": { - "@tanstack/virtual-core": "3.1.3" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" } }, - "node_modules/@tanstack/table-core": { - "version": "8.13.2", - "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.13.2.tgz", - "integrity": "sha512-/2saD1lWBUV6/uNAwrsg2tw58uvMJ07bO2F1IWMxjFRkJiXKQRuc3Oq2aufeobD3873+4oIM/DRySIw7+QsPPw==", + "node_modules/@types/webpack-sources/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" + "node": ">= 8" } }, - "node_modules/@tanstack/virtual-core": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.1.3.tgz", - "integrity": "sha512-Y5B4EYyv1j9V8LzeAoOVeTg0LI7Fo5InYKgAjkY1Pu9GjtUwX/EKxNcU7ng3sKr99WEf+bPTcktAeybyMOYo+g==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" + "node_modules/@types/webpack/node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" } }, - "node_modules/@testing-library/dom": { - "version": "8.19.0", - "license": "MIT", + "node_modules/@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^4.2.0", - "aria-query": "^5.0.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.4.4", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=12" + "@types/node": "*" } }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@types/yargs": { + "version": "15.0.14", "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "@types/yargs-parser": "*" } }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.45.0", "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@typescript-eslint/scope-manager": "5.45.0", + "@typescript-eslint/type-utils": "5.45.0", + "@typescript-eslint/utils": "5.45.0", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@testing-library/dom/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", "dependencies": { - "color-name": "~1.1.4" + "yallist": "^4.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=10" } }, - "node_modules/@testing-library/dom/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "node_modules/@testing-library/dom/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.8", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/@testing-library/dom/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@typescript-eslint/experimental-utils": { + "version": "4.33.0", + "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.33.0", + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/typescript-estree": "4.33.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" }, "engines": { - "node": ">=8" + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" } }, - "node_modules/@testing-library/jest-dom": { - "version": "5.16.5", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": { + "version": "4.33.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@adobe/css-tools": "^4.0.1", - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.5.6", - "lodash": "^4.17.15", - "redent": "^3.0.0" + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0" }, "engines": { - "node": ">=8", - "npm": ">=6", - "yarn": ">=1" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": { + "version": "4.33.0", "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, + "peer": true, "engines": { - "node": ">=8" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "4.33.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", + "peer": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=8" + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@testing-library/jest-dom/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "4.33.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "color-name": "~1.1.4" + "@typescript-eslint/types": "4.33.0", + "eslint-visitor-keys": "^2.0.0" }, "engines": { - "node": ">=7.0.0" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@testing-library/jest-dom/node_modules/color-name": { - "version": "1.1.4", + "node_modules/@typescript-eslint/experimental-utils/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, - "license": "MIT" + "license": "ISC", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/@testing-library/jest-dom/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/@typescript-eslint/experimental-utils/node_modules/semver": { + "version": "7.3.8", "dev": true, - "license": "MIT", + "license": "ISC", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/@testing-library/jest-dom/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", + "node_modules/@typescript-eslint/parser": { + "version": "5.45.0", + "license": "BSD-2-Clause", "dependencies": { - "has-flag": "^4.0.0" + "@typescript-eslint/scope-manager": "5.45.0", + "@typescript-eslint/types": "5.45.0", + "@typescript-eslint/typescript-estree": "5.45.0", + "debug": "^4.3.4" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@testing-library/react": { - "version": "12.1.5", - "dev": true, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.45.0", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^8.0.0", - "@types/react-dom": "<18.0.0" + "@typescript-eslint/types": "5.45.0", + "@typescript-eslint/visitor-keys": "5.45.0" }, "engines": { - "node": ">=12" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependencies": { - "react": "<18.0.0", - "react-dom": "<18.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@testing-library/react-hooks": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-7.0.2.tgz", - "integrity": "sha512-dYxpz8u9m4q1TuzfcUApqi8iFfR6R0FaMbr2hjZJy1uC8z+bO/K4v8Gs9eogGKYQop7QsrBTFkv/BCF7MzD2Cg==", - "dev": true, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.45.0", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.12.5", - "@types/react": ">=16.9.0", - "@types/react-dom": ">=16.9.0", - "@types/react-test-renderer": ">=16.9.0", - "react-error-boundary": "^3.1.0" + "@typescript-eslint/typescript-estree": "5.45.0", + "@typescript-eslint/utils": "5.45.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=12" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0", - "react-test-renderer": ">=16.9.0" + "eslint": "*" }, "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-test-renderer": { + "typescript": { "optional": true } } }, - "node_modules/@testing-library/react-hooks/node_modules/react-error-boundary": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", - "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", - "dev": true, + "node_modules/@typescript-eslint/types": { + "version": "5.45.0", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.45.0", + "license": "BSD-2-Clause", "dependencies": { - "@babel/runtime": "^7.12.5" + "@typescript-eslint/types": "5.45.0", + "@typescript-eslint/visitor-keys": "5.45.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=10", - "npm": ">=6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependencies": { - "react": ">=16.13.1" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@testing-library/react/node_modules/@types/react": { - "version": "17.0.52", - "dev": true, - "license": "MIT", + "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@testing-library/react/node_modules/@types/react-dom": { - "version": "17.0.18", - "dev": true, - "license": "MIT", + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.8", + "license": "ISC", "dependencies": { - "@types/react": "^17" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@testing-library/user-event": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", - "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "node_modules/@typescript-eslint/utils": { + "version": "5.45.0", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.12.5" + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.45.0", + "@typescript-eslint/types": "5.45.0", + "@typescript-eslint/typescript-estree": "5.45.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" }, "engines": { - "node": ">=10", - "npm": ">=6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@testing-library/dom": ">=7.21.4" + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">= 10" + "node": ">=10" } }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.3.8", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=10.13.0" + "node": ">=10" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "devOptional": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "devOptional": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "devOptional": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.3", - "devOptional": true, - "license": "MIT" - }, - "node_modules/@types/aria-query": { - "version": "4.2.2", - "license": "MIT" - }, - "node_modules/@types/babel__core": { - "version": "7.1.20", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.45.0", "license": "MIT", "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "@typescript-eslint/types": "5.45.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "license": "MIT", + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/@use-gesture/core": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.3.0.tgz", + "integrity": "sha512-rh+6MND31zfHcy9VU3dOZCqGY511lvGcfyJenN4cWZe0u1BH6brBpBddLVXhF2r4BMqWbvxfsbL7D287thJU2A==", + "peer": true + }, + "node_modules/@use-gesture/react": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@use-gesture/react/-/react-10.3.0.tgz", + "integrity": "sha512-3zc+Ve99z4usVP6l9knYVbVnZgfqhKah7sIG+PS2w+vpig2v2OLct05vs+ZXMzwxdNCMka8B+8WlOo0z6Pn6DA==", + "peer": true, "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "@use-gesture/core": "10.3.0" + }, + "peerDependencies": { + "react": ">= 16.8.0" } }, - "node_modules/@types/babel__traverse": { - "version": "7.18.3", - "license": "MIT", + "node_modules/@webassemblyjs/ast": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.5.tgz", + "integrity": "sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==", "dependencies": { - "@babel/types": "^7.3.0" + "@webassemblyjs/helper-numbers": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5" } }, - "node_modules/@types/classnames": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.3.1.tgz", - "integrity": "sha512-zeOWb0JGBoVmlQoznvqXbE0tEC/HONsnoUNH19Hc96NFsTAwTXbTqb8FMYkru1F/iqp7a18Ws3nWJvtA1sHD1A==", - "deprecated": "This is a stub types definition. classnames provides its own type definitions, so you do not need this installed.", + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.5.tgz", + "integrity": "sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.5.tgz", + "integrity": "sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.5.tgz", + "integrity": "sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg==" + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dependencies": { - "classnames": "*" + "@webassemblyjs/wast-printer": "1.9.0" } }, - "node_modules/@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" - }, - "node_modules/@types/copy-webpack-plugin": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@types/copy-webpack-plugin/-/copy-webpack-plugin-10.1.0.tgz", - "integrity": "sha512-Dk0NUW3X6hVQdkH2n9R7NejjPNCocZBiv8XF8Ac5su2d6EKzCcG/yWDwnWGrEsAWvogoADJyUKULwncx0G9Jkg==", - "deprecated": "This is a stub types definition. copy-webpack-plugin provides its own type definitions, so you do not need this installed.", + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dependencies": { - "copy-webpack-plugin": "*" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/@types/css-modules": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/css-modules/-/css-modules-1.0.5.tgz", - "integrity": "sha512-oeKafs/df9lwOvtfiXVliZsocFVOexK9PZtLQWuPeuVCFR7jwiqlg60lu80JTe5NFNtH3tnV6Fs/ySR8BUPHAw==" + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" }, - "node_modules/@types/debug": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.10.tgz", - "integrity": "sha512-tOSCru6s732pofZ+sMv9o4o3Zc+Sa8l3bxd/tweTQudFn06vAzb13ZX46Zi6m6EJ+RUbRTHvgQJ1gBtSgkaUYA==", + "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dependencies": { - "@types/ms": "*" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "node_modules/@types/dompurify": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.5.tgz", - "integrity": "sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==", + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dependencies": { - "@types/trusted-types": "*" + "@webassemblyjs/ast": "1.9.0" } }, - "node_modules/@types/eslint": { - "version": "7.29.0", - "license": "MIT", + "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "license": "MIT", + "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.5.tgz", + "integrity": "sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA==", "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" + "@webassemblyjs/floating-point-hex-parser": "1.11.5", + "@webassemblyjs/helper-api-error": "1.11.5", + "@xtuc/long": "4.2.2" } }, - "node_modules/@types/estree": { - "version": "1.0.0", - "license": "MIT" + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.5.tgz", + "integrity": "sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA==" }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.5.tgz", + "integrity": "sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA==", "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5" } }, - "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "license": "MIT", + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.5.tgz", + "integrity": "sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg==", "dependencies": { - "@types/node": "*" + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/@types/hast": { - "version": "2.3.10", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", - "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.5.tgz", + "integrity": "sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ==", "dependencies": { - "@types/unist": "^2" + "@xtuc/long": "4.2.2" } }, - "node_modules/@types/history": { - "version": "4.7.11", - "dev": true, - "license": "MIT" + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.5.tgz", + "integrity": "sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ==" }, - "node_modules/@types/hoist-non-react-statics": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", - "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.5.tgz", + "integrity": "sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ==", "dependencies": { - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0" + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/helper-wasm-section": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5", + "@webassemblyjs/wasm-opt": "1.11.5", + "@webassemblyjs/wasm-parser": "1.11.5", + "@webassemblyjs/wast-printer": "1.11.5" } }, - "node_modules/@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" - }, - "node_modules/@types/is-function": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/is-function/-/is-function-1.0.3.tgz", - "integrity": "sha512-/CLhCW79JUeLKznI6mbVieGbl4QU5Hfn+6udw1YHZoofASjbQ5zaP5LzAUZYDpRYEjS4/P+DhEgyJ/PQmGGTWw==" - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "license": "MIT", + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.5.tgz", + "integrity": "sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA==", "dependencies": { - "@types/istanbul-lib-coverage": "*" + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/ieee754": "1.11.5", + "@webassemblyjs/leb128": "1.11.5", + "@webassemblyjs/utf8": "1.11.5" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "license": "MIT", + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.5.tgz", + "integrity": "sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw==", "dependencies": { - "@types/istanbul-lib-report": "*" + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5", + "@webassemblyjs/wasm-parser": "1.11.5" } }, - "node_modules/@types/jest": { - "version": "27.5.2", - "dev": true, - "license": "MIT", + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.5.tgz", + "integrity": "sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==", "dependencies": { - "jest-matcher-utils": "^27.0.0", - "pretty-format": "^27.0.0" + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-api-error": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/ieee754": "1.11.5", + "@webassemblyjs/leb128": "1.11.5", + "@webassemblyjs/utf8": "1.11.5" } }, - "node_modules/@types/js-cookie": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.6.tgz", - "integrity": "sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==" - }, - "node_modules/@types/js-levenshtein": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/js-levenshtein/-/js-levenshtein-1.1.2.tgz", - "integrity": "sha512-/NCbMABw2uacuyE16Iwka1EzREDD50/W2ggRBad0y1WHBvAkvR9OEINxModVY7D428gXBe0igeVX7bUc9GaslQ==" - }, - "node_modules/@types/jsdom": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "license": "MIT" + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } }, - "node_modules/@types/json5": { - "version": "0.0.29", - "license": "MIT" + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" }, - "node_modules/@types/loadjs": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/loadjs/-/loadjs-4.0.4.tgz", - "integrity": "sha512-IrO82vQKb37H9R+CJYoKTJBlMcIcSCA64ZPIBrLScH2vHMgXLnXtLc76PyKKzdbkj/lRLIhoH+fFAZ0UvIP5Dw==" + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" }, - "node_modules/@types/lodash": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.0.tgz", - "integrity": "sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==" + "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" }, - "node_modules/@types/lodash.debounce": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@types/lodash.debounce/-/lodash.debounce-4.0.9.tgz", - "integrity": "sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ==", + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.5.tgz", + "integrity": "sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA==", "dependencies": { - "@types/lodash": "*" + "@webassemblyjs/ast": "1.11.5", + "@xtuc/long": "4.2.2" } }, - "node_modules/@types/lodash.groupby": { - "version": "4.6.9", - "resolved": "https://registry.npmjs.org/@types/lodash.groupby/-/lodash.groupby-4.6.9.tgz", - "integrity": "sha512-z2xtCX2ko7GrqORnnYea4+ksT7jZNAvaOcLd6mP9M7J09RHvJs06W8BGdQQAX8ARef09VQLdeRilSOcfHlDQJQ==", - "dependencies": { - "@types/lodash": "*" + "node_modules/@webpack-cli/configtest": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", + "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", + "peerDependencies": { + "webpack": "4.x.x || 5.x.x", + "webpack-cli": "4.x.x" } }, - "node_modules/@types/lodash.memoize": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/lodash.memoize/-/lodash.memoize-4.1.9.tgz", - "integrity": "sha512-glY1nQuoqX4Ft8Uk+KfJudOD7DQbbEDF6k9XpGncaohW3RW4eSWBlx6AA0fZCrh40tZcQNH4jS/Oc59J6Eq+aw==", + "node_modules/@webpack-cli/info": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", + "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", "dependencies": { - "@types/lodash": "*" + "envinfo": "^7.7.3" + }, + "peerDependencies": { + "webpack-cli": "4.x.x" } }, - "node_modules/@types/lodash.merge": { - "version": "4.6.9", - "resolved": "https://registry.npmjs.org/@types/lodash.merge/-/lodash.merge-4.6.9.tgz", - "integrity": "sha512-23sHDPmzd59kUgWyKGiOMO2Qb9YtqRO/x4IhkgNUiPQ1+5MUVqi6bCZeq9nBJ17msjIMbEIO5u+XW4Kz6aGUhQ==", - "dependencies": { - "@types/lodash": "*" + "node_modules/@webpack-cli/serve": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", + "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", + "peerDependencies": { + "webpack-cli": "4.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } } }, - "node_modules/@types/lodash.pickby": { - "version": "4.6.9", - "resolved": "https://registry.npmjs.org/@types/lodash.pickby/-/lodash.pickby-4.6.9.tgz", - "integrity": "sha512-SPI248FYnyd3jOxDeJq2vX2UKQnDzqacuqdeOVqwE1MPSk8gN8TA3FcHSMQWLlpBnuHgXvgKInvywbOFbidpJA==", + "node_modules/@welldone-software/why-did-you-render": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@welldone-software/why-did-you-render/-/why-did-you-render-3.6.0.tgz", + "integrity": "sha512-UQEfDlsAm2xgPObUvlBdqp0lph+at1Z+KPYtl33gPGKZx/yPFQEZVgpycRAhNyQjmaFbqhIqub7X/y5v/vAlmw==", "dependencies": { - "@types/lodash": "*" + "lodash": "^4" + }, + "peerDependencies": { + "react": ">=16.12" } }, - "node_modules/@types/lodash.set": { - "version": "4.3.9", - "resolved": "https://registry.npmjs.org/@types/lodash.set/-/lodash.set-4.3.9.tgz", - "integrity": "sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ==", - "dependencies": { - "@types/lodash": "*" + "node_modules/@wojtekmaj/date-utils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@wojtekmaj/date-utils/-/date-utils-1.5.1.tgz", + "integrity": "sha512-+i7+JmNiE/3c9FKxzWFi2IjRJ+KzZl1QPu6QNrsgaa2MuBgXvUy4gA1TVzf/JMdIIloB76xSKikTWuyYAIVLww==", + "funding": { + "url": "https://github.com/wojtekmaj/date-utils?sponsor=1" } }, - "node_modules/@types/lodash.throttle": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/lodash.throttle/-/lodash.throttle-4.1.9.tgz", - "integrity": "sha512-PCPVfpfueguWZQB7pJQK890F2scYKoDUL3iM522AptHWn7d5NQmeS/LTEHIcLr5PaTzl3dK2Z0xSUHHTHwaL5g==", - "dependencies": { - "@types/lodash": "*" + "node_modules/@xmldom/xmldom": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "engines": { + "node": ">=10.0.0" } }, - "node_modules/@types/md5": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@types/md5/-/md5-2.3.5.tgz", - "integrity": "sha512-/i42wjYNgE6wf0j2bcTX6kuowmdL/6PE4IVitMpm2eYKBUuYCprdcWVK+xEF0gcV6ufMCRhtxmReGfc6hIK7Jw==" - }, - "node_modules/@types/mdast": { - "version": "3.0.10", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "license": "MIT" + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, - "node_modules/@types/minimist": { - "version": "1.2.2", + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", "dev": true, - "license": "MIT" - }, - "node_modules/@types/ms": { - "version": "0.7.33", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.33.tgz", - "integrity": "sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ==" - }, - "node_modules/@types/node": { - "version": "17.0.45", - "license": "MIT" + "license": "BSD-2-Clause" }, - "node_modules/@types/node-fetch": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", - "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", + "node_modules/@yarnpkg/parsers": { + "version": "3.0.0-rc.32", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@types/node": "*", - "form-data": "^4.0.0" + "js-yaml": "^3.10.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.15.0" } }, - "node_modules/@types/node-fetch/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "node_modules/@zkochan/js-yaml": { + "version": "0.0.6", + "dev": true, + "license": "MIT", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "argparse": "^2.0.1" }, - "engines": { - "node": ">= 6" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "license": "MIT" + "node_modules/@zkochan/js-yaml/node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" }, - "node_modules/@types/npmlog": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/npmlog/-/npmlog-4.1.6.tgz", - "integrity": "sha512-0l3z16vnlJGl2Mi/rgJFrdwfLZ4jfNYgE6ZShEpjqhHuGTqdEzNles03NpYHwUMVYZa+Tj46UxKIEpE78lQ3DQ==", + "node_modules/@zxcvbn-ts/core": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@zxcvbn-ts/core/-/core-3.0.4.tgz", + "integrity": "sha512-aQeiT0F09FuJaAqNrxynlAwZ2mW/1MdXakKWNmGM1Qp/VaY6CnB/GfnMS2T8gB2231Esp1/maCWd8vTG4OuShw==", "dependencies": { - "@types/node": "*" + "fastest-levenshtein": "1.0.16" } }, - "node_modules/@types/object.fromentries": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/object.fromentries/-/object.fromentries-2.0.4.tgz", - "integrity": "sha512-DWMXJpuTqjYLDIqEJN1FiTUvRcOjnTceeJCmJcz9CyrzN26kjT+2WE9jIzGPdCHxTXk+DTY7ihPPtpUBwfBbQw==" + "node_modules/@zxcvbn-ts/language-common": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@zxcvbn-ts/language-common/-/language-common-3.0.4.tgz", + "integrity": "sha512-viSNNnRYtc7ULXzxrQIVUNwHAPSXRtoIwy/Tq4XQQdIknBzw4vz36lQLF6mvhMlTIlpjoN/Z1GFu/fwiAlUSsw==" }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "license": "MIT" + "node_modules/@zxing/text-encoding": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", + "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", + "optional": true }, - "node_modules/@types/parse5": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", - "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" }, - "node_modules/@types/postcss-modules-local-by-default": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.2.tgz", - "integrity": "sha512-CtYCcD+L+trB3reJPny+bKWKMzPfxEyQpKIwit7kErnOexf5/faaGpkFy4I5AwbV4hp1sk7/aTg0tt0B67VkLQ==", - "dependencies": { - "postcss": "^8.0.0" - } + "node_modules/abbrev": { + "version": "1.1.1", + "license": "ISC" }, - "node_modules/@types/postcss-modules-scope": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/postcss-modules-scope/-/postcss-modules-scope-3.0.4.tgz", - "integrity": "sha512-//ygSisVq9kVI0sqx3UPLzWIMCmtSVrzdljtuaAEJtGoGnpjBikZ2sXO5MpH9SnWX9HRfXxHifDAXcQjupWnIQ==", + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dependencies": { - "postcss": "^8.0.0" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/@types/prettier": { - "version": "2.7.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==" - }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "license": "MIT" - }, - "node_modules/@types/q": { - "version": "1.5.8", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", - "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==" + "node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } }, - "node_modules/@types/qrcode.react": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/qrcode.react/-/qrcode.react-1.0.5.tgz", - "integrity": "sha512-BghPtnlwvrvq8QkGa1H25YnN+5OIgCKFuQruncGWLGJYOzeSKiix/4+B9BtfKF2wf5ja8yfyWYA3OXju995G8w==", + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", "dependencies": { - "@types/react": "*" + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" } }, - "node_modules/@types/qs": { - "version": "6.9.12", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.12.tgz", - "integrity": "sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==" + "node_modules/acorn-globals/node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } }, - "node_modules/@types/reach__router": { - "version": "1.3.15", - "resolved": "https://registry.npmjs.org/@types/reach__router/-/reach__router-1.3.15.tgz", - "integrity": "sha512-5WEHKGglRjq/Ae3F8UQxg+GYUIhTUEiyBT9GKPoOLU/vPTn8iZrRbdzxqvarOaGludIejJykHLMdOCdhgWqaxA==", - "dependencies": { - "@types/react": "*" + "node_modules/acorn-globals/node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "engines": { + "node": ">=0.4.0" } }, - "node_modules/@types/react": { - "version": "18.0.25", + "node_modules/acorn-jsx": { + "version": "5.3.2", "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@types/react-dom": { - "version": "18.0.9", - "devOptional": true, + "node_modules/acorn-walk": { + "version": "7.2.0", "license": "MIT", - "dependencies": { - "@types/react": "*" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/@types/react-loadable": { - "version": "5.5.11", - "resolved": "https://registry.npmjs.org/@types/react-loadable/-/react-loadable-5.5.11.tgz", - "integrity": "sha512-/tq2IJ853MoIFRBmqVOxnGsRRjER5TmEKzsZtaAkiXAWoDeKgR/QNOT1vd9k0p9h/F616X21cpNh3hu4RutzRQ==", - "dependencies": { - "@types/react": "*", - "@types/webpack": "^4" + "node_modules/add-stream": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/@types/react-loadable/node_modules/@types/webpack": { - "version": "4.41.38", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.38.tgz", - "integrity": "sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw==", + "node_modules/adjust-sourcemap-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz", + "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==", "dependencies": { - "@types/node": "*", - "@types/tapable": "^1", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "anymatch": "^3.0.0", - "source-map": "^0.6.0" + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" } }, - "node_modules/@types/react-modal": { - "version": "3.16.3", - "resolved": "https://registry.npmjs.org/@types/react-modal/-/react-modal-3.16.3.tgz", - "integrity": "sha512-xXuGavyEGaFQDgBv4UVm8/ZsG+qxeQ7f77yNrW3n+1J6XAstUy5rYHeIHPh1KzsGc6IkCIdu6lQ2xWzu1jBTLg==", + "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dependencies": { - "@types/react": "*" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" } }, - "node_modules/@types/react-router": { - "version": "5.1.19", - "dev": true, + "node_modules/agent-base": { + "version": "6.0.2", "license": "MIT", "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*" + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "node_modules/@types/react-router-dom": { - "version": "5.3.3", - "dev": true, + "node_modules/agentkeepalive": { + "version": "4.2.1", "license": "MIT", "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "*" + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" } }, - "node_modules/@types/react-syntax-highlighter": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-11.0.4.tgz", - "integrity": "sha512-9GfTo3a0PHwQeTVoqs0g5bS28KkSY48pp5659wA+Dp4MqceDEa8EHBqrllJvvtyusszyJhViUEap0FDvlk/9Zg==", + "node_modules/aggregate-error": { + "version": "3.1.0", + "license": "MIT", "dependencies": { - "@types/react": "*" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/react-test-renderer": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-18.0.0.tgz", - "integrity": "sha512-C7/5FBJ3g3sqUahguGi03O79b8afNeSD6T8/GU50oQrJCU0bVCCGQHaGKUbg2Ce8VQEEqTw8/HiS6lXHHdgkdQ==", - "dev": true, + "node_modules/airbnb-js-shims": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/airbnb-js-shims/-/airbnb-js-shims-2.2.1.tgz", + "integrity": "sha512-wJNXPH66U2xjgo1Zwyjf9EydvJ2Si94+vSdk6EERcBfB2VZkeltpqIats0cqIZMLCXP3zcyaUKGYQeIBT6XjsQ==", "dependencies": { - "@types/react": "*" + "array-includes": "^3.0.3", + "array.prototype.flat": "^1.2.1", + "array.prototype.flatmap": "^1.2.1", + "es5-shim": "^4.5.13", + "es6-shim": "^0.35.5", + "function.prototype.name": "^1.1.0", + "globalthis": "^1.0.0", + "object.entries": "^1.1.0", + "object.fromentries": "^2.0.0 || ^1.0.0", + "object.getownpropertydescriptors": "^2.0.3", + "object.values": "^1.1.0", + "promise.allsettled": "^1.0.0", + "promise.prototype.finally": "^3.1.0", + "string.prototype.matchall": "^4.0.0 || ^3.0.1", + "string.prototype.padend": "^3.0.0", + "string.prototype.padstart": "^3.0.0", + "symbol.prototype.description": "^1.0.0" } }, - "node_modules/@types/react-textarea-autosize": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/@types/react-textarea-autosize/-/react-textarea-autosize-4.3.6.tgz", - "integrity": "sha512-cTf8tCem0c8A7CERYbTuF+bRFaqYu7N7HLCa6ZhUhDx8XnUsTpGx5udMWljt87JpciUKuUkImKPEsy6kcKhrcQ==", + "node_modules/ajv": { + "version": "8.11.2", + "license": "MIT", "dependencies": { - "@types/react": "*" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@types/react-transition-group": { - "version": "4.4.5", - "license": "MIT", - "dependencies": { - "@types/react": "*" + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "peerDependencies": { + "ajv": ">=5.0.0" } }, - "node_modules/@types/react-virtualized": { - "version": "9.21.21", - "dev": true, - "license": "MIT", + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dependencies": { - "@types/prop-types": "*", - "@types/react": "^17" + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/@types/react-virtualized/node_modules/@types/react": { - "version": "17.0.52", - "dev": true, - "license": "MIT", + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" } }, - "node_modules/@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "dependencies": { - "@types/node": "*" + "string-width": "^4.1.0" } }, - "node_modules/@types/scheduler": { - "version": "0.16.2", - "license": "MIT" - }, - "node_modules/@types/semver": { - "version": "7.3.13", - "license": "MIT" - }, - "node_modules/@types/set-cookie-parser": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/@types/set-cookie-parser/-/set-cookie-parser-2.4.5.tgz", - "integrity": "sha512-ZPmztaAQ4rbnW/WTUnT1dwSENQo4bjGqxCSeyK+gZxmd+zJl/QAeF6dpEXcS5UEJX22HwiggFSaY8nE1nRmkbg==", - "dependencies": { - "@types/node": "*" + "node_modules/ansi-colors": { + "version": "4.1.3", + "license": "MIT", + "engines": { + "node": ">=6" } }, - "node_modules/@types/sha.js": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/sha.js/-/sha.js-2.4.4.tgz", - "integrity": "sha512-Qukd+D6S2Hm0wLVt2Vh+/eWBIoUt+wF8jWjBsG4F8EFQRwKtYvtXCPcNl2OEUQ1R+eTr3xuSaBYUyM3WD1x/Qw==", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "license": "MIT", "dependencies": { - "@types/node": "*" + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@types/sockjs-client": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/sockjs-client/-/sockjs-client-1.5.4.tgz", - "integrity": "sha512-zk+uFZeWyvJ5ZFkLIwoGA/DfJ+pYzcZ8eH4H/EILCm2OBZyHH6Hkdna1/UWL/CFruh5wj6ES7g75SvUB0VsH5w==" - }, - "node_modules/@types/source-list-map": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.6.tgz", - "integrity": "sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g==" - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "dev": true, - "license": "MIT" + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } }, - "node_modules/@types/tapable": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.12.tgz", - "integrity": "sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q==" + "node_modules/ansi-regex": { + "version": "5.0.1", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/@types/testing-library__jest-dom": { - "version": "5.14.5", - "dev": true, + "node_modules/ansi-styles": { + "version": "3.2.1", "license": "MIT", "dependencies": { - "@types/jest": "*" + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@types/tough-cookie": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", - "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==" - }, - "node_modules/@types/trusted-types": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" - }, - "node_modules/@types/ua-parser-js": { - "version": "0.7.39", - "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.39.tgz", - "integrity": "sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==" - }, - "node_modules/@types/uglify-js": { - "version": "3.17.5", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.5.tgz", - "integrity": "sha512-TU+fZFBTBcXj/GpDpDaBmgWk/gn96kMZ+uocaFUlV2f8a6WdMzzI44QBCmGcCiYR0Y6ZlNRiyUyKKt5nl/lbzQ==", + "node_modules/ansi-to-html": { + "version": "0.6.15", + "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.15.tgz", + "integrity": "sha512-28ijx2aHJGdzbs+O5SNQF65r6rrKYnkuwTYm8lZlChuoJ9P1vVzIpWO20sQTqTPDXYp6NFwk326vApTtLVFXpQ==", "dependencies": { - "source-map": "^0.6.1" + "entities": "^2.0.0" + }, + "bin": { + "ansi-to-html": "bin/ansi-to-html" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/@types/unist": { - "version": "2.0.6", - "license": "MIT" - }, - "node_modules/@types/uuid": { - "version": "9.0.8", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", - "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==" + "node_modules/ansi-to-html/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, - "node_modules/@types/webpack": { - "version": "5.28.5", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-5.28.5.tgz", - "integrity": "sha512-wR87cgvxj3p6D0Crt1r5avwqffqPXUkNlnQ1mjU93G7gCuFjufZR4I6j8cz5g1F1tTYpfOOFvly+cmIQwL9wvw==", - "dependencies": { - "@types/node": "*", - "tapable": "^2.2.0", - "webpack": "^5" + "node_modules/ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@types/webpack-env": { - "version": "1.18.4", - "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.18.4.tgz", - "integrity": "sha512-I6e+9+HtWADAWeeJWDFQtdk4EVSAbj6Rtz4q8fJ7mSr1M0jzlFcs8/HZ+Xb5SHzVm1dxH7aUiI+A8kA8Gcrm0A==" + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" }, - "node_modules/@types/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw==", + "node_modules/anymatch": { + "version": "3.1.3", + "license": "ISC", "dependencies": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - } - }, - "node_modules/@types/webpack-sources/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, "engines": { "node": ">= 8" } }, - "node_modules/@types/webpack/node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "engines": { - "node": ">=6" - } + "node_modules/app-root-dir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/app-root-dir/-/app-root-dir-1.0.2.tgz", + "integrity": "sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==" }, - "node_modules/@types/ws": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", - "dependencies": { - "@types/node": "*" - } + "node_modules/aproba": { + "version": "2.0.0", + "license": "ISC" }, - "node_modules/@types/yargs": { - "version": "15.0.14", - "license": "MIT", + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "license": "ISC", "dependencies": { - "@types/yargs-parser": "*" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", + "node_modules/arg": { + "version": "4.1.3", + "devOptional": true, "license": "MIT" }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.45.0", + "node_modules/argparse": { + "version": "1.0.10", "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "5.45.0", - "@typescript-eslint/type-utils": "5.45.0", - "@typescript-eslint/utils": "5.45.0", - "debug": "^4.3.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "sprintf-js": "~1.0.2" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", + "node_modules/argv-formatter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz", + "integrity": "sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==", + "peer": true + }, + "node_modules/aria-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", + "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", "dependencies": { - "yallist": "^4.0.0" + "tslib": "^2.0.0" }, "engines": { "node": ">=10" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.8", - "license": "ISC", + "node_modules/aria-query": { + "version": "5.1.3", + "license": "Apache-2.0", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, + "deep-equal": "^2.0.5" + } + }, + "node_modules/arity-n": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", + "integrity": "sha512-fExL2kFDC1Q2DUOx3whE/9KoN66IzkY4b4zUHUBFM1ojEYjZZYDcUW3bek/ufGionX9giIKDC5redH2IlGqcQQ==" + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.33.0", - "dev": true, + "node_modules/arr-flatten": { + "version": "1.1.0", "license": "MIT", - "peer": true, - "dependencies": { - "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" + "node": ">=0.10.0" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": { - "version": "4.33.0", - "dev": true, + "node_modules/arr-union": { + "version": "3.1.0", "license": "MIT", - "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dependencies": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": { - "version": "4.33.0", + "node_modules/array-differ": { + "version": "3.0.0", "dev": true, "license": "MIT", - "peer": true, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, + "node": ">=8" + } + }, + "node_modules/array-equal": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.2.tgz", + "integrity": "sha512-gUHx76KtnhEgB3HOuFYiCm3FIdEs6ocM2asHvNTkfu/Y09qQVrrVVaOKENmS2KkSaGoxgXNqC+ZVtR/n0MOkSA==", "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "4.33.0", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0", - "debug": "^4.3.1", - "globby": "^11.0.3", - "is-glob": "^4.0.1", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, + "node_modules/array-find": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", + "optional": true, "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "4.33.0", - "dev": true, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/array-ify": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/array-includes": { + "version": "3.1.6", "license": "MIT", - "peer": true, "dependencies": { - "@typescript-eslint/types": "4.33.0", - "eslint-visitor-keys": "^2.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, + "node_modules/array-union": { + "version": "2.1.0", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/semver": { - "version": "7.3.8", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/@typescript-eslint/parser": { - "version": "5.45.0", - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/scope-manager": "5.45.0", - "@typescript-eslint/types": "5.45.0", - "@typescript-eslint/typescript-estree": "5.45.0", - "debug": "^4.3.4" - }, + "node_modules/array-unique": { + "version": "0.3.2", + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.45.0", + "node_modules/array.prototype.flat": { + "version": "1.3.1", "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.45.0", - "@typescript-eslint/visitor-keys": "5.45.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.45.0", + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "5.45.0", - "@typescript-eslint/utils": "5.45.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@typescript-eslint/types": { - "version": "5.45.0", - "license": "MIT", + "node_modules/array.prototype.map": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.6.tgz", + "integrity": "sha512-nK1psgF2cXqP3wSyCSq0Hc7zwNq3sfljQqaG27r/7a7ooNUnn5nGq6yYWyks9jMO5EoFQ0ax80hSg6oXSRNXaw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.45.0", - "license": "BSD-2-Clause", + "node_modules/array.prototype.reduce": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", "dependencies": { - "@typescript-eslint/types": "5.45.0", - "@typescript-eslint/visitor-keys": "5.45.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", + "node_modules/array.prototype.tosorted": { + "version": "1.1.1", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.8", - "license": "ISC", + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.45.0", + "node_modules/arrify": { + "version": "1.0.1", + "dev": true, "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.45.0", - "@typescript-eslint/types": "5.45.0", - "@typescript-eslint/typescript-estree": "5.45.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", - "semver": "^7.3.7" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node": ">=0.10.0" } }, - "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", + "node_modules/asap": { + "version": "2.0.6", + "license": "MIT" + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "safer-buffer": "~2.1.0" } }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.3.8", - "license": "ISC", + "node_modules/asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.45.0", - "license": "MIT", + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/assert": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", + "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", "dependencies": { - "@typescript-eslint/types": "5.45.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "object.assign": "^4.1.4", + "util": "^0.10.4" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "license": "Apache-2.0", + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=0.8" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/@use-gesture/core": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.3.0.tgz", - "integrity": "sha512-rh+6MND31zfHcy9VU3dOZCqGY511lvGcfyJenN4cWZe0u1BH6brBpBddLVXhF2r4BMqWbvxfsbL7D287thJU2A==", - "peer": true + "node_modules/assert/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" }, - "node_modules/@use-gesture/react": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@use-gesture/react/-/react-10.3.0.tgz", - "integrity": "sha512-3zc+Ve99z4usVP6l9knYVbVnZgfqhKah7sIG+PS2w+vpig2v2OLct05vs+ZXMzwxdNCMka8B+8WlOo0z6Pn6DA==", - "peer": true, + "node_modules/assert/node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", "dependencies": { - "@use-gesture/core": "10.3.0" - }, - "peerDependencies": { - "react": ">= 16.8.0" + "inherits": "2.0.3" } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.5.tgz", - "integrity": "sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.5", - "@webassemblyjs/helper-wasm-bytecode": "1.11.5" + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "peer": true, + "engines": { + "node": "*" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.5.tgz", - "integrity": "sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ==" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.5.tgz", - "integrity": "sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA==" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.5.tgz", - "integrity": "sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg==" + "node_modules/assign-symbols": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "node_modules/ast-types": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", "dependencies": { - "@webassemblyjs/wast-printer": "1.9.0" + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "node_modules/astral-regex": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" + "node_modules/async": { + "version": "3.2.4", + "license": "MIT" + }, + "node_modules/async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "license": "MIT" }, - "node_modules/@webassemblyjs/helper-code-frame/node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" + "node_modules/at-least-node": { + "version": "1.0.0", + "license": "ISC", + "engines": { + "node": ">= 4.0.0" } }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" + "node_modules/atob": { + "version": "2.1.2", + "license": "(MIT OR Apache-2.0)", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0" + "node_modules/attr-accept": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz", + "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==", + "engines": { + "node": ">=4" } }, - "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "node_modules/autoprefixer": { + "version": "10.4.18", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.18.tgz", + "integrity": "sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001591", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" + "node_modules/available-typed-arrays": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz", + "integrity": "sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.5.tgz", - "integrity": "sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA==", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.5", - "@webassemblyjs/helper-api-error": "1.11.5", - "@xtuc/long": "4.2.2" + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "engines": { + "node": "*" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.5.tgz", - "integrity": "sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA==" + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.5.tgz", - "integrity": "sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA==", + "node_modules/axios": { + "version": "0.21.4", + "dev": true, + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.5", - "@webassemblyjs/helper-buffer": "1.11.5", - "@webassemblyjs/helper-wasm-bytecode": "1.11.5", - "@webassemblyjs/wasm-gen": "1.11.5" + "follow-redirects": "^1.14.0" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.5.tgz", - "integrity": "sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg==", + "node_modules/babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.5.tgz", - "integrity": "sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ==", - "dependencies": { - "@xtuc/long": "4.2.2" + "node_modules/babel-code-frame/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.5.tgz", - "integrity": "sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ==" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.5.tgz", - "integrity": "sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ==", - "dependencies": { - "@webassemblyjs/ast": "1.11.5", - "@webassemblyjs/helper-buffer": "1.11.5", - "@webassemblyjs/helper-wasm-bytecode": "1.11.5", - "@webassemblyjs/helper-wasm-section": "1.11.5", - "@webassemblyjs/wasm-gen": "1.11.5", - "@webassemblyjs/wasm-opt": "1.11.5", - "@webassemblyjs/wasm-parser": "1.11.5", - "@webassemblyjs/wast-printer": "1.11.5" + "node_modules/babel-code-frame/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.5.tgz", - "integrity": "sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA==", + "node_modules/babel-code-frame/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", "dependencies": { - "@webassemblyjs/ast": "1.11.5", - "@webassemblyjs/helper-wasm-bytecode": "1.11.5", - "@webassemblyjs/ieee754": "1.11.5", - "@webassemblyjs/leb128": "1.11.5", - "@webassemblyjs/utf8": "1.11.5" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.5.tgz", - "integrity": "sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw==", - "dependencies": { - "@webassemblyjs/ast": "1.11.5", - "@webassemblyjs/helper-buffer": "1.11.5", - "@webassemblyjs/wasm-gen": "1.11.5", - "@webassemblyjs/wasm-parser": "1.11.5" - } + "node_modules/babel-code-frame/node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==" }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.5.tgz", - "integrity": "sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==", + "node_modules/babel-code-frame/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "dependencies": { - "@webassemblyjs/ast": "1.11.5", - "@webassemblyjs/helper-api-error": "1.11.5", - "@webassemblyjs/helper-wasm-bytecode": "1.11.5", - "@webassemblyjs/ieee754": "1.11.5", - "@webassemblyjs/leb128": "1.11.5", - "@webassemblyjs/utf8": "1.11.5" + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" + "node_modules/babel-code-frame/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "engines": { + "node": ">=0.8.0" } }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "node_modules/babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" } }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" - }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" - }, - "node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.5.tgz", - "integrity": "sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA==", + "node_modules/babel-core/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "@webassemblyjs/ast": "1.11.5", - "@xtuc/long": "4.2.2" + "ms": "2.0.0" } }, - "node_modules/@webpack-cli/configtest": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", - "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", - "peerDependencies": { - "webpack": "4.x.x || 5.x.x", - "webpack-cli": "4.x.x" + "node_modules/babel-core/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", + "bin": { + "json5": "lib/cli.js" } }, - "node_modules/@webpack-cli/info": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", - "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", - "dependencies": { - "envinfo": "^7.7.3" - }, - "peerDependencies": { - "webpack-cli": "4.x.x" + "node_modules/babel-core/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/babel-core/node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webpack-cli/serve": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", - "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", - "peerDependencies": { - "webpack-cli": "4.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } + "node_modules/babel-core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@welldone-software/why-did-you-render": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@welldone-software/why-did-you-render/-/why-did-you-render-3.6.0.tgz", - "integrity": "sha512-UQEfDlsAm2xgPObUvlBdqp0lph+at1Z+KPYtl33gPGKZx/yPFQEZVgpycRAhNyQjmaFbqhIqub7X/y5v/vAlmw==", + "node_modules/babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", "dependencies": { - "lodash": "^4" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + }, + "engines": { + "node": ">=6" }, "peerDependencies": { - "react": ">=16.12" - } - }, - "node_modules/@wojtekmaj/date-utils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@wojtekmaj/date-utils/-/date-utils-1.5.1.tgz", - "integrity": "sha512-+i7+JmNiE/3c9FKxzWFi2IjRJ+KzZl1QPu6QNrsgaa2MuBgXvUy4gA1TVzf/JMdIIloB76xSKikTWuyYAIVLww==", - "funding": { - "url": "https://github.com/wojtekmaj/date-utils?sponsor=1" + "eslint": ">= 4.12.1" } }, - "node_modules/@xmldom/xmldom": { - "version": "0.8.10", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", - "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "node_modules/babel-eslint/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "engines": { - "node": ">=10.0.0" + "node": ">=4" } }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", - "dev": true, - "license": "BSD-2-Clause" + "node_modules/babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dependencies": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } }, - "node_modules/@yarnpkg/parsers": { - "version": "3.0.0-rc.32", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/babel-generator/node_modules/detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==", "dependencies": { - "js-yaml": "^3.10.0", - "tslib": "^2.4.0" + "repeating": "^2.0.0" }, "engines": { - "node": ">=14.15.0" + "node": ">=0.10.0" } }, - "node_modules/@zkochan/js-yaml": { - "version": "0.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, + "node_modules/babel-generator/node_modules/jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==", "bin": { - "js-yaml": "bin/js-yaml.js" + "jsesc": "bin/jsesc" } }, - "node_modules/@zkochan/js-yaml/node_modules/argparse": { - "version": "2.0.1", - "dev": true, - "license": "Python-2.0" + "node_modules/babel-generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/@zxcvbn-ts/core": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@zxcvbn-ts/core/-/core-3.0.4.tgz", - "integrity": "sha512-aQeiT0F09FuJaAqNrxynlAwZ2mW/1MdXakKWNmGM1Qp/VaY6CnB/GfnMS2T8gB2231Esp1/maCWd8vTG4OuShw==", + "node_modules/babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==", "dependencies": { - "fastest-levenshtein": "1.0.16" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, - "node_modules/@zxcvbn-ts/language-common": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@zxcvbn-ts/language-common/-/language-common-3.0.4.tgz", - "integrity": "sha512-viSNNnRYtc7ULXzxrQIVUNwHAPSXRtoIwy/Tq4XQQdIknBzw4vz36lQLF6mvhMlTIlpjoN/Z1GFu/fwiAlUSsw==" - }, - "node_modules/@zxing/text-encoding": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", - "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", - "optional": true - }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" - }, - "node_modules/abbrev": { - "version": "1.1.1", - "dev": true, - "license": "ISC" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/babel-jest": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, "engines": { - "node": ">= 0.6" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "bin": { - "acorn": "bin/acorn" + "node_modules/babel-jest/node_modules/@jest/types": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=0.4.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "node_modules/babel-jest/node_modules/@types/yargs": { + "version": "16.0.4", + "license": "MIT", "dependencies": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" + "@types/yargs-parser": "*" } }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "bin": { - "acorn": "bin/acorn" + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" }, "engines": { - "node": ">=0.4.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/acorn-globals/node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=0.4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/acorn-walk": { - "version": "7.2.0", + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", "license": "MIT", "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/add-stream": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=8" } }, - "node_modules/adjust-sourcemap-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz", - "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==", + "node_modules/babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", "dependencies": { + "find-cache-dir": "^3.3.1", "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" }, "engines": { - "node": ">=8.9" + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" } }, - "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { + "node_modules/babel-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/babel-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/babel-loader/node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/babel-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/babel-loader/node_modules/loader-utils": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", @@ -19875,952 +22170,1076 @@ "node": ">=8.9.0" } }, - "node_modules/agent-base": { - "version": "6.0.2", - "license": "MIT", + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "dependencies": { - "debug": "4" + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/agentkeepalive": { - "version": "4.2.1", - "dev": true, - "license": "MIT", + "node_modules/babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", "dependencies": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-add-react-displayname": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz", + "integrity": "sha512-LY3+Y0XVDYcShHHorshrDbt4KFWL4bSeniCtl4SYZbask+Syngk1uMPCeN9+nSiZo6zX5s0RTq/J9Pnaaf/KHw==" + }, + "node_modules/babel-plugin-apply-mdx-type-prop": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz", + "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==", + "dependencies": { + "@babel/helper-plugin-utils": "7.10.4", + "@mdx-js/util": "1.6.22" }, - "engines": { - "node": ">= 8.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@babel/core": "^7.11.6" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "license": "MIT", + "node_modules/babel-plugin-apply-mdx-type-prop/node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "node_modules/babel-plugin-emotion": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz", + "integrity": "sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA==", "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "@babel/helper-module-imports": "^7.0.0", + "@emotion/hash": "0.8.0", + "@emotion/memoize": "0.7.4", + "@emotion/serialize": "^0.11.16", + "babel-plugin-macros": "^2.0.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^1.0.5", + "find-root": "^1.1.0", + "source-map": "^0.5.7" + } + }, + "node_modules/babel-plugin-emotion/node_modules/babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + } + }, + "node_modules/babel-plugin-emotion/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" }, "engines": { "node": ">=8" } }, - "node_modules/airbnb-js-shims": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/airbnb-js-shims/-/airbnb-js-shims-2.2.1.tgz", - "integrity": "sha512-wJNXPH66U2xjgo1Zwyjf9EydvJ2Si94+vSdk6EERcBfB2VZkeltpqIats0cqIZMLCXP3zcyaUKGYQeIBT6XjsQ==", - "dependencies": { - "array-includes": "^3.0.3", - "array.prototype.flat": "^1.2.1", - "array.prototype.flatmap": "^1.2.1", - "es5-shim": "^4.5.13", - "es6-shim": "^0.35.5", - "function.prototype.name": "^1.1.0", - "globalthis": "^1.0.0", - "object.entries": "^1.1.0", - "object.fromentries": "^2.0.0 || ^1.0.0", - "object.getownpropertydescriptors": "^2.0.3", - "object.values": "^1.1.0", - "promise.allsettled": "^1.0.0", - "promise.prototype.finally": "^3.1.0", - "string.prototype.matchall": "^4.0.0 || ^3.0.1", - "string.prototype.padend": "^3.0.0", - "string.prototype.padstart": "^3.0.0", - "symbol.prototype.description": "^1.0.0" + "node_modules/babel-plugin-emotion/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ajv": { - "version": "8.11.2", - "license": "MIT", + "node_modules/babel-plugin-extract-import-names": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz", + "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "@babel/helper-plugin-utils": "7.10.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "peerDependencies": { - "ajv": ">=5.0.0" - } + "node_modules/babel-plugin-extract-import-names/node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "license": "BSD-3-Clause", "dependencies": { - "ajv": "^8.0.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" }, - "peerDependencies": { - "ajv": "^8.0.0" + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", "dependencies": { - "fast-deep-equal": "^3.1.3" + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" }, - "peerDependencies": { - "ajv": "^8.8.2" + "engines": { + "node": ">=10", + "npm": ">=6" } }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "node_modules/babel-plugin-named-exports-order": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-named-exports-order/-/babel-plugin-named-exports-order-0.0.2.tgz", + "integrity": "sha512-OgOYHOLoRK+/mvXU9imKHlG6GkPLYrUCvFXG/CM93R/aNNO8pOOF4aS+S8CCHMDQoNSeiOYEZb/G6RwL95Jktw==" + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "license": "MIT", "dependencies": { - "string-width": "^4.1.0" + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.6.0", "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", "license": "MIT", "dependencies": { - "type-fest": "^0.21.3" + "@babel/helper-define-polyfill-provider": "^0.3.3" }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-react-docgen": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/babel-plugin-react-docgen/-/babel-plugin-react-docgen-4.2.1.tgz", + "integrity": "sha512-UQ0NmGHj/HAqi5Bew8WvNfCk8wSsmdgNd8ZdMjBCICtyCJCq9LiqgqvjCYe570/Wg7AQArSq1VQ60Dd/CHN7mQ==", + "dependencies": { + "ast-types": "^0.14.2", + "lodash": "^4.17.15", + "react-docgen": "^5.0.0" + } + }, + "node_modules/babel-plugin-react-svg": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/babel-plugin-react-svg/-/babel-plugin-react-svg-3.0.3.tgz", + "integrity": "sha512-Pst1RWjUIiV0Ykv1ODSeceCBsFOP2Y4dusjq7/XkjuzJdvS9CjpkPMUIoO4MLlvp5PiLCeMlsOC7faEUA0gm3Q==", "engines": { "node": ">=8" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" } }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" + "node_modules/babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==" + }, + "node_modules/babel-plugin-transform-barrels": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-barrels/-/babel-plugin-transform-barrels-1.0.12.tgz", + "integrity": "sha512-mSVXnpmOZ0fOY16YUKWj+BD8coERyTqy9SJbkSaOt5wCjMayZnm8+1b/xeP4P4Ocrvs7/WbqlrNv1NK/LjwhKQ==", + "dependencies": { + "fast-glob": "^3.3.2" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", + "node_modules/babel-polyfill": { + "version": "6.26.0", + "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "regenerator-runtime": "^0.10.5" } }, - "node_modules/ansi-styles": { - "version": "3.2.1", + "node_modules/babel-polyfill/node_modules/regenerator-runtime": { + "version": "0.10.5", + "dev": true, + "license": "MIT" + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": ">=4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==", + "dependencies": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" } }, - "node_modules/ansi-to-html": { - "version": "0.6.15", - "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.15.tgz", - "integrity": "sha512-28ijx2aHJGdzbs+O5SNQF65r6rrKYnkuwTYm8lZlChuoJ9P1vVzIpWO20sQTqTPDXYp6NFwk326vApTtLVFXpQ==", + "node_modules/babel-register/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dependencies": { - "entities": "^2.0.0" + "minimist": "^1.2.6" }, "bin": { - "ansi-to-html": "bin/ansi-to-html" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ansi-to-html/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "mkdirp": "bin/cmd.js" } }, - "node_modules/ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", + "node_modules/babel-register/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "engines": { "node": ">=0.10.0" } }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "license": "ISC", + "node_modules/babel-register/node_modules/source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" + "source-map": "^0.5.6" } }, - "node_modules/app-root-dir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/app-root-dir/-/app-root-dir-1.0.2.tgz", - "integrity": "sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==" - }, - "node_modules/aproba": { - "version": "2.0.0", - "license": "ISC" - }, - "node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", + "node_modules/babel-runtime": { + "version": "6.26.0", + "license": "MIT", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, - "node_modules/arg": { - "version": "4.1.3", - "devOptional": true, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", "license": "MIT" }, - "node_modules/argparse": { - "version": "1.0.10", - "license": "MIT", + "node_modules/babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", "dependencies": { - "sprintf-js": "~1.0.2" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, - "node_modules/aria-hidden": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", - "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "node_modules/babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", "dependencies": { - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, - "node_modules/aria-query": { - "version": "5.1.3", - "license": "Apache-2.0", + "node_modules/babel-traverse/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "deep-equal": "^2.0.5" + "ms": "2.0.0" } }, - "node_modules/arity-n": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", - "integrity": "sha512-fExL2kFDC1Q2DUOx3whE/9KoN66IzkY4b4zUHUBFM1ojEYjZZYDcUW3bek/ufGionX9giIKDC5redH2IlGqcQQ==" - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "license": "MIT", + "node_modules/babel-traverse/node_modules/globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", "engines": { "node": ">=0.10.0" } }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "node_modules/babel-traverse/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/arr-union": { - "version": "3.1.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", - "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" - }, + "node_modules/babel-types/node_modules/to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/array-differ": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "bin": { + "babylon": "bin/babylon.js" } }, - "node_modules/array-equal": { + "node_modules/backo2": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.2.tgz", - "integrity": "sha512-gUHx76KtnhEgB3HOuFYiCm3FIdEs6ocM2asHvNTkfu/Y09qQVrrVVaOKENmS2KkSaGoxgXNqC+ZVtR/n0MOkSA==", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==" + }, + "node_modules/bail": { + "version": "1.0.5", + "license": "MIT", "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/array-find": { - "version": "1.0.0", + "node_modules/balanced-match": { + "version": "1.0.2", "license": "MIT" }, - "node_modules/array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", - "optional": true, + "node_modules/base": { + "version": "0.11.2", + "license": "MIT", + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "node_modules/array-ify": { + "node_modules/base/node_modules/define-property": { "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/array-includes": { - "version": "3.1.6", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/array-union": { - "version": "2.1.0", - "license": "MIT", + "node_modules/base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", "engines": { - "node": ">=8" + "node": ">= 0.6.0" } }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "engines": { - "node": ">=0.10.0" - } + "node_modules/base64-js": { + "version": "1.5.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "node_modules/array-unique": { - "version": "0.3.2", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "license": "MIT", + "node_modules/before-after-hook": { + "version": "2.2.3", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/better-opn": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-2.1.1.tgz", + "integrity": "sha512-kIPXZS5qwyKiX/HcRvDYfmBQUa8XP17I0mYZZ0y4UhpYOSvtsLHDYqmomS+Mj20aDvD3knEiQ0ecQy2nhio3yA==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "open": "^7.0.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">8.0.0" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "license": "MIT", + "node_modules/better-opn/node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/array.prototype.map": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.6.tgz", - "integrity": "sha512-nK1psgF2cXqP3wSyCSq0Hc7zwNq3sfljQqaG27r/7a7ooNUnn5nGq6yYWyks9jMO5EoFQ0ax80hSg6oXSRNXaw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - }, + "node_modules/big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "optional": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.6" } }, - "node_modules/array.prototype.reduce": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", - "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/bin-links": { + "version": "3.0.3", + "license": "ISC", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" + "cmd-shim": "^5.0.0", + "mkdirp-infer-owner": "^2.0.0", + "npm-normalize-package-bin": "^2.0.0", + "read-cmd-shim": "^3.0.0", + "rimraf": "^3.0.0", + "write-file-atomic": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "node_modules/bin-links/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "node_modules/bin-links/node_modules/write-file-atomic": { + "version": "4.0.2", + "license": "ISC", "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/arrify": { - "version": "1.0.1", - "dev": true, + "node_modules/binary-extensions": { + "version": "2.2.0", "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/asap": { - "version": "2.0.6", - "license": "MIT" - }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "node_modules/binary-utils": { + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/binary-utils/-/binary-utils-4.25.0.tgz", + "integrity": "sha512-OwsckAI4gLzHOsnWp5Y/nz4LIDrr7+nVKUogMhcSNCMjBJ7W6Vmci3Hf2yIdczwsJkm19TTIpI2Wbe2ni9iTBA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "dependencies": { - "safer-buffer": "~2.1.0" + "gulp-babel": "^6.1.2" } }, - "node_modules/asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "file-uri-to-path": "1.0.0" } }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/assert": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz", - "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==", + "node_modules/bl": { + "version": "4.1.0", + "license": "MIT", "dependencies": { - "object.assign": "^4.1.4", - "util": "^0.10.4" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "engines": { - "node": ">=0.8" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "node_modules/blockly": { + "version": "3.20191014.4", + "resolved": "https://registry.npmjs.org/blockly/-/blockly-3.20191014.4.tgz", + "integrity": "sha512-g4W4oZOa/8iTVMf5o3J5OeO7ZIopntM0kO7oed/2M3kyDbbGsn1BpWJkUTKPVGsrCD8DL9DpseGNCbq0JvXUgA==", "dependencies": { - "inherits": "2.0.3" + "jsdom": "^15.1.1" } }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "peer": true, + "node_modules/blockly/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": "*" + "node": ">=0.4.0" + } + }, + "node_modules/blockly/node_modules/acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dependencies": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" } }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "license": "MIT", + "node_modules/blockly/node_modules/acorn-globals/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": ">=0.10.0" + "node": ">=0.4.0" } }, - "node_modules/ast-types": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", - "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", - "dependencies": { - "tslib": "^2.0.1" - }, + "node_modules/blockly/node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", "engines": { - "node": ">=4" + "node": ">=0.4.0" } }, - "node_modules/astral-regex": { - "version": "2.0.0", - "license": "MIT", + "node_modules/blockly/node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dependencies": { + "cssom": "~0.3.6" + }, "engines": { "node": ">=8" } }, - "node_modules/async": { - "version": "3.2.4", - "license": "MIT" + "node_modules/blockly/node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" }, - "node_modules/async-each": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", - "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ] + "node_modules/blockly/node_modules/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dependencies": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } }, - "node_modules/async-limiter": { + "node_modules/blockly/node_modules/domexception": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "license": "MIT" - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "license": "ISC", - "engines": { - "node": ">= 4.0.0" + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "deprecated": "Use your platform's native DOMException instead", + "dependencies": { + "webidl-conversions": "^4.0.2" } }, - "node_modules/atob": { - "version": "2.1.2", - "license": "(MIT OR Apache-2.0)", + "node_modules/blockly/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, "bin": { - "atob": "bin/atob.js" + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": ">= 4.5.0" + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/attr-accept": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz", - "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==", + "node_modules/blockly/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "engines": { - "node": ">=4" + "node": ">=4.0" } }, - "node_modules/autoprefixer": { - "version": "10.4.18", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.18.tgz", - "integrity": "sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/blockly/node_modules/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001591", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" + "whatwg-encoding": "^1.0.1" + } + }, + "node_modules/blockly/node_modules/jsdom": { + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", + "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", + "dependencies": { + "abab": "^2.0.0", + "acorn": "^7.1.0", + "acorn-globals": "^4.3.2", + "array-equal": "^1.0.0", + "cssom": "^0.4.1", + "cssstyle": "^2.0.0", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.1", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.2.0", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.7", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^7.0.0", + "xml-name-validator": "^3.0.0" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=8" }, "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz", - "integrity": "sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==", - "engines": { - "node": ">= 0.4" + "canvas": "^2.5.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "engines": { - "node": "*" + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" - }, - "node_modules/axios": { - "version": "0.21.4", - "dev": true, - "license": "MIT", + "node_modules/blockly/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dependencies": { - "follow-redirects": "^1.14.0" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", + "node_modules/blockly/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dependencies": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "node_modules/babel-code-frame/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "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" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/babel-code-frame/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "node_modules/blockly/node_modules/parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" + }, + "node_modules/blockly/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/babel-code-frame/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "node_modules/blockly/node_modules/saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "xmlchars": "^2.1.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/babel-code-frame/node_modules/js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==" - }, - "node_modules/babel-code-frame/node_modules/strip-ansi": { + "node_modules/blockly/node_modules/tough-cookie": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", "dependencies": { - "ansi-regex": "^2.0.0" + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/babel-code-frame/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "engines": { - "node": ">=0.8.0" + "node_modules/blockly/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dependencies": { + "punycode": "^2.1.0" } }, - "node_modules/babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "node_modules/blockly/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dependencies": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/babel-core/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/blockly/node_modules/w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", "dependencies": { - "ms": "2.0.0" + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" } }, - "node_modules/babel-core/node_modules/json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", - "bin": { - "json5": "lib/cli.js" + "node_modules/blockly/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/blockly/node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dependencies": { + "iconv-lite": "0.4.24" } }, - "node_modules/babel-core/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "node_modules/blockly/node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" }, - "node_modules/babel-core/node_modules/slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", - "engines": { - "node": ">=0.10.0" + "node_modules/blockly/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" } }, - "node_modules/babel-core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "node_modules/blockly/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", "engines": { - "node": ">=0.10.0" + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", + "node_modules/blockly/node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">=6" - }, - "peerDependencies": { - "eslint": ">= 4.12.1" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/babel-eslint/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "node_modules/babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "ms": "2.0.0" } }, - "node_modules/babel-generator/node_modules/detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==", - "dependencies": { - "repeating": "^2.0.0" - }, + "node_modules/body-parser/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/babel-generator/node_modules/jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==", - "bin": { - "jsesc": "bin/jsesc" - } + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/babel-generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "node_modules/body-parser/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { - "node": ">=0.10.0" + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==", + "node_modules/bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==", "dependencies": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" } }, - "node_modules/babel-jest": { - "version": "27.5.1", - "license": "MIT", + "node_modules/bonjour/node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "node_modules/bonjour/node_modules/deep-equal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", + "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==", "dependencies": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "is-arguments": "^1.1.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.5.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 0.4" }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/babel-jest/node_modules/@jest/types": { - "version": "27.5.1", - "license": "MIT", + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/bottleneck": { + "version": "2.19.5", + "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", + "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==" + }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, + "node_modules/boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/babel-jest/node_modules/@types/yargs": { - "version": "16.0.4", - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-jest/node_modules/ansi-styles": { + "node_modules/boxen/node_modules/ansi-styles": { "version": "4.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { "color-convert": "^2.0.1" }, @@ -20831,9 +23250,21 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/babel-jest/node_modules/chalk": { + "node_modules/boxen/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/chalk": { "version": "4.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -20845,9 +23276,10 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/babel-jest/node_modules/color-convert": { + "node_modules/boxen/node_modules/color-convert": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { "color-name": "~1.1.4" }, @@ -20855,20 +23287,23 @@ "node": ">=7.0.0" } }, - "node_modules/babel-jest/node_modules/color-name": { + "node_modules/boxen/node_modules/color-name": { "version": "1.1.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/babel-jest/node_modules/has-flag": { + "node_modules/boxen/node_modules/has-flag": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { "node": ">=8" } }, - "node_modules/babel-jest/node_modules/supports-color": { + "node_modules/boxen/node_modules/supports-color": { "version": "7.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { "has-flag": "^4.0.0" }, @@ -20876,1149 +23311,979 @@ "node": ">=8" } }, - "node_modules/babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", - "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, + "node_modules/boxen/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "engines": { - "node": ">= 8.9" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/bplist-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", + "integrity": "sha512-2AEM0FXy8ZxVLBuqX0hqt1gDwcnz2zygEkQ6zaD5Wko/sB9paUNwlpawrFtKeHUAQUOzjVy9AO4oeonqIHKA9Q==", + "optional": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "big-integer": "^1.6.7" } }, - "node_modules/babel-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "peerDependencies": { - "ajv": "^6.9.1" + "node_modules/brace-expansion": { + "version": "1.1.11", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/babel-loader/node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "node_modules/braces": { + "version": "3.0.2", + "license": "MIT", "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "fill-range": "^7.0.1" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/babel-loader/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, - "node_modules/babel-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "node_modules/browser-assert": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz", + "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==" + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/babel-loader/node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, - "node_modules/babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dependencies": { - "babel-runtime": "^6.22.0" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/babel-plugin-add-react-displayname": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz", - "integrity": "sha512-LY3+Y0XVDYcShHHorshrDbt4KFWL4bSeniCtl4SYZbask+Syngk1uMPCeN9+nSiZo6zX5s0RTq/J9Pnaaf/KHw==" + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } }, - "node_modules/babel-plugin-apply-mdx-type-prop": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz", - "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==", + "node_modules/browserify-sign": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", + "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", "dependencies": { - "@babel/helper-plugin-utils": "7.10.4", - "@mdx-js/util": "1.6.22" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.5", + "hash-base": "~3.0", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.7", + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1" }, - "peerDependencies": { - "@babel/core": "^7.11.6" + "engines": { + "node": ">= 0.12" } }, - "node_modules/babel-plugin-apply-mdx-type-prop/node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + "node_modules/browserify-sign/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, - "node_modules/babel-plugin-emotion": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz", - "integrity": "sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA==", + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { - "@babel/helper-module-imports": "^7.0.0", - "@emotion/hash": "0.8.0", - "@emotion/memoize": "0.7.4", - "@emotion/serialize": "^0.11.16", - "babel-plugin-macros": "^2.0.0", - "babel-plugin-syntax-jsx": "^6.18.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^1.0.5", - "find-root": "^1.1.0", - "source-map": "^0.5.7" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/babel-plugin-emotion/node_modules/babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" - } + "node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/babel-plugin-emotion/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "node_modules/browserify-sign/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" + "safe-buffer": "~5.1.0" } }, - "node_modules/babel-plugin-emotion/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" - } + "node_modules/browserify-sign/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/babel-plugin-extract-import-names": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz", - "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==", + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dependencies": { - "@babel/helper-plugin-utils": "7.10.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "pako": "~1.0.5" } }, - "node_modules/babel-plugin-extract-import-names/node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "license": "BSD-3-Clause", + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" }, "engines": { - "node": ">=8" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "27.5.1", + "node_modules/bs-logger": { + "version": "0.2.6", + "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" + "fast-json-stable-stringify": "2.x" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 6" } }, - "node_modules/babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "node_modules/bser": { + "version": "2.1.1", + "license": "Apache-2.0", "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">=10", - "npm": ">=6" + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/babel-plugin-named-exports-order": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-named-exports-order/-/babel-plugin-named-exports-order-0.0.2.tgz", - "integrity": "sha512-OgOYHOLoRK+/mvXU9imKHlG6GkPLYrUCvFXG/CM93R/aNNO8pOOF4aS+S8CCHMDQoNSeiOYEZb/G6RwL95Jktw==" + "node_modules/buffer-from": { + "version": "1.1.2", + "license": "MIT" + }, + "node_modules/buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "engines": { + "node": ">=6" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", + "node_modules/builtins": { + "version": "5.0.1", "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "semver": "^7.0.0" } }, - "node_modules/babel-plugin-react-docgen": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/babel-plugin-react-docgen/-/babel-plugin-react-docgen-4.2.1.tgz", - "integrity": "sha512-UQ0NmGHj/HAqi5Bew8WvNfCk8wSsmdgNd8ZdMjBCICtyCJCq9LiqgqvjCYe570/Wg7AQArSq1VQ60Dd/CHN7mQ==", + "node_modules/builtins/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", "dependencies": { - "ast-types": "^0.14.2", - "lodash": "^4.17.15", - "react-docgen": "^5.0.0" - } - }, - "node_modules/babel-plugin-react-svg": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/babel-plugin-react-svg/-/babel-plugin-react-svg-3.0.3.tgz", - "integrity": "sha512-Pst1RWjUIiV0Ykv1ODSeceCBsFOP2Y4dusjq7/XkjuzJdvS9CjpkPMUIoO4MLlvp5PiLCeMlsOC7faEUA0gm3Q==", - "engines": { - "node": ">=8" + "yallist": "^4.0.0" }, - "peerDependencies": { - "@babel/plugin-syntax-jsx": "^7.2.0" + "engines": { + "node": ">=10" } }, - "node_modules/babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==" - }, - "node_modules/babel-plugin-transform-barrels": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-barrels/-/babel-plugin-transform-barrels-1.0.12.tgz", - "integrity": "sha512-mSVXnpmOZ0fOY16YUKWj+BD8coERyTqy9SJbkSaOt5wCjMayZnm8+1b/xeP4P4Ocrvs7/WbqlrNv1NK/LjwhKQ==", + "node_modules/builtins/node_modules/semver": { + "version": "7.3.8", + "license": "ISC", "dependencies": { - "fast-glob": "^3.3.2" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/babel-polyfill": { - "version": "6.26.0", + "node_modules/byte-size": { + "version": "7.0.1", "dev": true, "license": "MIT", - "dependencies": { - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "regenerator-runtime": "^0.10.5" + "engines": { + "node": ">=10" } }, - "node_modules/babel-polyfill/node_modules/regenerator-runtime": { - "version": "0.10.5", - "dev": true, - "license": "MIT" - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" } }, - "node_modules/babel-preset-jest": { - "version": "27.5.1", - "license": "MIT", + "node_modules/c8": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/c8/-/c8-7.14.0.tgz", + "integrity": "sha512-i04rtkkcNcCf7zsQcSv/T9EbUn4RXQ6mropeMcjFOsQXQ0iGLAr/xT6TImQg4+U9hmNpN9XdvPkjUL1IzbgxJw==", "dependencies": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" + "@bcoe/v8-coverage": "^0.2.3", + "@istanbuljs/schema": "^0.1.3", + "find-up": "^5.0.0", + "foreground-child": "^2.0.0", + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-reports": "^3.1.4", + "rimraf": "^3.0.2", + "test-exclude": "^6.0.0", + "v8-to-istanbul": "^9.0.0", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "bin": { + "c8": "bin/c8.js" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "engines": { + "node": ">=10.12.0" } }, - "node_modules/babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==", + "node_modules/c8/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/c8/node_modules/v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", "dependencies": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" } }, - "node_modules/babel-register/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "node_modules/c8/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dependencies": { - "minimist": "^1.2.6" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=10" } }, - "node_modules/babel-register/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "node_modules/c8/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/babel-register/node_modules/source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "node_modules/cacache": { + "version": "16.1.3", + "license": "ISC", "dependencies": { - "source-map": "^0.5.6" + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/babel-runtime": { - "version": "6.26.0", + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "balanced-match": "^1.0.0" } }, - "node_modules/babel-runtime/node_modules/regenerator-runtime": { - "version": "0.11.1", - "license": "MIT" - }, - "node_modules/babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", + "node_modules/cacache/node_modules/glob": { + "version": "8.0.3", + "license": "ISC", "dependencies": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", + "node_modules/cacache/node_modules/minimatch": { + "version": "5.1.1", + "license": "ISC", "dependencies": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" } }, - "node_modules/babel-traverse/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/cache-base": { + "version": "1.0.1", + "license": "MIT", "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/babel-traverse/node_modules/globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/babel-traverse/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "node_modules/babel-types/node_modules/to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "bin": { - "babylon": "bin/babylon.js" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/backo2": { + "node_modules/call-me-maybe": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==" + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==" }, - "node_modules/bail": { - "version": "1.0.5", + "node_modules/callsites": { + "version": "3.1.0", "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "engines": { + "node": ">=6" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "license": "MIT" + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } }, - "node_modules/base": { - "version": "0.11.2", + "node_modules/camelcase": { + "version": "5.3.1", "license": "MIT", - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "dev": true, "license": "MIT", "dependencies": { - "is-descriptor": "^1.0.0" + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/base64-arraybuffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", - "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", - "engines": { - "node": ">= 0.6.0" + "node_modules/can-use-dom": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/can-use-dom/-/can-use-dom-0.1.0.tgz", + "integrity": "sha512-ceOhN1DL7Y4O6M0j9ICgmTYziV89WMd96SvSl0REd8PMgrY0B/WBOPoed5S1KUmJqXgUXh8gzSe6E3ae27upsQ==" + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" } }, - "node_modules/base64-js": { - "version": "1.5.1", + "node_modules/caniuse-lite": { + "version": "1.0.30001593", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001593.tgz", + "integrity": "sha512-UWM1zlo3cZfkpBysd7AS+z+v007q9G1+fLTUU42rQnY6t2axoogPW/xol6T7juU5EUoOhML4WgBIdG+9yYqAjQ==", "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/feross" + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" }, { - "type": "consulting", - "url": "https://feross.org/support" + "type": "github", + "url": "https://github.com/sponsors/ai" } - ], - "license": "MIT" - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/before-after-hook": { - "version": "2.2.3", - "dev": true, - "license": "Apache-2.0" + ] }, - "node_modules/better-opn": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-2.1.1.tgz", - "integrity": "sha512-kIPXZS5qwyKiX/HcRvDYfmBQUa8XP17I0mYZZ0y4UhpYOSvtsLHDYqmomS+Mj20aDvD3knEiQ0ecQy2nhio3yA==", - "dependencies": { - "open": "^7.0.3" - }, - "engines": { - "node": ">8.0.0" - } + "node_modules/canvas-toBlob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/canvas-toBlob/-/canvas-toBlob-1.0.0.tgz", + "integrity": "sha512-oU5bawygt/Nef9F+C49eTFmzXzz6yKdGqn6J1wn/LZQF5ulnnZVm0KIZzik85I6tjCbZFH6aa47j4bU2tkHxRw==" }, - "node_modules/better-opn/node_modules/open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" + "node_modules/capture-exit": { + "version": "2.0.0", + "license": "ISC", + "dependencies": { + "rsvp": "^4.8.4" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/big-integer": { - "version": "1.6.52", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", - "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", - "optional": true, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", "engines": { - "node": ">=0.6" + "node": ">=4" } }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "node_modules/ccount": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", + "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chai": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "peer": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" + }, "engines": { - "node": "*" + "node": ">=4" } }, - "node_modules/bin-links": { - "version": "3.0.3", - "dev": true, - "license": "ISC", + "node_modules/chainsaw": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.0.9.tgz", + "integrity": "sha512-nG8PYH+/4xB+8zkV4G844EtfvZ5tTiLFoX3dZ4nhF4t3OCKIb9UvaFyNmeZO2zOSmRWzBoTD+napN6hiL+EgcA==", "dependencies": { - "cmd-shim": "^5.0.0", - "mkdirp-infer-owner": "^2.0.0", - "npm-normalize-package-bin": "^2.0.0", - "read-cmd-shim": "^3.0.0", - "rimraf": "^3.0.0", - "write-file-atomic": "^4.0.0" + "traverse": ">=0.3.0 <0.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "*" } }, - "node_modules/bin-links/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", - "dev": true, - "license": "ISC", + "node_modules/chainsaw/node_modules/traverse": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "*" } }, - "node_modules/bin-links/node_modules/write-file-atomic": { - "version": "4.0.2", - "dev": true, - "license": "ISC", + "node_modules/chalk": { + "version": "2.4.2", + "license": "MIT", "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=4" } }, - "node_modules/binary-extensions": { - "version": "2.2.0", + "node_modules/char-regex": { + "version": "1.0.2", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/binary-utils": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/binary-utils/-/binary-utils-4.25.0.tgz", - "integrity": "sha512-OwsckAI4gLzHOsnWp5Y/nz4LIDrr7+nVKUogMhcSNCMjBJ7W6Vmci3Hf2yIdczwsJkm19TTIpI2Wbe2ni9iTBA==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "dependencies": { - "gulp-babel": "^6.1.2" + "node_modules/character-entities": { + "version": "1.2.4", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" + "node_modules/character-entities-legacy": { + "version": "1.1.4", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/bl": { - "version": "4.1.0", + "node_modules/character-reference-invalid": { + "version": "1.1.4", "license": "MIT", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/blockly": { - "version": "3.20191014.4", - "resolved": "https://registry.npmjs.org/blockly/-/blockly-3.20191014.4.tgz", - "integrity": "sha512-g4W4oZOa/8iTVMf5o3J5OeO7ZIopntM0kO7oed/2M3kyDbbGsn1BpWJkUTKPVGsrCD8DL9DpseGNCbq0JvXUgA==", - "dependencies": { - "jsdom": "^15.1.1" - } + "node_modules/chardet": { + "version": "0.7.0", + "license": "MIT" }, - "node_modules/blockly/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", "engines": { - "node": ">=0.4.0" + "node": "*" } }, - "node_modules/blockly/node_modules/acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "peer": true, "dependencies": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" - } - }, - "node_modules/blockly/node_modules/acorn-globals/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "bin": { - "acorn": "bin/acorn" + "get-func-name": "^2.0.2" }, "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/blockly/node_modules/acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", - "engines": { - "node": ">=0.4.0" + "node": "*" } }, - "node_modules/blockly/node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "dependencies": { - "cssom": "~0.3.6" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/blockly/node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - }, - "node_modules/blockly/node_modules/data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dependencies": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - } - }, - "node_modules/blockly/node_modules/domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "deprecated": "Use your platform's native DOMException instead", - "dependencies": { - "webidl-conversions": "^4.0.2" + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/blockly/node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, + "node_modules/chownr": { + "version": "2.0.0", + "license": "ISC", "engines": { - "node": ">=4.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" + "node": ">=10" } }, - "node_modules/blockly/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "license": "MIT", "engines": { - "node": ">=4.0" + "node": ">=6.0" } }, - "node_modules/blockly/node_modules/html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "node_modules/ci-info": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dependencies": { - "whatwg-encoding": "^1.0.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/blockly/node_modules/jsdom": { - "version": "15.2.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", - "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", - "dependencies": { - "abab": "^2.0.0", - "acorn": "^7.1.0", - "acorn-globals": "^4.3.2", - "array-equal": "^1.0.0", - "cssom": "^0.4.1", - "cssstyle": "^2.0.0", - "data-urls": "^1.1.0", - "domexception": "^1.0.1", - "escodegen": "^1.11.1", - "html-encoding-sniffer": "^1.0.2", - "nwsapi": "^2.2.0", - "parse5": "5.1.0", - "pn": "^1.1.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.7", - "saxes": "^3.1.9", - "symbol-tree": "^3.2.2", - "tough-cookie": "^3.0.1", - "w3c-hr-time": "^1.0.1", - "w3c-xmlserializer": "^1.1.2", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^7.0.0", - "ws": "^7.0.0", - "xml-name-validator": "^3.0.0" - }, + "node_modules/circular-dependency-plugin": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", + "integrity": "sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ==", "engines": { - "node": ">=8" + "node": ">=6.0.0" }, "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "webpack": ">=4.0.1" } }, - "node_modules/blockly/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "node_modules/cjs-module-lexer": { + "version": "0.6.0", + "dev": true, + "license": "MIT" + }, + "node_modules/class-utils": { + "version": "0.3.6", + "license": "MIT", "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/blockly/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "license": "MIT", "dependencies": { - "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" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/blockly/node_modules/parse5": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" - }, - "node_modules/blockly/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/blockly/node_modules/saxes": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", - "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "license": "MIT", "dependencies": { - "xmlchars": "^2.1.1" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/blockly/node_modules/tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", "dependencies": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/blockly/node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "dependencies": { - "punycode": "^2.1.0" - } + "node_modules/class-utils/node_modules/is-buffer": { + "version": "1.1.6", + "license": "MIT" }, - "node_modules/blockly/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "license": "MIT", "dependencies": { - "prelude-ls": "~1.1.2" + "kind-of": "^3.0.2" }, "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/blockly/node_modules/w3c-xmlserializer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", - "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", - "dependencies": { - "domexception": "^1.0.1", - "webidl-conversions": "^4.0.2", - "xml-name-validator": "^3.0.0" - } - }, - "node_modules/blockly/node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "node_modules/blockly/node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dependencies": { - "iconv-lite": "0.4.24" + "node": ">=0.10.0" } }, - "node_modules/blockly/node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "node_modules/blockly/node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/blockly/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "is-buffer": "^1.1.5" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "engines": { + "node": ">=0.10.0" } }, - "node_modules/blockly/node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=0.10.0" } }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "node_modules/class-utils/node_modules/kind-of": { + "version": "5.1.0", + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/class-variance-authority": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz", + "integrity": "sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==", "dependencies": { - "ms": "2.0.0" + "clsx": "2.0.0" + }, + "funding": { + "url": "https://joebell.co.uk" } }, - "node_modules/body-parser/node_modules/depd": { + "node_modules/class-variance-authority/node_modules/clsx": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", + "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", "engines": { - "node": ">= 0.8" + "node": ">=6" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "node_modules/clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", "dependencies": { - "side-channel": "^1.0.4" + "source-map": "~0.6.0" }, "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 4.0" } }, - "node_modules/bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==", - "dependencies": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" + "node_modules/clean-stack": { + "version": "2.2.0", + "license": "MIT", + "engines": { + "node": ">=6" } }, - "node_modules/bonjour/node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "node_modules/bonjour/node_modules/deep-equal": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", - "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==", + "node_modules/clean-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==", "dependencies": { - "is-arguments": "^1.1.1", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.5.1" + "@types/webpack": "^4.4.31", + "del": "^4.1.1" }, "engines": { - "node": ">= 0.4" + "node": ">=8.9.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "webpack": "*" } }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + "node_modules/clean-webpack-plugin/node_modules/@types/webpack": { + "version": "4.41.38", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.38.tgz", + "integrity": "sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw==", + "dependencies": { + "@types/node": "*", + "@types/tapable": "^1", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "anymatch": "^3.0.0", + "source-map": "^0.6.0" + } }, - "node_modules/bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + "node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "node_modules/cli-cursor": { + "version": "3.1.0", + "license": "MIT", "dependencies": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" + "restore-cursor": "^3.1.0" }, "engines": { - "node": ">=10" + "node": ">=8" + } + }, + "node_modules/cli-highlight": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", + "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", + "peer": true, + "dependencies": { + "chalk": "^4.0.0", + "highlight.js": "^10.7.1", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^6.0.0", + "yargs": "^16.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "highlight": "bin/highlight" + }, + "engines": { + "node": ">=8.0.0", + "npm": ">=5.0.0" } }, - "node_modules/boxen/node_modules/ansi-styles": { + "node_modules/cli-highlight/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -22029,21 +24294,11 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/boxen/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/chalk": { + "node_modules/cli-highlight/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -22055,10 +24310,11 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/boxen/node_modules/color-convert": { + "node_modules/cli-highlight/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -22066,23 +24322,41 @@ "node": ">=7.0.0" } }, - "node_modules/boxen/node_modules/color-name": { + "node_modules/cli-highlight/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true }, - "node_modules/boxen/node_modules/has-flag": { + "node_modules/cli-highlight/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, "engines": { "node": ">=8" } }, - "node_modules/boxen/node_modules/supports-color": { + "node_modules/cli-highlight/node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/cli-highlight/node_modules/parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "peer": true + }, + "node_modules/cli-highlight/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -22090,1441 +24364,1549 @@ "node": ">=8" } }, - "node_modules/boxen/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/cli-highlight/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "peer": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/bplist-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", - "integrity": "sha512-2AEM0FXy8ZxVLBuqX0hqt1gDwcnz2zygEkQ6zaD5Wko/sB9paUNwlpawrFtKeHUAQUOzjVy9AO4oeonqIHKA9Q==", - "optional": true, - "dependencies": { - "big-integer": "^1.6.7" + "node_modules/cli-highlight/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "peer": true, + "engines": { + "node": ">=10" } }, - "node_modules/brace-expansion": { - "version": "1.1.11", + "node_modules/cli-spinners": { + "version": "2.6.1", "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" } }, - "node_modules/braces": { - "version": "3.0.2", + "node_modules/cli-truncate": { + "version": "2.1.0", + "dev": true, "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "node_modules/browser-assert": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz", - "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==" + "node_modules/cli-width": { + "version": "3.0.0", + "license": "ISC", + "engines": { + "node": ">= 10" + } }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "node_modules/clipboard": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz", + "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==", + "optional": true, "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" } }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "node_modules/cliui": { + "version": "7.0.4", + "license": "ISC", "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "node_modules/clone": { + "version": "1.0.4", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "license": "MIT", "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "node_modules/clone-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "license": "MIT", "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/browserify-sign": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", - "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", + "node_modules/clone-regexp": { + "version": "2.2.0", + "dev": true, + "license": "MIT", "dependencies": { - "bn.js": "^5.2.1", - "browserify-rsa": "^4.1.0", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.5", - "hash-base": "~3.0", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.7", - "readable-stream": "^2.3.8", - "safe-buffer": "^5.2.1" + "is-regexp": "^2.0.0" }, "engines": { - "node": ">= 0.12" + "node": ">=6" } }, - "node_modules/browserify-sign/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "node_modules/clone-regexp/node_modules/is-regexp": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "node_modules/browserify-sign/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/clsx": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", + "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cmd-shim": { + "version": "5.0.0", + "license": "ISC", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "mkdirp-infer-owner": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "node_modules/co": { + "version": "4.6.0", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } }, - "node_modules/browserify-sign/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", "dependencies": { - "safe-buffer": "~5.1.0" + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" } }, - "node_modules/browserify-sign/node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "node_modules/collapse-white-space": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", + "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "license": "MIT", "dependencies": { - "pako": "~1.0.5" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/color-convert": { + "version": "1.9.3", + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "license": "MIT" + }, + "node_modules/color-support": { + "version": "1.1.3", + "license": "ISC", "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "color-support": "bin.js" } }, - "node_modules/bs-logger": { - "version": "0.2.6", + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "node_modules/colorette": { + "version": "2.0.19", + "license": "MIT" + }, + "node_modules/columnify": { + "version": "1.6.0", "dev": true, "license": "MIT", "dependencies": { - "fast-json-stable-stringify": "2.x" + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.0" }, "engines": { - "node": ">= 6" + "node": ">=8.0.0" } }, - "node_modules/bser": { - "version": "2.1.1", - "license": "Apache-2.0", + "node_modules/combined-stream": { + "version": "1.0.8", + "license": "MIT", "dependencies": { - "node-int64": "^0.4.0" + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/buffer": { - "version": "5.7.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "node_modules/comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "license": "MIT" + "node_modules/commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" }, - "node_modules/buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "license": "ISC" }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4.0.0" } }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" }, - "node_modules/builtins": { - "version": "5.0.1", - "dev": true, + "node_modules/compare-func": { + "version": "2.0.0", "license": "MIT", "dependencies": { - "semver": "^7.0.0" + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" } }, - "node_modules/builtins/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "node_modules/component-emitter": { + "version": "1.3.0", + "license": "MIT" + }, + "node_modules/compose-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", + "integrity": "sha512-xzhzTJ5eC+gmIzvZq+C3kCJHsp9os6tJkrigDRZclyGtOKINbZtE8n1Tzmeh32jW+BUDPbvZpibwvJHBLGMVwg==", "dependencies": { - "yallist": "^4.0.0" + "arity-n": "^1.0.4" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" }, "engines": { - "node": ">=10" + "node": ">= 0.6" } }, - "node_modules/builtins/node_modules/semver": { - "version": "7.3.8", - "dev": true, - "license": "ISC", + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" }, "engines": { - "node": ">=10" + "node": ">= 0.8.0" } }, - "node_modules/byte-size": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "engines": { - "node": ">= 0.8" + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/compute-scroll-into-view": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz", + "integrity": "sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/concat-stream": { + "version": "2.0.0", + "dev": true, + "engines": [ + "node >= 6.0" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" } }, - "node_modules/c8": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/c8/-/c8-7.14.0.tgz", - "integrity": "sha512-i04rtkkcNcCf7zsQcSv/T9EbUn4RXQ6mropeMcjFOsQXQ0iGLAr/xT6TImQg4+U9hmNpN9XdvPkjUL1IzbgxJw==", + "node_modules/concurrently": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-5.3.0.tgz", + "integrity": "sha512-8MhqOB6PWlBfA2vJ8a0bSFKATOdWlHiQlk11IfmQBPaHVP8oP2gsh2MObE6UR3hqDHqvaIvLTyceNW6obVuFHQ==", "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@istanbuljs/schema": "^0.1.3", - "find-up": "^5.0.0", - "foreground-child": "^2.0.0", - "istanbul-lib-coverage": "^3.2.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-reports": "^3.1.4", - "rimraf": "^3.0.2", - "test-exclude": "^6.0.0", - "v8-to-istanbul": "^9.0.0", - "yargs": "^16.2.0", - "yargs-parser": "^20.2.9" + "chalk": "^2.4.2", + "date-fns": "^2.0.1", + "lodash": "^4.17.15", + "read-pkg": "^4.0.1", + "rxjs": "^6.5.2", + "spawn-command": "^0.0.2-1", + "supports-color": "^6.1.0", + "tree-kill": "^1.2.2", + "yargs": "^13.3.0" }, "bin": { - "c8": "bin/c8.js" + "concurrently": "bin/concurrently.js" }, "engines": { - "node": ">=10.12.0" + "node": ">=6.0.0" } }, - "node_modules/c8/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + "node_modules/concurrently/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "engines": { + "node": ">=6" + } }, - "node_modules/c8/node_modules/v8-to-istanbul": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "node_modules/concurrently/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, - "engines": { - "node": ">=10.12.0" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" } }, - "node_modules/c8/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "node_modules/concurrently/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "node_modules/concurrently/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "locate-path": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/c8/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "node_modules/concurrently/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "node_modules/concurrently/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/cacache": { - "version": "16.1.3", - "dev": true, - "license": "ISC", + "node_modules/concurrently/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=6" } }, - "node_modules/cacache/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "node_modules/concurrently/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dependencies": { - "balanced-match": "^1.0.0" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node_modules/cacache/node_modules/glob": { - "version": "8.0.3", - "dev": true, - "license": "ISC", + "node_modules/concurrently/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=12" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cacache/node_modules/minimatch": { - "version": "5.1.1", - "dev": true, - "license": "ISC", + "node_modules/concurrently/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dependencies": { - "brace-expansion": "^2.0.1" + "p-limit": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/cache-base": { - "version": "1.0.1", - "license": "MIT", + "node_modules/concurrently/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, + "node_modules/concurrently/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/call-me-maybe": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", - "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==" - }, - "node_modules/callsites": { - "version": "3.1.0", - "license": "MIT", + "node_modules/concurrently/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "node_modules/concurrently/node_modules/read-pkg": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz", + "integrity": "sha512-+UBirHHDm5J+3WDmLBZYSklRYg82nMlz+enn+GMZ22nSR2f4bzxmhso6rzQW/3mT2PVzpzDTiYIZahk8UmZ44w==", "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "license": "MIT", + "normalize-package-data": "^2.3.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0" + }, "engines": { "node": ">=6" } }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "dev": true, - "license": "MIT", + "node_modules/concurrently/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" + "tslib": "^1.9.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "npm": ">=2.0.0" } }, - "node_modules/can-use-dom": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/can-use-dom/-/can-use-dom-0.1.0.tgz", - "integrity": "sha512-ceOhN1DL7Y4O6M0j9ICgmTYziV89WMd96SvSl0REd8PMgrY0B/WBOPoed5S1KUmJqXgUXh8gzSe6E3ae27upsQ==" - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" + "node_modules/concurrently/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001593", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001593.tgz", - "integrity": "sha512-UWM1zlo3cZfkpBysd7AS+z+v007q9G1+fLTUU42rQnY6t2axoogPW/xol6T7juU5EUoOhML4WgBIdG+9yYqAjQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/canvas-toBlob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/canvas-toBlob/-/canvas-toBlob-1.0.0.tgz", - "integrity": "sha512-oU5bawygt/Nef9F+C49eTFmzXzz6yKdGqn6J1wn/LZQF5ulnnZVm0KIZzik85I6tjCbZFH6aa47j4bU2tkHxRw==" - }, - "node_modules/capture-exit": { - "version": "2.0.0", - "license": "ISC", + "node_modules/concurrently/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dependencies": { - "rsvp": "^4.8.4" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=6" } }, - "node_modules/case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "node_modules/concurrently/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, "engines": { - "node": ">=4" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "node_modules/ccount": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", - "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node": ">=6" } }, - "node_modules/chai": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", - "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", - "peer": true, + "node_modules/concurrently/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/chalk": { - "version": "2.4.2", - "license": "MIT", + "node_modules/concurrently/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/concurrently/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/char-regex": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } + "node_modules/concurrently/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" }, - "node_modules/character-entities": { - "version": "1.2.4", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/concurrently/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" } }, - "node_modules/character-entities-legacy": { - "version": "1.1.4", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/concurrently/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, - "node_modules/character-reference-invalid": { - "version": "1.1.4", + "node_modules/config-chain": { + "version": "1.1.13", "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" } }, - "node_modules/chardet": { - "version": "0.7.0", + "node_modules/confusing-browser-globals": { + "version": "1.0.11", "license": "MIT" }, - "node_modules/charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "node_modules/connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", "engines": { - "node": "*" + "node": ">=0.8" } }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "peer": true, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "license": "ISC" + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dependencies": { - "get-func-name": "^2.0.2" + "safe-buffer": "5.2.1" }, "engines": { - "node": "*" + "node": ">= 0.6" } }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/conventional-changelog-angular": { + "version": "5.0.13", + "dev": true, + "license": "ISC", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "compare-func": "^2.0.0", + "q": "^1.5.1" }, "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">=10" } }, - "node_modules/chownr": { - "version": "2.0.0", + "node_modules/conventional-changelog-conventionalcommits": { + "version": "5.0.0", + "dev": true, "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + }, "engines": { "node": ">=10" } }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", + "node_modules/conventional-changelog-core": { + "version": "4.2.4", + "dev": true, "license": "MIT", + "dependencies": { + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^4.0.0" + }, "engines": { - "node": ">=6.0" + "node": ">=10" } }, - "node_modules/ci-info": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "node_modules/conventional-changelog-core/node_modules/find-up": { + "version": "2.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/circular-dependency-plugin": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", - "integrity": "sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ==", - "engines": { - "node": ">=6.0.0" + "locate-path": "^2.0.0" }, - "peerDependencies": { - "webpack": ">=4.0.1" + "engines": { + "node": ">=4" } }, - "node_modules/cjs-module-lexer": { - "version": "0.6.0", + "node_modules/conventional-changelog-core/node_modules/locate-path": { + "version": "2.0.0", "dev": true, - "license": "MIT" - }, - "node_modules/class-utils": { - "version": "0.3.6", "license": "MIT", "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", + "node_modules/conventional-changelog-core/node_modules/p-limit": { + "version": "1.3.0", + "dev": true, "license": "MIT", "dependencies": { - "is-descriptor": "^0.1.0" + "p-try": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", + "node_modules/conventional-changelog-core/node_modules/p-locate": { + "version": "2.0.0", + "dev": true, "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "p-limit": "^1.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", + "node_modules/conventional-changelog-core/node_modules/p-try": { + "version": "1.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/class-utils/node_modules/is-buffer": { - "version": "1.1.6", - "license": "MIT" + "node_modules/conventional-changelog-core/node_modules/path-exists": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", + "node_modules/conventional-changelog-core/node_modules/read-pkg-up": { + "version": "3.0.0", + "dev": true, "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", + "node_modules/conventional-changelog-preset-loader": { + "version": "2.3.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer": { + "version": "5.0.1", + "dev": true, "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", + "node_modules/conventional-commits-filter": { + "version": "2.0.7", + "dev": true, "license": "MIT", "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", + "node_modules/conventional-commits-parser": { + "version": "3.2.4", + "dev": true, "license": "MIT", + "dependencies": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/class-variance-authority": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz", - "integrity": "sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==", + "node_modules/conventional-recommended-bump": { + "version": "6.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "clsx": "2.0.0" + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", + "q": "^1.5.1" }, - "funding": { - "url": "https://joebell.co.uk" + "bin": { + "conventional-recommended-bump": "cli.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/class-variance-authority/node_modules/clsx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", - "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "node_modules/convert-hrtime": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", + "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", + "peer": true, "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/classnames": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", - "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + "node_modules/convert-source-map": { + "version": "1.9.0", + "license": "MIT" }, - "node_modules/clean-css": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", - "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", - "dependencies": { - "source-map": "~0.6.0" - }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "engines": { - "node": ">= 4.0" + "node": ">= 0.6" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "license": "MIT", - "engines": { - "node": ">=6" - } + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, - "node_modules/clean-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==", + "node_modules/copy-anything": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", "dependencies": { - "@types/webpack": "^4.4.31", - "del": "^4.1.1" + "is-what": "^4.1.8" }, "engines": { - "node": ">=8.9.0" + "node": ">=12.13" }, - "peerDependencies": { - "webpack": "*" + "funding": { + "url": "https://github.com/sponsors/mesqueeb" } }, - "node_modules/clean-webpack-plugin/node_modules/@types/webpack": { - "version": "4.41.38", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.38.tgz", - "integrity": "sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw==", + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dependencies": { - "@types/node": "*", - "@types/tapable": "^1", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "anymatch": "^3.0.0", - "source-map": "^0.6.0" + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" } }, - "node_modules/cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", - "engines": { - "node": ">=6" + "node_modules/copy-concurrently/node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "node_modules/copy-concurrently/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "license": "MIT", + "node_modules/copy-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dependencies": { - "restore-cursor": "^3.1.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">=8" + "bin": { + "rimraf": "bin.js" } }, - "node_modules/cli-spinners": { - "version": "2.6.1", + "node_modules/copy-descriptor": { + "version": "0.1.1", "license": "MIT", "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" + "toggle-selection": "^1.0.6" } }, - "node_modules/cli-truncate": { - "version": "2.1.0", - "dev": true, - "license": "MIT", + "node_modules/copy-webpack-plugin": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz", + "integrity": "sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA==", "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" + "fast-glob": "^3.2.7", + "glob-parent": "^6.0.1", + "globby": "^11.0.3", + "normalize-path": "^3.0.0", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0" }, "engines": { - "node": ">=8" + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" } }, - "node_modules/cli-width": { - "version": "3.0.0", - "license": "ISC", + "node_modules/copy-webpack-plugin-v6": { + "name": "copy-webpack-plugin", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.4.1.tgz", + "integrity": "sha512-MXyPCjdPVx5iiWyl40Va3JGh27bKzOTNY3NjUTrosD2q7dR/cLD0013uqJ3BpFbUjyONINjb6qI7nDIJujrMbA==", + "dependencies": { + "cacache": "^15.0.5", + "fast-glob": "^3.2.4", + "find-cache-dir": "^3.3.1", + "glob-parent": "^5.1.1", + "globby": "^11.0.1", + "loader-utils": "^2.0.0", + "normalize-path": "^3.0.0", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "webpack-sources": "^1.4.3" + }, "engines": { - "node": ">= 10" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" } }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" - }, - "node_modules/clipboard": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz", - "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==", - "optional": true, + "node_modules/copy-webpack-plugin-v6/node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", "dependencies": { - "good-listener": "^1.2.2", - "select": "^1.1.2", - "tiny-emitter": "^2.0.0" + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" } }, - "node_modules/cliui": { - "version": "7.0.4", - "license": "ISC", + "node_modules/copy-webpack-plugin-v6/node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "deprecated": "This functionality has been moved to @npmcli/fs", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" } }, - "node_modules/clone": { - "version": "1.0.4", - "license": "MIT", + "node_modules/copy-webpack-plugin-v6/node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, "engines": { - "node": ">=0.8" + "node": ">= 10" } }, - "node_modules/clone-deep": { - "version": "4.0.1", - "license": "MIT", + "node_modules/copy-webpack-plugin-v6/node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/clone-deep/node_modules/is-plain-object": { + "node_modules/copy-webpack-plugin-v6/node_modules/loader-utils": { "version": "2.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dependencies": { - "isobject": "^3.0.1" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.9.0" } }, - "node_modules/clone-regexp": { - "version": "2.2.0", - "dev": true, - "license": "MIT", + "node_modules/copy-webpack-plugin-v6/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { - "is-regexp": "^2.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/clone-regexp/node_modules/is-regexp": { - "version": "2.1.0", - "dev": true, - "license": "MIT", + "node_modules/copy-webpack-plugin-v6/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", - "engines": { - "node": ">=6" + "node_modules/copy-webpack-plugin-v6/node_modules/serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dependencies": { + "randombytes": "^2.1.0" } }, - "node_modules/cmd-shim": { - "version": "5.0.0", - "dev": true, - "license": "ISC", + "node_modules/copy-webpack-plugin-v6/node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", "dependencies": { - "mkdirp-infer-owner": "^2.0.0" + "minipass": "^3.1.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 8" } }, - "node_modules/co": { - "version": "4.6.0", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "node_modules/copy-webpack-plugin-v6/node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dependencies": { + "unique-slug": "^2.0.0" } }, - "node_modules/coa": { + "node_modules/copy-webpack-plugin-v6/node_modules/unique-slug": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "engines": { - "node": ">= 4.0" + "imurmurhash": "^0.1.4" } }, - "node_modules/collapse-white-space": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", - "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/copy-webpack-plugin-v6/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" } }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "license": "MIT", + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "is-glob": "^4.0.3" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" } }, - "node_modules/color-convert": { - "version": "1.9.3", + "node_modules/core-js": { + "version": "2.6.12", + "hasInstallScript": true, + "license": "MIT" + }, + "node_modules/core-js-compat": { + "version": "3.26.1", "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "browserslist": "^4.21.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/color-name": { - "version": "1.1.3", - "license": "MIT" - }, - "node_modules/color-support": { - "version": "1.1.3", - "license": "ISC", - "bin": { - "color-support": "bin.js" + "node_modules/core-js-pure": { + "version": "3.26.1", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" - }, - "node_modules/colorette": { - "version": "2.0.19", + "node_modules/core-util-is": { + "version": "1.0.3", "license": "MIT" }, - "node_modules/columnify": { - "version": "1.6.0", - "dev": true, + "node_modules/cosmiconfig": { + "version": "7.1.0", "license": "MIT", "dependencies": { - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.0" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=10" } }, - "node_modules/combined-stream": { - "version": "1.0.8", + "node_modules/cosmiconfig-typescript-loader": { + "version": "4.2.0", + "dev": true, "license": "MIT", + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=7", + "ts-node": ">=10", + "typescript": ">=3" + } + }, + "node_modules/cp-file": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-7.0.0.tgz", + "integrity": "sha512-0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw==", "dependencies": { - "delayed-stream": "~1.0.0" + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "nested-error-stacks": "^2.0.0", + "p-event": "^4.1.0" }, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/comma-separated-tokens": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", - "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", + "node_modules/cpy": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/cpy/-/cpy-8.1.2.tgz", + "integrity": "sha512-dmC4mUesv0OYH2kNFEidtf/skUwv4zePmGeepjyyJ0qTo5+8KhA1o99oIAwVVLzQMAeDJml74d6wPPKb6EZUTg==", + "dependencies": { + "arrify": "^2.0.1", + "cp-file": "^7.0.0", + "globby": "^9.2.0", + "has-glob": "^1.0.0", + "junk": "^3.1.0", + "nested-error-stacks": "^2.1.0", + "p-all": "^2.1.0", + "p-filter": "^2.1.0", + "p-map": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/commander": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" - }, - "node_modules/common-ancestor-path": { - "version": "1.0.1", - "dev": true, - "license": "ISC" - }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + "node_modules/cpy/node_modules/@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "engines": { + "node": ">= 6" + } }, - "node_modules/common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "node_modules/cpy/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dependencies": { + "array-uniq": "^1.0.1" + }, "engines": { - "node": ">=4.0.0" + "node": ">=0.10.0" } }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + "node_modules/cpy/node_modules/arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "engines": { + "node": ">=8" + } }, - "node_modules/compare-func": { - "version": "2.0.0", - "dev": true, - "license": "MIT", + "node_modules/cpy/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dependencies": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/component-emitter": { - "version": "1.3.0", - "license": "MIT" + "node_modules/cpy/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/compose-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", - "integrity": "sha512-xzhzTJ5eC+gmIzvZq+C3kCJHsp9os6tJkrigDRZclyGtOKINbZtE8n1Tzmeh32jW+BUDPbvZpibwvJHBLGMVwg==", + "node_modules/cpy/node_modules/dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", "dependencies": { - "arity-n": "^1.0.4" + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "node_modules/cpy/node_modules/fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", "dependencies": { - "mime-db": ">= 1.43.0 < 2" + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" }, "engines": { - "node": ">= 0.6" + "node": ">=4.0.0" } }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "node_modules/cpy/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/cpy/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dependencies": { - "ms": "2.0.0" + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/compute-scroll-into-view": { + "node_modules/cpy/node_modules/glob-parent": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz", - "integrity": "sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/concat-stream": { - "version": "2.0.0", - "dev": true, - "engines": [ - "node >= 6.0" - ], - "license": "MIT", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" } }, - "node_modules/concurrently": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-5.3.0.tgz", - "integrity": "sha512-8MhqOB6PWlBfA2vJ8a0bSFKATOdWlHiQlk11IfmQBPaHVP8oP2gsh2MObE6UR3hqDHqvaIvLTyceNW6obVuFHQ==", + "node_modules/cpy/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dependencies": { - "chalk": "^2.4.2", - "date-fns": "^2.0.1", - "lodash": "^4.17.15", - "read-pkg": "^4.0.1", - "rxjs": "^6.5.2", - "spawn-command": "^0.0.2-1", - "supports-color": "^6.1.0", - "tree-kill": "^1.2.2", - "yargs": "^13.3.0" - }, - "bin": { - "concurrently": "bin/concurrently.js" + "is-extglob": "^2.1.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" } }, - "node_modules/concurrently/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "node_modules/cpy/node_modules/globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + }, "engines": { "node": ">=6" } }, - "node_modules/concurrently/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/concurrently/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "node_modules/concurrently/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, + "node_modules/cpy/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "engines": { - "node": ">=6" + "node": ">= 4" } }, - "node_modules/concurrently/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + "node_modules/cpy/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, - "node_modules/concurrently/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "node_modules/cpy/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/concurrently/node_modules/locate-path": { + "node_modules/cpy/node_modules/is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=6" - } - }, - "node_modules/concurrently/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "node": ">=0.10.0" } }, - "node_modules/concurrently/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/cpy/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dependencies": { - "p-try": "^2.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/concurrently/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "node_modules/cpy/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dependencies": { - "p-limit": "^2.0.0" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/concurrently/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "node_modules/cpy/node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "aggregate-error": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/concurrently/node_modules/path-exists": { + "node_modules/cpy/node_modules/path-type": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dependencies": { + "pify": "^3.0.0" + }, "engines": { "node": ">=4" } }, - "node_modules/concurrently/node_modules/pify": { + "node_modules/cpy/node_modules/path-type/node_modules/pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", @@ -23532,1114 +25914,1277 @@ "node": ">=4" } }, - "node_modules/concurrently/node_modules/read-pkg": { + "node_modules/cpy/node_modules/pify": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz", - "integrity": "sha512-+UBirHHDm5J+3WDmLBZYSklRYg82nMlz+enn+GMZ22nSR2f4bzxmhso6rzQW/3mT2PVzpzDTiYIZahk8UmZ44w==", - "dependencies": { - "normalize-package-data": "^2.3.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0" - }, + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "engines": { "node": ">=6" } }, - "node_modules/concurrently/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "node_modules/cpy/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cpy/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dependencies": { - "tslib": "^1.9.0" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "engines": { - "npm": ">=2.0.0" + "node": ">=0.10.0" } }, - "node_modules/concurrently/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", "bin": { - "semver": "bin/semver" + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" } }, - "node_modules/concurrently/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" } }, - "node_modules/concurrently/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dependencies": { - "ansi-regex": "^4.1.0" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "devOptional": true, + "license": "MIT" + }, + "node_modules/cross-env": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz", + "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", + "dependencies": { + "cross-spawn": "^6.0.5" + }, + "bin": { + "cross-env": "dist/bin/cross-env.js", + "cross-env-shell": "dist/bin/cross-env-shell.js" }, "engines": { - "node": ">=6" + "node": ">=4.0" } }, - "node_modules/concurrently/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "node_modules/cross-env/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dependencies": { - "has-flag": "^3.0.0" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" }, "engines": { - "node": ">=6" + "node": ">=4.8" } }, - "node_modules/concurrently/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "node_modules/cross-env/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "engines": { + "node": ">=4" + } }, - "node_modules/concurrently/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "node_modules/cross-env/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/cross-env/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "shebang-regex": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/concurrently/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "node_modules/concurrently/node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" + "node_modules/cross-env/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/concurrently/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "node_modules/cross-env/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "node_modules/config-chain": { - "version": "1.1.13", - "dev": true, + "node_modules/cross-spawn": { + "version": "7.0.3", "license": "MIT", "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/confusing-browser-globals": { - "version": "1.0.11", - "license": "MIT" - }, - "node_modules/connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", "engines": { - "node": ">=0.8" + "node": "*" } }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "license": "ISC" + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "engines": { + "node": ">=8" + } }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" + "node_modules/css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "dependencies": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + } }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", "dependencies": { - "safe-buffer": "5.2.1" + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" }, "engines": { - "node": ">= 0.6" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "node_modules/css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", "engines": { - "node": ">= 0.6" + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" } }, - "node_modules/conventional-changelog-angular": { - "version": "5.0.13", - "dev": true, - "license": "ISC", + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", "dependencies": { - "compare-func": "^2.0.0", - "q": "^1.5.1" + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" }, "engines": { - "node": ">=10" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/conventional-changelog-conventionalcommits": { - "version": "5.0.0", - "dev": true, - "license": "ISC", + "node_modules/css-hot-loader": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/css-hot-loader/-/css-hot-loader-1.4.4.tgz", + "integrity": "sha512-J/qXHz+r7FOT92qMIJfxUk0LC9fecQNZVr0MswQ4FOpKLyOCBjofVMfc6R268bh/5ktkTShrweMr0wWqerC92g==", "dependencies": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" + "loader-utils": "^1.1.0", + "lodash": "^4.17.5", + "normalize-url": "^1.9.1" } }, - "node_modules/conventional-changelog-core": { - "version": "4.2.4", - "dev": true, - "license": "MIT", + "node_modules/css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", "dependencies": { - "add-stream": "^1.0.0", - "conventional-changelog-writer": "^5.0.0", - "conventional-commits-parser": "^3.2.0", - "dateformat": "^3.0.0", - "get-pkg-repo": "^4.0.0", - "git-raw-commits": "^2.0.8", - "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^4.1.1", - "lodash": "^4.17.15", - "normalize-package-data": "^3.0.0", - "q": "^1.5.1", - "read-pkg": "^3.0.0", - "read-pkg-up": "^3.0.0", - "through2": "^4.0.0" + "utrie": "^1.0.2" + } + }, + "node_modules/css-loader": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "dependencies": { + "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.5" }, "engines": { - "node": ">=10" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.27.0 || ^5.0.0" } }, - "node_modules/conventional-changelog-core/node_modules/find-up": { - "version": "2.1.0", - "dev": true, - "license": "MIT", + "node_modules/css-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dependencies": { - "locate-path": "^2.0.0" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": ">=4" + "node": ">=8.9.0" } }, - "node_modules/conventional-changelog-core/node_modules/locate-path": { - "version": "2.0.0", - "dev": true, - "license": "MIT", + "node_modules/css-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/conventional-changelog-core/node_modules/p-limit": { - "version": "1.3.0", - "dev": true, - "license": "MIT", + "node_modules/css-loader/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dependencies": { - "p-try": "^1.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/conventional-changelog-core/node_modules/p-locate": { - "version": "2.0.0", - "dev": true, - "license": "MIT", + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", "dependencies": { - "p-limit": "^1.1.0" + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" }, "engines": { - "node": ">=4" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + } } }, - "node_modules/conventional-changelog-core/node_modules/p-try": { - "version": "1.0.0", - "dev": true, - "license": "MIT", + "node_modules/css-minimizer-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/conventional-changelog-core/node_modules/path-exists": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/css-minimizer-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, "engines": { - "node": ">=4" + "node": ">= 10.13.0" } }, - "node_modules/conventional-changelog-core/node_modules/read-pkg-up": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">=4" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/conventional-changelog-preset-loader": { - "version": "2.3.4", - "dev": true, - "license": "MIT", + "node_modules/css-minimizer-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/conventional-changelog-writer": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "conventional-commits-filter": "^2.0.7", - "dateformat": "^3.0.0", - "handlebars": "^4.7.7", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "semver": "^6.0.0", - "split": "^1.0.0", - "through2": "^4.0.0" - }, + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", "bin": { - "conventional-changelog-writer": "cli.js" + "css-prefers-color-scheme": "dist/cli.cjs" }, "engines": { - "node": ">=10" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/conventional-commits-filter": { - "version": "2.0.7", + "node_modules/css-rule-stream": { + "version": "1.1.0", "dev": true, "license": "MIT", "dependencies": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" + "css-tokenize": "^1.0.1", + "duplexer2": "0.0.2", + "ldjson-stream": "^1.2.1", + "through2": "^0.6.3" }, - "engines": { - "node": ">=10" + "bin": { + "css-rule-stream": "index.js" } }, - "node_modules/conventional-commits-parser": { - "version": "3.2.4", + "node_modules/css-rule-stream/node_modules/isarray": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/css-rule-stream/node_modules/readable-stream": { + "version": "1.0.34", "dev": true, "license": "MIT", "dependencies": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "bin": { - "conventional-commits-parser": "cli.js" - }, - "engines": { - "node": ">=10" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" } }, - "node_modules/conventional-recommended-bump": { - "version": "6.1.0", + "node_modules/css-rule-stream/node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, + "license": "MIT" + }, + "node_modules/css-rule-stream/node_modules/through2": { + "version": "0.6.5", "dev": true, "license": "MIT", "dependencies": { - "concat-stream": "^2.0.0", - "conventional-changelog-preset-loader": "^2.3.4", - "conventional-commits-filter": "^2.0.7", - "conventional-commits-parser": "^3.2.0", - "git-raw-commits": "^2.0.8", - "git-semver-tags": "^4.1.1", - "meow": "^8.0.0", - "q": "^1.5.1" - }, - "bin": { - "conventional-recommended-bump": "cli.js" + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "license": "MIT" + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "engines": { - "node": ">= 0.6" + "node_modules/css-select/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + "node_modules/css-select/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] }, - "node_modules/copy-anything": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", - "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "node_modules/css-select/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dependencies": { - "is-what": "^4.1.8" + "domelementtype": "^2.2.0" }, "engines": { - "node": ">=12.13" + "node": ">= 4" }, "funding": { - "url": "https://github.com/sponsors/mesqueeb" + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "node_modules/css-select/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/copy-concurrently/node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "node_modules/css-select/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, - "node_modules/copy-concurrently/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "node_modules/css-tokenize": { + "version": "1.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "inherits": "^2.0.1", + "readable-stream": "^1.0.33" } }, - "node_modules/copy-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/css-tokenize/node_modules/isarray": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/css-tokenize/node_modules/readable-stream": { + "version": "1.1.14", + "dev": true, + "license": "MIT", "dependencies": { - "glob": "^7.1.3" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/css-tokenize/node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, + "license": "MIT" + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/copy-descriptor": { - "version": "0.1.1", + "node_modules/css.escape": { + "version": "1.5.1", + "dev": true, + "license": "MIT" + }, + "node_modules/cssdb": { + "version": "7.11.2", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.11.2.tgz", + "integrity": "sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ] + }, + "node_modules/cssesc": { + "version": "3.0.0", "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/copy-to-clipboard": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", - "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", - "dependencies": { - "toggle-selection": "^1.0.6" + "node": ">=4" } }, - "node_modules/copy-webpack-plugin": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz", - "integrity": "sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA==", + "node_modules/cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", "dependencies": { - "fast-glob": "^3.2.7", - "glob-parent": "^6.0.1", - "globby": "^11.0.3", - "normalize-path": "^3.0.0", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0" + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" }, "engines": { - "node": ">= 12.13.0" + "node": "^10 || ^12 || >=14.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://opencollective.com/cssnano" }, "peerDependencies": { - "webpack": "^5.1.0" + "postcss": "^8.2.15" } }, - "node_modules/copy-webpack-plugin-v6": { - "name": "copy-webpack-plugin", - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.4.1.tgz", - "integrity": "sha512-MXyPCjdPVx5iiWyl40Va3JGh27bKzOTNY3NjUTrosD2q7dR/cLD0013uqJ3BpFbUjyONINjb6qI7nDIJujrMbA==", + "node_modules/cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", "dependencies": { - "cacache": "^15.0.5", - "fast-glob": "^3.2.4", - "find-cache-dir": "^3.3.1", - "glob-parent": "^5.1.1", - "globby": "^11.0.1", - "loader-utils": "^2.0.0", - "normalize-path": "^3.0.0", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "webpack-sources": "^1.4.3" + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" + "postcss": "^8.2.15" } }, - "node_modules/copy-webpack-plugin-v6/node_modules/@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "dependencies": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/copy-webpack-plugin-v6/node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "deprecated": "This functionality has been moved to @npmcli/fs", + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" + "css-tree": "^1.1.2" }, "engines": { - "node": ">=10" + "node": ">=8.0.0" } }, - "node_modules/copy-webpack-plugin-v6/node_modules/cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "node_modules/cssstyle": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz", + "integrity": "sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==", "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" + "rrweb-cssom": "^0.6.0" }, "engines": { - "node": ">= 10" + "node": ">=14" } }, - "node_modules/copy-webpack-plugin-v6/node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "node_modules/csstype": { + "version": "3.1.1", + "license": "MIT" + }, + "node_modules/currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==", + "optional": true, "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "array-find-index": "^1.0.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/copy-webpack-plugin-v6/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "node_modules/cyclist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", + "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==" + }, + "node_modules/d": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", + "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "es5-ext": "^0.10.64", + "type": "^2.7.2" }, "engines": { - "node": ">=8.9.0" + "node": ">=0.12" } }, - "node_modules/copy-webpack-plugin-v6/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, + "node_modules/dargs": { + "version": "7.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/copy-webpack-plugin-v6/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "assert-plus": "^1.0.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/copy-webpack-plugin-v6/node_modules/serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "dependencies": { - "randombytes": "^2.1.0" + "node": ">=0.10" } }, - "node_modules/copy-webpack-plugin-v6/node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "node_modules/data-urls": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-4.0.0.tgz", + "integrity": "sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==", "dependencies": { - "minipass": "^3.1.1" + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.0" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/copy-webpack-plugin-v6/node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/copy-webpack-plugin-v6/node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/copy-webpack-plugin-v6/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "node": ">=14" } }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", "dependencies": { - "is-glob": "^4.0.3" + "@babel/runtime": "^7.21.0" }, "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/core-js": { - "version": "2.6.12", - "hasInstallScript": true, - "license": "MIT" - }, - "node_modules/core-js-compat": { - "version": "3.26.1", - "license": "MIT", - "dependencies": { - "browserslist": "^4.21.4" + "node": ">=0.11" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://opencollective.com/date-fns" } }, - "node_modules/core-js-pure": { - "version": "3.26.1", - "hasInstallScript": true, + "node_modules/dateformat": { + "version": "3.0.3", + "dev": true, "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "engines": { + "node": "*" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "license": "MIT" + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" }, - "node_modules/cosmiconfig": { - "version": "7.1.0", + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" + }, + "node_modules/debug": { + "version": "4.3.4", "license": "MIT", "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" + "ms": "2.1.2" }, "engines": { - "node": ">=10" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/cosmiconfig-typescript-loader": { - "version": "4.2.0", - "dev": true, + "node_modules/debuglog": { + "version": "1.0.1", "license": "MIT", "engines": { - "node": ">=12", - "npm": ">=6" - }, - "peerDependencies": { - "@types/node": "*", - "cosmiconfig": ">=7", - "ts-node": ">=10", - "typescript": ">=3" + "node": "*" } }, - "node_modules/cp-file": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-7.0.0.tgz", - "integrity": "sha512-0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw==", - "dependencies": { - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "nested-error-stacks": "^2.0.0", - "p-event": "^4.1.0" - }, + "node_modules/decamelize": { + "version": "1.2.0", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/cpy": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/cpy/-/cpy-8.1.2.tgz", - "integrity": "sha512-dmC4mUesv0OYH2kNFEidtf/skUwv4zePmGeepjyyJ0qTo5+8KhA1o99oIAwVVLzQMAeDJml74d6wPPKb6EZUTg==", + "node_modules/decamelize-keys": { + "version": "1.1.1", + "dev": true, + "license": "MIT", "dependencies": { - "arrify": "^2.0.1", - "cp-file": "^7.0.0", - "globby": "^9.2.0", - "has-glob": "^1.0.0", - "junk": "^3.1.0", - "nested-error-stacks": "^2.1.0", - "p-all": "^2.1.0", - "p-filter": "^2.1.0", - "p-map": "^3.0.0" + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cpy/node_modules/@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/cpy/node_modules/array-union": { + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "license": "MIT" + }, + "node_modules/deep-diff": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-1.0.2.tgz", + "integrity": "sha512-aWS3UIVH+NPGCD1kki+DCU9Dua032iSsO43LqQpcs4R3+dVv7tX0qBGjiVHJHjplsoUM2XRO/KB92glqc68awg==" + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "peer": true, "dependencies": { - "array-uniq": "^1.0.1" + "type-detect": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/cpy/node_modules/arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "node_modules/deep-equal": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.2", + "get-intrinsic": "^1.1.3", + "is-arguments": "^1.1.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "engines": { - "node": ">=8" + "node": ">=4.0.0" } }, - "node_modules/cpy/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, + "node_modules/deep-is": { + "version": "0.1.4", + "license": "MIT" + }, + "node_modules/deep-object-diff": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.9.tgz", + "integrity": "sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==" + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/cpy/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/default-browser-id": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-1.0.4.tgz", + "integrity": "sha512-qPy925qewwul9Hifs+3sx1ZYn14obHxpkX+mPD369w4Rzg+YkJBgi3SOvwUq81nWSjqGUegIgEPwD8u+HUnxlw==", + "optional": true, "dependencies": { - "is-extendable": "^0.1.0" + "bplist-parser": "^0.1.0", + "meow": "^3.1.0", + "untildify": "^2.0.0" + }, + "bin": { + "default-browser-id": "cli.js" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/cpy/node_modules/dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", - "dependencies": { - "path-type": "^3.0.0" - }, + "node_modules/default-browser-id/node_modules/camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", + "optional": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/cpy/node_modules/fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "node_modules/default-browser-id/node_modules/camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==", + "optional": true, "dependencies": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" }, "engines": { - "node": ">=4.0.0" + "node": ">=0.10.0" } }, - "node_modules/cpy/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "node_modules/default-browser-id/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "optional": true, "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/cpy/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, + "node_modules/default-browser-id/node_modules/get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", + "optional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/cpy/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } + "node_modules/default-browser-id/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "optional": true }, - "node_modules/cpy/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "node_modules/default-browser-id/node_modules/indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==", + "optional": true, "dependencies": { - "is-extglob": "^2.1.0" + "repeating": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/cpy/node_modules/globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "node_modules/default-browser-id/node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "optional": true, "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/cpy/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "node_modules/cpy/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/cpy/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/default-browser-id/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "optional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/cpy/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "node_modules/default-browser-id/node_modules/meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==", + "optional": true, "dependencies": { - "kind-of": "^3.0.2" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/cpy/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/default-browser-id/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "optional": true, "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node_modules/cpy/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/default-browser-id/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "optional": true, "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "error-ex": "^1.2.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/cpy/node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "node_modules/default-browser-id/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "optional": true, "dependencies": { - "aggregate-error": "^3.0.0" + "pinkie-promise": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/cpy/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "node_modules/default-browser-id/node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "optional": true, "dependencies": { - "pify": "^3.0.0" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/cpy/node_modules/path-type/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "node_modules/default-browser-id/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "optional": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/cpy/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "node_modules/default-browser-id/node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "optional": true, + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/cpy/node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "node_modules/default-browser-id/node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "optional": true, + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/cpy/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "node_modules/default-browser-id/node_modules/redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==", + "optional": true, "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "node_modules/default-browser-id/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "optional": true, "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" + "semver": "bin/semver" } }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "node_modules/default-browser-id/node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "optional": true, "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "node_modules/default-browser-id/node_modules/strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==", + "optional": true, "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "get-stdin": "^4.0.1" + }, + "bin": { + "strip-indent": "cli.js" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "node_modules/default-browser-id/node_modules/trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==", + "optional": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/create-require": { - "version": "1.1.1", - "devOptional": true, - "license": "MIT" - }, - "node_modules/cross-env": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz", - "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", + "node_modules/default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", "dependencies": { - "cross-spawn": "^6.0.5" - }, - "bin": { - "cross-env": "dist/bin/cross-env.js", - "cross-env-shell": "dist/bin/cross-env-shell.js" + "execa": "^1.0.0", + "ip-regex": "^2.1.0" }, "engines": { - "node": ">=4.0" + "node": ">=6" } }, - "node_modules/cross-env/node_modules/cross-spawn": { + "node_modules/default-gateway/node_modules/cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", @@ -24654,7 +27199,54 @@ "node": ">=4.8" } }, - "node_modules/cross-env/node_modules/path-key": { + "node_modules/default-gateway/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/default-gateway/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/default-gateway/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/default-gateway/node_modules/path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", @@ -24662,7 +27254,7 @@ "node": ">=4" } }, - "node_modules/cross-env/node_modules/semver": { + "node_modules/default-gateway/node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", @@ -24670,7 +27262,7 @@ "semver": "bin/semver" } }, - "node_modules/cross-env/node_modules/shebang-command": { + "node_modules/default-gateway/node_modules/shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", @@ -24681,7 +27273,7 @@ "node": ">=0.10.0" } }, - "node_modules/cross-env/node_modules/shebang-regex": { + "node_modules/default-gateway/node_modules/shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", @@ -24689,2527 +27281,2621 @@ "node": ">=0.10.0" } }, - "node_modules/cross-env/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/default-gateway/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", "dependencies": { - "isexe": "^2.0.0" + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" }, - "bin": { - "which": "bin/which" + "engines": { + "node": ">=6" } }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "license": "MIT", + "node_modules/del/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "array-uniq": "^1.0.1" }, "engines": { - "node": ">= 8" + "node": ">=0.10.0" } }, - "node_modules/crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "node_modules/del/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, + "node_modules/del/node_modules/globby/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "node_modules/del/node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "dependencies": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" + "node_modules/del/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" } }, - "node_modules/css-blank-pseudo": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", - "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "node_modules/del/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dependencies": { - "postcss-selector-parser": "^6.0.9" + "glob": "^7.1.3" }, "bin": { - "css-blank-pseudo": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" + "rimraf": "bin.js" } }, - "node_modules/css-declaration-sorter": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", - "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "node_modules/delayed-stream": { + "version": "1.0.0", + "license": "MIT", "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.0.9" + "node": ">=0.4.0" } }, - "node_modules/css-has-pseudo": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", - "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-has-pseudo": "dist/cli.cjs" - }, + "node_modules/delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", + "optional": true + }, + "node_modules/delegates": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/depd": { + "version": "1.1.2", + "license": "MIT", "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">= 0.6" } }, - "node_modules/css-hot-loader": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/css-hot-loader/-/css-hot-loader-1.4.4.tgz", - "integrity": "sha512-J/qXHz+r7FOT92qMIJfxUk0LC9fecQNZVr0MswQ4FOpKLyOCBjofVMfc6R268bh/5ktkTShrweMr0wWqerC92g==", - "dependencies": { - "loader-utils": "^1.1.0", - "lodash": "^4.17.5", - "normalize-url": "^1.9.1" - } + "node_modules/deprecation": { + "version": "2.3.1", + "dev": true, + "license": "ISC" }, - "node_modules/css-line-break": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", - "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", "dependencies": { - "utrie": "^1.0.2" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/css-loader": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", - "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", - "dependencies": { - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.5" - }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.27.0 || ^5.0.0" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/css-loader/node_modules/loader-utils": { + "node_modules/detab": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz", + "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "repeat-string": "^1.5.4" }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=8.9.0" + "node": ">=8" } }, - "node_modules/css-loader/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/detect-newline": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "node_modules/detect-package-manager": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-package-manager/-/detect-package-manager-2.0.1.tgz", + "integrity": "sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A==", "dependencies": { - "yallist": "^4.0.0" + "execa": "^5.1.1" }, "engines": { - "node": ">=10" + "node": ">=12" } }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "node_modules/detect-port": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", + "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", "dependencies": { - "lru-cache": "^6.0.0" + "address": "^1.0.1", + "debug": "4" }, "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "detect": "bin/detect-port.js", + "detect-port": "bin/detect-port.js" } }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", - "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "node_modules/dezalgo": { + "version": "1.0.4", + "license": "ISC", "dependencies": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "postcss": "^8.3.5", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - } + "asap": "^2.0.0", + "wrappy": "1" } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/diacritics": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/diacritics/-/diacritics-1.3.0.tgz", + "integrity": "sha512-wlwEkqcsaxvPJML+rDh/2iS824jbREk6DUMUKkEaSlxdYHeS43cClJtsWglvw2RfeXGm6ohKDqsXteJ5sP5enA==" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "peer": true, "engines": { - "node": ">=8" + "node": ">=0.3.1" } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/jest-worker": { + "node_modules/diff-sequences": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, + "dev": true, + "license": "MIT", "engines": { - "node": ">= 10.13.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/dijkstrajs": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", + "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", + "peer": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "path-type": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=8" } }, - "node_modules/css-prefers-color-scheme": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "bin": { - "css-prefers-color-scheme": "dist/cli.cjs" + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "node_modules/dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "dependencies": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/dns-packet/node_modules/ip": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.9.tgz", + "integrity": "sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==" + }, + "node_modules/dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==", + "dependencies": { + "buffer-indexof": "^1.0.0" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=6.0.0" } }, - "node_modules/css-rule-stream": { - "version": "1.1.0", + "node_modules/doiuse": { + "version": "4.4.1", "dev": true, "license": "MIT", "dependencies": { - "css-tokenize": "^1.0.1", + "browserslist": "^4.16.1", + "caniuse-lite": "^1.0.30001179", + "css-rule-stream": "^1.1.0", "duplexer2": "0.0.2", "ldjson-stream": "^1.2.1", - "through2": "^0.6.3" + "multimatch": "^5.0.0", + "postcss": "^8.2.4", + "source-map": "^0.7.3", + "through2": "^4.0.2", + "yargs": "^16.2.0" }, "bin": { - "css-rule-stream": "index.js" + "doiuse": "cli.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/css-rule-stream/node_modules/isarray": { - "version": "0.0.1", + "node_modules/doiuse/node_modules/source-map": { + "version": "0.7.4", "dev": true, - "license": "MIT" + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } }, - "node_modules/css-rule-stream/node_modules/readable-stream": { - "version": "1.0.34", + "node_modules/doiuse/node_modules/yargs": { + "version": "16.2.0", "dev": true, "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" } }, - "node_modules/css-rule-stream/node_modules/string_decoder": { - "version": "0.10.31", + "node_modules/doiuse/node_modules/yargs-parser": { + "version": "20.2.9", "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.14", "license": "MIT" }, - "node_modules/css-rule-stream/node_modules/through2": { - "version": "0.6.5", - "dev": true, - "license": "MIT", + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", "dependencies": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" + "utila": "~0.4" } }, - "node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" } }, - "node_modules/css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + "node_modules/dom-mutator": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/dom-mutator/-/dom-mutator-0.5.0.tgz", + "integrity": "sha512-bbeX8HWE8JGzraFgbVBX4ws2g3heZFuTtrleQBuN7huy+7n2n7etSuVnot3/1z3jdY2MiwuvoS4Ep1UT2rrGBw==", + "engines": { + "node": ">=10" + } }, - "node_modules/css-select/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "node_modules/dom-serializer": { + "version": "0.2.2", + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/css-select/node_modules/domelementtype": { + "node_modules/dom-serializer/node_modules/domelementtype": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/fb55" } - ] + ], + "license": "BSD-2-Clause" }, - "node_modules/css-select/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "license": "BSD-2-Clause", "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/css-select/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "node_modules/dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "engines": { + "node": ">=0.4", + "npm": ">=1.2" } }, - "node_modules/css-select/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "node_modules/domelementtype": { + "version": "1.3.1", + "license": "BSD-2-Clause" + }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "node_modules/css-tokenize": { - "version": "1.0.1", - "dev": true, - "license": "MIT", + "node_modules/domhandler": { + "version": "2.4.2", + "license": "BSD-2-Clause", "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^1.0.33" + "domelementtype": "1" } }, - "node_modules/css-tokenize/node_modules/isarray": { - "version": "0.0.1", - "dev": true, - "license": "MIT" + "node_modules/dompurify": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.0.tgz", + "integrity": "sha512-yoU4rhgPKCo+p5UrWWWNKiIq+ToGqmVVhk0PmMYBK4kRsR3/qhemNFL8f6CFmBd4gMwm3F4T7HBoydP5uY07fA==" }, - "node_modules/css-tokenize/node_modules/readable-stream": { - "version": "1.1.14", - "dev": true, - "license": "MIT", + "node_modules/domready": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/domready/-/domready-1.0.8.tgz", + "integrity": "sha512-uIzsOJUNk+AdGE9a6VDeessoMCzF8RrZvJCX/W8QtyfgdR6Uofn/MvRonih3OtCO79b2VDzDOymuiABrQ4z3XA==" + }, + "node_modules/domutils": { + "version": "1.7.0", + "license": "BSD-2-Clause", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "dom-serializer": "0", + "domelementtype": "1" } }, - "node_modules/css-tokenize/node_modules/string_decoder": { - "version": "0.10.31", - "dev": true, - "license": "MIT" + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } }, - "node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "node_modules/dot-prop": { + "version": "5.3.0", + "license": "MIT", "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" + "is-obj": "^2.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=8" } }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "node_modules/dotenv": { + "version": "8.6.0", + "license": "BSD-2-Clause", "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "node": ">=10" } }, - "node_modules/css.escape": { - "version": "1.5.1", + "node_modules/dotenv-defaults": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz", + "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==", "dev": true, - "license": "MIT" - }, - "node_modules/cssdb": { - "version": "7.11.2", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.11.2.tgz", - "integrity": "sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - } - ] - }, - "node_modules/cssesc": { - "version": "3.0.0", - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" + "dependencies": { + "dotenv": "^8.2.0" } }, - "node_modules/cssnano": { - "version": "5.1.15", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", - "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "node_modules/dotenv-webpack": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-8.0.1.tgz", + "integrity": "sha512-CdrgfhZOnx4uB18SgaoP9XHRN2v48BbjuXQsZY5ixs5A8579NxQkmMxRtI7aTwSiSQcM2ao12Fdu+L3ZS3bG4w==", + "dev": true, "dependencies": { - "cssnano-preset-default": "^5.2.14", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" + "dotenv-defaults": "^2.0.2" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" + "node": ">=10" }, "peerDependencies": { - "postcss": "^8.2.15" + "webpack": "^4 || ^5" } }, - "node_modules/cssnano-preset-default": { - "version": "5.2.14", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", - "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "node_modules/downshift": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/downshift/-/downshift-8.4.0.tgz", + "integrity": "sha512-feeqAR0s53NTIKaHxyFhdLo9UCHUwge4q/j+heIz7X8AaURgdcANOnMGLWffWQCoX9l4Vpw87nOrlX6uJceqjA==", "dependencies": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.1", - "postcss-convert-values": "^5.1.3", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.4", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.4", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.1", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.2", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" + "@babel/runtime": "^7.22.15", + "compute-scroll-into-view": "^3.0.3", + "prop-types": "^15.8.1", + "react-is": "^18.2.0", + "tslib": "^2.6.2" }, "peerDependencies": { - "postcss": "^8.2.15" + "react": ">=16.12.0" } }, - "node_modules/cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } + "node_modules/downshift/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "node_modules/downshift/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/duplexer": { + "version": "0.1.2", + "license": "MIT" + }, + "node_modules/duplexer2": { + "version": "0.0.2", + "dev": true, + "license": "BSD", "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" + "readable-stream": "~1.1.9" } }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + "node_modules/duplexer2/node_modules/isarray": { + "version": "0.0.1", + "dev": true, + "license": "MIT" }, - "node_modules/cssstyle": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz", - "integrity": "sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==", + "node_modules/duplexer2/node_modules/readable-stream": { + "version": "1.1.14", + "dev": true, + "license": "MIT", "dependencies": { - "rrweb-cssom": "^0.6.0" - }, - "engines": { - "node": ">=14" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" } }, - "node_modules/csstype": { - "version": "3.1.1", + "node_modules/duplexer2/node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, "license": "MIT" }, - "node_modules/currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==", - "optional": true, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "dependencies": { - "array-find-index": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, - "node_modules/cyclist": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", - "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==" + "node_modules/duplexify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, - "node_modules/d": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", - "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", + "node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { - "es5-ext": "^0.10.64", - "type": "^2.7.2" - }, - "engines": { - "node": ">=0.12" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/dargs": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "node_modules/duplexify/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "node_modules/duplexify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" + "safe-buffer": "~5.1.0" } }, - "node_modules/data-urls": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-4.0.0.tgz", - "integrity": "sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==", + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^12.0.0" - }, - "engines": { - "node": ">=14" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/ejs": { + "version": "3.1.8", + "license": "Apache-2.0", "dependencies": { - "@babel/runtime": "^7.21.0" + "jake": "^10.8.5" }, - "engines": { - "node": ">=0.11" + "bin": { + "ejs": "bin/cli.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/dateformat": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" + "node_modules/electron-to-chromium": { + "version": "1.4.690", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.690.tgz", + "integrity": "sha512-+2OAGjUx68xElQhydpcbqH50hE8Vs2K6TkAeLhICYfndb67CVH0UsZaijmRUE3rHlIxU1u0jxwhgVe6fK3YANA==" + }, + "node_modules/elliptic": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz", + "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, - "node_modules/debounce": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" + "node_modules/email-addresses": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz", + "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==" }, - "node_modules/debug": { - "version": "4.3.4", - "license": "MIT", + "node_modules/embla-carousel": { + "version": "8.0.0-rc12", + "resolved": "https://registry.npmjs.org/embla-carousel/-/embla-carousel-8.0.0-rc12.tgz", + "integrity": "sha512-/Xkf5zp9gs9Y45lSAT1Witn+r+o+EtoIIZg4V2lYTCaaqdDTxyO0Ddn+z00ya38JGNZrGH9U8wLGK5Hi76CRxw==" + }, + "node_modules/embla-carousel-react": { + "version": "8.0.0-rc12", + "resolved": "https://registry.npmjs.org/embla-carousel-react/-/embla-carousel-react-8.0.0-rc12.tgz", + "integrity": "sha512-Tyd9TNH9i8bb/0S9/WZsmEvfZm8jlFU9sgaWNNgLzbPsUtz/L6UTYuRGOBDOt2oh6VPhaL1G8vRuOAuH81G5Cg==", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" + "embla-carousel": "8.0.0-rc12", + "embla-carousel-reactive-utils": "8.0.0-rc12" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/debuglog": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.1 || ^18.0.0" } }, - "node_modules/decamelize": { - "version": "1.2.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/embla-carousel-reactive-utils": { + "version": "8.0.0-rc12", + "resolved": "https://registry.npmjs.org/embla-carousel-reactive-utils/-/embla-carousel-reactive-utils-8.0.0-rc12.tgz", + "integrity": "sha512-sHYqMYW2qk9UXNMLoBmo4PRe+8qOW8CJDDqfkMB0WlSfrzgi9fCc36nArQz6k9olHsVfEc3haw00KiqRBvVwEg==", + "peerDependencies": { + "embla-carousel": "8.0.0-rc12" } }, - "node_modules/decamelize-keys": { - "version": "1.1.1", + "node_modules/emittery": { + "version": "0.7.2", "dev": true, "license": "MIT", - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" - }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "engines": { - "node": ">=0.10" + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/dedent": { - "version": "0.7.0", + "node_modules/emoji-regex": { + "version": "8.0.0", "license": "MIT" }, - "node_modules/deep-diff": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-1.0.2.tgz", - "integrity": "sha512-aWS3UIVH+NPGCD1kki+DCU9Dua032iSsO43LqQpcs4R3+dVv7tX0qBGjiVHJHjplsoUM2XRO/KB92glqc68awg==" + "node_modules/emojilib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", + "peer": true }, - "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "peer": true, - "dependencies": { - "type-detect": "^4.0.0" - }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "engines": { - "node": ">=6" + "node": ">= 4" } }, - "node_modules/deep-equal": { - "version": "2.1.0", - "license": "MIT", + "node_modules/emotion-theming": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emotion-theming/-/emotion-theming-10.3.0.tgz", + "integrity": "sha512-mXiD2Oj7N9b6+h/dC6oLf9hwxbtKHQjoIqtodEyL8CpkN4F3V4IK/BT4D0C7zSs4BBFOu4UlPJbvvBLa88SGEA==", "dependencies": { - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.2", - "get-intrinsic": "^1.1.3", - "is-arguments": "^1.1.1", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.8" + "@babel/runtime": "^7.5.5", + "@emotion/weak-memoize": "0.2.5", + "hoist-non-react-statics": "^3.3.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@emotion/core": "^10.0.27", + "react": ">=16.3.0" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "license": "MIT" + "node_modules/encode-utf8": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", + "peer": true }, - "node_modules/deep-object-diff": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.9.tgz", - "integrity": "sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==" + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } }, - "node_modules/deepmerge": { - "version": "4.2.2", + "node_modules/encoding": { + "version": "0.1.13", "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "iconv-lite": "^0.6.2" } }, - "node_modules/default-browser-id": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-1.0.4.tgz", - "integrity": "sha512-qPy925qewwul9Hifs+3sx1ZYn14obHxpkX+mPD369w4Rzg+YkJBgi3SOvwUq81nWSjqGUegIgEPwD8u+HUnxlw==", - "optional": true, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "license": "MIT", "dependencies": { - "bplist-parser": "^0.1.0", - "meow": "^3.1.0", - "untildify": "^2.0.0" - }, - "bin": { - "default-browser-id": "cli.js" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/default-browser-id/node_modules/camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", - "optional": true, - "engines": { - "node": ">=0.10.0" + "node_modules/end-of-stream": { + "version": "1.4.4", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" } }, - "node_modules/default-browser-id/node_modules/camelcase-keys": { + "node_modules/endent": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==", - "optional": true, + "resolved": "https://registry.npmjs.org/endent/-/endent-2.1.0.tgz", + "integrity": "sha512-r8VyPX7XL8U01Xgnb1CjZ3XV+z90cXIJ9JPE/R9SEC9vpw2P6CfsRPJmp20DppC5N7ZAMCmjYkJIa744Iyg96w==", "dependencies": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "dedent": "^0.7.0", + "fast-json-parse": "^1.0.3", + "objectorarray": "^1.0.5" } }, - "node_modules/default-browser-id/node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", - "optional": true, + "node_modules/enhanced-resolve": { + "version": "0.9.1", "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.2.0", + "tapable": "^0.1.8" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.6" } }, - "node_modules/default-browser-id/node_modules/get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", - "optional": true, + "node_modules/enquirer": { + "version": "2.3.6", + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8.6" } }, - "node_modules/default-browser-id/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "optional": true + "node_modules/entities": { + "version": "1.1.2", + "license": "BSD-2-Clause" }, - "node_modules/default-browser-id/node_modules/indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==", - "optional": true, + "node_modules/env-ci": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.0.0.tgz", + "integrity": "sha512-apikxMgkipkgTvMdRT9MNqWx5VLOci79F4VBd7Op/7OPjjoanjdAvn6fglMCCEf/1bAh8eOiuEVCUs4V3qP3nQ==", + "peer": true, "dependencies": { - "repeating": "^2.0.0" + "execa": "^8.0.0", + "java-properties": "^1.0.2" }, "engines": { - "node": ">=0.10.0" + "node": "^18.17 || >=20.6.1" } }, - "node_modules/default-browser-id/node_modules/load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", - "optional": true, + "node_modules/env-ci/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "peer": true, "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/default-browser-id/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "optional": true, + "node_modules/env-ci/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/default-browser-id/node_modules/meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==", - "optional": true, - "dependencies": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, + "node_modules/env-ci/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=16.17.0" } }, - "node_modules/default-browser-id/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "optional": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "node_modules/env-ci/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "peer": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/default-browser-id/node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", - "optional": true, - "dependencies": { - "error-ex": "^1.2.0" - }, + "node_modules/env-ci/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/default-browser-id/node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", - "optional": true, + "node_modules/env-ci/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "peer": true, "dependencies": { - "pinkie-promise": "^2.0.0" + "path-key": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/default-browser-id/node_modules/path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", - "optional": true, + "node_modules/env-ci/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "peer": true, "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/default-browser-id/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "optional": true, + "node_modules/env-ci/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/default-browser-id/node_modules/read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", - "optional": true, - "dependencies": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, + "node_modules/env-ci/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/default-browser-id/node_modules/read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", - "optional": true, - "dependencies": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, + "node_modules/env-ci/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/default-browser-id/node_modules/redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==", - "optional": true, - "dependencies": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - }, + "node_modules/env-paths": { + "version": "2.2.1", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/default-browser-id/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "optional": true, + "node_modules/envinfo": { + "version": "7.8.1", + "license": "MIT", "bin": { - "semver": "bin/semver" - } - }, - "node_modules/default-browser-id/node_modules/strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", - "optional": true, - "dependencies": { - "is-utf8": "^0.2.0" + "envinfo": "dist/cli.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/default-browser-id/node_modules/strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==", - "optional": true, + "node_modules/err-code": { + "version": "2.0.3", + "license": "MIT" + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dependencies": { - "get-stdin": "^4.0.1" + "prr": "~1.0.1" }, "bin": { - "strip-indent": "cli.js" - }, - "engines": { - "node": ">=0.10.0" + "errno": "cli.js" } }, - "node_modules/default-browser-id/node_modules/trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==", - "optional": true, - "engines": { - "node": ">=0.10.0" + "node_modules/error-ex": { + "version": "1.3.2", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" } }, - "node_modules/default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", "dependencies": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.13" }, "engines": { - "node": ">=6" - } - }, - "node_modules/default-gateway/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "node": ">= 0.4" }, - "engines": { - "node": ">=4.8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/default-gateway/node_modules/execa": { + "node_modules/es-array-method-boxes-properly": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" }, - "node_modules/default-gateway/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dependencies": { - "pump": "^3.0.0" + "get-intrinsic": "^1.2.4" }, "engines": { - "node": ">=6" + "node": ">= 0.4" } }, - "node_modules/default-gateway/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/default-gateway/node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "node_modules/es-get-iterator": { + "version": "1.1.2", + "license": "MIT", "dependencies": { - "path-key": "^2.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.0", + "has-symbols": "^1.0.1", + "is-arguments": "^1.1.0", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.5", + "isarray": "^2.0.5" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/default-gateway/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/default-gateway/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "bin": { - "semver": "bin/semver" - } + "node_modules/es-module-lexer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", + "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==" }, - "node_modules/default-gateway/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dependencies": { - "shebang-regex": "^1.0.0" + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/default-gateway/node_modules/shebang-regex": { + "node_modules/es-shim-unscopables": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "MIT", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" + "has": "^1.0.3" } }, - "node_modules/defaults": { - "version": "1.0.4", + "node_modules/es-to-primitive": { + "version": "1.2.1", "license": "MIT", "dependencies": { - "clone": "^1.0.2" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "node_modules/es5-ext": { + "version": "0.10.64", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", + "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", + "hasInstallScript": true, "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "esniff": "^2.0.1", + "next-tick": "^1.1.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10" } }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "license": "MIT", + "node_modules/es5-shim": { + "version": "4.6.7", + "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.6.7.tgz", + "integrity": "sha512-jg21/dmlrNQI7JyyA2w7n+yifSxBng0ZralnSfVZjoCawgNTCnS+yBCyVM9DL5itm7SUnDGgv7hcq2XCZX4iRQ==", "engines": { - "node": ">=8" + "node": ">=0.4.0" } }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, - "node_modules/define-property": { - "version": "2.0.2", - "license": "MIT", + "node_modules/es6-shim": { + "version": "0.35.8", + "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.8.tgz", + "integrity": "sha512-Twf7I2v4/1tLoIXMT8HlqaBSS5H2wQTs2wx3MNYCI8K1R1/clXyCazrcVCPm/FuO9cyV8+leEaZOWD5C253NDg==" + }, + "node_modules/es6-symbol": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", + "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "d": "^1.0.2", + "ext": "^1.7.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.12" } }, - "node_modules/del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dependencies": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, + "node_modules/escalade": { + "version": "3.1.1", + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/del/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.0.0", + "license": "BSD-2-Clause", "dependencies": { - "array-uniq": "^1.0.1" + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/del/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "license": "MIT", "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/del/node_modules/globby/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "license": "MIT", + "dependencies": { + "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" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/del/node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", "engines": { - "node": ">=6" + "node": ">= 0.8.0" } }, - "node_modules/del/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2" + }, "engines": { - "node": ">=6" + "node": ">= 0.8.0" } }, - "node_modules/del/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/eslint": { + "version": "7.32.0", + "license": "MIT", + "peer": true, "dependencies": { - "glob": "^7.1.3" + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" }, "bin": { - "rimraf": "bin.js" + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", + "node_modules/eslint-config-airbnb-base": { + "version": "14.2.1", "license": "MIT", + "dependencies": { + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.2" + }, "engines": { - "node": ">=0.4.0" + "node": ">= 6" + }, + "peerDependencies": { + "eslint": "^5.16.0 || ^6.8.0 || ^7.2.0", + "eslint-plugin-import": "^2.22.1" } }, - "node_modules/delegate": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", - "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", - "optional": true - }, - "node_modules/delegates": { - "version": "1.0.0", - "license": "MIT" + "node_modules/eslint-config-binary": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/eslint-config-binary/-/eslint-config-binary-1.0.2.tgz", + "integrity": "sha512-4PCr0wR6/aE+v9TKrcl4p/Qhs8u7mayoZuQe+599D12MIOmfRFPyhlxczORG5dSBr6+loNGmMtPTJe3tJv3ktg==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info." }, - "node_modules/depd": { - "version": "1.1.2", + "node_modules/eslint-config-prettier": { + "version": "7.2.0", "license": "MIT", - "engines": { - "node": ">= 0.6" + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/deprecation": { - "version": "2.3.1", - "dev": true, - "license": "ISC" - }, - "node_modules/des.js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", - "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "node_modules/eslint-formatter-pretty": { + "version": "4.1.0", + "license": "MIT", "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "@types/eslint": "^7.2.13", + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "eslint-rule-docs": "^1.1.5", + "log-symbols": "^4.0.0", + "plur": "^4.0.0", + "string-width": "^4.2.0", + "supports-hyperlinks": "^2.0.0" + }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detab": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz", - "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==", - "dependencies": { - "repeat-string": "^1.5.4" + "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/detect-indent": { - "version": "6.1.0", - "dev": true, + "node_modules/eslint-formatter-pretty/node_modules/ansi-styles": { + "version": "4.3.0", "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/detect-newline": { - "version": "3.1.0", - "dev": true, + "node_modules/eslint-formatter-pretty/node_modules/chalk": { + "version": "4.1.2", "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "node_modules/detect-node-es": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", - "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" - }, - "node_modules/detect-package-manager": { + "node_modules/eslint-formatter-pretty/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-package-manager/-/detect-package-manager-2.0.1.tgz", - "integrity": "sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A==", + "license": "MIT", "dependencies": { - "execa": "^5.1.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">=12" + "node": ">=7.0.0" } }, - "node_modules/detect-port": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", - "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", + "node_modules/eslint-formatter-pretty/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/eslint-formatter-pretty/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint-formatter-pretty/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "address": "^1.0.1", - "debug": "4" + "has-flag": "^4.0.0" }, - "bin": { - "detect": "bin/detect-port.js", - "detect-port": "bin/detect-port.js" + "engines": { + "node": ">=8" } }, - "node_modules/dezalgo": { - "version": "1.0.4", - "dev": true, - "license": "ISC", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.6", + "license": "MIT", "dependencies": { - "asap": "^2.0.0", - "wrappy": "1" + "debug": "^3.2.7", + "resolve": "^1.20.0" } }, - "node_modules/diacritics": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/diacritics/-/diacritics-1.3.0.tgz", - "integrity": "sha512-wlwEkqcsaxvPJML+rDh/2iS824jbREk6DUMUKkEaSlxdYHeS43cClJtsWglvw2RfeXGm6ohKDqsXteJ5sP5enA==" - }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } }, - "node_modules/diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "node_modules/eslint-import-resolver-typescript": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz", + "integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==", + "dev": true, "peer": true, + "dependencies": { + "debug": "^4.3.4", + "glob": "^7.2.0", + "is-glob": "^4.0.3", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, "engines": { - "node": ">=0.3.1" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*" } }, - "node_modules/diff-sequences": { - "version": "27.5.1", - "dev": true, + "node_modules/eslint-import-resolver-webpack": { + "version": "0.13.2", "license": "MIT", + "dependencies": { + "array-find": "^1.0.0", + "debug": "^3.2.7", + "enhanced-resolve": "^0.9.1", + "find-root": "^1.1.0", + "has": "^1.0.3", + "interpret": "^1.4.0", + "is-core-module": "^2.7.0", + "is-regex": "^1.1.4", + "lodash": "^4.17.21", + "resolve": "^1.20.0", + "semver": "^5.7.1" + }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 6" + }, + "peerDependencies": { + "eslint-plugin-import": ">=1.4.0", + "webpack": ">=1.11.0" } }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "node_modules/eslint-import-resolver-webpack/node_modules/debug": { + "version": "3.2.7", + "license": "MIT", "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "ms": "^2.1.1" } }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/dijkstrajs": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", - "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", - "peer": true + "node_modules/eslint-import-resolver-webpack/node_modules/semver": { + "version": "5.7.1", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "license": "MIT", + "node_modules/eslint-loader": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-4.0.2.tgz", + "integrity": "sha512-EDpXor6lsjtTzZpLUn7KmXs02+nIjGcgees9BYjNkWra3jVq5vVa8IoCKgzT2M7dNNeoMBtaSG83Bd40N3poLw==", + "deprecated": "This loader has been deprecated. Please use eslint-webpack-plugin", + "dev": true, + "peer": true, "dependencies": { - "path-type": "^4.0.0" + "find-cache-dir": "^3.3.1", + "fs-extra": "^8.1.0", + "loader-utils": "^2.0.0", + "object-hash": "^2.0.3", + "schema-utils": "^2.6.5" }, "engines": { - "node": ">=8" + "node": ">= 10.13.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0", + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" - }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, - "node_modules/dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "node_modules/eslint-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "peer": true, "dependencies": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/dns-packet/node_modules/ip": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.9.tgz", - "integrity": "sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==" - }, - "node_modules/dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==", - "dependencies": { - "buffer-indexof": "^1.0.0" + "node_modules/eslint-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "license": "Apache-2.0", + "node_modules/eslint-loader/node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "peer": true, "dependencies": { - "esutils": "^2.0.2" + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/doiuse": { - "version": "4.4.1", + "node_modules/eslint-loader/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "browserslist": "^4.16.1", - "caniuse-lite": "^1.0.30001179", - "css-rule-stream": "^1.1.0", - "duplexer2": "0.0.2", - "ldjson-stream": "^1.2.1", - "multimatch": "^5.0.0", - "postcss": "^8.2.4", - "source-map": "^0.7.3", - "through2": "^4.0.2", - "yargs": "^16.2.0" - }, - "bin": { - "doiuse": "cli.js" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, "engines": { - "node": ">=10" + "node": ">=6 <7 || >=8" } }, - "node_modules/doiuse/node_modules/source-map": { - "version": "0.7.4", + "node_modules/eslint-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" + "peer": true + }, + "node_modules/eslint-loader/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "peer": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/doiuse/node_modules/yargs": { - "version": "16.2.0", + "node_modules/eslint-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": ">=10" + "node": ">=8.9.0" } }, - "node_modules/doiuse/node_modules/yargs-parser": { - "version": "20.2.9", + "node_modules/eslint-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "dev": true, - "license": "ISC", + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, "engines": { - "node": ">=10" + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/dom-accessibility-api": { - "version": "0.5.14", - "license": "MIT" - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dependencies": { - "utila": "~0.4" + "node_modules/eslint-loader/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 4.0.0" } }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "node_modules/eslint-module-utils": { + "version": "2.7.4", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "node_modules/dom-mutator": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/dom-mutator/-/dom-mutator-0.5.0.tgz", - "integrity": "sha512-bbeX8HWE8JGzraFgbVBX4ws2g3heZFuTtrleQBuN7huy+7n2n7etSuVnot3/1z3jdY2MiwuvoS4Ep1UT2rrGBw==", + "debug": "^3.2.7" + }, "engines": { - "node": ">=10" + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, - "node_modules/dom-serializer": { - "version": "0.2.2", + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", "license": "MIT", "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" + "ms": "^2.1.1" } }, - "node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.3.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" + "node_modules/eslint-plugin-deprecation": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-deprecation/-/eslint-plugin-deprecation-1.4.1.tgz", + "integrity": "sha512-4vxTghWzxsBukPJVQupi6xlTuDc8Pyi1QlRCrFiLgwLPMJQW3cJCNaehJUKQqQFvuue5m4W27e179Y3Qjzeghg==", + "dev": true, + "peer": true, + "dependencies": { + "@typescript-eslint/utils": "^5.57.0", + "tslib": "^2.3.1", + "tsutils": "^3.21.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0", + "typescript": "^3.7.5 || ^4.0.0 || ^5.0.0" + } }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "license": "BSD-2-Clause", + "node_modules/eslint-plugin-deprecation/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "peer": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" - }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "node_modules/eslint-plugin-deprecation/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "peer": true, "engines": { - "node": ">=0.4", - "npm": ">=1.2" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/domelementtype": { - "version": "1.3.1", - "license": "BSD-2-Clause" - }, - "node_modules/domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "deprecated": "Use your platform's native DOMException instead", + "node_modules/eslint-plugin-deprecation/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "peer": true, "dependencies": { - "webidl-conversions": "^7.0.0" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=12" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/domhandler": { - "version": "2.4.2", - "license": "BSD-2-Clause", + "node_modules/eslint-plugin-deprecation/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "peer": true, "dependencies": { - "domelementtype": "1" + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/dompurify": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.0.tgz", - "integrity": "sha512-yoU4rhgPKCo+p5UrWWWNKiIq+ToGqmVVhk0PmMYBK4kRsR3/qhemNFL8f6CFmBd4gMwm3F4T7HBoydP5uY07fA==" - }, - "node_modules/domready": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/domready/-/domready-1.0.8.tgz", - "integrity": "sha512-uIzsOJUNk+AdGE9a6VDeessoMCzF8RrZvJCX/W8QtyfgdR6Uofn/MvRonih3OtCO79b2VDzDOymuiABrQ4z3XA==" - }, - "node_modules/domutils": { - "version": "1.7.0", - "license": "BSD-2-Clause", + "node_modules/eslint-plugin-deprecation/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "peer": true, "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "node_modules/eslint-plugin-deprecation/node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true, + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/dot-prop": { - "version": "5.3.0", + "node_modules/eslint-plugin-deprecation/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { - "is-obj": "^2.0.0" + "yallist": "^4.0.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv": { - "version": "8.6.0", - "license": "BSD-2-Clause", "engines": { "node": ">=10" } }, - "node_modules/dotenv-defaults": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz", - "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==", + "node_modules/eslint-plugin-deprecation/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, + "peer": true, "dependencies": { - "dotenv": "^8.2.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "node_modules/dotenv-webpack": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-8.0.1.tgz", - "integrity": "sha512-CdrgfhZOnx4uB18SgaoP9XHRN2v48BbjuXQsZY5ixs5A8579NxQkmMxRtI7aTwSiSQcM2ao12Fdu+L3ZS3bG4w==", - "dev": true, + "node_modules/eslint-plugin-import": { + "version": "2.26.0", + "license": "MIT", "dependencies": { - "dotenv-defaults": "^2.0.2" + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" }, "engines": { - "node": ">=10" + "node": ">=4" }, "peerDependencies": { - "webpack": "^4 || ^5" + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/downshift": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/downshift/-/downshift-8.4.0.tgz", - "integrity": "sha512-feeqAR0s53NTIKaHxyFhdLo9UCHUwge4q/j+heIz7X8AaURgdcANOnMGLWffWQCoX9l4Vpw87nOrlX6uJceqjA==", + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.22.15", - "compute-scroll-into-view": "^3.0.3", - "prop-types": "^15.8.1", - "react-is": "^18.2.0", - "tslib": "^2.6.2" - }, - "peerDependencies": { - "react": ">=16.12.0" + "ms": "2.0.0" } }, - "node_modules/downshift/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/downshift/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/duplexer": { - "version": "0.1.2", + "node_modules/eslint-plugin-import/node_modules/ms": { + "version": "2.0.0", "license": "MIT" }, - "node_modules/duplexer2": { - "version": "0.0.2", + "node_modules/eslint-plugin-jest": { + "version": "26.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz", + "integrity": "sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==", "dev": true, - "license": "BSD", + "peer": true, "dependencies": { - "readable-stream": "~1.1.9" + "@typescript-eslint/utils": "^5.10.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } } }, - "node_modules/duplexer2/node_modules/isarray": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/duplexer2/node_modules/readable-stream": { - "version": "1.1.14", + "node_modules/eslint-plugin-jest-dom": { + "version": "3.9.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "@babel/runtime": "^7.16.3", + "@testing-library/dom": "^7.31.2", + "requireindex": "^1.2.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0", + "npm": ">=6", + "yarn": ">=1" + }, + "peerDependencies": { + "eslint": ">=6.8" } }, - "node_modules/duplexer2/node_modules/string_decoder": { - "version": "0.10.31", + "node_modules/eslint-plugin-jest-dom/node_modules/@testing-library/dom": { + "version": "7.31.2", "dev": true, - "license": "MIT" - }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "license": "MIT", + "peer": true, "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^4.2.2", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.6", + "lz-string": "^1.4.4", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">=10" } }, - "node_modules/duplexify/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/duplexify/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/eslint-plugin-jest-dom/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/duplexify/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/duplexify/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/eslint-plugin-jest-dom/node_modules/aria-query": { + "version": "4.2.2", + "dev": true, + "license": "Apache-2.0", + "peer": true, "dependencies": { - "safe-buffer": "~5.1.0" + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + }, + "engines": { + "node": ">=6.0" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "node_modules/eslint-plugin-jest-dom/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "node_modules/ejs": { - "version": "3.1.8", - "license": "Apache-2.0", + "node_modules/eslint-plugin-jest-dom/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" + "color-name": "~1.1.4" }, "engines": { - "node": ">=0.10.0" + "node": ">=7.0.0" } }, - "node_modules/electron-to-chromium": { - "version": "1.4.690", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.690.tgz", - "integrity": "sha512-+2OAGjUx68xElQhydpcbqH50hE8Vs2K6TkAeLhICYfndb67CVH0UsZaijmRUE3rHlIxU1u0jxwhgVe6fK3YANA==" + "node_modules/eslint-plugin-jest-dom/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "peer": true }, - "node_modules/elliptic": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz", - "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==", - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" + "node_modules/eslint-plugin-jest-dom/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" } }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/email-addresses": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz", - "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==" - }, - "node_modules/embla-carousel": { - "version": "8.0.0-rc12", - "resolved": "https://registry.npmjs.org/embla-carousel/-/embla-carousel-8.0.0-rc12.tgz", - "integrity": "sha512-/Xkf5zp9gs9Y45lSAT1Witn+r+o+EtoIIZg4V2lYTCaaqdDTxyO0Ddn+z00ya38JGNZrGH9U8wLGK5Hi76CRxw==" - }, - "node_modules/embla-carousel-react": { - "version": "8.0.0-rc12", - "resolved": "https://registry.npmjs.org/embla-carousel-react/-/embla-carousel-react-8.0.0-rc12.tgz", - "integrity": "sha512-Tyd9TNH9i8bb/0S9/WZsmEvfZm8jlFU9sgaWNNgLzbPsUtz/L6UTYuRGOBDOt2oh6VPhaL1G8vRuOAuH81G5Cg==", + "node_modules/eslint-plugin-jest-dom/node_modules/pretty-format": { + "version": "26.6.2", + "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "embla-carousel": "8.0.0-rc12", - "embla-carousel-reactive-utils": "8.0.0-rc12" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.1 || ^18.0.0" + "engines": { + "node": ">= 10" } }, - "node_modules/embla-carousel-reactive-utils": { - "version": "8.0.0-rc12", - "resolved": "https://registry.npmjs.org/embla-carousel-reactive-utils/-/embla-carousel-reactive-utils-8.0.0-rc12.tgz", - "integrity": "sha512-sHYqMYW2qk9UXNMLoBmo4PRe+8qOW8CJDDqfkMB0WlSfrzgi9fCc36nArQz6k9olHsVfEc3haw00KiqRBvVwEg==", - "peerDependencies": { - "embla-carousel": "8.0.0-rc12" - } + "node_modules/eslint-plugin-jest-dom/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "peer": true }, - "node_modules/emittery": { - "version": "0.7.2", + "node_modules/eslint-plugin-jest-dom/node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=10" + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "license": "MIT" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "engines": { - "node": ">= 4" + "node": ">=8" } }, - "node_modules/emotion-theming": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emotion-theming/-/emotion-theming-10.3.0.tgz", - "integrity": "sha512-mXiD2Oj7N9b6+h/dC6oLf9hwxbtKHQjoIqtodEyL8CpkN4F3V4IK/BT4D0C7zSs4BBFOu4UlPJbvvBLa88SGEA==", + "node_modules/eslint-plugin-jest-playwright": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest-playwright/-/eslint-plugin-jest-playwright-0.9.0.tgz", + "integrity": "sha512-BZP0/b/WeR35W2cp3Ru1xAHKgxLFk1YzPd2sdZqDSgp3ovbnf6xbvvSyJ8fUcpznJFkOxMwBOCsEOe1e21VNww==", + "dev": true, + "peer": true, "dependencies": { - "@babel/runtime": "^7.5.5", - "@emotion/weak-memoize": "0.2.5", - "hoist-non-react-statics": "^3.3.0" - }, - "peerDependencies": { - "@emotion/core": "^10.0.27", - "react": ">=16.3.0" + "eslint-plugin-playwright": "^0.9.0" } }, - "node_modules/encode-utf8": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", - "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", - "peer": true + "node_modules/eslint-plugin-local-rules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-2.0.0.tgz", + "integrity": "sha512-sWueme0kUcP0JC1+6OBDQ9edBDVFJR92WJHSRbhiRExlenMEuUisdaVBPR+ItFBFXo2Pdw6FD2UfGZWkz8e93g==" }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" + "node_modules/eslint-plugin-playwright": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-0.9.0.tgz", + "integrity": "sha512-5bxAhiKjRASSgtQ4IipwtdesgQ8GT9m0PK61Uqxclu/TpiZS4eaAksydVeiiSPIOQph5GvuuLA7+oBS0WkWO6w==", + "dev": true, + "peer": true, + "peerDependencies": { + "eslint": ">=7", + "eslint-plugin-jest": ">=24" + }, + "peerDependenciesMeta": { + "eslint-plugin-jest": { + "optional": true + } } }, - "node_modules/encoding": { - "version": "0.1.13", + "node_modules/eslint-plugin-prettier": { + "version": "3.4.1", "license": "MIT", "dependencies": { - "iconv-lite": "^0.6.2" + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "eslint": ">=5.0.0", + "prettier": ">=1.13.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } } }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", + "node_modules/eslint-plugin-react": { + "version": "7.31.11", "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.8" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", "license": "MIT", - "dependencies": { - "once": "^1.4.0" + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, - "node_modules/endent": { + "node_modules/eslint-plugin-react/node_modules/doctrine": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/endent/-/endent-2.1.0.tgz", - "integrity": "sha512-r8VyPX7XL8U01Xgnb1CjZ3XV+z90cXIJ9JPE/R9SEC9vpw2P6CfsRPJmp20DppC5N7ZAMCmjYkJIa744Iyg96w==", - "dependencies": { - "dedent": "^0.7.0", - "fast-json-parse": "^1.0.3", - "objectorarray": "^1.0.5" - } - }, - "node_modules/enhanced-resolve": { - "version": "0.9.1", + "license": "Apache-2.0", "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.2.0", - "tapable": "^0.1.8" + "esutils": "^2.0.2" }, "engines": { - "node": ">=0.6" + "node": ">=0.10.0" } }, - "node_modules/enquirer": { - "version": "2.3.6", + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", "license": "MIT", "dependencies": { - "ansi-colors": "^4.1.1" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": ">=8.6" + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/entities": { - "version": "1.1.2", - "license": "BSD-2-Clause" - }, - "node_modules/env-paths": { - "version": "2.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "node_modules/eslint-plugin-simple-import-sort": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-10.0.0.tgz", + "integrity": "sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==", + "peerDependencies": { + "eslint": ">=5.0.0" } }, - "node_modules/envinfo": { - "version": "7.8.1", - "license": "MIT", - "bin": { - "envinfo": "dist/cli.js" - }, + "node_modules/eslint-plugin-sonarjs": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.23.0.tgz", + "integrity": "sha512-z44T3PBf9W7qQ/aR+NmofOTyg6HLhSEZOPD4zhStqBpLoMp8GYhFksuUBnCxbnf1nfISpKBVkQhiBLFI/F4Wlg==", "engines": { - "node": ">=4" + "node": ">=14" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/err-code": { - "version": "2.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "node_modules/eslint-plugin-sort-destructure-keys": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-sort-destructure-keys/-/eslint-plugin-sort-destructure-keys-1.5.0.tgz", + "integrity": "sha512-xGLyqHtbFXZNXQSvAiQ4ISBYokrbUywEhmaA50fKtSKgceCv5y3zjoNuZwcnajdM6q29Nxj+oXC9KcqfMsAPrg==", "dependencies": { - "prr": "~1.0.1" + "natural-compare-lite": "^1.4.0" }, - "bin": { - "errno": "cli.js" + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "eslint": "3 - 8" } }, - "node_modules/error-ex": { - "version": "1.3.2", + "node_modules/eslint-plugin-testing-library": { + "version": "4.12.4", + "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "is-arrayish": "^0.2.1" + "@typescript-eslint/experimental-utils": "^4.30.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0" } }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "node_modules/eslint-plugin-typescript-sort-keys": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-typescript-sort-keys/-/eslint-plugin-typescript-sort-keys-2.3.0.tgz", + "integrity": "sha512-3LAcYulo5gNYiPWee+TksITfvWeBuBjGgcSLTacPESFVKEoy8laOQuZvJlSCwTBHT2SCGIxr3bJ56zuux+3MCQ==", "dependencies": { - "stackframe": "^1.3.4" + "@typescript-eslint/experimental-utils": "^5.0.0", + "json-schema": "^0.4.0", + "natural-compare-lite": "^1.4.0" + }, + "engines": { + "node": "12 || >= 13.9" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^1 || ^2 || ^3 || ^4 || ^5", + "eslint": "^5 || ^6 || ^7 || ^8", + "typescript": "^3 || ^4 || ^5" } }, - "node_modules/es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "node_modules/eslint-plugin-typescript-sort-keys/node_modules/@typescript-eslint/experimental-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" + "@typescript-eslint/utils": "5.62.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "node_modules/eslint-plugin-typescript-sort-keys/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dependencies": { - "get-intrinsic": "^1.2.4" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "node_modules/eslint-plugin-typescript-sort-keys/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-get-iterator": { - "version": "1.1.2", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.0", - "has-symbols": "^1.0.1", - "is-arguments": "^1.1.0", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.5", - "isarray": "^2.0.5" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/es-module-lexer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", - "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==" - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "node_modules/eslint-plugin-typescript-sort-keys/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "has": "^1.0.3" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "license": "MIT", + "node_modules/eslint-plugin-typescript-sort-keys/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/es5-ext": { - "version": "0.10.64", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", - "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", - "hasInstallScript": true, + "node_modules/eslint-plugin-typescript-sort-keys/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "esniff": "^2.0.1", - "next-tick": "^1.1.0" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">=0.10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/es5-shim": { - "version": "4.6.7", - "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.6.7.tgz", - "integrity": "sha512-jg21/dmlrNQI7JyyA2w7n+yifSxBng0ZralnSfVZjoCawgNTCnS+yBCyVM9DL5itm7SUnDGgv7hcq2XCZX4iRQ==", + "node_modules/eslint-plugin-typescript-sort-keys/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "engines": { - "node": ">=0.4.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "node_modules/eslint-plugin-typescript-sort-keys/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/es6-shim": { - "version": "0.35.8", - "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.8.tgz", - "integrity": "sha512-Twf7I2v4/1tLoIXMT8HlqaBSS5H2wQTs2wx3MNYCI8K1R1/clXyCazrcVCPm/FuO9cyV8+leEaZOWD5C253NDg==" - }, - "node_modules/es6-symbol": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", - "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", + "node_modules/eslint-plugin-typescript-sort-keys/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dependencies": { - "d": "^1.0.2", - "ext": "^1.7.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=0.12" + "node": ">=10" } }, - "node_modules/escalade": { - "version": "3.1.1", - "license": "MIT", + "node_modules/eslint-rule-docs": { + "version": "1.1.235", + "license": "MIT" + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, "engines": { - "node": ">=6" + "node": ">=8.0.0" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "license": "MIT", + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "license": "BSD-2-Clause", "engines": { - "node": ">=0.8.0" + "node": ">=4.0" } }, - "node_modules/escodegen": { - "version": "2.0.0", - "license": "BSD-2-Clause", + "node_modules/eslint-utils": { + "version": "3.0.0", + "license": "MIT", "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "eslint-visitor-keys": "^2.0.0" }, "engines": { - "node": ">=6.0" + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" }, - "optionalDependencies": { - "source-map": "~0.6.1" + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" } }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "license": "MIT", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "license": "Apache-2.0", "engines": { - "node": ">= 0.8.0" + "node": ">=10" } }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "license": "MIT", + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "dev": true, + "peer": true, "dependencies": { - "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" + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" } }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", + "node_modules/eslint-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "license": "MIT", + "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dev": true, + "peer": true, "dependencies": { - "prelude-ls": "~1.1.2" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/eslint": { - "version": "7.32.0", - "license": "MIT", + "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, "peer": true, "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">= 12.13.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/eslint-config-airbnb-base": { - "version": "14.2.1", - "license": "MIT", + "node_modules/eslint-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, "dependencies": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.2" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": ">=10" }, - "peerDependencies": { - "eslint": "^5.16.0 || ^6.8.0 || ^7.2.0", - "eslint-plugin-import": "^2.22.1" + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/eslint-config-binary": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/eslint-config-binary/-/eslint-config-binary-1.0.2.tgz", - "integrity": "sha512-4PCr0wR6/aE+v9TKrcl4p/Qhs8u7mayoZuQe+599D12MIOmfRFPyhlxczORG5dSBr6+loNGmMtPTJe3tJv3ktg==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info." - }, - "node_modules/eslint-config-prettier": { - "version": "7.2.0", + "node_modules/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" + "peer": true, + "dependencies": { + "@babel/highlight": "^7.10.4" } }, - "node_modules/eslint-formatter-pretty": { - "version": "4.1.0", + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", "license": "MIT", + "peer": true, "dependencies": { - "@types/eslint": "^7.2.13", - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "eslint-rule-docs": "^1.1.5", - "log-symbols": "^4.0.0", - "plur": "^4.0.0", - "string-width": "^4.2.0", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=10" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/eslint-formatter-pretty/node_modules/ansi-styles": { + "node_modules/eslint/node_modules/ansi-styles": { "version": "4.3.0", "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -27220,9 +29906,10 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/eslint-formatter-pretty/node_modules/chalk": { + "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -27234,9 +29921,10 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/eslint-formatter-pretty/node_modules/color-convert": { + "node_modules/eslint/node_modules/color-convert": { "version": "2.0.1", "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -27244,543 +29932,472 @@ "node": ">=7.0.0" } }, - "node_modules/eslint-formatter-pretty/node_modules/color-name": { + "node_modules/eslint/node_modules/color-name": { "version": "1.1.4", - "license": "MIT" + "license": "MIT", + "peer": true }, - "node_modules/eslint-formatter-pretty/node_modules/has-flag": { + "node_modules/eslint/node_modules/escape-string-regexp": { "version": "4.0.0", "license": "MIT", + "peer": true, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-formatter-pretty/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/eslint/node_modules/eslint-utils": { + "version": "2.1.0", "license": "MIT", + "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "eslint-visitor-keys": "^1.1.0" }, "engines": { - "node": ">=8" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.6", - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "resolve": "^1.20.0" + "node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": ">=4" } }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", + "node_modules/eslint/node_modules/globals": { + "version": "13.18.0", "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-typescript": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz", - "integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==", - "dev": true, "peer": true, "dependencies": { - "debug": "^4.3.4", - "glob": "^7.2.0", - "is-glob": "^4.0.3", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" + "type-fest": "^0.20.2" }, "engines": { - "node": ">=4" + "node": ">=8" }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-import-resolver-webpack": { - "version": "0.13.2", + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", "license": "MIT", - "dependencies": { - "array-find": "^1.0.0", - "debug": "^3.2.7", - "enhanced-resolve": "^0.9.1", - "find-root": "^1.1.0", - "has": "^1.0.3", - "interpret": "^1.4.0", - "is-core-module": "^2.7.0", - "is-regex": "^1.1.4", - "lodash": "^4.17.21", - "resolve": "^1.20.0", - "semver": "^5.7.1" - }, + "peer": true, "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "eslint-plugin-import": ">=1.4.0", - "webpack": ">=1.11.0" + "node": ">=8" } }, - "node_modules/eslint-import-resolver-webpack/node_modules/debug": { - "version": "3.2.7", + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.6", "license": "MIT", - "dependencies": { - "ms": "^2.1.1" + "peer": true, + "engines": { + "node": ">= 4" } }, - "node_modules/eslint-import-resolver-webpack/node_modules/semver": { - "version": "5.7.1", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "license": "MIT", + "peer": true }, - "node_modules/eslint-loader": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-4.0.2.tgz", - "integrity": "sha512-EDpXor6lsjtTzZpLUn7KmXs02+nIjGcgees9BYjNkWra3jVq5vVa8IoCKgzT2M7dNNeoMBtaSG83Bd40N3poLw==", - "deprecated": "This loader has been deprecated. Please use eslint-webpack-plugin", - "dev": true, + "node_modules/eslint/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", "peer": true, "dependencies": { - "find-cache-dir": "^3.3.1", - "fs-extra": "^8.1.0", - "loader-utils": "^2.0.0", - "object-hash": "^2.0.3", - "schema-utils": "^2.6.5" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 10.13.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0", - "webpack": "^4.0.0 || ^5.0.0" + "node": ">=10" } }, - "node_modules/eslint-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, + "node_modules/eslint/node_modules/semver": { + "version": "7.3.8", + "license": "ISC", "peer": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "lru-cache": "^6.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/eslint-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peer": true, - "peerDependencies": { - "ajv": "^6.9.1" + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/eslint-loader/node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "peer": true, "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "license": "(MIT OR CC0-1.0)", + "peer": true, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-loader/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "peer": true, + "node_modules/esniff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", + "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "event-emitter": "^0.3.5", + "type": "^2.7.2" }, "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/eslint-loader/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "peer": true - }, - "node_modules/eslint-loader/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "peer": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "node": ">=0.10" } }, - "node_modules/eslint-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, + "node_modules/espree": { + "version": "7.3.1", + "license": "BSD-2-Clause", "peer": true, "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" }, "engines": { - "node": ">=8.9.0" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/eslint-loader/node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, + "node_modules/espree/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "peer": true, - "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=0.4.0" } }, - "node_modules/eslint-loader/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "license": "Apache-2.0", "peer": true, "engines": { - "node": ">= 4.0.0" + "node": ">=4" } }, - "node_modules/eslint-module-utils": { - "version": "2.7.4", - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" + "node_modules/esprima": { + "version": "4.0.1", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "license": "MIT", + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dependencies": { - "ms": "^2.1.1" + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" } }, - "node_modules/eslint-plugin-deprecation": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-deprecation/-/eslint-plugin-deprecation-1.4.1.tgz", - "integrity": "sha512-4vxTghWzxsBukPJVQupi6xlTuDc8Pyi1QlRCrFiLgwLPMJQW3cJCNaehJUKQqQFvuue5m4W27e179Y3Qjzeghg==", - "dev": true, - "peer": true, + "node_modules/esrecurse": { + "version": "4.3.0", + "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/utils": "^5.57.0", - "tslib": "^2.3.1", - "tsutils": "^3.21.0" + "estraverse": "^5.2.0" }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0", - "typescript": "^3.7.5 || ^4.0.0 || ^5.0.0" + "engines": { + "node": ">=4.0" } }, - "node_modules/eslint-plugin-deprecation/node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "dev": true, - "peer": true, + "node_modules/estraverse": { + "version": "5.3.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-to-babel": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/estree-to-babel/-/estree-to-babel-3.2.1.tgz", + "integrity": "sha512-YNF+mZ/Wu2FU/gvmzuWtYc8rloubL7wfXCTgouFrnjGVXPA/EeYYA7pupXWrb3Iv1cTBeSSxxJIbK23l4MRNqg==", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "@babel/traverse": "^7.1.6", + "@babel/types": "^7.2.0", + "c8": "^7.6.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=8.3.0" } }, - "node_modules/eslint-plugin-deprecation/node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "dev": true, - "peer": true, + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "node_modules/esutils": { + "version": "2.0.3", + "license": "BSD-2-Clause", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-deprecation/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dev": true, - "peer": true, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/event-emitter-es6": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/event-emitter-es6/-/event-emitter-es6-1.1.5.tgz", + "integrity": "sha512-/n7qzkJBySdbe1W9/FBDdO7gzDIaewgj+Rj6Ayc2BdvVcaGP+p40DyViOFudCgV47UU8+cUFmcD3tJgjwY65qQ==" + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=0.8.x" } }, - "node_modules/eslint-plugin-deprecation/node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dev": true, - "peer": true, + "node_modules/eventsource": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", + "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/exec-sh": { + "version": "0.3.6", + "license": "MIT" + }, + "node_modules/execa": { + "version": "5.1.1", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/eslint-plugin-deprecation/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "node_modules/execall": { + "version": "2.0.0", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "clone-regexp": "^2.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=8" } }, - "node_modules/eslint-plugin-deprecation/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "node_modules/exenv": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==" + }, + "node_modules/exit": { + "version": "0.1.2", "dev": true, - "peer": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">= 0.8.0" } }, - "node_modules/eslint-plugin-deprecation/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "peer": true, + "node_modules/expand-brackets": { + "version": "2.1.4", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-deprecation/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "peer": true, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import": { - "version": "2.26.0", + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", - "has": "^1.0.3", - "is-core-module": "^2.8.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", "license": "MIT", "dependencies": { - "ms": "2.0.0" + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "license": "Apache-2.0", + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", "dependencies": { - "esutils": "^2.0.2" + "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.0.0", + "node_modules/expand-brackets/node_modules/is-buffer": { + "version": "1.1.6", "license": "MIT" }, - "node_modules/eslint-plugin-jest": { - "version": "26.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz", - "integrity": "sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==", - "dev": true, - "peer": true, + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "license": "MIT", "dependencies": { - "@typescript-eslint/utils": "^5.10.0" + "kind-of": "^3.0.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-jest-dom": { - "version": "3.9.4", - "dev": true, + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", "license": "MIT", - "peer": true, "dependencies": { - "@babel/runtime": "^7.16.3", - "@testing-library/dom": "^7.31.2", - "requireindex": "^1.2.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": "^10.12.0 || >=12.0.0", - "npm": ">=6", - "yarn": ">=1" + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, - "peerDependencies": { - "eslint": ">=6.8" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-jest-dom/node_modules/@testing-library/dom": { - "version": "7.31.2", + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/expect": { + "version": "26.6.2", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^4.2.0", - "aria-query": "^4.2.2", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.6", - "lz-string": "^1.4.4", - "pretty-format": "^26.6.2" + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" }, "engines": { - "node": ">=10" + "node": ">= 10.14.2" } }, - "node_modules/eslint-plugin-jest-dom/node_modules/ansi-styles": { + "node_modules/expect/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -27791,24 +30408,10 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/eslint-plugin-jest-dom/node_modules/aria-query": { - "version": "4.2.2", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/eslint-plugin-jest-dom/node_modules/chalk": { + "node_modules/expect/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -27820,11 +30423,10 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/eslint-plugin-jest-dom/node_modules/color-convert": { + "node_modules/expect/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -27832,1043 +30434,942 @@ "node": ">=7.0.0" } }, - "node_modules/eslint-plugin-jest-dom/node_modules/color-name": { + "node_modules/expect/node_modules/color-name": { "version": "1.1.4", "dev": true, + "license": "MIT" + }, + "node_modules/expect/node_modules/diff-sequences": { + "version": "26.6.2", + "dev": true, "license": "MIT", - "peer": true + "engines": { + "node": ">= 10.14.2" + } }, - "node_modules/eslint-plugin-jest-dom/node_modules/has-flag": { + "node_modules/expect/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=8" } }, - "node_modules/eslint-plugin-jest-dom/node_modules/pretty-format": { + "node_modules/expect/node_modules/jest-diff": { "version": "26.6.2", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" }, "engines": { - "node": ">= 10" + "node": ">= 10.14.2" } }, - "node_modules/eslint-plugin-jest-dom/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true, - "peer": true - }, - "node_modules/eslint-plugin-jest-dom/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/expect/node_modules/jest-matcher-utils": { + "version": "26.6.2", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" }, "engines": { - "node": ">=8" - } - }, - "node_modules/eslint-plugin-jest-playwright": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest-playwright/-/eslint-plugin-jest-playwright-0.9.0.tgz", - "integrity": "sha512-BZP0/b/WeR35W2cp3Ru1xAHKgxLFk1YzPd2sdZqDSgp3ovbnf6xbvvSyJ8fUcpznJFkOxMwBOCsEOe1e21VNww==", - "dev": true, - "peer": true, - "dependencies": { - "eslint-plugin-playwright": "^0.9.0" + "node": ">= 10.14.2" } }, - "node_modules/eslint-plugin-local-rules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-2.0.0.tgz", - "integrity": "sha512-sWueme0kUcP0JC1+6OBDQ9edBDVFJR92WJHSRbhiRExlenMEuUisdaVBPR+ItFBFXo2Pdw6FD2UfGZWkz8e93g==" - }, - "node_modules/eslint-plugin-playwright": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-0.9.0.tgz", - "integrity": "sha512-5bxAhiKjRASSgtQ4IipwtdesgQ8GT9m0PK61Uqxclu/TpiZS4eaAksydVeiiSPIOQph5GvuuLA7+oBS0WkWO6w==", + "node_modules/expect/node_modules/jest-regex-util": { + "version": "26.0.0", "dev": true, - "peer": true, - "peerDependencies": { - "eslint": ">=7", - "eslint-plugin-jest": ">=24" - }, - "peerDependenciesMeta": { - "eslint-plugin-jest": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "3.4.1", "license": "MIT", - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "eslint": ">=5.0.0", - "prettier": ">=1.13.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } + "node": ">= 10.14.2" } }, - "node_modules/eslint-plugin-react": { - "version": "7.31.11", + "node_modules/expect/node_modules/pretty-format": { + "version": "26.6.2", + "dev": true, "license": "MIT", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.8" - }, - "engines": { - "node": ">=4" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "license": "MIT", "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + "node": ">= 10" } }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/expect/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", + "node_modules/expect/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-simple-import-sort": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-10.0.0.tgz", - "integrity": "sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==", - "peerDependencies": { - "eslint": ">=5.0.0" - } - }, - "node_modules/eslint-plugin-sonarjs": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.23.0.tgz", - "integrity": "sha512-z44T3PBf9W7qQ/aR+NmofOTyg6HLhSEZOPD4zhStqBpLoMp8GYhFksuUBnCxbnf1nfISpKBVkQhiBLFI/F4Wlg==", - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-plugin-sort-destructure-keys": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-sort-destructure-keys/-/eslint-plugin-sort-destructure-keys-1.5.0.tgz", - "integrity": "sha512-xGLyqHtbFXZNXQSvAiQ4ISBYokrbUywEhmaA50fKtSKgceCv5y3zjoNuZwcnajdM6q29Nxj+oXC9KcqfMsAPrg==", - "dependencies": { - "natural-compare-lite": "^1.4.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "eslint": "3 - 8" + "node": ">=8" } }, - "node_modules/eslint-plugin-testing-library": { - "version": "4.12.4", - "dev": true, - "license": "MIT", - "peer": true, + "node_modules/exports-loader": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.7.0.tgz", + "integrity": "sha512-RKwCrO4A6IiKm0pG3c9V46JxIHcDplwwGJn6+JJ1RcVnh/WSGJa0xkmk5cRVtgOPzCAtTMGj2F7nluh9L0vpSA==", "dependencies": { - "@typescript-eslint/experimental-utils": "^4.30.0" + "loader-utils": "^1.1.0", + "source-map": "0.5.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0", - "npm": ">=6" - }, - "peerDependencies": { - "eslint": "^7.5.0" + "node": ">= 4" } }, - "node_modules/eslint-plugin-typescript-sort-keys": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-typescript-sort-keys/-/eslint-plugin-typescript-sort-keys-2.3.0.tgz", - "integrity": "sha512-3LAcYulo5gNYiPWee+TksITfvWeBuBjGgcSLTacPESFVKEoy8laOQuZvJlSCwTBHT2SCGIxr3bJ56zuux+3MCQ==", - "dependencies": { - "@typescript-eslint/experimental-utils": "^5.0.0", - "json-schema": "^0.4.0", - "natural-compare-lite": "^1.4.0" - }, + "node_modules/exports-loader/node_modules/source-map": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.0.tgz", + "integrity": "sha512-gjGnxNN0K+/Pr4Mi4fs/pOtda10dKB6Wn9QvjOrH6v5TWsI7ghHuJUHoIgyM6DkUL5kr2GtPFGererzKpMBWfA==", "engines": { - "node": "12 || >= 13.9" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^1 || ^2 || ^3 || ^4 || ^5", - "eslint": "^5 || ^6 || ^7 || ^8", - "typescript": "^3 || ^4 || ^5" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-typescript-sort-keys/node_modules/@typescript-eslint/experimental-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", - "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "node_modules/express": { + "version": "4.18.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", + "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", "dependencies": { - "@typescript-eslint/utils": "5.62.0" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node": ">= 0.10.0" } }, - "node_modules/eslint-plugin-typescript-sort-keys/node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "ms": "2.0.0" } }, - "node_modules/eslint-plugin-typescript-sort-keys/node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "node_modules/express/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">= 0.8" } }, - "node_modules/eslint-plugin-typescript-sort-keys/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/eslint-plugin-typescript-sort-keys/node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "node_modules/express/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "side-channel": "^1.0.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=0.6" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-typescript-sort-keys/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "type": "^2.7.2" } }, - "node_modules/eslint-plugin-typescript-sort-keys/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } + "node_modules/extend": { + "version": "3.0.2", + "license": "MIT" }, - "node_modules/eslint-plugin-typescript-sort-keys/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/extend-shallow": { + "version": "3.0.2", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-typescript-sort-keys/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "node_modules/external-editor": { + "version": "3.1.0", + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/eslint-rule-docs": { - "version": "1.1.235", - "license": "MIT" - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "license": "BSD-2-Clause", + "node_modules/extglob": { + "version": "2.0.4", + "license": "MIT", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { - "node": ">=8.0.0" + "node": ">=0.10.0" } }, - "node_modules/eslint-scope/node_modules/estraverse": { - "version": "4.3.0", - "license": "BSD-2-Clause", + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, "engines": { - "node": ">=4.0" + "node": ">=0.10.0" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^2.0.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" + "node": ">=0.10.0" } }, - "node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "license": "Apache-2.0", + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/eslint-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", - "dev": true, - "peer": true, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.2.0", + "license": "Apache-2.0" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dependencies": { - "@types/eslint": "^7.29.0 || ^8.4.1", - "jest-worker": "^28.0.2", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0", - "webpack": "^5.0.0" + "node": ">=8.6.0" } }, - "node_modules/eslint-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "peer": true, + "node_modules/fast-json-parse": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz", + "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "license": "MIT" + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 4.9.1" } }, - "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", - "dev": true, - "peer": true, + "node_modules/fastq": { + "version": "1.13.0", + "license": "ISC", "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "reusify": "^1.0.4" } }, - "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dev": true, - "peer": true, + "node_modules/fault": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", + "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" + "format": "^0.2.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/eslint-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "peer": true, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dependencies": { - "has-flag": "^4.0.0" + "websocket-driver": ">=0.5.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=0.8.0" } }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "license": "MIT", - "peer": true, + "node_modules/fb-watchman": { + "version": "2.0.2", + "license": "Apache-2.0", "dependencies": { - "@babel/highlight": "^7.10.4" + "bser": "2.1.1" } }, - "node_modules/eslint/node_modules/ajv": { - "version": "6.12.6", - "license": "MIT", - "peer": true, + "node_modules/fbjs": { + "version": "0.8.18", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.18.tgz", + "integrity": "sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.30" } }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/fbjs/node_modules/core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js." + }, + "node_modules/fbjs/node_modules/ua-parser-js": { + "version": "0.7.37", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.37.tgz", + "integrity": "sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/fetch-retry": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/fetch-retry/-/fetch-retry-5.0.6.tgz", + "integrity": "sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==" + }, + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "deprecated": "This module is no longer supported." + }, + "node_modules/figures": { + "version": "3.2.0", "license": "MIT", - "peer": true, "dependencies": { - "color-convert": "^2.0.1" + "escape-string-regexp": "^1.0.5" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", + "node_modules/file-entry-cache": { + "version": "6.0.1", "license": "MIT", - "peer": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=10" + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "peer": true, + "node_modules/file-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dependencies": { - "color-name": "~1.1.4" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": ">=7.0.0" + "node": ">=8.9.0" } }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT", - "peer": true + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" + "node_modules/file-selector": { + "version": "0.1.19", + "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.1.19.tgz", + "integrity": "sha512-kCWw3+Aai8Uox+5tHCNgMFaUdgidxvMnLWO6fM5sZ0hA2wlHP5/DHGF0ECe84BiB95qdJbKNEJhWKVDvMN+JDQ==", + "dependencies": { + "tslib": "^2.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 10" } }, - "node_modules/eslint/node_modules/eslint-utils": { - "version": "2.1.0", - "license": "MIT", - "peer": true, + "node_modules/file-system-cache": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/file-system-cache/-/file-system-cache-1.1.0.tgz", + "integrity": "sha512-IzF5MBq+5CR0jXx5RxPe4BICl/oEhBSXKaL9fLhAXrIfIUS77Hr4vzrYyqYMHN6uTt+BOqi3fDCTjjEBCjERKw==", "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" + "fs-extra": "^10.1.0", + "ramda": "^0.28.0" } }, - "node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": ">=4" + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true + }, + "node_modules/filelist": { + "version": "1.0.4", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.18.0", + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", "license": "MIT", - "peer": true, "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "balanced-match": "^1.0.0" } }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "peer": true, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.1", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/eslint/node_modules/ignore": { - "version": "4.0.6", - "license": "MIT", - "peer": true, + "node_modules/filename-reserved-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", + "integrity": "sha512-UZArj7+U+2reBBVCvVmRlyq9D7EYQdUtuNN+1iz7pF1jGcJ2L0TjiRCxsTZfj2xFbM4c25uGCUDpKTHA7L2TKg==", "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/json-schema-traverse": { - "version": "0.4.1", - "license": "MIT", - "peer": true - }, - "node_modules/eslint/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "peer": true, + "node_modules/filenamify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", + "integrity": "sha512-DKVP0WQcB7WaIMSwDETqImRej2fepPqvXQjaVib7LRZn9Rxn5UbvK2tYTqGf1A1DkIprQQkG4XSQXSOZp7Q3GQ==", "dependencies": { - "yallist": "^4.0.0" + "filename-reserved-regex": "^1.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/semver": { - "version": "7.3.8", - "license": "ISC", - "peer": true, + "node_modules/filenamify-url": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz", + "integrity": "sha512-O9K9JcZeF5VdZWM1qR92NSv1WY2EofwudQayPx5dbnnFl9k0IcZha4eV/FGkjnBK+1irOQInij0yiooCHu/0Fg==", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "filenamify": "^1.0.0", + "humanize-url": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/fill-range": { + "version": "7.0.1", "license": "MIT", - "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "to-regex-range": "^5.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "license": "(MIT OR CC0-1.0)", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/esniff": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", - "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dependencies": { - "d": "^1.0.1", - "es5-ext": "^0.10.62", - "event-emitter": "^0.3.5", - "type": "^2.7.2" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" }, "engines": { - "node": ">=0.10" + "node": ">= 0.8" } }, - "node_modules/espree": { - "version": "7.3.1", - "license": "BSD-2-Clause", - "peer": true, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "ms": "2.0.0" } }, - "node_modules/espree/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "license": "Apache-2.0", - "peer": true, + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/esprima": { - "version": "4.0.1", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "node_modules/find-cache-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "node_modules/find-cache-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dependencies": { - "estraverse": "^5.1.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=0.10" + "node": ">=6" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "license": "BSD-2-Clause", + "node_modules/find-cache-dir/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dependencies": { - "estraverse": "^5.2.0" + "pify": "^4.0.1", + "semver": "^5.6.0" }, "engines": { - "node": ">=4.0" + "node": ">=6" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "license": "BSD-2-Clause", + "node_modules/find-cache-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, "engines": { - "node": ">=4.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/estree-to-babel": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/estree-to-babel/-/estree-to-babel-3.2.1.tgz", - "integrity": "sha512-YNF+mZ/Wu2FU/gvmzuWtYc8rloubL7wfXCTgouFrnjGVXPA/EeYYA7pupXWrb3Iv1cTBeSSxxJIbK23l4MRNqg==", + "node_modules/find-cache-dir/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dependencies": { - "@babel/traverse": "^7.1.6", - "@babel/types": "^7.2.0", - "c8": "^7.6.0" + "p-limit": "^2.0.0" }, "engines": { - "node": ">=8.3.0" + "node": ">=6" } }, - "node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" - }, - "node_modules/esutils": { - "version": "2.0.3", - "license": "BSD-2-Clause", + "node_modules/find-cache-dir/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "node_modules/find-cache-dir/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "node_modules/find-cache-dir/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dependencies": { - "d": "1", - "es5-ext": "~0.10.14" + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/event-emitter-es6": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/event-emitter-es6/-/event-emitter-es6-1.1.5.tgz", - "integrity": "sha512-/n7qzkJBySdbe1W9/FBDdO7gzDIaewgj+Rj6Ayc2BdvVcaGP+p40DyViOFudCgV47UU8+cUFmcD3tJgjwY65qQ==" + "node_modules/find-cache-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } }, - "node_modules/eventemitter3": { - "version": "4.0.7", + "node_modules/find-root": { + "version": "1.1.0", "license": "MIT" }, - "node_modules/events": { - "version": "3.3.0", + "node_modules/find-up": { + "version": "5.0.0", "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, "engines": { - "node": ">=0.8.x" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eventsource": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", - "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==", + "node_modules/find-up-simple": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.0.tgz", + "integrity": "sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==", "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/exec-sh": { - "version": "0.3.6", - "license": "MIT" - }, - "node_modules/execa": { - "version": "5.1.1", - "license": "MIT", + "node_modules/find-versions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-6.0.0.tgz", + "integrity": "sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==", + "peer": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "semver-regex": "^4.0.5", + "super-regex": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/execall": { - "version": "2.0.0", - "dev": true, + "node_modules/flat": { + "version": "5.0.2", + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", "license": "MIT", "dependencies": { - "clone-regexp": "^2.1.0" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=8" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/exenv": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", - "integrity": "sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==" + "node_modules/flatted": { + "version": "3.2.7", + "license": "ISC" }, - "node_modules/exit": { - "version": "0.1.2", - "dev": true, - "engines": { - "node": ">= 0.8.0" + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "license": "MIT", + "node_modules/flush-write-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", + "node_modules/flush-write-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/flush-write-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { - "ms": "2.0.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "license": "MIT", + "node_modules/focus-lock": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.8.1.tgz", + "integrity": "sha512-/LFZOIo82WDsyyv7h7oc0MJF9ACOvDRdx9rWPZ2pgMfNWu/z8hQDBtOchuB/0BVLmuFOZjV02YwUVzNsWx/EzA==", "dependencies": { - "is-descriptor": "^0.1.0" + "tslib": "^1.9.3" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", + "node_modules/focus-lock/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", + "node_modules/for-each": { + "version": "0.3.3", "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "is-callable": "^1.1.3" } }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", + "node_modules/for-in": { + "version": "1.0.2", "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/expand-brackets/node_modules/is-buffer": { - "version": "1.1.6", - "license": "MIT" - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "license": "MIT", + "node_modules/foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", "dependencies": { - "kind-of": "^3.0.2" + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.0" } }, - "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "license": "MIT", + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "engines": { + "node": "*" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", "dependencies": { - "is-buffer": "^1.1.5" + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" }, - "engines": { - "node": ">=0.10.0" + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } } }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "license": "MIT", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/expect": { - "version": "26.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - }, - "engines": { - "node": ">= 10.14.2" + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" } }, - "node_modules/expect/node_modules/ansi-styles": { + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { "version": "4.3.0", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { "color-convert": "^2.0.1" }, @@ -28879,10 +31380,10 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/expect/node_modules/chalk": { + "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { "version": "4.1.2", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -28894,10 +31395,10 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/expect/node_modules/color-convert": { + "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { "version": "2.0.1", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { "color-name": "~1.1.4" }, @@ -28905,87 +31406,99 @@ "node": ">=7.0.0" } }, - "node_modules/expect/node_modules/color-name": { + "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/expect/node_modules/diff-sequences": { - "version": "26.6.2", - "dev": true, - "license": "MIT", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, "engines": { - "node": ">= 10.14.2" + "node": ">=8" } }, - "node_modules/expect/node_modules/has-flag": { + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { "version": "4.0.0", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { "node": ">=8" } }, - "node_modules/expect/node_modules/jest-diff": { - "version": "26.6.2", - "dev": true, - "license": "MIT", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" } }, - "node_modules/expect/node_modules/jest-matcher-utils": { - "version": "26.6.2", - "dev": true, - "license": "MIT", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" }, "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/expect/node_modules/jest-regex-util": { - "version": "26.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.14.2" + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/expect/node_modules/pretty-format": { - "version": "26.6.2", - "dev": true, - "license": "MIT", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">= 10" + "node": ">=10" } }, - "node_modules/expect/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "node_modules/expect/node_modules/supports-color": { + "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { "version": "7.2.0", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { "has-flag": "^4.0.0" }, @@ -28993,671 +31506,672 @@ "node": ">=8" } }, - "node_modules/exports-loader": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.7.0.tgz", - "integrity": "sha512-RKwCrO4A6IiKm0pG3c9V46JxIHcDplwwGJn6+JJ1RcVnh/WSGJa0xkmk5cRVtgOPzCAtTMGj2F7nluh9L0vpSA==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, "dependencies": { - "loader-utils": "^1.1.0", - "source-map": "0.5.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": ">= 4" + "node": ">= 6" } }, - "node_modules/exports-loader/node_modules/source-map": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.0.tgz", - "integrity": "sha512-gjGnxNN0K+/Pr4Mi4fs/pOtda10dKB6Wn9QvjOrH6v5TWsI7ghHuJUHoIgyM6DkUL5kr2GtPFGererzKpMBWfA==", + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", "engines": { - "node": ">=0.10.0" + "node": ">=0.4.x" } }, - "node_modules/express": { - "version": "4.18.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", - "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "node_modules/formik": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/formik/-/formik-2.4.5.tgz", + "integrity": "sha512-Gxlht0TD3vVdzMDHwkiNZqJ7Mvg77xQNfmBRrNtvzcHZs72TJppSTDKHpImCMJZwcWPBJ8jSQQ95GJzXFf1nAQ==", + "funding": [ + { + "type": "individual", + "url": "https://opencollective.com/formik" + } + ], "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.2", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "@types/hoist-non-react-statics": "^3.3.1", + "deepmerge": "^2.1.1", + "hoist-non-react-statics": "^3.3.0", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "react-fast-compare": "^2.0.1", + "tiny-warning": "^1.0.2", + "tslib": "^2.0.0" }, - "engines": { - "node": ">= 0.10.0" + "peerDependencies": { + "react": ">=16.8.0" } }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" + "node_modules/formik/node_modules/deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/express/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/express/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", "engines": { - "node": ">=0.6" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "dependencies": { - "type": "^2.7.2" + "type": "patreon", + "url": "https://github.com/sponsors/rawify" } }, - "node_modules/extend": { - "version": "3.0.2", - "license": "MIT" - }, - "node_modules/extend-shallow": { - "version": "3.0.2", + "node_modules/fragment-cache": { + "version": "0.2.1", "license": "MIT", "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "map-cache": "^0.2.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/external-editor": { - "version": "3.1.0", - "license": "MIT", + "node_modules/framer-motion": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-6.5.1.tgz", + "integrity": "sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw==", "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" + "@motionone/dom": "10.12.0", + "framesync": "6.0.1", + "hey-listen": "^1.0.8", + "popmotion": "11.0.3", + "style-value-types": "5.0.0", + "tslib": "^2.1.0" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "license": "MIT", - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "optionalDependencies": { + "@emotion/is-prop-valid": "^0.8.2" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "react": ">=16.8 || ^17.0.0 || ^18.0.0", + "react-dom": ">=16.8 || ^17.0.0 || ^18.0.0" } }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "license": "MIT", + "node_modules/framesync": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.0.1.tgz", + "integrity": "sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA==", "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "tslib": "^2.1.0" } }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "license": "MIT" - }, - "node_modules/fast-diff": { - "version": "1.2.0", - "license": "Apache-2.0" + "node_modules/from2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/fast-json-parse": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz", - "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==" + "node_modules/from2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "license": "MIT" + "node_modules/from2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", + "node_modules/fs-constants": { + "version": "1.0.0", + "dev": true, "license": "MIT" }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", + "node_modules/fs-extra": { + "version": "10.1.0", "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, "engines": { - "node": ">= 4.9.1" + "node": ">=12" } }, - "node_modules/fastq": { - "version": "1.13.0", + "node_modules/fs-minipass": { + "version": "2.1.0", "license": "ISC", "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fault": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", - "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", - "dependencies": { - "format": "^0.2.0" + "minipass": "^3.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "engines": { + "node": ">= 8" } }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "node_modules/fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" } }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "license": "Apache-2.0", + "node_modules/fs-write-stream-atomic/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { - "bser": "2.1.1" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/fbjs": { - "version": "0.8.18", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.18.tgz", - "integrity": "sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==", + "node_modules/fs-write-stream-atomic/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.30" + "safe-buffer": "~5.1.0" } }, - "node_modules/fbjs/node_modules/core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js." + "node_modules/fs.realpath": { + "version": "1.0.0", + "license": "ISC" }, - "node_modules/fbjs/node_modules/ua-parser-js": { - "version": "0.7.37", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.37.tgz", - "integrity": "sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" ], "engines": { - "node": "*" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/fetch-retry": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/fetch-retry/-/fetch-retry-5.0.6.tgz", - "integrity": "sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==" + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "deprecated": "This module is no longer supported." + "node_modules/function-timeout": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz", + "integrity": "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==", + "peer": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/figures": { - "version": "3.2.0", - "license": "MIT", + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dependencies": { - "escape-string-regexp": "^1.0.5" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "license": "MIT", + "peer": true + }, + "node_modules/functions-have-names": { + "version": "1.2.3", "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "4.0.4", + "license": "ISC", "dependencies": { - "flat-cache": "^3.0.4" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/file-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", "engines": { - "node": ">=8.9.0" + "node": ">=6" } }, - "node_modules/file-saver": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", - "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "license": "ISC" }, - "node_modules/file-selector": { - "version": "0.1.19", - "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.1.19.tgz", - "integrity": "sha512-kCWw3+Aai8Uox+5tHCNgMFaUdgidxvMnLWO6fM5sZ0hA2wlHP5/DHGF0ECe84BiB95qdJbKNEJhWKVDvMN+JDQ==", - "dependencies": { - "tslib": "^2.0.1" - }, + "node_modules/get-package-type": { + "version": "0.1.0", + "license": "MIT", "engines": { - "node": ">= 10" + "node": ">=8.0.0" } }, - "node_modules/file-system-cache": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/file-system-cache/-/file-system-cache-1.1.0.tgz", - "integrity": "sha512-IzF5MBq+5CR0jXx5RxPe4BICl/oEhBSXKaL9fLhAXrIfIUS77Hr4vzrYyqYMHN6uTt+BOqi3fDCTjjEBCjERKw==", + "node_modules/get-pkg-repo": { + "version": "4.2.1", + "dev": true, + "license": "MIT", "dependencies": { - "fs-extra": "^10.1.0", - "ramda": "^0.28.0" + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "get-pkg-repo": "src/cli.js" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/file-uri-to-path": { + "node_modules/get-pkg-repo/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "optional": true + "dev": true, + "license": "MIT" }, - "node_modules/filelist": { - "version": "1.0.4", - "license": "Apache-2.0", + "node_modules/get-pkg-repo/node_modules/readable-stream": { + "version": "2.3.7", + "dev": true, + "license": "MIT", "dependencies": { - "minimatch": "^5.0.1" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/get-pkg-repo/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/get-pkg-repo/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.1", - "license": "ISC", + "node_modules/get-pkg-repo/node_modules/through2": { + "version": "2.0.5", + "dev": true, + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/filename-reserved-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", - "integrity": "sha512-UZArj7+U+2reBBVCvVmRlyq9D7EYQdUtuNN+1iz7pF1jGcJ2L0TjiRCxsTZfj2xFbM4c25uGCUDpKTHA7L2TKg==", - "engines": { - "node": ">=0.10.0" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/filenamify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", - "integrity": "sha512-DKVP0WQcB7WaIMSwDETqImRej2fepPqvXQjaVib7LRZn9Rxn5UbvK2tYTqGf1A1DkIprQQkG4XSQXSOZp7Q3GQ==", + "node_modules/get-pkg-repo/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", "dependencies": { - "filename-reserved-regex": "^1.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/filenamify-url": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz", - "integrity": "sha512-O9K9JcZeF5VdZWM1qR92NSv1WY2EofwudQayPx5dbnnFl9k0IcZha4eV/FGkjnBK+1irOQInij0yiooCHu/0Fg==", - "dependencies": { - "filenamify": "^1.0.0", - "humanize-url": "^1.0.0" - }, + "node_modules/get-pkg-repo/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/fill-range": { - "version": "7.0.1", + "node_modules/get-port": { + "version": "5.1.1", + "dev": true, "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, "engines": { "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" }, - "engines": { - "node": ">= 0.8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" + "node_modules/get-stdin": { + "version": "8.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, + "node_modules/get-stream": { + "version": "6.0.1", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-cache-dir/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dependencies": { - "locate-path": "^3.0.0" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "node_modules/get-user-locale": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-user-locale/-/get-user-locale-2.3.1.tgz", + "integrity": "sha512-VEvcsqKYx7zhZYC1CjecrDC5ziPSpl1gSm0qFFJhHSGDrSC+x4+p1KojWC/83QX//j476gFhkVXP/kNUc9q+bQ==", "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "@types/lodash.memoize": "^4.1.7", + "lodash.memoize": "^4.1.1" }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/wojtekmaj/get-user-locale?sponsor=1" } }, - "node_modules/find-cache-dir/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, + "node_modules/get-value": { + "version": "2.0.6", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/find-cache-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "assert-plus": "^1.0.0" } }, - "node_modules/find-cache-dir/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "node_modules/gh-pages": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-2.2.0.tgz", + "integrity": "sha512-c+yPkNOPMFGNisYg9r4qvsMIjVYikJv7ImFOhPIVPt0+AcRUamZ7zkGRLHz7FKB0xrlZ+ddSOJsZv9XAFVXLmA==", "dependencies": { - "p-limit": "^2.0.0" + "async": "^2.6.1", + "commander": "^2.18.0", + "email-addresses": "^3.0.1", + "filenamify-url": "^1.0.0", + "fs-extra": "^8.1.0", + "globby": "^6.1.0" + }, + "bin": { + "gh-pages": "bin/gh-pages.js", + "gh-pages-clean": "bin/gh-pages-clean.js" }, "engines": { "node": ">=6" } }, - "node_modules/find-cache-dir/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "node_modules/gh-pages/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dependencies": { + "array-uniq": "^1.0.1" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/find-cache-dir/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" + "node_modules/gh-pages/node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dependencies": { + "lodash": "^4.17.14" } }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "node_modules/gh-pages/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/gh-pages/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dependencies": { - "find-up": "^3.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "bin": { - "semver": "bin/semver" + "node": ">=6 <7 || >=8" } }, - "node_modules/find-root": { - "version": "1.1.0", - "license": "MIT" - }, - "node_modules/find-up": { - "version": "5.0.0", - "license": "MIT", + "node_modules/gh-pages/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/flat": { - "version": "5.0.2", - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" + "node_modules/gh-pages/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/flat-cache": { - "version": "3.0.4", - "license": "MIT", - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, + "node_modules/gh-pages/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=0.10.0" } }, - "node_modules/flatted": { - "version": "3.2.7", - "license": "ISC" + "node_modules/gh-pages/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "node_modules/git-log-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.0.tgz", + "integrity": "sha512-rnCVNfkTL8tdNryFuaY0fYiBWEBcgF748O6ZI61rslBvr2o7U65c2/6npCRqH40vuAhtgtDiqLTJjBVdrejCzA==", + "peer": true, "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "argv-formatter": "~1.0.0", + "spawn-error-forwarder": "~1.0.0", + "split2": "~1.0.0", + "stream-combiner2": "~1.1.1", + "through2": "~2.0.0", + "traverse": "~0.6.6" } }, - "node_modules/flush-write-stream/node_modules/isarray": { + "node_modules/git-log-parser/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "peer": true }, - "node_modules/flush-write-stream/node_modules/readable-stream": { + "node_modules/git-log-parser/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "peer": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -29668,431 +32182,370 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/flush-write-stream/node_modules/safe-buffer": { + "node_modules/git-log-parser/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "peer": true }, - "node_modules/flush-write-stream/node_modules/string_decoder": { + "node_modules/git-log-parser/node_modules/split2": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-1.0.0.tgz", + "integrity": "sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==", + "peer": true, + "dependencies": { + "through2": "~2.0.0" + } + }, + "node_modules/git-log-parser/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "peer": true, "dependencies": { "safe-buffer": "~5.1.0" } }, - "node_modules/focus-lock": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.8.1.tgz", - "integrity": "sha512-/LFZOIo82WDsyyv7h7oc0MJF9ACOvDRdx9rWPZ2pgMfNWu/z8hQDBtOchuB/0BVLmuFOZjV02YwUVzNsWx/EzA==", + "node_modules/git-log-parser/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "peer": true, "dependencies": { - "tslib": "^1.9.3" - }, - "engines": { - "node": ">=10" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/focus-lock/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], + "node_modules/git-raw-commits": { + "version": "2.0.11", + "dev": true, "license": "MIT", - "engines": { - "node": ">=4.0" + "dependencies": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } + "bin": { + "git-raw-commits": "cli.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/for-each": { - "version": "0.3.3", + "node_modules/git-remote-origin-url": { + "version": "2.0.0", + "dev": true, "license": "MIT", "dependencies": { - "is-callable": "^1.1.3" + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/for-in": { - "version": "1.0.2", + "node_modules/git-remote-origin-url/node_modules/pify": { + "version": "2.3.0", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "node_modules/git-revision-webpack-plugin": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/git-revision-webpack-plugin/-/git-revision-webpack-plugin-5.0.0.tgz", + "integrity": "sha512-RptQN/4UKcEPkCBmRy8kLPo5i8MnF8+XfAgFYN9gbwmKLTLx4YHsQw726H+C5+sIGDixDkmGL3IxPA2gKo+u4w==", "engines": { - "node": "*" + "node": ">=10" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "node_modules/git-semver-tags": { + "version": "4.1.1", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=10", - "yarn": ">=1.0.0" + "meow": "^8.0.0", + "semver": "^6.0.0" }, - "peerDependencies": { - "eslint": ">= 6", - "typescript": ">= 2.7", - "vue-template-compiler": "*", - "webpack": ">= 4" + "bin": { + "git-semver-tags": "cli.js" }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } + "engines": { + "node": ">=10" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/git-up": { + "version": "7.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "is-ssh": "^1.4.0", + "parse-url": "^8.1.0" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "peerDependencies": { - "ajv": "^6.9.1" + "node_modules/git-url-parse": { + "version": "13.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "git-up": "^7.0.0" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/gitconfiglocal": { + "version": "1.0.0", + "dev": true, + "license": "BSD", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "ini": "^1.3.2" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" + }, + "node_modules/glob": { + "version": "7.2.3", + "license": "ISC", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=10" + "node": "*" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/glob-parent": { + "version": "5.1.2", + "license": "ISC", "dependencies": { - "color-name": "~1.1.4" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=7.0.0" + "node": ">= 6" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "node_modules/glob-promise": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/glob-promise/-/glob-promise-3.4.0.tgz", + "integrity": "sha512-q08RJ6O+eJn+dVanerAndJwIcumgbDdYiUT7zFQl3Wm1xD6fBKtah7H8ZJChj4wP+8C+QfeVy8xautR7rdmKEw==", "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" + "@types/glob": "*" }, "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "node": ">=4" }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" + "peerDependencies": { + "glob": "*" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/json-schema-traverse": { + "node_modules/glob-to-regexp": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } + "license": "BSD-2-Clause" }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "node_modules/global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "min-document": "^2.19.0", + "process": "^0.11.10" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "node_modules/global-dirs": { + "version": "0.1.1", + "dev": true, + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "ini": "^1.3.4" }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/global-modules": { + "version": "2.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "global-prefix": "^3.0.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "engines": { "node": ">=6" } }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "node_modules/global-prefix": { + "version": "3.0.0", "dev": true, + "license": "MIT", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/format": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", - "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", - "engines": { - "node": ">=0.4.x" + "node": ">=6" } }, - "node_modules/formik": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/formik/-/formik-2.4.5.tgz", - "integrity": "sha512-Gxlht0TD3vVdzMDHwkiNZqJ7Mvg77xQNfmBRrNtvzcHZs72TJppSTDKHpImCMJZwcWPBJ8jSQQ95GJzXFf1nAQ==", - "funding": [ - { - "type": "individual", - "url": "https://opencollective.com/formik" - } - ], + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "dev": true, + "license": "ISC", "dependencies": { - "@types/hoist-non-react-statics": "^3.3.1", - "deepmerge": "^2.1.1", - "hoist-non-react-statics": "^3.3.0", - "lodash": "^4.17.21", - "lodash-es": "^4.17.21", - "react-fast-compare": "^2.0.1", - "tiny-warning": "^1.0.2", - "tslib": "^2.0.0" + "isexe": "^2.0.0" }, - "peerDependencies": { - "react": ">=16.8.0" + "bin": { + "which": "bin/which" } }, - "node_modules/formik/node_modules/deepmerge": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", - "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", + "node_modules/globals": { + "version": "11.12.0", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dependencies": { + "define-properties": "^1.1.3" + }, "engines": { - "node": ">= 0.6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "node_modules/globby": { + "version": "11.1.0", + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, "engines": { - "node": "*" + "node": ">=10" }, "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fragment-cache": { - "version": "0.2.1", + "node_modules/globjoin": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/gonzales-pe": { + "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { - "map-cache": "^0.2.2" + "minimist": "^1.2.5" + }, + "bin": { + "gonzales": "bin/gonzales.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.6.0" } }, - "node_modules/framer-motion": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-6.5.1.tgz", - "integrity": "sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw==", + "node_modules/good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==", + "optional": true, "dependencies": { - "@motionone/dom": "10.12.0", - "framesync": "6.0.1", - "hey-listen": "^1.0.8", - "popmotion": "11.0.3", - "style-value-types": "5.0.0", - "tslib": "^2.1.0" - }, - "optionalDependencies": { - "@emotion/is-prop-valid": "^0.8.2" - }, - "peerDependencies": { - "react": ">=16.8 || ^17.0.0 || ^18.0.0", - "react-dom": ">=16.8 || ^17.0.0 || ^18.0.0" + "delegate": "^3.1.2" } }, - "node_modules/framesync": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.0.1.tgz", - "integrity": "sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA==", + "node_modules/google-closure-library": { + "version": "20190301.0.0", + "resolved": "https://registry.npmjs.org/google-closure-library/-/google-closure-library-20190301.0.0.tgz", + "integrity": "sha512-mpeszbnXpRhXZ0sPqUxBgUmk0RtmzrJRy3KFygp0Ih9JuRUjQTCLhwYQeIlK2vB2lShhY/KUo9E1Z1gvxDFxOQ==" + }, + "node_modules/gopd": { + "version": "1.0.1", + "license": "MIT", "dependencies": { - "tslib": "^2.1.0" + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "node_modules/graceful-fs": { + "version": "4.2.10", + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/graphql": { + "version": "16.8.1", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", + "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==", "engines": { - "node": ">= 0.6" + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" } }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "node_modules/growly": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/gud": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" + }, + "node_modules/gulp-babel": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-6.1.3.tgz", + "integrity": "sha512-tm15R3rt4gO59WXCuqrwf4QXJM9VIJC+0J2NPYSC6xZn+cZRD5y5RPGAiHaDxCJq7Rz5BDljlrk3cEjWADF+wQ==", "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "babel-core": "^6.23.1", + "object-assign": "^4.0.1", + "plugin-error": "^1.0.1", + "replace-ext": "0.0.1", + "through2": "^2.0.0", + "vinyl-sourcemaps-apply": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/from2/node_modules/isarray": { + "node_modules/gulp-babel/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, - "node_modules/from2/node_modules/readable-stream": { + "node_modules/gulp-babel/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", @@ -30106,12 +32559,12 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/from2/node_modules/safe-buffer": { + "node_modules/gulp-babel/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/from2/node_modules/string_decoder": { + "node_modules/gulp-babel/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", @@ -30119,187 +32572,188 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/fs-extra": { - "version": "10.1.0", - "license": "MIT", + "node_modules/gulp-babel/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "license": "ISC", + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", "dependencies": { - "minipass": "^3.0.0" + "duplexer": "^0.1.2" }, "engines": { - "node": ">= 8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "node_modules/handlebars": { + "version": "4.7.7", + "license": "MIT", "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" } }, - "node_modules/fs-write-stream-atomic/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "engines": { + "node": ">=4" + } }, - "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/fs-write-stream-atomic/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/har-validator/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { - "safe-buffer": "~5.1.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "license": "ISC" + "node_modules/har-validator/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], + "node_modules/hard-rejection": { + "version": "2.1.0", + "dev": true, + "license": "MIT", "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=6" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", + "dev": true }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "node_modules/has": { + "version": "1.0.3", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "function-bind": "^1.1.1" }, "engines": { - "node": ">= 0.4" + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dependencies": { + "ansi-regex": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "license": "MIT", - "peer": true + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/functions-have-names": { - "version": "1.2.3", + "node_modules/has-bigints": { + "version": "1.0.2", "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", + "node_modules/has-flag": { + "version": "3.0.0", "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=4" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "license": "ISC", + "node_modules/has-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-glob/-/has-glob-1.0.0.tgz", + "integrity": "sha512-D+8A457fBShSEI3tFCj65PAbT++5sKiFtdCdOam0gnfBgw9D277OERk+HM9qYJXmdVLZ/znez10SqHN0BBQ50g==", + "dependencies": { + "is-glob": "^3.0.0" + }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=0.10.0" } }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "peer": true, + "node_modules/has-glob/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dependencies": { + "is-extglob": "^2.1.0" + }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "es-define-property": "^1.0.0" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "engines": { "node": ">= 0.4" }, @@ -30307,1123 +32761,1340 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-nonce": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", - "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "node_modules/has-symbols": { + "version": "1.0.3", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "license": "ISC" - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "license": "MIT", + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dependencies": { + "has-symbols": "^1.0.3" + }, "engines": { - "node": ">=8.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-pkg-repo": { - "version": "4.2.1", - "dev": true, + "node_modules/has-unicode": { + "version": "2.0.1", + "license": "ISC" + }, + "node_modules/has-value": { + "version": "1.0.0", "license": "MIT", "dependencies": { - "@hutson/parse-repository-url": "^3.0.0", - "hosted-git-info": "^4.0.0", - "through2": "^2.0.0", - "yargs": "^16.2.0" - }, - "bin": { - "get-pkg-repo": "src/cli.js" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=0.10.0" } }, - "node_modules/get-pkg-repo/node_modules/isarray": { + "node_modules/has-values": { "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/get-pkg-repo/node_modules/readable-stream": { - "version": "2.3.7", - "dev": true, "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/get-pkg-repo/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, + "node_modules/has-values/node_modules/is-buffer": { + "version": "1.1.6", "license": "MIT" - }, - "node_modules/get-pkg-repo/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/get-pkg-repo/node_modules/through2": { - "version": "2.0.5", - "dev": true, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", "license": "MIT", "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/get-pkg-repo/node_modules/yargs": { - "version": "16.2.0", - "dev": true, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", "license": "MIT", "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/get-pkg-repo/node_modules/yargs-parser": { - "version": "20.2.9", - "dev": true, - "license": "ISC", + "node_modules/hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/get-port": { - "version": "5.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "node_modules/get-stdin": { - "version": "8.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" + "node_modules/hashish": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/hashish/-/hashish-0.0.4.tgz", + "integrity": "sha512-xyD4XgslstNAs72ENaoFvgMwtv8xhiDtC2AtzCG+8yF7W/Knxxm9BX+e2s25mm+HxMKh0rBmXVOEGF3zNImXvA==", + "dependencies": { + "traverse": ">=0.2.4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "*" } }, - "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", "dependencies": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" + "function-bind": "^1.1.2" }, "engines": { "node": ">= 0.4" + } + }, + "node_modules/hast-to-hyperscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", + "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", + "dependencies": { + "@types/unist": "^2.0.3", + "comma-separated-tokens": "^1.0.0", + "property-information": "^5.3.0", + "space-separated-tokens": "^1.0.0", + "style-to-object": "^0.3.0", + "unist-util-is": "^4.0.0", + "web-namespaces": "^1.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/get-user-locale": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-user-locale/-/get-user-locale-2.3.1.tgz", - "integrity": "sha512-VEvcsqKYx7zhZYC1CjecrDC5ziPSpl1gSm0qFFJhHSGDrSC+x4+p1KojWC/83QX//j476gFhkVXP/kNUc9q+bQ==", + "node_modules/hast-util-from-parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", + "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", "dependencies": { - "@types/lodash.memoize": "^4.1.7", - "lodash.memoize": "^4.1.1" + "@types/parse5": "^5.0.0", + "hastscript": "^6.0.0", + "property-information": "^5.0.0", + "vfile": "^4.0.0", + "vfile-location": "^3.2.0", + "web-namespaces": "^1.0.0" }, "funding": { - "url": "https://github.com/wojtekmaj/get-user-locale?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/get-value": { - "version": "2.0.6", - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/hast-util-parse-selector": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "node_modules/hast-util-raw": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz", + "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==", "dependencies": { - "assert-plus": "^1.0.0" + "@types/hast": "^2.0.0", + "hast-util-from-parse5": "^6.0.0", + "hast-util-to-parse5": "^6.0.0", + "html-void-elements": "^1.0.0", + "parse5": "^6.0.0", + "unist-util-position": "^3.0.0", + "vfile": "^4.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/gh-pages": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-2.2.0.tgz", - "integrity": "sha512-c+yPkNOPMFGNisYg9r4qvsMIjVYikJv7ImFOhPIVPt0+AcRUamZ7zkGRLHz7FKB0xrlZ+ddSOJsZv9XAFVXLmA==", + "node_modules/hast-util-raw/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/hast-util-to-parse5": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz", + "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==", "dependencies": { - "async": "^2.6.1", - "commander": "^2.18.0", - "email-addresses": "^3.0.1", - "filenamify-url": "^1.0.0", - "fs-extra": "^8.1.0", - "globby": "^6.1.0" - }, - "bin": { - "gh-pages": "bin/gh-pages.js", - "gh-pages-clean": "bin/gh-pages-clean.js" + "hast-to-hyperscript": "^9.0.0", + "property-information": "^5.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" }, - "engines": { - "node": ">=6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/gh-pages/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "node_modules/hastscript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", "dependencies": { - "array-uniq": "^1.0.1" + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/gh-pages/node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dependencies": { - "lodash": "^4.17.14" + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" } }, - "node_modules/gh-pages/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "node_modules/headers-polyfill": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-3.2.5.tgz", + "integrity": "sha512-tUCGvt191vNSQgttSyJoibR+VO+I6+iCHIUdhzEMJKE+EAL8BwCN7fUOZlY4ofOelNHsK+gEjxB/B+9N3EWtdA==" }, - "node_modules/gh-pages/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, + "node_modules/hey-listen": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" + }, + "node_modules/highlight.js": { + "version": "9.18.5", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.5.tgz", + "integrity": "sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==", + "deprecated": "Support has ended for 9.x series. Upgrade to @latest", + "hasInstallScript": true, "engines": { - "node": ">=6 <7 || >=8" + "node": "*" } }, - "node_modules/gh-pages/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "node_modules/history": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz", + "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==", "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" + "@babel/runtime": "^7.7.6" } }, - "node_modules/gh-pages/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/gh-pages/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==", + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/gh-pages/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/hook-std": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-3.0.0.tgz", + "integrity": "sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==", + "peer": true, "engines": { - "node": ">= 4.0.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/git-raw-commits": { - "version": "2.0.11", - "dev": true, - "license": "MIT", + "node_modules/hosted-git-info": { + "version": "4.1.0", + "license": "ISC", "dependencies": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "bin": { - "git-raw-commits": "cli.js" + "lru-cache": "^6.0.0" }, "engines": { "node": ">=10" } }, - "node_modules/git-remote-origin-url": { - "version": "2.0.0", - "dev": true, - "license": "MIT", + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", "dependencies": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/git-remote-origin-url/node_modules/pify": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" } }, - "node_modules/git-revision-webpack-plugin": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/git-revision-webpack-plugin/-/git-revision-webpack-plugin-5.0.0.tgz", - "integrity": "sha512-RptQN/4UKcEPkCBmRy8kLPo5i8MnF8+XfAgFYN9gbwmKLTLx4YHsQw726H+C5+sIGDixDkmGL3IxPA2gKo+u4w==", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "webpack": "^5.0.0" + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/git-semver-tags": { - "version": "4.1.1", - "dev": true, - "license": "MIT", + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { - "meow": "^8.0.0", - "semver": "^6.0.0" - }, - "bin": { - "git-semver-tags": "cli.js" + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dependencies": { + "whatwg-encoding": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" } }, - "node_modules/git-up": { - "version": "7.0.0", - "dev": true, - "license": "MIT", + "node_modules/html-entities": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "license": "MIT" + }, + "node_modules/html-loader": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-1.3.2.tgz", + "integrity": "sha512-DEkUwSd0sijK5PF3kRWspYi56XP7bTNkyg5YWSzBdjaSDmvCufep5c4Vpb3PBf6lUL0YPtLwBfy9fL0t5hBAGA==", "dependencies": { - "is-ssh": "^1.4.0", - "parse-url": "^8.1.0" + "html-minifier-terser": "^5.1.1", + "htmlparser2": "^4.1.0", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/git-url-parse": { - "version": "13.1.0", - "dev": true, - "license": "MIT", + "node_modules/html-loader/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dependencies": { - "git-up": "^7.0.0" + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/gitconfiglocal": { - "version": "1.0.0", - "dev": true, - "license": "BSD", + "node_modules/html-loader/node_modules/dom-serializer/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dependencies": { - "ini": "^1.3.2" + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/github-slugger": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", - "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" + "node_modules/html-loader/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] }, - "node_modules/glob": { - "version": "7.2.3", - "license": "ISC", + "node_modules/html-loader/node_modules/domhandler": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", + "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "domelementtype": "^2.0.1" }, "engines": { - "node": "*" + "node": ">= 4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/glob-parent": { - "version": "5.1.2", - "license": "ISC", + "node_modules/html-loader/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dependencies": { - "is-glob": "^4.0.1" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" }, - "engines": { - "node": ">= 6" + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/glob-promise": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/glob-promise/-/glob-promise-3.4.0.tgz", - "integrity": "sha512-q08RJ6O+eJn+dVanerAndJwIcumgbDdYiUT7zFQl3Wm1xD6fBKtah7H8ZJChj4wP+8C+QfeVy8xautR7rdmKEw==", + "node_modules/html-loader/node_modules/domutils/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dependencies": { - "@types/glob": "*" + "domelementtype": "^2.2.0" }, "engines": { - "node": ">=4" + "node": ">= 4" }, - "peerDependencies": { - "glob": "*" + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "license": "BSD-2-Clause" + "node_modules/html-loader/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, - "node_modules/global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "node_modules/html-loader/node_modules/htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", "dependencies": { - "min-document": "^2.19.0", - "process": "^0.11.10" + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" } }, - "node_modules/global-dirs": { - "version": "0.1.1", - "dev": true, - "license": "MIT", + "node_modules/html-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dependencies": { - "ini": "^1.3.4" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": ">=4" + "node": ">=8.9.0" } }, - "node_modules/global-modules": { - "version": "2.0.0", - "dev": true, - "license": "MIT", + "node_modules/html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", "dependencies": { - "global-prefix": "^3.0.0" + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "bin": { + "html-minifier-terser": "cli.js" }, "engines": { "node": ">=6" } }, - "node_modules/global-prefix": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "engines": { - "node": ">=6" + "node": ">= 6" } }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "dev": true, - "license": "ISC", + "node_modules/html-minifier-terser/node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dependencies": { - "isexe": "^2.0.0" + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" }, "bin": { - "which": "bin/which" + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/globals": { - "version": "11.12.0", + "node_modules/html-minifier-terser/node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/html-parse-stringify": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", + "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", + "dependencies": { + "void-elements": "3.1.0" + } + }, + "node_modules/html-tags": { + "version": "3.2.0", "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "node_modules/html-void-elements": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", + "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", + "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", "dependencies": { - "define-properties": "^1.1.3" + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10.13.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, - "node_modules/globby": { - "version": "11.1.0", - "license": "MIT", + "node_modules/html-webpack-plugin/node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "source-map": "~0.6.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 10.0" } }, - "node_modules/globjoin": { - "version": "0.1.4", - "dev": true, - "license": "MIT" + "node_modules/html-webpack-plugin/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } }, - "node_modules/gonzales-pe": { - "version": "4.3.0", - "dev": true, - "license": "MIT", + "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", "dependencies": { - "minimist": "^1.2.5" + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" }, "bin": { - "gonzales": "bin/gonzales.js" + "html-minifier-terser": "cli.js" }, "engines": { - "node": ">=0.6.0" + "node": ">=12" } }, - "node_modules/good-listener": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", - "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==", - "optional": true, - "dependencies": { - "delegate": "^3.1.2" + "node_modules/html-webpack-plugin/node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" } }, - "node_modules/google-closure-library": { - "version": "20190301.0.0", - "resolved": "https://registry.npmjs.org/google-closure-library/-/google-closure-library-20190301.0.0.tgz", - "integrity": "sha512-mpeszbnXpRhXZ0sPqUxBgUmk0RtmzrJRy3KFygp0Ih9JuRUjQTCLhwYQeIlK2vB2lShhY/KUo9E1Z1gvxDFxOQ==" - }, - "node_modules/gopd": { - "version": "1.0.1", - "license": "MIT", + "node_modules/html-webpack-tags-plugin": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/html-webpack-tags-plugin/-/html-webpack-tags-plugin-2.0.17.tgz", + "integrity": "sha512-TKT8hnumMni6ztKfWZpP+UBeA7+aUn+qQQ4c9wT/p1IGTO/QWoIc19E+ZrxCcToDMjBO1NMYWkUbW4c4NtlGvg==", "dependencies": { - "get-intrinsic": "^1.1.3" + "glob": "^7.1.4", + "minimatch": "^3.0.4", + "slash": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "license": "ISC" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/graphql": { - "version": "16.8.1", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", - "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==", + "node_modules/html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "dependencies": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + }, "engines": { - "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + "node": ">=8.0.0" } }, - "node_modules/growly": { - "version": "1.3.0", - "dev": true, + "node_modules/htmlparser2": { + "version": "3.10.1", "license": "MIT", - "optional": true + "dependencies": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } }, - "node_modules/gud": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", - "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" }, - "node_modules/gulp-babel": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-6.1.3.tgz", - "integrity": "sha512-tm15R3rt4gO59WXCuqrwf4QXJM9VIJC+0J2NPYSC6xZn+cZRD5y5RPGAiHaDxCJq7Rz5BDljlrk3cEjWADF+wQ==", + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dependencies": { - "babel-core": "^6.23.1", - "object-assign": "^4.0.1", - "plugin-error": "^1.0.1", - "replace-ext": "0.0.1", - "through2": "^2.0.0", - "vinyl-sourcemaps-apply": "^0.2.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/gulp-babel/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/gulp-babel/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "node_modules/http-errors/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" } }, - "node_modules/gulp-babel/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" }, - "node_modules/gulp-babel/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dependencies": { - "safe-buffer": "~5.1.0" + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/gulp-babel/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "node_modules/http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", "dependencies": { - "duplexer": "^0.1.2" + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4.0.0" } }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "node_modules/handlebars": { - "version": "4.7.7", - "license": "MIT", + "node_modules/http-proxy-middleware/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "engines": { - "node": ">=0.4.7" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" + "node": ">=0.10.0" } }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "node_modules/http-proxy-middleware/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", + "node_modules/http-proxy-middleware/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/har-validator/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/http-proxy-middleware/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/har-validator/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "node_modules/http-proxy-middleware/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "dev": true, - "license": "MIT", + "node_modules/http-proxy-middleware/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "license": "MIT", + "node_modules/http-proxy-middleware/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dependencies": { - "function-bind": "^1.1.1" + "kind-of": "^3.0.2" }, "engines": { - "node": ">= 0.4.0" + "node": ">=0.10.0" } }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "node_modules/http-proxy-middleware/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dependencies": { - "ansi-regex": "^2.0.0" + "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "node_modules/http-proxy-middleware/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/has-bigints": { - "version": "1.0.2", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/http-proxy-middleware/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/has-flag": { - "version": "3.0.0", - "license": "MIT", + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, "engines": { - "node": ">=4" + "node": ">=0.8", + "npm": ">=1.3.7" } }, - "node_modules/has-glob": { + "node_modules/https-browserify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-glob/-/has-glob-1.0.0.tgz", - "integrity": "sha512-D+8A457fBShSEI3tFCj65PAbT++5sKiFtdCdOam0gnfBgw9D277OERk+HM9qYJXmdVLZ/znez10SqHN0BBQ50g==", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "license": "MIT", "dependencies": { - "is-glob": "^3.0.0" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/has-glob/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "dependencies": { - "is-extglob": "^2.1.0" - }, + "node_modules/human-signals": { + "version": "2.1.0", + "license": "Apache-2.0", "engines": { - "node": ">=0.10.0" + "node": ">=10.17.0" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "node_modules/humanize-ms": { + "version": "1.2.1", + "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "ms": "^2.0.0" } }, - "node_modules/has-proto": { + "node_modules/humanize-url": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "engines": { - "node": ">= 0.4" + "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz", + "integrity": "sha512-RtgTzXCPVb/te+e82NDhAc5paj+DuKSratIGAr+v+HZK24eAQ8LMoBGYoL7N/O+9iEc33AKHg45dOMKw3DNldQ==", + "dependencies": { + "normalize-url": "^1.0.0", + "strip-url-auth": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/has-symbols": { - "version": "1.0.3", + "node_modules/husky": { + "version": "7.0.4", + "dev": true, "license": "MIT", + "bin": { + "husky": "lib/bin.js" + }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/typicode" } }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "node_modules/i18n-iso-countries": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/i18n-iso-countries/-/i18n-iso-countries-6.8.0.tgz", + "integrity": "sha512-jJs/+CA6+VUICFxqGcB0vFMERGfhfvyNk+8Vb9EagSZkl7kSpm/kT0VyhvzM/zixDWEV/+oN9L7v/GT9BwzoGg==", "dependencies": { - "has-symbols": "^1.0.3" + "diacritics": "1.3.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 10" } }, - "node_modules/has-unicode": { - "version": "2.0.1", - "license": "ISC" + "node_modules/i18next": { + "version": "22.5.1", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz", + "integrity": "sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "dependencies": { + "@babel/runtime": "^7.20.6" + } }, - "node_modules/has-value": { - "version": "1.0.0", + "node_modules/iconv-lite": { + "version": "0.4.24", "license": "MIT", "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/has-values": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/has-values/node_modules/is-buffer": { - "version": "1.1.6", - "license": "MIT" + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" }, - "node_modules/has-values/node_modules/is-number": { + "node_modules/identity-obj-proxy": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "harmony-reflect": "^1.4.6" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "license": "MIT", + "node_modules/ieee754": { + "version": "1.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==" + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-styles": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ignore-styles/-/ignore-styles-5.0.1.tgz", + "integrity": "sha512-gQQmIznCETPLEzfg1UH4Cs2oRq+HBPl8quroEUNXT8oybEG7/0lqI3dGgDSRry6B9HcCXw3PVkFFS0FF3CMddg==" + }, + "node_modules/ignore-walk": { + "version": "5.0.1", + "license": "ISC", "dependencies": { - "is-buffer": "^1.1.5" + "minimatch": "^5.0.1" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", + "node_modules/ignore-walk/node_modules/brace-expansion": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "balanced-match": "^1.0.0" } }, - "node_modules/hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "5.1.1", + "license": "ISC", "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "dependencies": { - "function-bind": "^1.1.2" - }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, + "node_modules/immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" } }, - "node_modules/hast-to-hyperscript": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", - "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", + "node_modules/import-fresh": { + "version": "3.3.0", + "license": "MIT", "dependencies": { - "@types/unist": "^2.0.3", - "comma-separated-tokens": "^1.0.0", - "property-information": "^5.3.0", - "space-separated-tokens": "^1.0.0", - "style-to-object": "^0.3.0", - "unist-util-is": "^4.0.0", - "web-namespaces": "^1.0.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hast-util-from-parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", - "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-from-esm": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-1.3.4.tgz", + "integrity": "sha512-7EyUlPFC0HOlBDpUFGfYstsU7XHxZJKAAMzCT8wZ0hMW7b+hG51LIKTDcsgtz8Pu6YC0HqRVbX+rVUtsGMUKvg==", "dependencies": { - "@types/parse5": "^5.0.0", - "hastscript": "^6.0.0", - "property-information": "^5.0.0", - "vfile": "^4.0.0", - "vfile-location": "^3.2.0", - "web-namespaces": "^1.0.0" + "debug": "^4.3.4", + "import-meta-resolve": "^4.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=16.20" } }, - "node_modules/hast-util-parse-selector": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", - "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/import-lazy": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/hast-util-raw": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz", - "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==", + "node_modules/import-local": { + "version": "3.1.0", + "license": "MIT", "dependencies": { - "@types/hast": "^2.0.0", - "hast-util-from-parse5": "^6.0.0", - "hast-util-to-parse5": "^6.0.0", - "html-void-elements": "^1.0.0", - "parse5": "^6.0.0", - "unist-util-position": "^3.0.0", - "vfile": "^4.0.0", - "web-namespaces": "^1.0.0", - "xtend": "^4.0.0", - "zwitch": "^1.0.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hast-util-raw/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "node_modules/hast-util-to-parse5": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz", - "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==", - "dependencies": { - "hast-to-hyperscript": "^9.0.0", - "property-information": "^5.0.0", - "web-namespaces": "^1.0.0", - "xtend": "^4.0.0", - "zwitch": "^1.0.0" - }, + "node_modules/import-meta-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/hastscript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", - "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "node_modules/imports-loader": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.8.0.tgz", + "integrity": "sha512-kXWL7Scp8KQ4552ZcdVTeaQCZSLW+e6nJfp3cwUMB673T7Hr98Xjx5JK+ql7ADlJUvj1JS5O01RLbKoutN5QDQ==", "dependencies": { - "@types/hast": "^2.0.0", - "comma-separated-tokens": "^1.0.0", - "hast-util-parse-selector": "^2.0.0", - "property-information": "^5.0.0", - "space-separated-tokens": "^1.0.0" + "loader-utils": "^1.0.2", + "source-map": "^0.6.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 4" } }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "bin": { - "he": "bin/he" + "node_modules/imurmurhash": { + "version": "0.1.4", + "license": "MIT", + "engines": { + "node": ">=0.8.19" } }, - "node_modules/headers-polyfill": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-3.2.5.tgz", - "integrity": "sha512-tUCGvt191vNSQgttSyJoibR+VO+I6+iCHIUdhzEMJKE+EAL8BwCN7fUOZlY4ofOelNHsK+gEjxB/B+9N3EWtdA==" - }, - "node_modules/hey-listen": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", - "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" + "node_modules/indent-string": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/highlight.js": { - "version": "9.18.5", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.5.tgz", - "integrity": "sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==", - "deprecated": "Support has ended for 9.x series. Upgrade to @latest", - "hasInstallScript": true, + "node_modules/index-to-position": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-0.1.2.tgz", + "integrity": "sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==", "engines": { - "node": "*" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/history": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz", - "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==", + "node_modules/infer-owner": { + "version": "1.0.4", + "license": "ISC" + }, + "node_modules/inflight": { + "version": "1.0.6", + "license": "ISC", "dependencies": { - "@babel/runtime": "^7.7.6" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "node_modules/inherits": { + "version": "2.0.4", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "license": "ISC" + }, + "node_modules/init-package-json": { + "version": "3.0.2", + "license": "ISC", "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "npm-package-arg": "^9.0.1", + "promzard": "^0.3.0", + "read": "^1.0.7", + "read-package-json": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "node_modules/init-package-json/node_modules/hosted-git-info": { + "version": "5.2.1", + "license": "ISC", "dependencies": { - "react-is": "^16.7.0" + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==", + "node_modules/init-package-json/node_modules/npm-package-arg": { + "version": "9.1.2", + "license": "ISC", "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "dev": true, + "node_modules/init-package-json/node_modules/semver": { + "version": "7.3.8", "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { "node": ">=10" } }, - "node_modules/hosted-git-info/node_modules/lru-cache": { + "node_modules/init-package-json/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", - "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -31432,1358 +34103,1151 @@ "node": ">=10" } }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" }, - "node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "node_modules/inquirer": { + "version": "8.2.5", + "license": "MIT", "dependencies": { - "whatwg-encoding": "^2.0.0" + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=12" + "node": ">=12.0.0" } }, - "node_modules/html-entities": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", - "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ] - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "license": "MIT" - }, - "node_modules/html-loader": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-1.3.2.tgz", - "integrity": "sha512-DEkUwSd0sijK5PF3kRWspYi56XP7bTNkyg5YWSzBdjaSDmvCufep5c4Vpb3PBf6lUL0YPtLwBfy9fL0t5hBAGA==", + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "html-minifier-terser": "^5.1.1", - "htmlparser2": "^4.1.0", - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 10.13.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/html-loader/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/html-loader/node_modules/dom-serializer/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "domelementtype": "^2.2.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": ">=7.0.0" } }, - "node_modules/html-loader/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" }, - "node_modules/html-loader/node_modules/domhandler": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", - "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", - "dependencies": { - "domelementtype": "^2.0.1" - }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": ">=8" } }, - "node_modules/html-loader/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "has-flag": "^4.0.0" }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "engines": { + "node": ">=8" } }, - "node_modules/html-loader/node_modules/domutils/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "node_modules/internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", "dependencies": { - "domelementtype": "^2.2.0" + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" }, "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": ">=6" } }, - "node_modules/html-loader/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/html-loader/node_modules/htmlparser2": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", - "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^3.0.0", - "domutils": "^2.0.0", - "entities": "^2.0.0" + "node_modules/interpret": { + "version": "1.4.0", + "license": "MIT", + "engines": { + "node": ">= 0.10" } }, - "node_modules/html-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "node_modules/into-stream": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-7.0.0.tgz", + "integrity": "sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "from2": "^2.3.0", + "p-is-promise": "^3.0.0" }, "engines": { - "node": ">=8.9.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dependencies": { - "camel-case": "^4.1.1", - "clean-css": "^4.2.3", - "commander": "^4.1.1", - "he": "^1.2.0", - "param-case": "^3.0.3", - "relateurl": "^0.2.7", - "terser": "^4.6.3" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=6" + "loose-envify": "^1.0.0" } }, - "node_modules/html-minifier-terser/node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "node_modules/ip": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", "engines": { - "node": ">= 6" + "node": ">=4" } }, - "node_modules/html-minifier-terser/node_modules/terser": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "engines": { - "node": ">=6.0.0" + "node": ">= 0.10" } }, - "node_modules/html-minifier-terser/node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/html-parse-stringify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", - "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", - "dependencies": { - "void-elements": "3.1.0" + "node_modules/irregular-plurals": { + "version": "3.3.0", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/html-tags": { - "version": "3.2.0", - "license": "MIT", + "node_modules/is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", "engines": { "node": ">=8" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/html-void-elements": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", - "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==", + "node_modules/is-alphabetical": { + "version": "1.0.4", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/html-webpack-plugin": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", - "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "license": "MIT", "dependencies": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - }, - "engines": { - "node": ">=10.13.0" + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.20.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/html-webpack-plugin/node_modules/clean-css": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", - "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "node_modules/is-arguments": { + "version": "1.1.1", + "license": "MIT", "dependencies": { - "source-map": "~0.6.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 10.0" - } - }, - "node_modules/html-webpack-plugin/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - }, - "bin": { - "html-minifier-terser": "cli.js" + "node": ">= 0.4" }, - "engines": { - "node": ">=12" - } - }, - "node_modules/html-webpack-plugin/node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/html-webpack-tags-plugin": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/html-webpack-tags-plugin/-/html-webpack-tags-plugin-2.0.17.tgz", - "integrity": "sha512-TKT8hnumMni6ztKfWZpP+UBeA7+aUn+qQQ4c9wT/p1IGTO/QWoIc19E+ZrxCcToDMjBO1NMYWkUbW4c4NtlGvg==", + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dependencies": { - "glob": "^7.1.4", - "minimatch": "^3.0.4", - "slash": "^3.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/html2canvas": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", - "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "node_modules/is-arrayish": { + "version": "0.2.1", + "license": "MIT" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "license": "MIT", "dependencies": { - "css-line-break": "^2.1.0", - "text-segmentation": "^1.0.3" + "has-bigints": "^1.0.1" }, - "engines": { - "node": ">=8.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/htmlparser2": { - "version": "3.10.1", + "node_modules/is-binary-path": { + "version": "2.1.0", "license": "MIT", "dependencies": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "dev": true - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "node_modules/is-boolean-object": { + "version": "1.1.2", + "license": "MIT", "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/http-errors/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/is-buffer": { + "version": "2.0.5", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=4" } }, - "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, + "node_modules/is-callable": { + "version": "1.2.7", + "license": "MIT", "engines": { - "node": ">=8.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "node_modules/is-ci": { + "version": "2.0.0", + "license": "MIT", "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "ci-info": "^2.0.0" }, - "engines": { - "node": ">= 6" + "bin": { + "is-ci": "bin.js" } }, - "node_modules/http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dependencies": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" + "hasown": "^2.0.0" }, - "engines": { - "node": ">=4.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/http-proxy-middleware/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "license": "MIT", "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "kind-of": "^6.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/http-proxy-middleware/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/is-date-object": { + "version": "1.0.5", + "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/http-proxy-middleware/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" + "node_modules/is-decimal": { + "version": "1.0.4", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/http-proxy-middleware/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/is-descriptor": { + "version": "1.0.2", + "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/http-proxy-middleware/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/http-proxy-middleware/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/is-docker": { + "version": "2.2.1", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/http-proxy-middleware/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "node_modules/is-dom": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-dom/-/is-dom-1.1.0.tgz", + "integrity": "sha512-u82f6mvhYxRPKpw8V1N0W8ce1xXwOrQtgGcxl6UCL5zBmZu3is/18K0rR7uFCnMDuAsS/3W54mGL4vsaFUQlEQ==", "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "is-object": "^1.0.1", + "is-window": "^1.0.2" } }, - "node_modules/http-proxy-middleware/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/is-extendable": { + "version": "1.0.1", + "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "is-plain-object": "^2.0.4" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/http-proxy-middleware/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/is-extendable/node_modules/is-plain-object": { + "version": "2.0.4", + "license": "MIT", "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/http-proxy-middleware/node_modules/to-regex-range": { + "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, + "node_modules/is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/human-signals": { + "node_modules/is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + }, + "node_modules/is-generator-fn": { "version": "2.1.0", - "license": "Apache-2.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10.17.0" + "node": ">=6" } }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "dev": true, - "license": "MIT", + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dependencies": { - "ms": "^2.0.0" + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/humanize-url": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz", - "integrity": "sha512-RtgTzXCPVb/te+e82NDhAc5paj+DuKSratIGAr+v+HZK24eAQ8LMoBGYoL7N/O+9iEc33AKHg45dOMKw3DNldQ==", + "node_modules/is-glob": { + "version": "4.0.3", + "license": "MIT", "dependencies": { - "normalize-url": "^1.0.0", - "strip-url-auth": "^1.0.0" + "is-extglob": "^2.1.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/husky": { - "version": "7.0.4", - "dev": true, + "node_modules/is-hexadecimal": { + "version": "1.0.4", "license": "MIT", - "bin": { - "husky": "lib/bin.js" - }, - "engines": { - "node": ">=12" - }, "funding": { - "url": "https://github.com/sponsors/typicode" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/i18n-iso-countries": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/i18n-iso-countries/-/i18n-iso-countries-6.8.0.tgz", - "integrity": "sha512-jJs/+CA6+VUICFxqGcB0vFMERGfhfvyNk+8Vb9EagSZkl7kSpm/kT0VyhvzM/zixDWEV/+oN9L7v/GT9BwzoGg==", - "dependencies": { - "diacritics": "1.3.0" - }, + "node_modules/is-interactive": { + "version": "1.0.0", + "license": "MIT", "engines": { - "node": ">= 10" + "node": ">=8" } }, - "node_modules/i18next": { - "version": "22.5.1", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz", - "integrity": "sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==", - "funding": [ - { - "type": "individual", - "url": "https://locize.com" - }, - { - "type": "individual", - "url": "https://locize.com/i18next.html" - }, - { - "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" - } - ], - "dependencies": { - "@babel/runtime": "^7.20.6" - } + "node_modules/is-lambda": { + "version": "1.0.1", + "license": "MIT" }, - "node_modules/iconv-lite": { - "version": "0.4.24", + "node_modules/is-lite": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-lite/-/is-lite-1.2.1.tgz", + "integrity": "sha512-pgF+L5bxC+10hLBgf6R2P4ZZUBOQIIacbdo8YvuCP8/JvsWxG7aZ9p10DYuLtifFci4l3VITphhMlMV4Y+urPw==" + }, + "node_modules/is-map": { + "version": "2.0.2", "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "license": "MIT", "engines": { - "node": "^10 || ^12 || >= 14" + "node": ">= 0.4" }, - "peerDependencies": { - "postcss": "^8.1.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + "node_modules/is-node-process": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz", + "integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==" }, - "node_modules/identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", - "dev": true, + "node_modules/is-number": { + "version": "7.0.0", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "license": "MIT", "dependencies": { - "harmony-reflect": "^1.4.6" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==" - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "node_modules/is-obj": { + "version": "2.0.0", + "license": "MIT", "engines": { - "node": ">= 4" + "node": ">=8" } }, - "node_modules/ignore-styles": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ignore-styles/-/ignore-styles-5.0.1.tgz", - "integrity": "sha512-gQQmIznCETPLEzfg1UH4Cs2oRq+HBPl8quroEUNXT8oybEG7/0lqI3dGgDSRry6B9HcCXw3PVkFFS0FF3CMddg==" - }, - "node_modules/ignore-walk": { - "version": "5.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "minimatch": "^5.0.1" - }, + "node_modules/is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=6" } }, - "node_modules/ignore-walk/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "node_modules/is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", "dependencies": { - "balanced-match": "^1.0.0" + "is-path-inside": "^2.1.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/ignore-walk/node_modules/minimatch": { - "version": "5.1.1", - "dev": true, - "license": "ISC", + "node_modules/is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", "dependencies": { - "brace-expansion": "^2.0.1" + "path-is-inside": "^1.0.2" }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", - "bin": { - "image-size": "bin/image-size.js" - }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" - }, - "node_modules/immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", + "node_modules/is-plain-object": { + "version": "5.0.0", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/import-fresh": { - "version": "3.3.0", + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.1.4", "license": "MIT", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=4" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/import-lazy": { - "version": "4.0.0", - "dev": true, + "node_modules/is-regexp": { + "version": "1.0.0", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/import-local": { - "version": "3.1.0", + "node_modules/is-set": { + "version": "2.0.2", "license": "MIT", - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/imports-loader": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.8.0.tgz", - "integrity": "sha512-kXWL7Scp8KQ4552ZcdVTeaQCZSLW+e6nJfp3cwUMB673T7Hr98Xjx5JK+ql7ADlJUvj1JS5O01RLbKoutN5QDQ==", + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dependencies": { - "loader-utils": "^1.0.2", - "source-map": "^0.6.1" + "call-bind": "^1.0.2" }, - "engines": { - "node": ">= 4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", + "node_modules/is-ssh": { + "version": "1.4.0", + "dev": true, "license": "MIT", - "engines": { - "node": ">=0.8.19" + "dependencies": { + "protocols": "^2.0.1" } }, - "node_modules/indent-string": { - "version": "4.0.0", + "node_modules/is-stream": { + "version": "2.0.1", "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/infer-owner": { - "version": "1.0.4", - "license": "ISC" - }, - "node_modules/inflight": { - "version": "1.0.6", - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "license": "ISC" - }, - "node_modules/ini": { - "version": "1.3.8", - "dev": true, - "license": "ISC" - }, - "node_modules/init-package-json": { - "version": "3.0.2", - "dev": true, - "license": "ISC", + "node_modules/is-string": { + "version": "1.0.7", + "license": "MIT", "dependencies": { - "npm-package-arg": "^9.0.1", - "promzard": "^0.3.0", - "read": "^1.0.7", - "read-package-json": "^5.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^4.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/init-package-json/node_modules/hosted-git-info": { - "version": "5.2.1", - "dev": true, - "license": "ISC", + "node_modules/is-symbol": { + "version": "1.0.4", + "license": "MIT", "dependencies": { - "lru-cache": "^7.5.1" + "has-symbols": "^1.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/init-package-json/node_modules/npm-package-arg": { - "version": "9.1.2", + "node_modules/is-text-path": { + "version": "1.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "text-extensions": "^1.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.10.0" } }, - "node_modules/init-package-json/node_modules/semver": { - "version": "7.3.8", - "dev": true, - "license": "ISC", + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "which-typed-array": "^1.1.14" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/init-package-json/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "optional": true }, - "node_modules/inquirer": { - "version": "8.2.5", + "node_modules/is-weakmap": { + "version": "2.0.1", "license": "MIT", - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/inquirer/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/is-weakref": { + "version": "1.0.2", "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "call-bind": "^1.0.2" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/inquirer/node_modules/chalk": { - "version": "4.1.2", + "node_modules/is-weakset": { + "version": "2.0.2", "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", "engines": { - "node": ">=10" + "node": ">=12.13" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/mesqueeb" } }, - "node_modules/inquirer/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "node_modules/is-whitespace-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", + "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/inquirer/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" + "node_modules/is-window": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-window/-/is-window-1.0.2.tgz", + "integrity": "sha512-uj00kdXyZb9t9RcAUAwMZAnkBUwdYGhYlt7djMXhfyhUCzwNba50tIiBKR7q0l7tdoBtFVw/3JmLY6fI3rmZmg==" }, - "node_modules/inquirer/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/is-windows": { + "version": "1.0.2", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/inquirer/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/is-word-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", + "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "is-docker": "^2.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dependencies": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, + "node_modules/isarray": { + "version": "2.0.5", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "node_modules/isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==", "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" } }, - "node_modules/interpret": { - "version": "1.4.0", - "license": "MIT", + "node_modules/isomorphic-fetch/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "node_modules/isomorphic-fetch/node_modules/node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "dependencies": { - "loose-envify": "^1.0.0" + "encoding": "^0.1.11", + "is-stream": "^1.0.1" } }, - "node_modules/ip": { - "version": "2.0.0", - "license": "MIT" + "node_modules/isomorphic-unfetch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz", + "integrity": "sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==", + "dependencies": { + "node-fetch": "^2.6.1", + "unfetch": "^4.2.0" + } }, - "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", + "node_modules/isomorphic-unfetch/node_modules/unfetch": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", + "integrity": "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==" + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/issue-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.0.tgz", + "integrity": "sha512-jgAw78HO3gs9UrKqJNQvfDj9Ouy8Mhu40fbEJ8yXff4MW8+/Fcn9iFjyWUQ6SKbX8ipPk3X5A3AyfYHRu6uVLw==", + "dependencies": { + "lodash.capitalize": "^4.2.1", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.uniqby": "^4.7.0" + }, "engines": { - "node": ">=4" + "node": "^18.17 || >=20.6.1" } }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "license": "BSD-3-Clause", "engines": { - "node": ">= 0.10" + "node": ">=8" } }, - "node_modules/irregular-plurals": { - "version": "3.3.0", - "license": "MIT", + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, "engines": { "node": ">=8" } }, - "node_modules/is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, "engines": { "node": ">=8" } }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.0", + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", "license": "MIT", "dependencies": { - "kind-of": "^6.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/is-alphabetical": { - "version": "1.0.4", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" } }, - "node_modules/is-alphanumerical": { - "version": "1.0.4", - "license": "MIT", + "node_modules/istanbul-reports": { + "version": "3.1.5", + "license": "BSD-3-Clause", "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iterate-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.2.tgz", + "integrity": "sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==", "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "license": "MIT", + "node_modules/iterate-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz", + "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "es-get-iterator": "^1.0.2", + "iterate-iterator": "^1.0.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" + "@isaacs/cliui": "^8.0.2" }, "engines": { - "node": ">= 0.4" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "license": "MIT" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "license": "MIT", + "node_modules/jake": { + "version": "10.8.5", + "license": "Apache-2.0", "dependencies": { - "has-bigints": "^1.0.1" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", "license": "MIT", "dependencies": { - "binary-extensions": "^2.0.0" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/is-buffer": { - "version": "2.0.5", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/jake/node_modules/color-convert": { + "version": "2.0.1", "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=4" + "node": ">=7.0.0" } }, - "node_modules/is-callable": { - "version": "1.2.7", + "node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/is-ci": { - "version": "2.0.0", + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", "license": "MIT", "dependencies": { - "ci-info": "^2.0.0" + "has-flag": "^4.0.0" }, - "bin": { - "is-ci": "bin.js" + "engines": { + "node": ">=8" } }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/java-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz", + "integrity": "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==", + "peer": true, + "engines": { + "node": ">= 0.6.0" } }, - "node_modules/is-data-descriptor": { - "version": "1.0.0", + "node_modules/jest": { + "version": "26.6.3", + "dev": true, "license": "MIT", "dependencies": { - "kind-of": "^6.0.0" + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.14.2" } }, - "node_modules/is-date-object": { - "version": "1.0.5", + "node_modules/jest-chain": { + "version": "1.1.6", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-changed-files": { + "version": "26.6.2", + "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-decimal": { - "version": "1.0.4", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node": ">= 10.14.2" } }, - "node_modules/is-descriptor": { - "version": "1.0.2", + "node_modules/jest-changed-files/node_modules/execa": { + "version": "4.1.0", + "dev": true, "license": "MIT", "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/is-docker": { - "version": "2.2.1", + "node_modules/jest-changed-files/node_modules/get-stream": { + "version": "5.2.0", + "dev": true, "license": "MIT", - "bin": { - "is-docker": "cli.js" + "dependencies": { + "pump": "^3.0.0" }, "engines": { "node": ">=8" @@ -32792,542 +35256,810 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-dom": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-dom/-/is-dom-1.1.0.tgz", - "integrity": "sha512-u82f6mvhYxRPKpw8V1N0W8ce1xXwOrQtgGcxl6UCL5zBmZu3is/18K0rR7uFCnMDuAsS/3W54mGL4vsaFUQlEQ==", - "dependencies": { - "is-object": "^1.0.1", - "is-window": "^1.0.2" + "node_modules/jest-changed-files/node_modules/human-signals": { + "version": "1.1.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8.12.0" } }, - "node_modules/is-extendable": { - "version": "1.0.1", - "license": "MIT", + "node_modules/jest-circus": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", + "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", + "dev": true, "dependencies": { - "is-plain-object": "^2.0.4" + "@jest/environment": "^28.1.3", + "@jest/expect": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^28.1.3", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-runtime": "^28.1.3", + "jest-snapshot": "^28.1.3", + "jest-util": "^28.1.3", + "p-limit": "^3.1.0", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-extendable/node_modules/is-plain-object": { - "version": "2.0.4", - "license": "MIT", + "node_modules/jest-circus/node_modules/@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "dev": true, "dependencies": { - "isobject": "^3.0.1" + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "license": "MIT", + "node_modules/jest-circus/node_modules/@jest/environment": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", + "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "jest-mock": "^28.1.3" + }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "engines": { - "node": ">=0.10.0" + "node_modules/jest-circus/node_modules/@jest/fake-timers": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", + "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", + "dev": true, + "dependencies": { + "@jest/types": "^28.1.3", + "@sinonjs/fake-timers": "^9.1.2", + "@types/node": "*", + "jest-message-util": "^28.1.3", + "jest-mock": "^28.1.3", + "jest-util": "^28.1.3" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "license": "MIT", + "node_modules/jest-circus/node_modules/@jest/globals": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", + "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", + "dev": true, + "dependencies": { + "@jest/environment": "^28.1.3", + "@jest/expect": "^28.1.3", + "@jest/types": "^28.1.3" + }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", + "node_modules/jest-circus/node_modules/@jest/source-map": { + "version": "28.1.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", + "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", "dev": true, - "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.13", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, "engines": { - "node": ">=6" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "node_modules/jest-circus/node_modules/@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-circus/node_modules/@jest/transform": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", + "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^28.1.3", + "@jridgewell/trace-mapping": "^0.3.13", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^28.1.3", + "jest-regex-util": "^28.0.2", + "jest-util": "^28.1.3", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "license": "MIT", + "node_modules/jest-circus/node_modules/@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "dev": true, "dependencies": { - "is-extglob": "^2.1.1" + "@jest/schemas": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-hexadecimal": { - "version": "1.0.4", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/jest-circus/node_modules/@sinonjs/fake-timers": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" } }, - "node_modules/is-interactive": { - "version": "1.0.0", - "license": "MIT", + "node_modules/jest-circus/node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-lambda": { - "version": "1.0.1", + "node_modules/jest-circus/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "license": "MIT" - }, - "node_modules/is-lite": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-lite/-/is-lite-1.2.1.tgz", - "integrity": "sha512-pgF+L5bxC+10hLBgf6R2P4ZZUBOQIIacbdo8YvuCP8/JvsWxG7aZ9p10DYuLtifFci4l3VITphhMlMV4Y+urPw==" - }, - "node_modules/is-map": { - "version": "2.0.2", - "license": "MIT", + "engines": { + "node": ">=10" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "license": "MIT", + "node_modules/jest-circus/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "engines": { - "node": ">= 0.4" + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/is-node-process": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz", - "integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==" + "node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/is-number": { - "version": "7.0.0", - "license": "MIT", + "node_modules/jest-circus/node_modules/diff-sequences": { + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", + "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "dev": true, "engines": { - "node": ">=0.12.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-number-object": { - "version": "1.0.7", - "license": "MIT", + "node_modules/jest-circus/node_modules/expect": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", + "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", + "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "@jest/expect-utils": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-obj": { - "version": "2.0.0", + "node_modules/jest-circus/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/is-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", - "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "node_modules/jest-circus/node_modules/jest-diff": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", + "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^28.1.1", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + }, "engines": { - "node": ">=6" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "node_modules/jest-circus/node_modules/jest-each": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", + "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", + "dev": true, "dependencies": { - "is-path-inside": "^2.1.0" + "@jest/types": "^28.1.3", + "chalk": "^4.0.0", + "jest-get-type": "^28.0.2", + "jest-util": "^28.1.3", + "pretty-format": "^28.1.3" }, "engines": { - "node": ">=6" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "node_modules/jest-circus/node_modules/jest-get-type": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", + "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-haste-map": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", + "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", + "dev": true, "dependencies": { - "path-is-inside": "^1.0.2" + "@jest/types": "^28.1.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^28.0.2", + "jest-util": "^28.1.3", + "jest-worker": "^28.1.3", + "micromatch": "^4.0.4", + "walker": "^1.0.8" }, "engines": { - "node": ">=6" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "license": "MIT", + "node_modules/jest-circus/node_modules/jest-matcher-utils": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", + "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "license": "MIT", + "node_modules/jest-circus/node_modules/jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/is-regex": { - "version": "1.1.4", - "license": "MIT", + "node_modules/jest-circus/node_modules/jest-mock": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", + "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@jest/types": "^28.1.3", + "@types/node": "*" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-regexp": { - "version": "1.0.0", - "license": "MIT", + "node_modules/jest-circus/node_modules/jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-set": { - "version": "2.0.2", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/jest-circus/node_modules/jest-resolve": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", + "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^28.1.3", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "node_modules/jest-circus/node_modules/jest-runtime": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", + "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "@jest/environment": "^28.1.3", + "@jest/fake-timers": "^28.1.3", + "@jest/globals": "^28.1.3", + "@jest/source-map": "^28.1.2", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-mock": "^28.1.3", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.3", + "jest-snapshot": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-ssh": { - "version": "1.4.0", + "node_modules/jest-circus/node_modules/jest-snapshot": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", + "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", "dev": true, - "license": "MIT", "dependencies": { - "protocols": "^2.0.1" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^28.1.3", + "graceful-fs": "^4.2.9", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-haste-map": "^28.1.3", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "natural-compare": "^1.4.0", + "pretty-format": "^28.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/jest-circus/node_modules/jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "dev": true, + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-string": { - "version": "1.0.7", - "license": "MIT", + "node_modules/jest-circus/node_modules/jest-validate": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", + "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", + "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "@jest/types": "^28.1.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^28.0.2", + "leven": "^3.1.0", + "pretty-format": "^28.1.3" }, "engines": { - "node": ">= 0.4" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-symbol": { - "version": "1.0.4", - "license": "MIT", + "node_modules/jest-circus/node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/is-text-path": { - "version": "1.0.1", + "node_modules/jest-circus/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "MIT", "dependencies": { - "text-extensions": "^1.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "node_modules/jest-circus/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dev": true, "dependencies": { - "which-typed-array": "^1.1.14" + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "license": "MIT", + "node_modules/jest-circus/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", - "optional": true - }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/jest-circus/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "node_modules/is-weakref": { - "version": "1.0.2", - "license": "MIT", + "node_modules/jest-circus/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "lru-cache": "^6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/is-weakset": { - "version": "2.0.2", - "license": "MIT", + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "has-flag": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-what": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", - "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", "engines": { - "node": ">=12.13" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "node_modules/is-whitespace-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", - "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node": ">=8" } }, - "node_modules/is-window": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-window/-/is-window-1.0.2.tgz", - "integrity": "sha512-uj00kdXyZb9t9RcAUAwMZAnkBUwdYGhYlt7djMXhfyhUCzwNba50tIiBKR7q0l7tdoBtFVw/3JmLY6fI3rmZmg==" - }, - "node_modules/is-windows": { - "version": "1.0.2", - "license": "MIT", + "node_modules/jest-circus/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/is-word-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", - "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/jest-cli": { + "version": "26.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" } }, - "node_modules/is-wsl": { - "version": "2.2.0", + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { - "is-docker": "^2.0.0" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/isarray": { - "version": "2.0.5", - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "license": "ISC" - }, - "node_modules/isobject": { - "version": "3.0.1", + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==", + "node_modules/jest-cli/node_modules/cliui": { + "version": "6.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "node_modules/isomorphic-fetch/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=0.10.0" + "node": ">=7.0.0" } }, - "node_modules/isomorphic-fetch/node_modules/node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "dependencies": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" }, - "node_modules/isomorphic-unfetch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz", - "integrity": "sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==", + "node_modules/jest-cli/node_modules/find-up": { + "version": "4.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "node-fetch": "^2.6.1", - "unfetch": "^4.2.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/isomorphic-unfetch/node_modules/unfetch": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", - "integrity": "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==" - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "license": "BSD-3-Clause", + "node_modules/jest-cli/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "license": "BSD-3-Clause", + "node_modules/jest-cli/node_modules/locate-path": { + "version": "5.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "p-locate": "^4.1.0" }, "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "license": "BSD-3-Clause", + "node_modules/jest-cli/node_modules/p-limit": { + "version": "2.3.0", + "dev": true, + "license": "MIT", "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/jest-cli/node_modules/p-locate": { + "version": "4.1.0", + "dev": true, "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { + "node_modules/jest-cli/node_modules/supports-color": { "version": "7.2.0", + "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -33336,85 +36068,121 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", + "node_modules/jest-cli/node_modules/wrap-ansi": { + "version": "6.2.0", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "license": "BSD-3-Clause", + "node_modules/jest-cli/node_modules/y18n": { + "version": "4.0.3", + "dev": true, + "license": "ISC" + }, + "node_modules/jest-cli/node_modules/yargs": { + "version": "15.4.1", + "dev": true, + "license": "MIT", "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" }, "engines": { "node": ">=8" } }, - "node_modules/iterate-iterator": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.2.tgz", - "integrity": "sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/iterate-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz", - "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==", + "node_modules/jest-cli/node_modules/yargs-parser": { + "version": "18.1.3", + "dev": true, + "license": "ISC", "dependencies": { - "es-get-iterator": "^1.0.2", - "iterate-iterator": "^1.0.1" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=6" } }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "node_modules/jest-config": { + "version": "26.6.3", + "dev": true, + "license": "MIT", "dependencies": { - "@isaacs/cliui": "^8.0.2" + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.6.3", + "@jest/types": "^26.6.2", + "babel-jest": "^26.6.3", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" }, "engines": { - "node": ">=14" + "node": ">= 10.14.2" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "ts-node": ">=9.0.0" }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } } }, - "node_modules/jake": { - "version": "10.8.5", - "license": "Apache-2.0", + "node_modules/jest-config/node_modules/@jest/transform": { + "version": "26.6.2", + "dev": true, + "license": "MIT", "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "bin": { - "jake": "bin/cli.js" + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">= 10.14.2" } }, - "node_modules/jake/node_modules/ansi-styles": { + "node_modules/jest-config/node_modules/ansi-styles": { "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -33426,8 +36194,59 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jake/node_modules/chalk": { + "node_modules/jest-config/node_modules/babel-jest": { + "version": "26.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/jest-config/node_modules/babel-plugin-jest-hoist": { + "version": "26.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-config/node_modules/babel-preset-jest": { + "version": "26.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/jest-config/node_modules/chalk": { "version": "4.1.2", + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -33440,8 +36259,9 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jake/node_modules/color-convert": { + "node_modules/jest-config/node_modules/color-convert": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -33450,293 +36270,212 @@ "node": ">=7.0.0" } }, - "node_modules/jake/node_modules/color-name": { + "node_modules/jest-config/node_modules/color-name": { "version": "1.1.4", + "dev": true, "license": "MIT" }, - "node_modules/jake/node_modules/has-flag": { + "node_modules/jest-config/node_modules/has-flag": { "version": "4.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/jake/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/jest-config/node_modules/jest-haste-map": { + "version": "26.6.2", + "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" }, "engines": { - "node": ">=8" + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" } }, - "node_modules/jest": { - "version": "26.6.3", + "node_modules/jest-config/node_modules/jest-regex-util": { + "version": "26.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@jest/core": "^26.6.3", - "import-local": "^3.0.2", - "jest-cli": "^26.6.3" - }, - "bin": { - "jest": "bin/jest.js" - }, "engines": { "node": ">= 10.14.2" } }, - "node_modules/jest-chain": { - "version": "1.1.6", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-changed-files": { + "node_modules/jest-config/node_modules/jest-serializer": { "version": "26.6.2", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" + "@types/node": "*", + "graceful-fs": "^4.2.4" }, "engines": { "node": ">= 10.14.2" } }, - "node_modules/jest-changed-files/node_modules/execa": { - "version": "4.1.0", + "node_modules/jest-config/node_modules/pretty-format": { + "version": "26.6.2", "dev": true, "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">= 10" } }, - "node_modules/jest-changed-files/node_modules/get-stream": { - "version": "5.2.0", + "node_modules/jest-config/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", "dependencies": { - "pump": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-changed-files/node_modules/human-signals": { - "version": "1.1.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/jest-circus": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", - "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", - "dev": true, - "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "p-limit": "^3.1.0", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/jest-circus/node_modules/@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "node_modules/jest-diff": { + "version": "27.5.1", "dev": true, + "license": "MIT", "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-circus/node_modules/@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "jest-mock": "^28.1.3" + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-circus/node_modules/@jest/fake-timers": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@sinonjs/fake-timers": "^9.1.2", - "@types/node": "*", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-circus/node_modules/@jest/globals": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", - "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", "dev": true, + "license": "MIT", "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/types": "^28.1.3" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-circus/node_modules/@jest/source-map": { - "version": "28.1.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", - "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.13", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" + "color-name": "~1.1.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=7.0.0" } }, - "node_modules/jest-circus/node_modules/@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", "dev": true, - "dependencies": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, + "license": "MIT" + }, + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=8" } }, - "node_modules/jest-circus/node_modules/@jest/transform": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", - "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", + "node_modules/jest-diff/node_modules/jest-get-type": { + "version": "27.5.1", "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" - }, + "license": "MIT", "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-circus/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", "dev": true, + "license": "MIT", "dependencies": { - "@jest/schemas": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=8" } }, - "node_modules/jest-circus/node_modules/@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "node_modules/jest-docblock": { + "version": "26.0.0", "dev": true, + "license": "MIT", "dependencies": { - "@sinonjs/commons": "^1.7.0" + "detect-newline": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" } }, - "node_modules/jest-circus/node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "node_modules/jest-each": { + "version": "26.6.2", "dev": true, + "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" } }, - "node_modules/jest-circus/node_modules/ansi-styles": { + "node_modules/jest-each/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -33747,23 +36486,10 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-circus/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-circus/node_modules/chalk": { + "node_modules/jest-each/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -33775,32 +36501,10 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-circus/node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-circus/node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true - }, - "node_modules/jest-circus/node_modules/color-convert": { + "node_modules/jest-each/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -33808,432 +36512,435 @@ "node": ">=7.0.0" } }, - "node_modules/jest-circus/node_modules/color-name": { + "node_modules/jest-each/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/jest-circus/node_modules/diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", "dev": true, + "license": "MIT", "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=8" } }, - "node_modules/jest-circus/node_modules/expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", + "node_modules/jest-each/node_modules/pretty-format": { + "version": "26.6.2", "dev": true, + "license": "MIT", "dependencies": { - "@jest/expect-utils": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">= 10" } }, - "node_modules/jest-circus/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/jest-each/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/jest-circus/node_modules/jest-diff": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", - "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", + "node_modules/jest-environment-jsdom": { + "version": "26.6.2", "dev": true, + "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">= 10.14.2" } }, - "node_modules/jest-circus/node_modules/jest-each": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", - "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", + "node_modules/jest-environment-jsdom/node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "jest-util": "^28.1.3", - "pretty-format": "^28.1.3" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">= 6" } }, - "node_modules/jest-circus/node_modules/jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", + "node_modules/jest-environment-jsdom/node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true, + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=0.4.0" } }, - "node_modules/jest-circus/node_modules/jest-haste-map": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", - "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", + "node_modules/jest-environment-jsdom/node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/jest-environment-jsdom/node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "node": ">=0.4.0" } }, - "node_modules/jest-circus/node_modules/jest-matcher-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", - "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", + "node_modules/jest-environment-jsdom/node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "cssom": "~0.3.6" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=8" } }, - "node_modules/jest-circus/node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "node_modules/jest-environment-jsdom/node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/jest-environment-jsdom/node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" } }, - "node_modules/jest-circus/node_modules/jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", + "node_modules/jest-environment-jsdom/node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*" + "webidl-conversions": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=8" } }, - "node_modules/jest-circus/node_modules/jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "node_modules/jest-environment-jsdom/node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", "dev": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=8" } }, - "node_modules/jest-circus/node_modules/jest-resolve": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", - "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", + "node_modules/jest-environment-jsdom/node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", "dev": true, "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" + "whatwg-encoding": "^1.0.5" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" } }, - "node_modules/jest-circus/node_modules/jest-runtime": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", - "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", + "node_modules/jest-environment-jsdom/node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/globals": "^28.1.3", - "@jest/source-map": "^28.1.2", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">= 6" } }, - "node_modules/jest-circus/node_modules/jest-snapshot": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", - "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", + "node_modules/jest-environment-jsdom/node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", "dev": true, "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^28.1.3", - "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "natural-compare": "^1.4.0", - "pretty-format": "^28.1.3", - "semver": "^7.3.5" + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/jest-circus/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "node_modules/jest-environment-jsdom/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/jest-environment-jsdom/node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "xmlchars": "^2.2.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" } }, - "node_modules/jest-circus/node_modules/jest-validate": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", - "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", + "node_modules/jest-environment-jsdom/node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "leven": "^3.1.0", - "pretty-format": "^28.1.3" + "punycode": "^2.1.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=8" } }, - "node_modules/jest-circus/node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "node_modules/jest-environment-jsdom/node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", "dev": true, "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "xml-name-validator": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" } }, - "node_modules/jest-circus/node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/jest-environment-jsdom/node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=10.4" } }, - "node_modules/jest-circus/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/jest-environment-jsdom/node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", "dev": true, "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "iconv-lite": "0.4.24" } }, - "node_modules/jest-circus/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "node_modules/jest-environment-jsdom/node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "node_modules/jest-environment-jsdom/node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" } }, - "node_modules/jest-circus/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/jest-environment-jsdom/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", "dev": true, "engines": { - "node": ">=10" + "node": ">=8.3.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/jest-circus/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "node_modules/jest-environment-jsdom/node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", "dev": true }, - "node_modules/jest-circus/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "node_modules/jest-environment-node": { + "version": "26.6.2", "dev": true, + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" }, "engines": { - "node": ">=10" + "node": ">= 10.14.2" } }, - "node_modules/jest-circus/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/jest-extended": { + "version": "1.2.1", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "expect": "^26.6.2", + "jest-diff": "^27.2.5", + "jest-get-type": "^27.0.6", + "jest-matcher-utils": "^27.2.4" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/jest-circus/node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "node_modules/jest-extended/node_modules/jest-get-type": { + "version": "27.5.1", "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, + "license": "MIT", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-cli": { - "version": "26.6.3", + "node_modules/jest-get-type": { + "version": "26.3.0", "dev": true, "license": "MIT", + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-haste-map": { + "version": "27.5.1", + "license": "MIT", "dependencies": { - "@jest/core": "^26.6.3", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^26.6.3", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "prompts": "^2.0.1", - "yargs": "^15.4.1" + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" }, - "bin": { - "jest": "bin/jest.js" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-haste-map/node_modules/@jest/types": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-cli/node_modules/ansi-styles": { + "node_modules/jest-haste-map/node_modules/@types/yargs": { + "version": "16.0.4", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-haste-map/node_modules/ansi-styles": { "version": "4.3.0", - "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -34245,9 +36952,8 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-cli/node_modules/chalk": { + "node_modules/jest-haste-map/node_modules/chalk": { "version": "4.1.2", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -34260,19 +36966,15 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-cli/node_modules/cliui": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "node_modules/jest-haste-map/node_modules/ci-info": { + "version": "3.7.0", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/jest-cli/node_modules/color-convert": { + "node_modules/jest-haste-map/node_modules/color-convert": { "version": "2.0.1", - "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -34281,70 +36983,59 @@ "node": ">=7.0.0" } }, - "node_modules/jest-cli/node_modules/color-name": { + "node_modules/jest-haste-map/node_modules/color-name": { "version": "1.1.4", - "dev": true, "license": "MIT" }, - "node_modules/jest-cli/node_modules/find-up": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/has-flag": { + "node_modules/jest-haste-map/node_modules/has-flag": { "version": "4.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/jest-cli/node_modules/locate-path": { - "version": "5.0.0", - "dev": true, + "node_modules/jest-haste-map/node_modules/jest-util": { + "version": "27.5.1", "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-cli/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, + "node_modules/jest-haste-map/node_modules/jest-worker": { + "version": "27.5.1", "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 10.13.0" } }, - "node_modules/jest-cli/node_modules/p-locate": { - "version": "4.1.0", - "dev": true, + "node_modules/jest-haste-map/node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/jest-cli/node_modules/supports-color": { + "node_modules/jest-haste-map/node_modules/supports-color": { "version": "7.2.0", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -34353,268 +37044,197 @@ "node": ">=8" } }, - "node_modules/jest-cli/node_modules/wrap-ansi": { - "version": "6.2.0", + "node_modules/jest-jasmine2": { + "version": "26.6.3", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">= 10.14.2" } }, - "node_modules/jest-cli/node_modules/y18n": { - "version": "4.0.3", - "dev": true, - "license": "ISC" - }, - "node_modules/jest-cli/node_modules/yargs": { - "version": "15.4.1", + "node_modules/jest-jasmine2/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/yargs-parser": { - "version": "18.1.3", - "dev": true, - "license": "ISC", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-config": { - "version": "26.6.3", + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "4.1.2", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^26.6.3", - "@jest/types": "^26.6.2", - "babel-jest": "^26.6.3", - "chalk": "^4.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-node": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-jasmine2": "^26.6.3", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 10.14.2" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" + "node": ">=10" }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-config/node_modules/@jest/transform": { - "version": "26.6.2", + "node_modules/jest-jasmine2/node_modules/color-convert": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 10.14.2" + "node": ">=7.0.0" } }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/jest-jasmine2/node_modules/color-name": { + "version": "1.1.4", "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } + "license": "MIT" }, - "node_modules/jest-config/node_modules/babel-jest": { - "version": "26.6.3", + "node_modules/jest-jasmine2/node_modules/diff-sequences": { + "version": "26.6.2", "dev": true, "license": "MIT", - "dependencies": { - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - }, "engines": { "node": ">= 10.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/jest-config/node_modules/babel-plugin-jest-hoist": { - "version": "26.6.2", + "node_modules/jest-jasmine2/node_modules/has-flag": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - }, "engines": { - "node": ">= 10.14.2" + "node": ">=8" } }, - "node_modules/jest-config/node_modules/babel-preset-jest": { + "node_modules/jest-jasmine2/node_modules/jest-diff": { "version": "26.6.2", "dev": true, "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "^26.6.2", - "babel-preset-current-node-syntax": "^1.0.0" + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" }, "engines": { "node": ">= 10.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", + "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { + "version": "26.6.2", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 10.14.2" } }, - "node_modules/jest-config/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/jest-jasmine2/node_modules/pretty-format": { + "version": "26.6.2", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=7.0.0" + "node": ">= 10" } }, - "node_modules/jest-config/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" + "node_modules/jest-jasmine2/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true }, - "node_modules/jest-config/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/jest-jasmine2/node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/jest-config/node_modules/jest-haste-map": { + "node_modules/jest-leak-detector": { "version": "26.6.2", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7" + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" }, "engines": { "node": ">= 10.14.2" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" } }, - "node_modules/jest-config/node_modules/jest-regex-util": { - "version": "26.0.0", + "node_modules/jest-leak-detector/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">= 10.14.2" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-config/node_modules/jest-serializer": { - "version": "26.6.2", + "node_modules/jest-leak-detector/node_modules/color-convert": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.4" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 10.14.2" + "node": ">=7.0.0" } }, - "node_modules/jest-config/node_modules/pretty-format": { + "node_modules/jest-leak-detector/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-leak-detector/node_modules/pretty-format": { "version": "26.6.2", "dev": true, "license": "MIT", @@ -34628,30 +37248,19 @@ "node": ">= 10" } }, - "node_modules/jest-config/node_modules/react-is": { + "node_modules/jest-leak-detector/node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, - "node_modules/jest-config/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff": { + "node_modules/jest-matcher-utils": { "version": "27.5.1", "dev": true, "license": "MIT", "dependencies": { "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", + "jest-diff": "^27.5.1", "jest-get-type": "^27.5.1", "pretty-format": "^27.5.1" }, @@ -34659,7 +37268,7 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-diff/node_modules/ansi-styles": { + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -34673,7 +37282,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-diff/node_modules/chalk": { + "node_modules/jest-matcher-utils/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -34688,7 +37297,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-diff/node_modules/color-convert": { + "node_modules/jest-matcher-utils/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -34699,12 +37308,12 @@ "node": ">=7.0.0" } }, - "node_modules/jest-diff/node_modules/color-name": { + "node_modules/jest-matcher-utils/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/jest-diff/node_modules/has-flag": { + "node_modules/jest-matcher-utils/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -34712,7 +37321,7 @@ "node": ">=8" } }, - "node_modules/jest-diff/node_modules/jest-get-type": { + "node_modules/jest-matcher-utils/node_modules/jest-get-type": { "version": "27.5.1", "dev": true, "license": "MIT", @@ -34720,7 +37329,7 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-diff/node_modules/supports-color": { + "node_modules/jest-matcher-utils/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", @@ -34731,33 +37340,26 @@ "node": ">=8" } }, - "node_modules/jest-docblock": { - "version": "26.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-each": { + "node_modules/jest-message-util": { "version": "26.6.2", "dev": true, "license": "MIT", "dependencies": { + "@babel/code-frame": "^7.0.0", "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2" + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" }, "engines": { "node": ">= 10.14.2" } }, - "node_modules/jest-each/node_modules/ansi-styles": { + "node_modules/jest-message-util/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -34771,7 +37373,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-each/node_modules/chalk": { + "node_modules/jest-message-util/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -34786,7 +37388,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-each/node_modules/color-convert": { + "node_modules/jest-message-util/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -34797,12 +37399,12 @@ "node": ">=7.0.0" } }, - "node_modules/jest-each/node_modules/color-name": { + "node_modules/jest-message-util/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/jest-each/node_modules/has-flag": { + "node_modules/jest-message-util/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -34810,7 +37412,7 @@ "node": ">=8" } }, - "node_modules/jest-each/node_modules/pretty-format": { + "node_modules/jest-message-util/node_modules/pretty-format": { "version": "26.6.2", "dev": true, "license": "MIT", @@ -34824,13 +37426,13 @@ "node": ">= 10" } }, - "node_modules/jest-each/node_modules/react-is": { + "node_modules/jest-message-util/node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, - "node_modules/jest-each/node_modules/supports-color": { + "node_modules/jest-message-util/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", @@ -34841,523 +37443,606 @@ "node": ">=8" } }, - "node_modules/jest-environment-jsdom": { + "node_modules/jest-mock": { "version": "26.6.2", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2", - "jsdom": "^16.4.0" + "@types/node": "*" }, "engines": { "node": ">= 10.14.2" } }, - "node_modules/jest-environment-jsdom/node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", "dev": true, + "license": "MIT", "engines": { - "node": ">= 6" + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/jest-environment-jsdom/node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "node_modules/jest-regex-util": { + "version": "27.5.1", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "26.6.2", "dev": true, - "bin": { - "acorn": "bin/acorn" + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" }, "engines": { - "node": ">=0.4.0" + "node": ">= 10.14.2" } }, - "node_modules/jest-environment-jsdom/node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "node_modules/jest-resolve-dependencies": { + "version": "26.6.3", "dev": true, + "license": "MIT", "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" } }, - "node_modules/jest-environment-jsdom/node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "node_modules/jest-resolve-dependencies/node_modules/jest-regex-util": { + "version": "26.0.0", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, + "license": "MIT", "engines": { - "node": ">=0.4.0" + "node": ">= 10.14.2" } }, - "node_modules/jest-environment-jsdom/node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, + "license": "MIT", "dependencies": { - "cssom": "~0.3.6" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-environment-jsdom/node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "node_modules/jest-environment-jsdom/node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", "dev": true, + "license": "MIT", "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-environment-jsdom/node_modules/domexception": { + "node_modules/jest-resolve/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", "dev": true, + "license": "MIT", "dependencies": { - "webidl-conversions": "^5.0.0" + "color-name": "~1.1.4" }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/jest-environment-jsdom/node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/jest-environment-jsdom/node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "node_modules/jest-runner": { + "version": "26.6.3", "dev": true, + "license": "MIT", "dependencies": { - "whatwg-encoding": "^1.0.5" + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.7.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.6.2", + "jest-leak-detector": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" }, "engines": { - "node": ">=10" + "node": ">= 10.14.2" } }, - "node_modules/jest-environment-jsdom/node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, + "license": "MIT", "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-environment-jsdom/node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", "dev": true, + "license": "MIT", "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" }, - "peerDependencies": { - "canvas": "^2.5.0" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "engines": { + "node": ">=7.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" }, - "node_modules/jest-environment-jsdom/node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/jest-haste-map": { + "version": "26.6.2", "dev": true, + "license": "MIT", "dependencies": { - "xmlchars": "^2.2.0" + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" }, "engines": { - "node": ">=10" + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" } }, - "node_modules/jest-environment-jsdom/node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "node_modules/jest-runner/node_modules/jest-regex-util": { + "version": "26.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-runner/node_modules/jest-serializer": { + "version": "26.6.2", "dev": true, + "license": "MIT", "dependencies": { - "punycode": "^2.1.1" + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/jest-environment-jsdom/node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "node_modules/jest-runtime": { + "version": "26.6.3", "dev": true, + "license": "MIT", "dependencies": { - "xml-name-validator": "^3.0.0" + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/globals": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^0.6.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.4.1" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-runtime/node_modules/@jest/transform": { + "version": "26.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/jest-environment-jsdom/node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true, - "engines": { - "node": ">=10.4" + "node": ">= 10.14.2" } }, - "node_modules/jest-environment-jsdom/node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, + "license": "MIT", "dependencies": { - "iconv-lite": "0.4.24" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-environment-jsdom/node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "node_modules/jest-environment-jsdom/node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", "dev": true, + "license": "MIT", "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-environment-jsdom/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "node_modules/jest-runtime/node_modules/cliui": { + "version": "6.0.0", "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "node_modules/jest-environment-jsdom/node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "node_modules/jest-environment-node": { - "version": "26.6.2", + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 10.14.2" + "node": ">=7.0.0" } }, - "node_modules/jest-extended": { - "version": "1.2.1", + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-runtime/node_modules/find-up": { + "version": "4.1.0", "dev": true, "license": "MIT", "dependencies": { - "expect": "^26.6.2", - "jest-diff": "^27.2.5", - "jest-get-type": "^27.0.6", - "jest-matcher-utils": "^27.2.4" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/jest-extended/node_modules/jest-get-type": { - "version": "27.5.1", + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-get-type": { - "version": "26.3.0", + "node_modules/jest-runtime/node_modules/jest-haste-map": { + "version": "26.6.2", "dev": true, "license": "MIT", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-haste-map": { - "version": "27.5.1", - "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", + "@jest/types": "^26.6.2", "@types/graceful-fs": "^4.1.2", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", "walker": "^1.0.7" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 10.14.2" }, "optionalDependencies": { - "fsevents": "^2.3.2" + "fsevents": "^2.1.2" } }, - "node_modules/jest-haste-map/node_modules/@jest/types": { - "version": "27.5.1", + "node_modules/jest-runtime/node_modules/jest-regex-util": { + "version": "26.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 10.14.2" } }, - "node_modules/jest-haste-map/node_modules/@types/yargs": { - "version": "16.0.4", + "node_modules/jest-runtime/node_modules/jest-serializer": { + "version": "26.6.2", + "dev": true, "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 10.14.2" } }, - "node_modules/jest-haste-map/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/jest-runtime/node_modules/locate-path": { + "version": "5.0.0", + "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "p-locate": "^4.1.0" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-haste-map/node_modules/chalk": { - "version": "4.1.2", + "node_modules/jest-runtime/node_modules/p-limit": { + "version": "2.3.0", + "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-haste-map/node_modules/ci-info": { - "version": "3.7.0", + "node_modules/jest-runtime/node_modules/p-locate": { + "version": "4.1.0", + "dev": true, "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, "engines": { "node": ">=8" } }, - "node_modules/jest-haste-map/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "has-flag": "^4.0.0" }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-haste-map/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "node_modules/jest-haste-map/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/jest-haste-map/node_modules/jest-util": { - "version": "27.5.1", + "node_modules/jest-runtime/node_modules/wrap-ansi": { + "version": "6.2.0", + "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-haste-map/node_modules/jest-worker": { - "version": "27.5.1", + "node_modules/jest-runtime/node_modules/y18n": { + "version": "4.0.3", + "dev": true, + "license": "ISC" + }, + "node_modules/jest-runtime/node_modules/yargs": { + "version": "15.4.1", + "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" }, "engines": { - "node": ">= 10.13.0" + "node": ">=8" } }, - "node_modules/jest-haste-map/node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "license": "MIT", + "node_modules/jest-runtime/node_modules/yargs-parser": { + "version": "18.1.3", + "dev": true, + "license": "ISC", "dependencies": { - "has-flag": "^4.0.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=6" } }, - "node_modules/jest-haste-map/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/jest-serializer": { + "version": "27.5.1", "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@types/node": "*", + "graceful-fs": "^4.2.9" }, "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-jasmine2": { - "version": "26.6.3", + "node_modules/jest-snapshot": { + "version": "26.6.2", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", + "@babel/types": "^7.0.0", "@jest/types": "^26.6.2", - "@types/node": "*", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", "chalk": "^4.0.0", - "co": "^4.6.0", "expect": "^26.6.2", - "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-haste-map": "^26.6.2", "jest-matcher-utils": "^26.6.2", "jest-message-util": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "natural-compare": "^1.4.0", "pretty-format": "^26.6.2", - "throat": "^5.0.0" + "semver": "^7.3.2" }, "engines": { "node": ">= 10.14.2" } }, - "node_modules/jest-jasmine2/node_modules/ansi-styles": { + "node_modules/jest-snapshot/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -35371,7 +38056,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-jasmine2/node_modules/chalk": { + "node_modules/jest-snapshot/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -35386,7 +38071,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-jasmine2/node_modules/color-convert": { + "node_modules/jest-snapshot/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -35397,12 +38082,12 @@ "node": ">=7.0.0" } }, - "node_modules/jest-jasmine2/node_modules/color-name": { + "node_modules/jest-snapshot/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/jest-jasmine2/node_modules/diff-sequences": { + "node_modules/jest-snapshot/node_modules/diff-sequences": { "version": "26.6.2", "dev": true, "license": "MIT", @@ -35410,7 +38095,7 @@ "node": ">= 10.14.2" } }, - "node_modules/jest-jasmine2/node_modules/has-flag": { + "node_modules/jest-snapshot/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -35418,7 +38103,7 @@ "node": ">=8" } }, - "node_modules/jest-jasmine2/node_modules/jest-diff": { + "node_modules/jest-snapshot/node_modules/jest-diff": { "version": "26.6.2", "dev": true, "license": "MIT", @@ -35432,7 +38117,33 @@ "node": ">= 10.14.2" } }, - "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { + "node_modules/jest-snapshot/node_modules/jest-haste-map": { + "version": "26.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { "version": "26.6.2", "dev": true, "license": "MIT", @@ -35446,7 +38157,38 @@ "node": ">= 10.14.2" } }, - "node_modules/jest-jasmine2/node_modules/pretty-format": { + "node_modules/jest-snapshot/node_modules/jest-regex-util": { + "version": "26.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-snapshot/node_modules/jest-serializer": { + "version": "26.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-snapshot/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/pretty-format": { "version": "26.6.2", "dev": true, "license": "MIT", @@ -35460,13 +38202,27 @@ "node": ">= 10" } }, - "node_modules/jest-jasmine2/node_modules/react-is": { + "node_modules/jest-snapshot/node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, - "node_modules/jest-jasmine2/node_modules/supports-color": { + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.3.8", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", @@ -35477,19 +38233,96 @@ "node": ">=8" } }, - "node_modules/jest-leak-detector": { + "node_modules/jest-util": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate": { "version": "26.6.2", "dev": true, "license": "MIT", "dependencies": { + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", "jest-get-type": "^26.3.0", + "leven": "^3.1.0", "pretty-format": "^26.6.2" }, "engines": { "node": ">= 10.14.2" } }, - "node_modules/jest-leak-detector/node_modules/ansi-styles": { + "node_modules/jest-validate/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -35497,13 +38330,39 @@ "color-convert": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-leak-detector/node_modules/color-convert": { + "node_modules/jest-validate/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -35514,12 +38373,20 @@ "node": ">=7.0.0" } }, - "node_modules/jest-leak-detector/node_modules/color-name": { + "node_modules/jest-validate/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/jest-leak-detector/node_modules/pretty-format": { + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/node_modules/pretty-format": { "version": "26.6.2", "dev": true, "license": "MIT", @@ -35533,27 +38400,41 @@ "node": ">= 10" } }, - "node_modules/jest-leak-detector/node_modules/react-is": { + "node_modules/jest-validate/node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, - "node_modules/jest-matcher-utils": { - "version": "27.5.1", + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher": { + "version": "26.6.2", "dev": true, "license": "MIT", "dependencies": { + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "jest-util": "^26.6.2", + "string-length": "^4.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 10.14.2" } }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "node_modules/jest-watcher/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -35567,7 +38448,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-matcher-utils/node_modules/chalk": { + "node_modules/jest-watcher/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -35582,7 +38463,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-matcher-utils/node_modules/color-convert": { + "node_modules/jest-watcher/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -35593,12 +38474,12 @@ "node": ">=7.0.0" } }, - "node_modules/jest-matcher-utils/node_modules/color-name": { + "node_modules/jest-watcher/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/jest-matcher-utils/node_modules/has-flag": { + "node_modules/jest-watcher/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", @@ -35606,17 +38487,38 @@ "node": ">=8" } }, - "node_modules/jest-matcher-utils/node_modules/jest-get-type": { - "version": "27.5.1", + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 10.13.0" } }, - "node_modules/jest-matcher-utils/node_modules/supports-color": { + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { "version": "7.2.0", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -35625,453 +38527,738 @@ "node": ">=8" } }, - "node_modules/jest-message-util": { - "version": "26.6.2", - "dev": true, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + }, + "node_modules/js-cookie": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", + "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" + }, + "node_modules/js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/js-string-escape": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", + "integrity": "sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.1", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "node_modules/jsdom": { + "version": "21.1.2", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-21.1.2.tgz", + "integrity": "sha512-sCpFmK2jv+1sjff4u7fzft+pUh2KSUbUrEHYHyfSIbGTIcmnjyp83qg6qLwdJ/I3LpTXx33ACxeRL7Lsyc6lGQ==", + "dependencies": { + "abab": "^2.0.6", + "acorn": "^8.8.2", + "acorn-globals": "^7.0.0", + "cssstyle": "^3.0.0", + "data-urls": "^4.0.0", + "decimal.js": "^10.4.3", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.4", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.6.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.1", + "ws": "^8.13.0", + "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=14" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, + "node_modules/jsdom-global": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/jsdom-global/-/jsdom-global-2.1.1.tgz", + "integrity": "sha512-nVZiKQhXZzmkFSF+AfpvErIYuzPEuBV684gYpWagtwWTLiy0p5EgQbP7gmNNA6/qxFb8l1E5w1NjES5nSBCw5A==" + }, + "node_modules/jsdom/node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsdom/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "license": "MIT" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/json-stable-stringify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz", + "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==", "dependencies": { - "color-convert": "^2.0.1" + "call-bind": "^1.0.5", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "license": "MIT", + "peer": true + }, + "node_modules/json-stringify-nice": { + "version": "1.1.4", + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "license": "ISC" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.0", "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.1.0", "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jsonp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/jsonp/-/jsonp-0.2.1.tgz", + "integrity": "sha512-pfog5gdDxPdV4eP7Kg87M8/bHgshlZ5pybl+yKxAnCZ5O7lCIn7Ixydj03wOlnDQesky2BPyA91SQ+5Y/mNwzw==", + "dependencies": { + "debug": "^2.1.3" + } + }, + "node_modules/jsonp/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/jsonp/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" }, "engines": { - "node": ">=10" + "node": "*" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "engines": { + "node": ">=0.6.0" } }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, + "node_modules/jsx-ast-utils": { + "version": "3.3.3", "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" }, "engines": { - "node": ">=7.0.0" + "node": ">=4.0" } }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "dev": true, + "node_modules/junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/just-diff": { + "version": "5.1.1", "license": "MIT" }, - "node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, + "node_modules/just-diff-apply": { + "version": "5.4.1", + "license": "MIT" + }, + "node_modules/just-extend": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", + "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", + "peer": true + }, + "node_modules/killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" + }, + "node_modules/kind-of": { + "version": "6.0.3", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-message-util/node_modules/pretty-format": { - "version": "26.6.2", - "dev": true, + "node_modules/kleur": { + "version": "3.0.3", "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/known-css-properties": { + "version": "0.21.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lazy-universal-dotenv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lazy-universal-dotenv/-/lazy-universal-dotenv-3.0.1.tgz", + "integrity": "sha512-prXSYk799h3GY3iOWnC6ZigYzMPjxN2svgjJ9shk7oMadSNX3wXy0B6F32PMJv7qtMnrIbUxoEHzbutvxR2LBQ==", "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" + "@babel/runtime": "^7.5.0", + "app-root-dir": "^1.0.2", + "core-js": "^3.0.4", + "dotenv": "^8.0.0", + "dotenv-expand": "^5.1.0" }, "engines": { - "node": ">= 10" + "node": ">=6.0.0", + "npm": ">=6.0.0", + "yarn": ">=1.0.0" } }, - "node_modules/jest-message-util/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true + "node_modules/lazy-universal-dotenv/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/ldjson-stream": { + "version": "1.2.1", + "dev": true, + "license": "BSD", + "dependencies": { + "split2": "^0.2.1", + "through2": "^0.6.1" + } + }, + "node_modules/ldjson-stream/node_modules/isarray": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/ldjson-stream/node_modules/readable-stream": { + "version": "1.0.34", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/ldjson-stream/node_modules/split2": { + "version": "0.2.1", + "dev": true, + "license": "ISC", + "dependencies": { + "through2": "~0.6.1" + } + }, + "node_modules/ldjson-stream/node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, + "license": "MIT" }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/ldjson-stream/node_modules/through2": { + "version": "0.6.5", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" } }, - "node_modules/jest-mock": { - "version": "26.6.2", + "node_modules/lerna": { + "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*" + "@lerna/add": "5.6.2", + "@lerna/bootstrap": "5.6.2", + "@lerna/changed": "5.6.2", + "@lerna/clean": "5.6.2", + "@lerna/cli": "5.6.2", + "@lerna/command": "5.6.2", + "@lerna/create": "5.6.2", + "@lerna/diff": "5.6.2", + "@lerna/exec": "5.6.2", + "@lerna/import": "5.6.2", + "@lerna/info": "5.6.2", + "@lerna/init": "5.6.2", + "@lerna/link": "5.6.2", + "@lerna/list": "5.6.2", + "@lerna/publish": "5.6.2", + "@lerna/run": "5.6.2", + "@lerna/version": "5.6.2", + "@nrwl/devkit": ">=14.8.1 < 16", + "import-local": "^3.0.2", + "inquirer": "^8.2.4", + "npmlog": "^6.0.2", + "nx": ">=14.8.1 < 16", + "typescript": "^3 || ^4" + }, + "bin": { + "lerna": "cli.js" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "node_modules/less": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", + "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" }, - "peerDependencies": { - "jest-resolve": "*" + "bin": { + "lessc": "bin/lessc" }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "27.5.1", - "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" } }, - "node_modules/jest-resolve": { - "version": "26.6.2", - "dev": true, - "license": "MIT", + "node_modules/less/node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", "dependencies": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" + "is-what": "^3.14.1" }, - "engines": { - "node": ">= 10.14.2" + "funding": { + "url": "https://github.com/sponsors/mesqueeb" } }, - "node_modules/jest-resolve-dependencies": { - "version": "26.6.3", - "dev": true, - "license": "MIT", + "node_modules/less/node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==" + }, + "node_modules/less/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "optional": true, "dependencies": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" + "pify": "^4.0.1", + "semver": "^5.6.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=6" } }, - "node_modules/jest-resolve-dependencies/node_modules/jest-regex-util": { - "version": "26.0.0", - "dev": true, - "license": "MIT", + "node_modules/less/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "optional": true, "engines": { - "node": ">= 10.14.2" + "node": ">=6" } }, - "node_modules/jest-resolve/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node_modules/less/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "optional": true, + "bin": { + "semver": "bin/semver" } }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "dev": true, + "node_modules/leven": { + "version": "3.1.0", "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=6" } }, - "node_modules/jest-resolve/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, + "node_modules/levn": { + "version": "0.4.1", "license": "MIT", + "peer": true, "dependencies": { - "color-name": "~1.1.4" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.8.0" } }, - "node_modules/jest-resolve/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-resolve/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "node_modules/libnpmaccess": { + "version": "6.0.4", + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "minipass": "^3.1.1", + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0" + }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/jest-resolve/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", + "node_modules/libnpmaccess/node_modules/hosted-git-info": { + "version": "5.2.1", + "license": "ISC", "dependencies": { - "has-flag": "^4.0.0" + "lru-cache": "^7.5.1" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/jest-runner": { - "version": "26.6.3", - "dev": true, - "license": "MIT", + "node_modules/libnpmaccess/node_modules/npm-package-arg": { + "version": "9.1.2", + "license": "ISC", "dependencies": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.7.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-docblock": "^26.0.0", - "jest-haste-map": "^26.6.2", - "jest-leak-detector": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/jest-runner/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", + "node_modules/libnpmaccess/node_modules/semver": { + "version": "7.3.8", + "license": "ISC", "dependencies": { - "color-convert": "^2.0.1" + "lru-cache": "^6.0.0" }, - "engines": { - "node": ">=8" + "bin": { + "semver": "bin/semver.js" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=10" } }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", + "node_modules/libnpmaccess/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "yallist": "^4.0.0" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-runner/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "node_modules/libnpmpublish": { + "version": "6.0.5", + "license": "ISC", "dependencies": { - "color-name": "~1.1.4" + "normalize-package-data": "^4.0.0", + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0", + "semver": "^7.3.7", + "ssri": "^9.0.0" }, "engines": { - "node": ">=7.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/jest-runner/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-runner/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "node_modules/libnpmpublish/node_modules/hosted-git-info": { + "version": "5.2.1", + "license": "ISC", + "dependencies": { + "lru-cache": "^7.5.1" + }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/jest-runner/node_modules/jest-haste-map": { - "version": "26.6.2", - "dev": true, - "license": "MIT", + "node_modules/libnpmpublish/node_modules/normalize-package-data": { + "version": "4.0.1", + "license": "BSD-2-Clause", "dependencies": { - "@jest/types": "^26.6.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7" + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">= 10.14.2" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/jest-runner/node_modules/jest-regex-util": { - "version": "26.0.0", - "dev": true, - "license": "MIT", + "node_modules/libnpmpublish/node_modules/npm-package-arg": { + "version": "9.1.2", + "license": "ISC", + "dependencies": { + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" + }, "engines": { - "node": ">= 10.14.2" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/jest-runner/node_modules/jest-serializer": { - "version": "26.6.2", - "dev": true, - "license": "MIT", + "node_modules/libnpmpublish/node_modules/semver": { + "version": "7.3.8", + "license": "ISC", "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.4" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" } }, - "node_modules/jest-runner/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", + "node_modules/libnpmpublish/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", "dependencies": { - "has-flag": "^4.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/jest-runtime": { - "version": "26.6.3", - "dev": true, - "license": "MIT", + "node_modules/lie": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", + "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", "dependencies": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/globals": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0", - "cjs-module-lexer": "^0.6.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.4.1" - }, - "bin": { - "jest-runtime": "bin/jest-runtime.js" - }, + "immediate": "~3.0.5" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "engines": { - "node": ">= 10.14.2" + "node": ">=10" } }, - "node_modules/jest-runtime/node_modules/@jest/transform": { - "version": "26.6.2", + "node_modules/lines-and-columns": { + "version": "1.2.4", + "license": "MIT" + }, + "node_modules/lint-staged": { + "version": "10.5.4", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", + "chalk": "^4.1.0", + "cli-truncate": "^2.1.0", + "commander": "^6.2.0", + "cosmiconfig": "^7.0.0", + "debug": "^4.2.0", + "dedent": "^0.7.0", + "enquirer": "^2.3.6", + "execa": "^4.1.0", + "listr2": "^3.2.2", + "log-symbols": "^4.0.0", "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" + "normalize-path": "^3.0.0", + "please-upgrade-node": "^3.2.0", + "string-argv": "0.3.1", + "stringify-object": "^3.3.0" }, - "engines": { - "node": ">= 10.14.2" + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" } }, - "node_modules/jest-runtime/node_modules/ansi-styles": { + "node_modules/lint-staged/node_modules/ansi-styles": { "version": "4.3.0", "dev": true, "license": "MIT", @@ -36085,7 +39272,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-runtime/node_modules/chalk": { + "node_modules/lint-staged/node_modules/chalk": { "version": "4.1.2", "dev": true, "license": "MIT", @@ -36100,17 +39287,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-runtime/node_modules/cliui": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/jest-runtime/node_modules/color-convert": { + "node_modules/lint-staged/node_modules/color-convert": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -36121,215 +39298,333 @@ "node": ">=7.0.0" } }, - "node_modules/jest-runtime/node_modules/color-name": { + "node_modules/lint-staged/node_modules/color-name": { "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/jest-runtime/node_modules/find-up": { - "version": "4.1.0", + "node_modules/lint-staged/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/jest-runtime/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/lint-staged/node_modules/execa": { + "version": "4.1.0", "dev": true, "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/jest-runtime/node_modules/jest-haste-map": { - "version": "26.6.2", + "node_modules/lint-staged/node_modules/get-stream": { + "version": "5.2.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7" + "pump": "^3.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=8" }, - "optionalDependencies": { - "fsevents": "^2.1.2" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-runtime/node_modules/jest-regex-util": { - "version": "26.0.0", + "node_modules/lint-staged/node_modules/has-flag": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 10.14.2" + "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/jest-serializer": { - "version": "26.6.2", + "node_modules/lint-staged/node_modules/human-signals": { + "version": "1.1.1", "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - }, + "license": "Apache-2.0", "engines": { - "node": ">= 10.14.2" + "node": ">=8.12.0" } }, - "node_modules/jest-runtime/node_modules/locate-path": { - "version": "5.0.0", + "node_modules/lint-staged/node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/listr2": { + "version": "3.14.0", "dev": true, "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=6" + "node": ">=10.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } } }, - "node_modules/jest-runtime/node_modules/p-locate": { - "version": "4.1.0", + "node_modules/load-json-file": { + "version": "6.2.0", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "graceful-fs": "^4.1.15", + "parse-json": "^5.0.0", + "strip-bom": "^4.0.0", + "type-fest": "^0.6.0" }, "engines": { "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/load-json-file/node_modules/type-fest": { + "version": "0.6.0", "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/wrap-ansi": { - "version": "6.2.0", - "dev": true, + "node_modules/loader-runner": { + "version": "4.3.0", "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, "engines": { - "node": ">=8" + "node": ">=6.11.5" } }, - "node_modules/jest-runtime/node_modules/y18n": { - "version": "4.0.3", - "dev": true, - "license": "ISC" - }, - "node_modules/jest-runtime/node_modules/yargs": { - "version": "15.4.1", - "dev": true, - "license": "MIT", + "node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">=4.0.0" } }, - "node_modules/jest-runtime/node_modules/yargs-parser": { - "version": "18.1.3", - "dev": true, - "license": "ISC", + "node_modules/loader-utils/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "minimist": "^1.2.0" }, - "engines": { - "node": ">=6" + "bin": { + "json5": "lib/cli.js" } }, - "node_modules/jest-serializer": { - "version": "27.5.1", + "node_modules/loadjs": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loadjs/-/loadjs-4.2.0.tgz", + "integrity": "sha512-AgQGZisAlTPbTEzrHPb6q+NYBMD+DP9uvGSIjSUM5uG+0jG15cb8axWpxuOIqrmQjn6scaaH8JwloiP27b2KXA==" + }, + "node_modules/localforage": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz", + "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", + "dependencies": { + "lie": "3.1.1" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", "license": "MIT", "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.9" + "p-locate": "^5.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-snapshot": { - "version": "26.6.2", + "node_modules/lodash": { + "version": "4.17.21", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "license": "MIT" + }, + "node_modules/lodash.capitalize": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz", + "integrity": "sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==" + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "license": "MIT" + }, + "node_modules/lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==" + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "peer": true + }, + "node_modules/lodash.groupby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz", + "integrity": "sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw==" + }, + "node_modules/lodash.isfunction": { + "version": "3.0.9", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.ismatch": { + "version": "4.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "license": "MIT" + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.pickby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz", + "integrity": "sha512-AZV+GsS/6ckvPOVQPXSiFFacKvKB4kOQu6ynt9wz0F3LO4R9Ij4K1ddYsIytDpSgLz88JHd9P+oaLeej5/Sl7Q==" + }, + "node_modules/lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==" + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "license": "MIT" + }, + "node_modules/lodash.uniqby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", + "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==" + }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", "license": "MIT", "dependencies": { - "@babel/types": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.0.0", - "chalk": "^4.0.0", - "expect": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-haste-map": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^26.6.2", - "semver": "^7.3.2" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { + "node_modules/log-symbols/node_modules/ansi-styles": { "version": "4.3.0", - "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -36341,9 +39636,8 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-snapshot/node_modules/chalk": { + "node_modules/log-symbols/node_modules/chalk": { "version": "4.1.2", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -36356,9 +39650,8 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-snapshot/node_modules/color-convert": { + "node_modules/log-symbols/node_modules/color-convert": { "version": "2.0.1", - "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -36367,3507 +39660,4132 @@ "node": ">=7.0.0" } }, - "node_modules/jest-snapshot/node_modules/color-name": { + "node_modules/log-symbols/node_modules/color-name": { "version": "1.1.4", - "dev": true, "license": "MIT" }, - "node_modules/jest-snapshot/node_modules/diff-sequences": { - "version": "26.6.2", - "dev": true, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", "license": "MIT", "engines": { - "node": ">= 10.14.2" + "node": ">=8" } }, - "node_modules/jest-snapshot/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/jest-snapshot/node_modules/jest-diff": { - "version": "26.6.2", + "node_modules/log-update": { + "version": "4.0.0", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-snapshot/node_modules/jest-haste-map": { - "version": "26.6.2", + "node_modules/log-update/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": ">=8" }, - "optionalDependencies": { - "fsevents": "^2.1.2" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { - "version": "26.6.2", + "node_modules/log-update/node_modules/color-convert": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 10.14.2" + "node": ">=7.0.0" } }, - "node_modules/jest-snapshot/node_modules/jest-regex-util": { - "version": "26.0.0", + "node_modules/log-update/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/jest-snapshot/node_modules/jest-serializer": { - "version": "26.6.2", + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.4" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/loglevel": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz", + "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==", + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" + } + }, + "node_modules/longest-streak": { + "version": "2.0.4", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==", + "optional": true, + "dependencies": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=0.10.0" + } + }, + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "peer": true, + "dependencies": { + "get-func-name": "^2.0.1" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowlight": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.11.0.tgz", + "integrity": "sha512-xrGGN6XLL7MbTMdPD6NfWPwY43SNkjf/d0mecSx/CW36fUZTjRHEq0/Cdug3TWKtRXLWi7iMl1eP0olYxj/a4A==", + "dependencies": { + "fault": "^1.0.2", + "highlight.js": "~9.13.0" + } + }, + "node_modules/lowlight/node_modules/highlight.js": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.13.1.tgz", + "integrity": "sha512-Sc28JNQNDzaH6PORtRLMvif9RSn1mYuOoX3omVjnb0+HbpPygU2ALBI0R/wsiqCb4/fcp07Gdo8g+fhtFrQl6A==", + "deprecated": "Version no longer supported. Upgrade to @latest", + "engines": { + "node": "*" + } + }, + "node_modules/lru-cache": { + "version": "7.14.1", + "license": "ISC", + "engines": { + "node": ">=12" } }, - "node_modules/jest-snapshot/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "node_modules/lz-string": { + "version": "1.4.4", + "license": "WTFPL", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "sourcemap-codec": "^1.4.8" } }, - "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "26.6.2", - "dev": true, + "node_modules/make-dir": { + "version": "3.1.0", "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" + "semver": "^6.0.0" }, "engines": { - "node": ">= 10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-snapshot/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true + "node_modules/make-error": { + "version": "1.3.6", + "devOptional": true, + "license": "ISC" }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.3.8", - "dev": true, + "node_modules/make-fetch-happen": { + "version": "10.2.1", "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/jest-snapshot/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", + "node_modules/makeerror": { + "version": "1.0.12", + "license": "BSD-3-Clause", "dependencies": { - "has-flag": "^4.0.0" + "tmpl": "1.0.5" + } + }, + "node_modules/map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dependencies": { + "p-defer": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/jest-util": { - "version": "26.6.2", + "node_modules/map-cache": { + "version": "0.2.2", "license": "MIT", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, "engines": { - "node": ">= 10.14.2" + "node": ">=0.10.0" } }, - "node_modules/jest-util/node_modules/ansi-styles": { + "node_modules/map-obj": { "version": "4.3.0", + "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", + "node_modules/map-or-similar": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz", + "integrity": "sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==" + }, + "node_modules/map-visit": { + "version": "1.0.0", "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "object-visit": "^1.0.0" }, "engines": { - "node": ">=10" - }, + "node": ">=0.10.0" + } + }, + "node_modules/markdown-escapes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", + "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/markdown-to-jsx": { + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz", + "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==", "dependencies": { - "color-name": "~1.1.4" + "prop-types": "^15.6.2", + "unquote": "^1.1.0" }, "engines": { - "node": ">=7.0.0" + "node": ">= 4" + }, + "peerDependencies": { + "react": ">= 0.14.0" } }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/marked": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", + "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==", + "bin": { + "marked": "bin/marked" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/marksy": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/marksy/-/marksy-8.0.0.tgz", + "integrity": "sha512-mmHcKZojCQAGuKTuu3153viXdCuxUmsSxomFaSOBTkOlfWFOZBmDhmJkOp0CsPMNRQ7m6oN2wflvAHLpBNZVPw==", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@babel/standalone": "^7.4.5", + "he": "^1.2.0", + "marked": "^0.3.12" } }, - "node_modules/jest-validate": { - "version": "26.6.2", + "node_modules/mathml-tag-names": { + "version": "2.1.3", "dev": true, "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", "dependencies": { - "@jest/types": "^26.6.2", - "camelcase": "^6.0.0", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "leven": "^3.1.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" } }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/md5/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/mdast-squeeze-paragraphs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz", + "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==", + "dependencies": { + "unist-util-remove": "^2.0.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" + "node_modules/mdast-util-definitions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", + "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", + "dependencies": { + "unist-util-visit": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", + "node_modules/mdast-util-from-markdown": { + "version": "0.8.5", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" }, - "engines": { - "node": ">=10" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz", + "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "mdast-util-definitions": "^4.0.0", + "mdurl": "^1.0.0", + "unist-builder": "^2.0.0", + "unist-util-generated": "^1.0.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^2.0.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/mdast-util-to-markdown": { + "version": "0.6.5", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@types/unist": "^2.0.0", + "longest-streak": "^2.0.0", + "mdast-util-to-string": "^2.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.0.0", + "zwitch": "^1.0.0" }, - "engines": { - "node": ">=7.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-validate/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/mdast-util-to-string": { + "version": "2.0.0", "dev": true, "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/jest-validate/node_modules/pretty-format": { - "version": "26.6.2", - "dev": true, - "license": "MIT", + "node_modules/mem": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/mem/-/mem-8.1.1.tgz", + "integrity": "sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==", "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" + "map-age-cleaner": "^0.1.3", + "mimic-fn": "^3.1.0" }, "engines": { - "node": ">= 10" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/mem?sponsor=1" } }, - "node_modules/jest-validate/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, + "node_modules/mem/node_modules/mimic-fn": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", + "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", "engines": { "node": ">=8" } }, - "node_modules/jest-watcher": { - "version": "26.6.2", - "dev": true, - "license": "MIT", + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "dependencies": { - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^26.6.2", - "string-length": "^4.0.1" + "fs-monkey": "^1.0.4" }, "engines": { - "node": ">= 10.14.2" + "node": ">= 4.0.0" } }, - "node_modules/jest-watcher/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, + "node_modules/memoizerific": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz", + "integrity": "sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==", + "dependencies": { + "map-or-similar": "^1.5.0" + } + }, + "node_modules/memory-fs": { + "version": "0.2.0", + "license": "MIT" + }, + "node_modules/memory-web-storage": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/memory-web-storage/-/memory-web-storage-0.1.0.tgz", + "integrity": "sha512-AVVlRidjJlKqdzdxdsvXgX24m2eA/8FFlqBrvHN9JRlzMuYCGev7o0bjkP207UhkqVtIg1sNyEHBq2uvykA/3w==" + }, + "node_modules/meow": { + "version": "8.1.2", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-watcher/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/meow/node_modules/yargs-parser": { + "version": "20.2.9", "dev": true, - "license": "MIT", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/merge-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz", + "integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==", "dependencies": { - "color-name": "~1.1.4" + "is-plain-obj": "^1.1" }, "engines": { - "node": ">=7.0.0" + "node": ">=4" } }, - "node_modules/jest-watcher/node_modules/color-name": { - "version": "1.1.4", - "dev": true, + "node_modules/merge-stream": { + "version": "2.0.0", "license": "MIT" }, - "node_modules/jest-watcher/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, + "node_modules/merge2": { + "version": "1.4.1", "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/jest-watcher/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/microevent.ts": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", + "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" + }, + "node_modules/micromark": { + "version": "2.11.4", "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=8" + "node": ">=8.6" } }, - "node_modules/jest-worker": { - "version": "26.6.2", - "license": "MIT", + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">= 10.13.0" + "node": ">=4" } }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/mime-db": { + "version": "1.52.0", "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/mime-types": { + "version": "2.1.35", "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "mime-db": "1.52.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", - "bin": { - "jiti": "bin/jiti.js" + "node": ">= 0.6" } }, - "node_modules/js-base64": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", - "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" - }, - "node_modules/js-cookie": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", - "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" - }, - "node_modules/js-levenshtein": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "node_modules/mimic-fn": { + "version": "2.1.0", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/js-string-escape": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", - "integrity": "sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==", - "engines": { - "node": ">= 0.8" + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "dependencies": { + "dom-walk": "^0.1.0" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "3.14.1", + "node_modules/min-indent": { + "version": "1.0.1", "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=4" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "node_modules/jsdom": { - "version": "21.1.2", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-21.1.2.tgz", - "integrity": "sha512-sCpFmK2jv+1sjff4u7fzft+pUh2KSUbUrEHYHyfSIbGTIcmnjyp83qg6qLwdJ/I3LpTXx33ACxeRL7Lsyc6lGQ==", + "node_modules/mini-css-extract-plugin": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", + "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", "dependencies": { - "abab": "^2.0.6", - "acorn": "^8.8.2", - "acorn-globals": "^7.0.0", - "cssstyle": "^3.0.0", - "data-urls": "^4.0.0", - "decimal.js": "^10.4.3", - "domexception": "^4.0.0", - "escodegen": "^2.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.4", - "parse5": "^7.1.2", - "rrweb-cssom": "^0.6.0", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.2", - "w3c-xmlserializer": "^4.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^12.0.1", - "ws": "^8.13.0", - "xml-name-validator": "^4.0.0" + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "webpack-sources": "^1.1.0" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "canvas": "^2.5.0" + "node": ">= 10.13.0" }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsdom-global": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/jsdom-global/-/jsdom-global-2.1.1.tgz", - "integrity": "sha512-nVZiKQhXZzmkFSF+AfpvErIYuzPEuBV684gYpWagtwWTLiy0p5EgQbP7gmNNA6/qxFb8l1E5w1NjES5nSBCw5A==" - }, - "node_modules/jsdom/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "bin": { - "acorn": "bin/acorn" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, - "engines": { - "node": ">=0.4.0" + "peerDependencies": { + "webpack": "^4.4.0 || ^5.0.0" } }, - "node_modules/jsdom/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "node_modules/mini-css-extract-plugin/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": ">= 6" + "node": ">=8.9.0" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" + "node_modules/mini-css-extract-plugin/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" } }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "license": "MIT" - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" }, - "node_modules/json-stable-stringify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz", - "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==", + "node_modules/minimatch": { + "version": "3.1.2", + "license": "ISC", "dependencies": { - "call-bind": "^1.0.5", - "isarray": "^2.0.5", - "jsonify": "^0.0.1", - "object-keys": "^1.1.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "*" } }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", + "node_modules/minimist": { + "version": "1.2.7", "license": "MIT", - "peer": true - }, - "node_modules/json-stringify-nice": { - "version": "1.1.4", - "dev": true, - "license": "ISC", "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "license": "ISC" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jsonc-parser": { - "version": "3.2.0", + "node_modules/minimist-options": { + "version": "4.1.0", "dev": true, - "license": "MIT" - }, - "node_modules/jsonfile": { - "version": "6.1.0", "license": "MIT", "dependencies": { - "universalify": "^2.0.0" + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", - "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 6" } }, - "node_modules/jsonp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/jsonp/-/jsonp-0.2.1.tgz", - "integrity": "sha512-pfog5gdDxPdV4eP7Kg87M8/bHgshlZ5pybl+yKxAnCZ5O7lCIn7Ixydj03wOlnDQesky2BPyA91SQ+5Y/mNwzw==", + "node_modules/minipass": { + "version": "3.3.6", + "license": "ISC", "dependencies": { - "debug": "^2.1.3" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/jsonp/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/minipass-collect": { + "version": "1.0.2", + "license": "ISC", "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/jsonp/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "dev": true, - "engines": [ - "node >= 0.2.0" - ], - "license": "MIT" - }, - "node_modules/jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "minipass": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, - "node_modules/JSONStream": { - "version": "1.3.5", - "dev": true, - "license": "(MIT OR Apache-2.0)", + "node_modules/minipass-fetch": { + "version": "2.1.2", + "license": "MIT", "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" }, "engines": { - "node": "*" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "node_modules/minipass-flush": { + "version": "1.0.5", + "license": "ISC", "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" + "minipass": "^3.0.0" }, "engines": { - "node": ">=0.6.0" + "node": ">= 8" } }, - "node_modules/jsx-ast-utils": { - "version": "3.3.3", + "node_modules/minipass-json-stream": { + "version": "1.0.1", "license": "MIT", "dependencies": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" - }, - "engines": { - "node": ">=4.0" + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" } }, - "node_modules/junk": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", - "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/just-diff": { - "version": "5.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/just-diff-apply": { - "version": "5.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/just-extend": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", - "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", - "peer": true - }, - "node_modules/killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" - }, - "node_modules/kind-of": { - "version": "6.0.3", - "license": "MIT", + "node_modules/minipass-sized": { + "version": "1.0.3", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/kleur": { - "version": "3.0.3", + "node_modules/minizlib": { + "version": "2.1.2", "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, "engines": { "node": ">= 8" } }, - "node_modules/known-css-properties": { - "version": "0.21.0", - "dev": true, - "license": "MIT" - }, - "node_modules/lazy-universal-dotenv": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lazy-universal-dotenv/-/lazy-universal-dotenv-3.0.1.tgz", - "integrity": "sha512-prXSYk799h3GY3iOWnC6ZigYzMPjxN2svgjJ9shk7oMadSNX3wXy0B6F32PMJv7qtMnrIbUxoEHzbutvxR2LBQ==", + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dependencies": { - "@babel/runtime": "^7.5.0", - "app-root-dir": "^1.0.2", - "core-js": "^3.0.4", - "dotenv": "^8.0.0", - "dotenv-expand": "^5.1.0" + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" }, "engines": { - "node": ">=6.0.0", - "npm": ">=6.0.0", - "yarn": ">=1.0.0" + "node": ">=4.0.0" } }, - "node_modules/lazy-universal-dotenv/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/mississippi/node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "node_modules/ldjson-stream": { - "version": "1.2.1", - "dev": true, - "license": "BSD", - "dependencies": { - "split2": "^0.2.1", - "through2": "^0.6.1" + "node_modules/mississippi/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/mississippi/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/ldjson-stream/node_modules/isarray": { - "version": "0.0.1", - "dev": true, - "license": "MIT" + "node_modules/mississippi/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/ldjson-stream/node_modules/readable-stream": { - "version": "1.0.34", - "dev": true, - "license": "MIT", + "node_modules/mississippi/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "safe-buffer": "~5.1.0" } }, - "node_modules/ldjson-stream/node_modules/split2": { - "version": "0.2.1", - "dev": true, - "license": "ISC", + "node_modules/mississippi/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dependencies": { - "through2": "~0.6.1" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/ldjson-stream/node_modules/string_decoder": { - "version": "0.10.31", - "dev": true, - "license": "MIT" + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==" }, - "node_modules/ldjson-stream/node_modules/through2": { - "version": "0.6.5", - "dev": true, + "node_modules/mixin-deep": { + "version": "1.3.2", "license": "MIT", "dependencies": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/lerna": { - "version": "5.6.2", - "dev": true, + "node_modules/mkdirp": { + "version": "1.0.4", "license": "MIT", - "dependencies": { - "@lerna/add": "5.6.2", - "@lerna/bootstrap": "5.6.2", - "@lerna/changed": "5.6.2", - "@lerna/clean": "5.6.2", - "@lerna/cli": "5.6.2", - "@lerna/command": "5.6.2", - "@lerna/create": "5.6.2", - "@lerna/diff": "5.6.2", - "@lerna/exec": "5.6.2", - "@lerna/import": "5.6.2", - "@lerna/info": "5.6.2", - "@lerna/init": "5.6.2", - "@lerna/link": "5.6.2", - "@lerna/list": "5.6.2", - "@lerna/publish": "5.6.2", - "@lerna/run": "5.6.2", - "@lerna/version": "5.6.2", - "@nrwl/devkit": ">=14.8.1 < 16", - "import-local": "^3.0.2", - "inquirer": "^8.2.4", - "npmlog": "^6.0.2", - "nx": ">=14.8.1 < 16", - "typescript": "^3 || ^4" - }, "bin": { - "lerna": "cli.js" + "mkdirp": "bin/cmd.js" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/less": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", - "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", + "node_modules/mkdirp-infer-owner": { + "version": "2.0.0", + "license": "ISC", "dependencies": { - "copy-anything": "^2.0.1", - "parse-node-version": "^1.0.1", - "tslib": "^2.3.0" - }, - "bin": { - "lessc": "bin/lessc" + "chownr": "^2.0.0", + "infer-owner": "^1.0.4", + "mkdirp": "^1.0.3" }, "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^3.1.0", - "source-map": "~0.6.0" + "node": ">=10" } }, - "node_modules/less/node_modules/copy-anything": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", - "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", - "dependencies": { - "is-what": "^3.14.1" - }, + "node_modules/mobx": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/mobx/-/mobx-6.12.0.tgz", + "integrity": "sha512-Mn6CN6meXEnMa0a5u6a5+RKrqRedHBhZGd15AWLk9O6uFY4KYHzImdt8JI8WODo1bjTSRnwXhJox+FCUZhCKCQ==", "funding": { - "url": "https://github.com/sponsors/mesqueeb" + "type": "opencollective", + "url": "https://opencollective.com/mobx" } }, - "node_modules/less/node_modules/is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==" + "node_modules/mobx-persist-store": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/mobx-persist-store/-/mobx-persist-store-1.1.2.tgz", + "integrity": "sha512-YY5werUDcJWiQsOPmdFae+XxeVSdyag9NfDsJrYHyAkBVWb9BzXVvrMOh3XKV6EnxMjeqRxbwrXFkgIcLx/H2w==", + "peerDependencies": { + "mobx": "*" + } }, - "node_modules/less/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "optional": true, + "node_modules/mobx-react": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-7.6.0.tgz", + "integrity": "sha512-+HQUNuh7AoQ9ZnU6c4rvbiVVl+wEkb9WqYsVDzGLng+Dqj1XntHu79PvEWKtSMoMj67vFp/ZPXcElosuJO8ckA==", "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "mobx-react-lite": "^3.4.0" }, - "engines": { - "node": ">=6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mobx" + }, + "peerDependencies": { + "mobx": "^6.1.0", + "react": "^16.8.0 || ^17 || ^18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } } }, - "node_modules/less/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "optional": true, - "engines": { - "node": ">=6" + "node_modules/mobx-react-lite": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-3.4.3.tgz", + "integrity": "sha512-NkJREyFTSUXR772Qaai51BnE1voWx56LOL80xG7qkZr6vo8vEaLF3sz1JNUVh+rxmUzxYaqOhfuxTfqUh0FXUg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mobx" + }, + "peerDependencies": { + "mobx": "^6.1.0", + "react": "^16.8.0 || ^17 || ^18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } } }, - "node_modules/less/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "optional": true, - "bin": { - "semver": "bin/semver" + "node_modules/mobx-utils": { + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/mobx-utils/-/mobx-utils-6.0.8.tgz", + "integrity": "sha512-fPNt0vJnHwbQx9MojJFEnJLfM3EMGTtpy4/qOOW6xueh1mPofMajrbYAUvByMYAvCJnpy1A5L0t+ZVB5niKO4g==", + "peerDependencies": { + "mobx": "^6.0.0" } }, - "node_modules/leven": { - "version": "3.1.0", - "license": "MIT", - "engines": { - "node": ">=6" + "node_modules/mock-local-storage": { + "version": "1.1.24", + "resolved": "https://registry.npmjs.org/mock-local-storage/-/mock-local-storage-1.1.24.tgz", + "integrity": "sha512-NEfmw+yEK9oe6xCfOnTaJ6Dz+L3eu6vsZopJlxflXYxr7Mg3EV+S0NXKUQlY9AAeDEdaPZDSUGq1Gi6kLSa5PA==", + "dependencies": { + "core-js": "^3.30.2", + "global": "^4.3.2" } }, - "node_modules/levn": { - "version": "0.4.1", - "license": "MIT", - "peer": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" + "node_modules/mock-local-storage/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/libnpmaccess": { - "version": "6.0.4", + "node_modules/modify-values": { + "version": "1.0.1", "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^2.0.0", - "minipass": "^3.1.1", - "npm-package-arg": "^9.0.1", - "npm-registry-fetch": "^13.0.0" - }, + "license": "MIT", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.10.0" } }, - "node_modules/libnpmaccess/node_modules/hosted-git-info": { - "version": "5.2.1", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^7.5.1" - }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "*" } }, - "node_modules/libnpmaccess/node_modules/npm-package-arg": { - "version": "9.1.2", - "dev": true, - "license": "ISC", + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" } }, - "node_modules/libnpmaccess/node_modules/semver": { - "version": "7.3.8", - "dev": true, - "license": "ISC", + "node_modules/move-concurrently/node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "node_modules/move-concurrently/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dependencies": { - "lru-cache": "^6.0.0" + "minimist": "^1.2.6" }, "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "mkdirp": "bin/cmd.js" } }, - "node_modules/libnpmaccess/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "node_modules/move-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dependencies": { - "yallist": "^4.0.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">=10" + "bin": { + "rimraf": "bin.js" } }, - "node_modules/libnpmpublish": { - "version": "6.0.5", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-package-data": "^4.0.0", - "npm-package-arg": "^9.0.1", - "npm-registry-fetch": "^13.0.0", - "semver": "^7.3.7", - "ssri": "^9.0.0" - }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/libnpmpublish/node_modules/hosted-git-info": { - "version": "5.2.1", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^7.5.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } + "node_modules/ms": { + "version": "2.1.2", + "license": "MIT" }, - "node_modules/libnpmpublish/node_modules/normalize-package-data": { - "version": "4.0.1", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/msw": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/msw/-/msw-1.3.2.tgz", + "integrity": "sha512-wKLhFPR+NitYTkQl5047pia0reNGgf0P6a1eTnA5aNlripmiz0sabMvvHcicE8kQ3/gZcI0YiPFWmYfowfm3lA==", + "hasInstallScript": true, "dependencies": { - "hosted-git-info": "^5.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" + "@mswjs/cookies": "^0.2.2", + "@mswjs/interceptors": "^0.17.10", + "@open-draft/until": "^1.0.3", + "@types/cookie": "^0.4.1", + "@types/js-levenshtein": "^1.1.1", + "chalk": "^4.1.1", + "chokidar": "^3.4.2", + "cookie": "^0.4.2", + "graphql": "^16.8.1", + "headers-polyfill": "3.2.5", + "inquirer": "^8.2.0", + "is-node-process": "^1.2.0", + "js-levenshtein": "^1.1.6", + "node-fetch": "^2.6.7", + "outvariant": "^1.4.0", + "path-to-regexp": "^6.2.0", + "strict-event-emitter": "^0.4.3", + "type-fest": "^2.19.0", + "yargs": "^17.3.1" + }, + "bin": { + "msw": "cli/index.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mswjs" + }, + "peerDependencies": { + "typescript": ">= 4.4.x <= 5.2.x" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/libnpmpublish/node_modules/npm-package-arg": { - "version": "9.1.2", - "dev": true, - "license": "ISC", + "node_modules/msw/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/libnpmpublish/node_modules/semver": { - "version": "7.3.8", - "dev": true, - "license": "ISC", + "node_modules/msw/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/libnpmpublish/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "node_modules/msw/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { - "yallist": "^4.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=10" + "node": ">=7.0.0" } }, - "node_modules/lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", - "dependencies": { - "immediate": "~3.0.5" - } + "node_modules/msw/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "node_modules/msw/node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "engines": { - "node": ">=10" + "node": ">= 0.6" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "license": "MIT" - }, - "node_modules/lint-staged": { - "version": "10.5.4", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "cli-truncate": "^2.1.0", - "commander": "^6.2.0", - "cosmiconfig": "^7.0.0", - "debug": "^4.2.0", - "dedent": "^0.7.0", - "enquirer": "^2.3.6", - "execa": "^4.1.0", - "listr2": "^3.2.2", - "log-symbols": "^4.0.0", - "micromatch": "^4.0.2", - "normalize-path": "^3.0.0", - "please-upgrade-node": "^3.2.0", - "string-argv": "0.3.1", - "stringify-object": "^3.3.0" - }, - "bin": { - "lint-staged": "bin/lint-staged.js" - }, - "funding": { - "url": "https://opencollective.com/lint-staged" + "node_modules/msw/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" } }, - "node_modules/lint-staged/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", + "node_modules/msw/node_modules/path-to-regexp": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", + "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" + }, + "node_modules/msw/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "color-convert": "^2.0.1" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" + } + }, + "node_modules/msw/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lint-staged/node_modules/chalk": { - "version": "4.1.2", + "node_modules/multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dependencies": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==" + }, + "node_modules/multimatch": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lint-staged/node_modules/color-convert": { + "node_modules/multimatch/node_modules/arrify": { "version": "2.0.1", "dev": true, "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/lint-staged/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" + "node_modules/mute-stream": { + "version": "0.0.8", + "license": "ISC" }, - "node_modules/lint-staged/node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nan": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz", + "integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==", + "optional": true + }, + "node_modules/nanoclone": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz", + "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, "engines": { - "node": ">= 6" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/lint-staged/node_modules/execa": { - "version": "4.1.0", - "dev": true, + "node_modules/nanomatch": { + "version": "1.2.13", "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/lint-staged/node_modules/get-stream": { - "version": "5.2.0", - "dev": true, - "license": "MIT", + "node_modules/natural-compare": { + "version": "1.4.0", + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "license": "MIT" + }, + "node_modules/needle": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", + "optional": true, "dependencies": { - "pump": "^3.0.0" + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" }, "engines": { - "node": ">=8" + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/lint-staged/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, + "node_modules/negotiator": { + "version": "0.6.3", "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/lint-staged/node_modules/human-signals": { - "version": "1.1.1", + "node_modules/neo-async": { + "version": "2.6.2", + "license": "MIT" + }, + "node_modules/nerf-dart": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/nerf-dart/-/nerf-dart-1.0.0.tgz", + "integrity": "sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==" + }, + "node_modules/nested-error-stacks": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz", + "integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==" + }, + "node_modules/nested-object-assign": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nested-object-assign/-/nested-object-assign-1.0.4.tgz", + "integrity": "sha512-FlZ7oN9ICt+fbcJ4ag2IsALIcalfE/E16ttdSA8peBiHJI+oEKdOcafqDnUbeUe5NwWGn/m9zZGO9qrAGzfesg==" + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "license": "MIT" + }, + "node_modules/nise": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz", + "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==", + "peer": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0", + "@sinonjs/fake-timers": "^11.2.2", + "@sinonjs/text-encoding": "^0.7.2", + "just-extend": "^6.2.0", + "path-to-regexp": "^6.2.1" + } + }, + "node_modules/nise/node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "peer": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/nise/node_modules/@sinonjs/fake-timers": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", + "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", + "peer": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/nise/node_modules/path-to-regexp": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", + "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", + "peer": true + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-addon-api": { + "version": "3.2.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT" + }, + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "dependencies": { + "minimatch": "^3.0.2" + }, "engines": { - "node": ">=8.12.0" + "node": ">= 0.10.5" } }, - "node_modules/lint-staged/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", + "node_modules/node-emoji": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz", + "integrity": "sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==", + "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "@sindresorhus/is": "^4.6.0", + "char-regex": "^1.0.2", + "emojilib": "^2.4.0", + "skin-tone": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/listr2": { - "version": "3.14.0", - "dev": true, - "license": "MIT", + "node_modules/node-fetch": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", "dependencies": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.1", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">=10.0.0" + "node": "4.x || >=6.0.0" }, "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" + "encoding": "^0.1.0" }, "peerDependenciesMeta": { - "enquirer": { + "encoding": { "optional": true } } }, - "node_modules/load-json-file": { - "version": "6.2.0", - "dev": true, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "license": "MIT" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "license": "BSD-2-Clause" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", "license": "MIT", "dependencies": { - "graceful-fs": "^4.1.15", - "parse-json": "^5.0.0", - "strip-bom": "^4.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, - "node_modules/load-json-file/node_modules/type-fest": { - "version": "0.6.0", - "dev": true, - "license": "(MIT OR CC0-1.0)", + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "engines": { - "node": ">=8" + "node": ">= 6.13.0" } }, - "node_modules/loader-runner": { - "version": "4.3.0", + "node_modules/node-gyp": { + "version": "9.3.0", "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^6.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, "engines": { - "node": ">=6.11.5" + "node": "^12.22 || ^14.13 || >=16" } }, - "node_modules/loader-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "node_modules/node-gyp-build": { + "version": "4.5.0", + "dev": true, + "license": "MIT", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "yallist": "^4.0.0" }, "engines": { - "node": ">=4.0.0" + "node": ">=10" } }, - "node_modules/loader-utils/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "node_modules/node-gyp/node_modules/nopt": { + "version": "6.0.0", + "license": "ISC", "dependencies": { - "minimist": "^1.2.0" + "abbrev": "^1.0.0" }, "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/loadjs": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loadjs/-/loadjs-4.2.0.tgz", - "integrity": "sha512-AgQGZisAlTPbTEzrHPb6q+NYBMD+DP9uvGSIjSUM5uG+0jG15cb8axWpxuOIqrmQjn6scaaH8JwloiP27b2KXA==" - }, - "node_modules/localforage": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz", - "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", - "dependencies": { - "lie": "3.1.1" + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/locate-path": { - "version": "6.0.0", - "license": "MIT", + "node_modules/node-gyp/node_modules/semver": { + "version": "7.3.8", + "license": "ISC", "dependencies": { - "p-locate": "^5.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", - "license": "MIT" - }, - "node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "license": "MIT" - }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "license": "MIT" - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "peer": true - }, - "node_modules/lodash.groupby": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz", - "integrity": "sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw==" - }, - "node_modules/lodash.isfunction": { - "version": "3.0.9", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.ismatch": { - "version": "4.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "license": "MIT" - }, - "node_modules/lodash.kebabcase": { - "version": "4.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", + "node_modules/node-int64": { + "version": "0.4.0", "license": "MIT" }, - "node_modules/lodash.mergewith": { - "version": "4.6.2", - "dev": true, - "license": "MIT" + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } }, - "node_modules/lodash.pickby": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz", - "integrity": "sha512-AZV+GsS/6ckvPOVQPXSiFFacKvKB4kOQu6ynt9wz0F3LO4R9Ij4K1ddYsIytDpSgLz88JHd9P+oaLeej5/Sl7Q==" + "node_modules/node-libs-browser/node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } }, - "node_modules/lodash.set": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==" + "node_modules/node-libs-browser/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" }, - "node_modules/lodash.snakecase": { - "version": "4.1.1", - "dev": true, - "license": "MIT" + "node_modules/node-libs-browser/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + "node_modules/node-libs-browser/node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" }, - "node_modules/lodash.startcase": { - "version": "4.4.0", - "dev": true, - "license": "MIT" + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" }, - "node_modules/lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + "node_modules/node-libs-browser/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "license": "MIT" + "node_modules/node-libs-browser/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "license": "MIT" + "node_modules/node-libs-browser/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } }, - "node_modules/lodash.upperfirst": { - "version": "4.3.1", + "node_modules/node-libs-browser/node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/node-machine-id": { + "version": "1.1.12", "dev": true, "license": "MIT" }, - "node_modules/log-symbols": { - "version": "4.1.0", + "node_modules/node-notifier": { + "version": "8.0.2", + "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" } }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", + "node_modules/node-notifier/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "optional": true, "dependencies": { - "color-convert": "^2.0.1" + "yallist": "^4.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=10" } }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/node-notifier/node_modules/semver": { + "version": "7.3.8", + "dev": true, + "license": "ISC", + "optional": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/node-notifier/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "optional": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "node_modules/nopt": { + "version": "5.0.0", + "license": "ISC", "dependencies": { - "color-name": "~1.1.4" + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" }, "engines": { - "node": ">=7.0.0" + "node": ">=6" } }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", + "node_modules/normalize-package-data": { + "version": "3.0.3", + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", + "node_modules/normalize-package-data/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", "dependencies": { - "has-flag": "^4.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/log-update": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "node_modules/normalize-package-data/node_modules/semver": { + "version": "7.3.8", + "license": "ISC", "dependencies": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, + "node_modules/normalize-path": { + "version": "3.0.0", "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/log-update/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, + "node_modules/normalize-range": { + "version": "0.1.2", "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/log-update/node_modules/color-name": { - "version": "1.1.4", + "node_modules/normalize-selector": { + "version": "0.2.0", "dev": true, "license": "MIT" }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "node_modules/normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha512-A48My/mtCklowHBlI8Fq2jFWK4tX4lJ5E6ytFsSOq1fzpvT0SQSgKhSg7lN5c2uYFOrUAOQp6zhhJnpp1eMloQ==", "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "node": ">=4" } }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "6.2.0", - "dev": true, - "license": "MIT", + "node_modules/normalize-url/node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "is-plain-obj": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/loglevel": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz", - "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==", - "engines": { - "node": ">= 0.6.0" + "node_modules/npm": { + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.8.0.tgz", + "integrity": "sha512-wh93uRczgp7HDnPMiLXcCkv2hagdJS0zJ9KT/31d0FoXP02+qgN2AOwpaW85fxRWkinl2rELfPw+CjBXW48/jQ==", + "bundleDependencies": [ + "@isaacs/string-locale-compare", + "@npmcli/arborist", + "@npmcli/config", + "@npmcli/fs", + "@npmcli/map-workspaces", + "@npmcli/package-json", + "@npmcli/promise-spawn", + "@npmcli/redact", + "@npmcli/run-script", + "@sigstore/tuf", + "abbrev", + "archy", + "cacache", + "chalk", + "ci-info", + "cli-columns", + "fastest-levenshtein", + "fs-minipass", + "glob", + "graceful-fs", + "hosted-git-info", + "ini", + "init-package-json", + "is-cidr", + "json-parse-even-better-errors", + "libnpmaccess", + "libnpmdiff", + "libnpmexec", + "libnpmfund", + "libnpmhook", + "libnpmorg", + "libnpmpack", + "libnpmpublish", + "libnpmsearch", + "libnpmteam", + "libnpmversion", + "make-fetch-happen", + "minimatch", + "minipass", + "minipass-pipeline", + "ms", + "node-gyp", + "nopt", + "normalize-package-data", + "npm-audit-report", + "npm-install-checks", + "npm-package-arg", + "npm-pick-manifest", + "npm-profile", + "npm-registry-fetch", + "npm-user-validate", + "p-map", + "pacote", + "parse-conflict-json", + "proc-log", + "qrcode-terminal", + "read", + "semver", + "spdx-expression-parse", + "ssri", + "supports-color", + "tar", + "text-table", + "tiny-relative-date", + "treeverse", + "validate-npm-package-name", + "which", + "write-file-atomic" + ], + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/arborist": "^7.5.2", + "@npmcli/config": "^8.3.2", + "@npmcli/fs": "^3.1.1", + "@npmcli/map-workspaces": "^3.0.6", + "@npmcli/package-json": "^5.1.0", + "@npmcli/promise-spawn": "^7.0.2", + "@npmcli/redact": "^2.0.0", + "@npmcli/run-script": "^8.1.0", + "@sigstore/tuf": "^2.3.3", + "abbrev": "^2.0.0", + "archy": "~1.0.0", + "cacache": "^18.0.3", + "chalk": "^5.3.0", + "ci-info": "^4.0.0", + "cli-columns": "^4.0.0", + "fastest-levenshtein": "^1.0.16", + "fs-minipass": "^3.0.3", + "glob": "^10.3.15", + "graceful-fs": "^4.2.11", + "hosted-git-info": "^7.0.2", + "ini": "^4.1.2", + "init-package-json": "^6.0.3", + "is-cidr": "^5.0.5", + "json-parse-even-better-errors": "^3.0.2", + "libnpmaccess": "^8.0.6", + "libnpmdiff": "^6.1.2", + "libnpmexec": "^8.1.1", + "libnpmfund": "^5.0.10", + "libnpmhook": "^10.0.5", + "libnpmorg": "^6.0.6", + "libnpmpack": "^7.0.2", + "libnpmpublish": "^9.0.8", + "libnpmsearch": "^7.0.5", + "libnpmteam": "^6.0.5", + "libnpmversion": "^6.0.2", + "make-fetch-happen": "^13.0.1", + "minimatch": "^9.0.4", + "minipass": "^7.1.1", + "minipass-pipeline": "^1.2.4", + "ms": "^2.1.2", + "node-gyp": "^10.1.0", + "nopt": "^7.2.1", + "normalize-package-data": "^6.0.1", + "npm-audit-report": "^5.0.0", + "npm-install-checks": "^6.3.0", + "npm-package-arg": "^11.0.2", + "npm-pick-manifest": "^9.0.1", + "npm-profile": "^10.0.0", + "npm-registry-fetch": "^17.0.1", + "npm-user-validate": "^2.0.1", + "p-map": "^4.0.0", + "pacote": "^18.0.6", + "parse-conflict-json": "^3.0.1", + "proc-log": "^4.2.0", + "qrcode-terminal": "^0.12.0", + "read": "^3.0.1", + "semver": "^7.6.2", + "spdx-expression-parse": "^4.0.0", + "ssri": "^10.0.6", + "supports-color": "^9.4.0", + "tar": "^6.2.1", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "treeverse": "^3.0.0", + "validate-npm-package-name": "^5.0.1", + "which": "^4.0.0", + "write-file-atomic": "^5.0.1" }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/loglevel" + "bin": { + "npm": "bin/npm-cli.js", + "npx": "bin/npx-cli.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/longest-streak": { - "version": "2.0.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/npm-bundled": { + "version": "1.1.2", + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" } }, - "node_modules/loose-envify": { - "version": "1.4.0", - "license": "MIT", + "node_modules/npm-install-checks": { + "version": "5.0.0", + "license": "BSD-2-Clause", "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" + "semver": "^7.1.1" }, - "bin": { - "loose-envify": "cli.js" + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==", - "optional": true, + "node_modules/npm-install-checks/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", "dependencies": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", - "peer": true, + "node_modules/npm-install-checks/node_modules/semver": { + "version": "7.3.8", + "license": "ISC", "dependencies": { - "get-func-name": "^2.0.1" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "license": "ISC" + }, + "node_modules/npm-package-arg": { + "version": "8.1.1", + "license": "ISC", "dependencies": { - "tslib": "^2.0.3" + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/lowlight": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.11.0.tgz", - "integrity": "sha512-xrGGN6XLL7MbTMdPD6NfWPwY43SNkjf/d0mecSx/CW36fUZTjRHEq0/Cdug3TWKtRXLWi7iMl1eP0olYxj/a4A==", + "node_modules/npm-package-arg/node_modules/builtins": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/npm-package-arg/node_modules/hosted-git-info": { + "version": "3.0.8", + "license": "ISC", "dependencies": { - "fault": "^1.0.2", - "highlight.js": "~9.13.0" + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/lowlight/node_modules/highlight.js": { - "version": "9.13.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.13.1.tgz", - "integrity": "sha512-Sc28JNQNDzaH6PORtRLMvif9RSn1mYuOoX3omVjnb0+HbpPygU2ALBI0R/wsiqCb4/fcp07Gdo8g+fhtFrQl6A==", - "deprecated": "Version no longer supported. Upgrade to @latest", + "node_modules/npm-package-arg/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": "*" + "node": ">=10" } }, - "node_modules/lru-cache": { - "version": "7.14.1", - "dev": true, + "node_modules/npm-package-arg/node_modules/semver": { + "version": "7.3.8", "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/lz-string": { - "version": "1.4.4", - "license": "WTFPL", - "bin": { - "lz-string": "bin/bin.js" + "node_modules/npm-package-arg/node_modules/validate-npm-package-name": { + "version": "3.0.0", + "license": "ISC", + "dependencies": { + "builtins": "^1.0.3" } }, - "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "node_modules/npm-packlist": { + "version": "5.1.3", + "license": "ISC", "dependencies": { - "sourcemap-codec": "^1.4.8" + "glob": "^8.0.1", + "ignore-walk": "^5.0.1", + "npm-bundled": "^2.0.0", + "npm-normalize-package-bin": "^2.0.0" + }, + "bin": { + "npm-packlist": "bin/index.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/make-dir": { - "version": "3.1.0", + "node_modules/npm-packlist/node_modules/brace-expansion": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "balanced-match": "^1.0.0" + } + }, + "node_modules/npm-packlist/node_modules/glob": { + "version": "8.0.3", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/make-error": { - "version": "1.3.6", - "devOptional": true, - "license": "ISC" + "node_modules/npm-packlist/node_modules/minimatch": { + "version": "5.1.1", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/make-fetch-happen": { - "version": "10.2.1", - "dev": true, + "node_modules/npm-packlist/node_modules/npm-bundled": { + "version": "2.0.1", "license": "ISC", "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" + "npm-normalize-package-bin": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-packlist/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "7.0.2", + "license": "ISC", + "dependencies": { + "npm-install-checks": "^5.0.0", + "npm-normalize-package-bin": "^2.0.0", + "npm-package-arg": "^9.0.0", + "semver": "^7.3.5" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/makeerror": { - "version": "1.0.12", - "license": "BSD-3-Clause", + "node_modules/npm-pick-manifest/node_modules/hosted-git-info": { + "version": "5.2.1", + "license": "ISC", "dependencies": { - "tmpl": "1.0.5" + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/npm-package-arg": { + "version": "9.1.2", + "license": "ISC", "dependencies": { - "p-defer": "^1.0.0" + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" }, "engines": { - "node": ">=6" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/map-cache": { - "version": "0.2.2", - "license": "MIT", + "node_modules/npm-pick-manifest/node_modules/semver": { + "version": "7.3.8", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/map-obj": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "node_modules/npm-pick-manifest/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=10" } }, - "node_modules/map-or-similar": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz", - "integrity": "sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==" - }, - "node_modules/map-visit": { - "version": "1.0.0", - "license": "MIT", + "node_modules/npm-registry-fetch": { + "version": "13.3.1", + "license": "ISC", "dependencies": { - "object-visit": "^1.0.0" + "make-fetch-happen": "^10.0.6", + "minipass": "^3.1.6", + "minipass-fetch": "^2.0.3", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^9.0.1", + "proc-log": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/markdown-escapes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", - "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/npm-registry-fetch/node_modules/hosted-git-info": { + "version": "5.2.1", + "license": "ISC", + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/markdown-to-jsx": { - "version": "6.11.4", - "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz", - "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==", + "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { + "version": "9.1.2", + "license": "ISC", "dependencies": { - "prop-types": "^15.6.2", - "unquote": "^1.1.0" + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" }, "engines": { - "node": ">= 4" - }, - "peerDependencies": { - "react": ">= 0.14.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/marked": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", - "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==", + "node_modules/npm-registry-fetch/node_modules/semver": { + "version": "7.3.8", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { - "marked": "bin/marked" + "semver": "bin/semver.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/marksy": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/marksy/-/marksy-8.0.0.tgz", - "integrity": "sha512-mmHcKZojCQAGuKTuu3153viXdCuxUmsSxomFaSOBTkOlfWFOZBmDhmJkOp0CsPMNRQ7m6oN2wflvAHLpBNZVPw==", + "node_modules/npm-registry-fetch/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", "dependencies": { - "@babel/standalone": "^7.4.5", - "he": "^1.2.0", - "marked": "^0.3.12" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/mathml-tag-names": { - "version": "2.1.3", - "dev": true, + "node_modules/npm-run-path": { + "version": "4.0.1", "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/md5": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", - "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", "dependencies": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "~1.1.6" + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "node_modules/npm/node_modules/@isaacs/cliui": { + "version": "8.0.2", + "inBundle": true, + "license": "ISC", "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "node_modules/md5/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/mdast-squeeze-paragraphs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz", - "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==", - "dependencies": { - "unist-util-remove": "^2.0.0" + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/mdast-util-definitions": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", - "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "inBundle": true, + "license": "MIT", "dependencies": { - "unist-util-visit": "^2.0.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mdast-util-from-markdown": { - "version": "0.8.5", - "dev": true, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "inBundle": true, "license": "MIT", "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-string": "^2.0.0", - "micromark": "~2.11.0", - "parse-entities": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/mdast-util-to-hast": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz", - "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==", + "node_modules/npm/node_modules/@isaacs/string-locale-compare": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/agent": { + "version": "2.2.2", + "inBundle": true, + "license": "ISC", "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "mdast-util-definitions": "^4.0.0", - "mdurl": "^1.0.0", - "unist-builder": "^2.0.0", - "unist-util-generated": "^1.0.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^2.0.0" + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/mdast-util-to-markdown": { - "version": "0.6.5", - "dev": true, - "license": "MIT", + "node_modules/npm/node_modules/@npmcli/arborist": { + "version": "7.5.2", + "inBundle": true, + "license": "ISC", "dependencies": { - "@types/unist": "^2.0.0", - "longest-streak": "^2.0.0", - "mdast-util-to-string": "^2.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.0.0", - "zwitch": "^1.0.0" + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/fs": "^3.1.1", + "@npmcli/installed-package-contents": "^2.1.0", + "@npmcli/map-workspaces": "^3.0.2", + "@npmcli/metavuln-calculator": "^7.1.1", + "@npmcli/name-from-folder": "^2.0.0", + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^5.1.0", + "@npmcli/query": "^3.1.0", + "@npmcli/redact": "^2.0.0", + "@npmcli/run-script": "^8.1.0", + "bin-links": "^4.0.4", + "cacache": "^18.0.3", + "common-ancestor-path": "^1.0.1", + "hosted-git-info": "^7.0.2", + "json-parse-even-better-errors": "^3.0.2", + "json-stringify-nice": "^1.1.4", + "lru-cache": "^10.2.2", + "minimatch": "^9.0.4", + "nopt": "^7.2.1", + "npm-install-checks": "^6.2.0", + "npm-package-arg": "^11.0.2", + "npm-pick-manifest": "^9.0.1", + "npm-registry-fetch": "^17.0.1", + "pacote": "^18.0.6", + "parse-conflict-json": "^3.0.0", + "proc-log": "^4.2.0", + "proggy": "^2.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^3.0.1", + "read-package-json-fast": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^10.0.6", + "treeverse": "^3.0.0", + "walk-up-path": "^3.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "bin": { + "arborist": "bin/index.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/mdast-util-to-string": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/npm/node_modules/@npmcli/config": { + "version": "8.3.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/map-workspaces": "^3.0.2", + "ci-info": "^4.0.0", + "ini": "^4.1.2", + "nopt": "^7.2.1", + "proc-log": "^4.2.0", + "read-package-json-fast": "^3.0.2", + "semver": "^7.3.5", + "walk-up-path": "^3.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "node_modules/npm/node_modules/@npmcli/fs": { + "version": "3.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, "engines": { - "node": ">= 0.6" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/mem": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/mem/-/mem-8.1.1.tgz", - "integrity": "sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==", + "node_modules/npm/node_modules/@npmcli/git": { + "version": "5.0.7", + "inBundle": true, + "license": "ISC", "dependencies": { - "map-age-cleaner": "^0.1.3", - "mimic-fn": "^3.1.0" + "@npmcli/promise-spawn": "^7.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^9.0.0", + "proc-log": "^4.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/mem?sponsor=1" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/mem/node_modules/mimic-fn": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", - "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", + "node_modules/npm/node_modules/@npmcli/installed-package-contents": { + "version": "2.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, "engines": { - "node": ">=8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "node_modules/npm/node_modules/@npmcli/map-workspaces": { + "version": "3.0.6", + "inBundle": true, + "license": "ISC", "dependencies": { - "fs-monkey": "^1.0.4" + "@npmcli/name-from-folder": "^2.0.0", + "glob": "^10.2.2", + "minimatch": "^9.0.0", + "read-package-json-fast": "^3.0.0" }, "engines": { - "node": ">= 4.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/memoize-one": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", - "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" - }, - "node_modules/memoizerific": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz", - "integrity": "sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==", + "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { + "version": "7.1.1", + "inBundle": true, + "license": "ISC", "dependencies": { - "map-or-similar": "^1.5.0" + "cacache": "^18.0.0", + "json-parse-even-better-errors": "^3.0.0", + "pacote": "^18.0.0", + "proc-log": "^4.1.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/memory-fs": { - "version": "0.2.0", - "license": "MIT" + "node_modules/npm/node_modules/@npmcli/name-from-folder": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, - "node_modules/memory-web-storage": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/memory-web-storage/-/memory-web-storage-0.1.0.tgz", - "integrity": "sha512-AVVlRidjJlKqdzdxdsvXgX24m2eA/8FFlqBrvHN9JRlzMuYCGev7o0bjkP207UhkqVtIg1sNyEHBq2uvykA/3w==" + "node_modules/npm/node_modules/@npmcli/node-gyp": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, - "node_modules/meow": { - "version": "8.1.2", - "dev": true, - "license": "MIT", + "node_modules/npm/node_modules/@npmcli/package-json": { + "version": "5.1.0", + "inBundle": true, + "license": "ISC", "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" + "@npmcli/git": "^5.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^7.0.0", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "proc-log": "^4.0.0", + "semver": "^7.5.3" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.18.1", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" + "node_modules/npm/node_modules/@npmcli/promise-spawn": { + "version": "7.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "which": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/meow/node_modules/yargs-parser": { - "version": "20.2.9", - "dev": true, + "node_modules/npm/node_modules/@npmcli/query": { + "version": "3.1.0", + "inBundle": true, "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + "node_modules/npm/node_modules/@npmcli/redact": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } }, - "node_modules/merge-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz", - "integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==", + "node_modules/npm/node_modules/@npmcli/run-script": { + "version": "8.1.0", + "inBundle": true, + "license": "ISC", "dependencies": { - "is-plain-obj": "^1.1" + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^5.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "node-gyp": "^10.0.0", + "proc-log": "^4.0.0", + "which": "^4.0.0" }, "engines": { - "node": ">=4" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/merge-stream": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", + "node_modules/npm/node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "inBundle": true, "license": "MIT", + "optional": true, "engines": { - "node": ">= 8" + "node": ">=14" } }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "node_modules/npm/node_modules/@sigstore/bundle": { + "version": "2.3.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.1" + }, "engines": { - "node": ">= 0.6" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/microevent.ts": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", - "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" + "node_modules/npm/node_modules/@sigstore/core": { + "version": "1.1.0", + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } }, - "node_modules/micromark": { - "version": "2.11.4", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "debug": "^4.0.0", - "parse-entities": "^2.0.0" + "node_modules/npm/node_modules/@sigstore/protobuf-specs": { + "version": "0.3.2", + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/micromatch": { - "version": "4.0.5", - "license": "MIT", + "node_modules/npm/node_modules/@sigstore/sign": { + "version": "2.3.1", + "inBundle": true, + "license": "Apache-2.0", "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "@sigstore/bundle": "^2.3.0", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.1", + "make-fetch-happen": "^13.0.1", + "proc-log": "^4.2.0", + "promise-retry": "^2.0.1" }, "engines": { - "node": ">=8.6" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "node_modules/npm/node_modules/@sigstore/tuf": { + "version": "2.3.3", + "inBundle": true, + "license": "Apache-2.0", "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "@sigstore/protobuf-specs": "^0.3.0", + "tuf-js": "^2.2.1" }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@sigstore/verify": { + "version": "1.2.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^2.3.1", + "@sigstore/core": "^1.1.0", + "@sigstore/protobuf-specs": "^0.3.1" }, "engines": { - "node": ">=4" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/mime-db": { - "version": "1.52.0", + "node_modules/npm/node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "inBundle": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/mime-types": { - "version": "2.1.35", + "node_modules/npm/node_modules/@tufjs/models": { + "version": "2.0.1", + "inBundle": true, "license": "MIT", "dependencies": { - "mime-db": "1.52.0" + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.4" }, "engines": { - "node": ">= 0.6" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "license": "MIT", + "node_modules/npm/node_modules/abbrev": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", "engines": { - "node": ">=6" - } - }, - "node_modules/min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", - "dependencies": { - "dom-walk": "^0.1.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/min-indent": { - "version": "1.0.1", + "node_modules/npm/node_modules/agent-base": { + "version": "7.1.1", + "inBundle": true, "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, "engines": { - "node": ">=4" + "node": ">= 14" } }, - "node_modules/mini-css-extract-plugin": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", - "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", + "node_modules/npm/node_modules/aggregate-error": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "webpack-sources": "^1.1.0" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.4.0 || ^5.0.0" + "node": ">=8" } }, - "node_modules/mini-css-extract-plugin/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, + "node_modules/npm/node_modules/ansi-regex": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", "engines": { - "node": ">=8.9.0" + "node": ">=8" } }, - "node_modules/mini-css-extract-plugin/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "node_modules/npm/node_modules/ansi-styles": { + "version": "6.2.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "node_modules/npm/node_modules/aproba": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + "node_modules/npm/node_modules/archy": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" }, - "node_modules/minimatch": { - "version": "3.1.2", + "node_modules/npm/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/bin-links": { + "version": "4.0.4", + "inBundle": true, "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "cmd-shim": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "read-cmd-shim": "^4.0.0", + "write-file-atomic": "^5.0.0" }, "engines": { - "node": "*" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/minimist": { - "version": "1.2.7", + "node_modules/npm/node_modules/binary-extensions": { + "version": "2.3.0", + "inBundle": true, "license": "MIT", + "engines": { + "node": ">=8" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minimist-options": { - "version": "4.1.0", - "dev": true, + "node_modules/npm/node_modules/brace-expansion": { + "version": "2.0.1", + "inBundle": true, "license": "MIT", "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" + "balanced-match": "^1.0.0" } }, - "node_modules/minipass": { - "version": "3.3.6", + "node_modules/npm/node_modules/cacache": { + "version": "18.0.3", + "inBundle": true, "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" }, "engines": { - "node": ">=8" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" + "node_modules/npm/node_modules/chalk": { + "version": "5.3.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/npm/node_modules/chownr": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", "engines": { - "node": ">= 8" + "node": ">=10" } }, - "node_modules/minipass-fetch": { - "version": "2.1.2", - "dev": true, + "node_modules/npm/node_modules/ci-info": { + "version": "4.0.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "inBundle": true, "license": "MIT", - "dependencies": { - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" + "node": ">=8" } }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "license": "ISC", + "node_modules/npm/node_modules/cidr-regex": { + "version": "4.0.5", + "inBundle": true, + "license": "BSD-2-Clause", "dependencies": { - "minipass": "^3.0.0" + "ip-regex": "^5.0.0" }, "engines": { - "node": ">= 8" + "node": ">=14" } }, - "node_modules/minipass-json-stream": { - "version": "1.0.1", - "dev": true, + "node_modules/npm/node_modules/clean-stack": { + "version": "2.2.0", + "inBundle": true, "license": "MIT", - "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" + "engines": { + "node": ">=6" } }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "license": "ISC", + "node_modules/npm/node_modules/cli-columns": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", "dependencies": { - "minipass": "^3.0.0" + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "dev": true, + "node_modules/npm/node_modules/cmd-shim": { + "version": "6.0.3", + "inBundle": true, "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/color-convert": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", "dependencies": { - "minipass": "^3.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, - "node_modules/minizlib": { - "version": "2.1.2", + "node_modules/npm/node_modules/color-name": { + "version": "1.1.4", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/common-ancestor-path": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/cross-spawn": { + "version": "7.0.3", + "inBundle": true, "license": "MIT", "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { "node": ">= 8" } }, - "node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "node_modules/npm/node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "inBundle": true, + "license": "ISC", "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" }, "engines": { - "node": ">=4.0.0" + "node": ">= 8" } }, - "node_modules/mississippi/node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "node_modules/npm/node_modules/cssesc": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" } }, - "node_modules/mississippi/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/mississippi/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/npm/node_modules/debug": { + "version": "4.3.4", + "inBundle": true, + "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/mississippi/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "node_modules/npm/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT" }, - "node_modules/mississippi/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" + "node_modules/npm/node_modules/diff": { + "version": "5.2.0", + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" } }, - "node_modules/mississippi/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } + "node_modules/npm/node_modules/eastasianwidth": { + "version": "0.2.0", + "inBundle": true, + "license": "MIT" }, - "node_modules/mitt": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", - "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==" + "node_modules/npm/node_modules/emoji-regex": { + "version": "8.0.0", + "inBundle": true, + "license": "MIT" }, - "node_modules/mixin-deep": { - "version": "1.3.2", + "node_modules/npm/node_modules/encoding": { + "version": "0.1.13", + "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, + "iconv-lite": "^0.6.2" + } + }, + "node_modules/npm/node_modules/env-paths": { + "version": "2.2.1", + "inBundle": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/mkdirp": { - "version": "1.0.4", + "node_modules/npm/node_modules/err-code": { + "version": "2.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/exponential-backoff": { + "version": "3.1.1", + "inBundle": true, + "license": "Apache-2.0" + }, + "node_modules/npm/node_modules/fastest-levenshtein": { + "version": "1.0.16", + "inBundle": true, "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, "engines": { - "node": ">=10" + "node": ">= 4.9.1" } }, - "node_modules/mkdirp-infer-owner": { - "version": "2.0.0", - "dev": true, + "node_modules/npm/node_modules/foreground-child": { + "version": "3.1.1", + "inBundle": true, "license": "ISC", "dependencies": { - "chownr": "^2.0.0", - "infer-owner": "^1.0.4", - "mkdirp": "^1.0.3" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/mobx": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/mobx/-/mobx-6.12.0.tgz", - "integrity": "sha512-Mn6CN6meXEnMa0a5u6a5+RKrqRedHBhZGd15AWLk9O6uFY4KYHzImdt8JI8WODo1bjTSRnwXhJox+FCUZhCKCQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mobx" + "node_modules/npm/node_modules/fs-minipass": { + "version": "3.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/mobx-persist-store": { + "node_modules/npm/node_modules/function-bind": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/mobx-persist-store/-/mobx-persist-store-1.1.2.tgz", - "integrity": "sha512-YY5werUDcJWiQsOPmdFae+XxeVSdyag9NfDsJrYHyAkBVWb9BzXVvrMOh3XKV6EnxMjeqRxbwrXFkgIcLx/H2w==", - "peerDependencies": { - "mobx": "*" + "inBundle": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mobx-react": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-7.6.0.tgz", - "integrity": "sha512-+HQUNuh7AoQ9ZnU6c4rvbiVVl+wEkb9WqYsVDzGLng+Dqj1XntHu79PvEWKtSMoMj67vFp/ZPXcElosuJO8ckA==", + "node_modules/npm/node_modules/glob": { + "version": "10.3.15", + "inBundle": true, + "license": "ISC", "dependencies": { - "mobx-react-lite": "^3.4.0" + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.6", + "minimatch": "^9.0.1", + "minipass": "^7.0.4", + "path-scurry": "^1.11.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.18" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mobx" + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/graceful-fs": { + "version": "4.2.11", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/hasown": { + "version": "2.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" }, - "peerDependencies": { - "mobx": "^6.1.0", - "react": "^16.8.0 || ^17 || ^18" + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/hosted-git-info": { + "version": "7.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/mobx-react-lite": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-3.4.3.tgz", - "integrity": "sha512-NkJREyFTSUXR772Qaai51BnE1voWx56LOL80xG7qkZr6vo8vEaLF3sz1JNUVh+rxmUzxYaqOhfuxTfqUh0FXUg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mobx" + "node_modules/npm/node_modules/http-cache-semantics": { + "version": "4.1.1", + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/http-proxy-agent": { + "version": "7.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" }, - "peerDependencies": { - "mobx": "^6.1.0", - "react": "^16.8.0 || ^17 || ^18" + "engines": { + "node": ">= 14" + } + }, + "node_modules/npm/node_modules/https-proxy-agent": { + "version": "7.0.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } + "engines": { + "node": ">= 14" } }, - "node_modules/mobx-utils": { - "version": "6.0.8", - "resolved": "https://registry.npmjs.org/mobx-utils/-/mobx-utils-6.0.8.tgz", - "integrity": "sha512-fPNt0vJnHwbQx9MojJFEnJLfM3EMGTtpy4/qOOW6xueh1mPofMajrbYAUvByMYAvCJnpy1A5L0t+ZVB5niKO4g==", - "peerDependencies": { - "mobx": "^6.0.0" + "node_modules/npm/node_modules/iconv-lite": { + "version": "0.6.3", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/mock-local-storage": { - "version": "1.1.24", - "resolved": "https://registry.npmjs.org/mock-local-storage/-/mock-local-storage-1.1.24.tgz", - "integrity": "sha512-NEfmw+yEK9oe6xCfOnTaJ6Dz+L3eu6vsZopJlxflXYxr7Mg3EV+S0NXKUQlY9AAeDEdaPZDSUGq1Gi6kLSa5PA==", + "node_modules/npm/node_modules/ignore-walk": { + "version": "6.0.5", + "inBundle": true, + "license": "ISC", "dependencies": { - "core-js": "^3.30.2", - "global": "^4.3.2" + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/mock-local-storage/node_modules/core-js": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", - "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/npm/node_modules/imurmurhash": { + "version": "0.1.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" } }, - "node_modules/modify-values": { - "version": "1.0.1", - "dev": true, + "node_modules/npm/node_modules/indent-string": { + "version": "4.0.0", + "inBundle": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/moment": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "node_modules/npm/node_modules/ini": { + "version": "4.1.2", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/init-package-json": { + "version": "6.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/package-json": "^5.0.0", + "npm-package-arg": "^11.0.0", + "promzard": "^1.0.0", + "read": "^3.0.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^5.0.0" + }, "engines": { - "node": "*" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "node_modules/npm/node_modules/ip-address": { + "version": "9.0.5", + "inBundle": true, + "license": "MIT", "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" } }, - "node_modules/move-concurrently/node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "node_modules/npm/node_modules/ip-regex": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/move-concurrently/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "node_modules/npm/node_modules/is-cidr": { + "version": "5.0.5", + "inBundle": true, + "license": "BSD-2-Clause", "dependencies": { - "minimist": "^1.2.6" + "cidr-regex": "^4.0.4" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=14" } }, - "node_modules/move-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/npm/node_modules/is-core-module": { + "version": "2.13.1", + "inBundle": true, + "license": "MIT", "dependencies": { - "glob": "^7.1.3" + "hasown": "^2.0.0" }, - "bin": { - "rimraf": "bin.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mrmime": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", - "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "node_modules/npm/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/ms": { - "version": "2.1.2", + "node_modules/npm/node_modules/is-lambda": { + "version": "1.0.1", + "inBundle": true, "license": "MIT" }, - "node_modules/msw": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/msw/-/msw-1.3.2.tgz", - "integrity": "sha512-wKLhFPR+NitYTkQl5047pia0reNGgf0P6a1eTnA5aNlripmiz0sabMvvHcicE8kQ3/gZcI0YiPFWmYfowfm3lA==", - "hasInstallScript": true, + "node_modules/npm/node_modules/isexe": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/jackspeak": { + "version": "2.3.6", + "inBundle": true, + "license": "BlueOak-1.0.0", "dependencies": { - "@mswjs/cookies": "^0.2.2", - "@mswjs/interceptors": "^0.17.10", - "@open-draft/until": "^1.0.3", - "@types/cookie": "^0.4.1", - "@types/js-levenshtein": "^1.1.1", - "chalk": "^4.1.1", - "chokidar": "^3.4.2", - "cookie": "^0.4.2", - "graphql": "^16.8.1", - "headers-polyfill": "3.2.5", - "inquirer": "^8.2.0", - "is-node-process": "^1.2.0", - "js-levenshtein": "^1.1.6", - "node-fetch": "^2.6.7", - "outvariant": "^1.4.0", - "path-to-regexp": "^6.2.0", - "strict-event-emitter": "^0.4.3", - "type-fest": "^2.19.0", - "yargs": "^17.3.1" - }, - "bin": { - "msw": "cli/index.js" + "@isaacs/cliui": "^8.0.2" }, "engines": { "node": ">=14" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mswjs" + "url": "https://github.com/sponsors/isaacs" }, - "peerDependencies": { - "typescript": ">= 4.4.x <= 5.2.x" + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/npm/node_modules/jsbn": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/json-parse-even-better-errors": { + "version": "3.0.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/json-stringify-nice": { + "version": "1.1.4", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/jsonparse": { + "version": "1.3.1", + "engines": [ + "node >= 0.2.0" + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff": { + "version": "6.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff-apply": { + "version": "5.5.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/libnpmaccess": { + "version": "8.0.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^11.0.2", + "npm-registry-fetch": "^17.0.1" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/msw/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/npm/node_modules/libnpmdiff": { + "version": "6.1.2", + "inBundle": true, + "license": "ISC", "dependencies": { - "color-convert": "^2.0.1" + "@npmcli/arborist": "^7.5.2", + "@npmcli/installed-package-contents": "^2.1.0", + "binary-extensions": "^2.3.0", + "diff": "^5.1.0", + "minimatch": "^9.0.4", + "npm-package-arg": "^11.0.2", + "pacote": "^18.0.6", + "tar": "^6.2.1" }, "engines": { - "node": ">=8" + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmexec": { + "version": "8.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^7.5.2", + "@npmcli/run-script": "^8.1.0", + "ci-info": "^4.0.0", + "npm-package-arg": "^11.0.2", + "pacote": "^18.0.6", + "proc-log": "^4.2.0", + "read": "^3.0.1", + "read-package-json-fast": "^3.0.2", + "semver": "^7.3.7", + "walk-up-path": "^3.0.1" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/msw/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/npm/node_modules/libnpmfund": { + "version": "5.0.10", + "inBundle": true, + "license": "ISC", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@npmcli/arborist": "^7.5.2" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/libnpmhook": { + "version": "10.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^17.0.1" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/msw/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/npm/node_modules/libnpmorg": { + "version": "6.0.6", + "inBundle": true, + "license": "ISC", "dependencies": { - "color-name": "~1.1.4" + "aproba": "^2.0.0", + "npm-registry-fetch": "^17.0.1" }, "engines": { - "node": ">=7.0.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/msw/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "node_modules/npm/node_modules/libnpmpack": { + "version": "7.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^7.5.2", + "@npmcli/run-script": "^8.1.0", + "npm-package-arg": "^11.0.2", + "pacote": "^18.0.6" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } }, - "node_modules/msw/node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "node_modules/npm/node_modules/libnpmpublish": { + "version": "9.0.8", + "inBundle": true, + "license": "ISC", + "dependencies": { + "ci-info": "^4.0.0", + "normalize-package-data": "^6.0.1", + "npm-package-arg": "^11.0.2", + "npm-registry-fetch": "^17.0.1", + "proc-log": "^4.2.0", + "semver": "^7.3.7", + "sigstore": "^2.2.0", + "ssri": "^10.0.6" + }, "engines": { - "node": ">= 0.6" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/msw/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/npm/node_modules/libnpmsearch": { + "version": "7.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^17.0.1" + }, "engines": { - "node": ">=8" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/msw/node_modules/path-to-regexp": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", - "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" + "node_modules/npm/node_modules/libnpmteam": { + "version": "6.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^17.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } }, - "node_modules/msw/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/npm/node_modules/libnpmversion": { + "version": "6.0.2", + "inBundle": true, + "license": "ISC", "dependencies": { - "has-flag": "^4.0.0" + "@npmcli/git": "^5.0.7", + "@npmcli/run-script": "^8.1.0", + "json-parse-even-better-errors": "^3.0.2", + "proc-log": "^4.2.0", + "semver": "^7.3.7" }, "engines": { - "node": ">=8" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/msw/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "node_modules/npm/node_modules/lru-cache": { + "version": "10.2.2", + "inBundle": true, + "license": "ISC", "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "14 || >=16.14" } }, - "node_modules/multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "node_modules/npm/node_modules/make-fetch-happen": { + "version": "13.0.1", + "inBundle": true, + "license": "ISC", "dependencies": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "proc-log": "^4.2.0", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" }, - "bin": { - "multicast-dns": "cli.js" + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==" - }, - "node_modules/multimatch": { - "version": "5.0.0", - "dev": true, - "license": "MIT", + "node_modules/npm/node_modules/minimatch": { + "version": "9.0.4", + "inBundle": true, + "license": "ISC", "dependencies": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/multimatch/node_modules/arrify": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "node_modules/npm/node_modules/minipass": { + "version": "7.1.1", + "inBundle": true, + "license": "ISC", "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/mute-stream": { - "version": "0.0.8", - "license": "ISC" - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "node_modules/npm/node_modules/minipass-collect": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nan": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz", - "integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==", - "optional": true - }, - "node_modules/nanoclone": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz", - "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" + "minipass": "^7.0.3" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/nanomatch": { - "version": "1.2.13", + "node_modules/npm/node_modules/minipass-fetch": { + "version": "3.0.5", + "inBundle": true, "license": "MIT", "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" }, "engines": { - "node": ">=0.10.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "license": "MIT" - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "license": "MIT" - }, - "node_modules/needle": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", - "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", - "optional": true, + "node_modules/npm/node_modules/minipass-flush": { + "version": "1.0.5", + "inBundle": true, + "license": "ISC", "dependencies": { - "iconv-lite": "^0.6.3", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" + "minipass": "^3.0.0" }, "engines": { - "node": ">= 4.4.x" + "node": ">= 8" } }, - "node_modules/needle/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, + "node_modules/npm/node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "inBundle": true, + "license": "ISC", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/negotiator": { - "version": "0.6.3", + "node_modules/npm/node_modules/minipass-json-stream": { + "version": "1.0.1", + "inBundle": true, "license": "MIT", - "engines": { - "node": ">= 0.6" + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "license": "MIT" - }, - "node_modules/nested-error-stacks": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz", - "integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==" - }, - "node_modules/nested-object-assign": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/nested-object-assign/-/nested-object-assign-1.0.4.tgz", - "integrity": "sha512-FlZ7oN9ICt+fbcJ4ag2IsALIcalfE/E16ttdSA8peBiHJI+oEKdOcafqDnUbeUe5NwWGn/m9zZGO9qrAGzfesg==" - }, - "node_modules/next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, - "node_modules/nice-try": { - "version": "1.0.5", - "license": "MIT" - }, - "node_modules/nise": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz", - "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==", - "peer": true, + "node_modules/npm/node_modules/minipass-json-stream/node_modules/minipass": { + "version": "3.3.6", + "inBundle": true, + "license": "ISC", "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/text-encoding": "^0.7.2", - "just-extend": "^6.2.0", - "path-to-regexp": "^6.2.1" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/nise/node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "peer": true, + "node_modules/npm/node_modules/minipass-pipeline": { + "version": "1.2.4", + "inBundle": true, + "license": "ISC", "dependencies": { - "type-detect": "4.0.8" + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/nise/node_modules/@sinonjs/fake-timers": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", - "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", - "peer": true, + "node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "inBundle": true, + "license": "ISC", "dependencies": { - "@sinonjs/commons": "^3.0.0" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/nise/node_modules/path-to-regexp": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", - "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", - "peer": true - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "node_modules/npm/node_modules/minipass-sized": { + "version": "1.0.3", + "inBundle": true, + "license": "ISC", "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/node-addon-api": { - "version": "3.2.1", - "dev": true, - "license": "MIT" - }, - "node_modules/node-dir": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "inBundle": true, + "license": "ISC", "dependencies": { - "minimatch": "^3.0.2" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 0.10.5" + "node": ">=8" } }, - "node_modules/node-fetch": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", - "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", + "node_modules/npm/node_modules/minizlib": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT", "dependencies": { - "whatwg-url": "^5.0.0" + "minipass": "^3.0.0", + "yallist": "^4.0.0" }, "engines": { - "node": "4.x || >=6.0.0" + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" }, - "peerDependencies": { - "encoding": "^0.1.0" + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/mkdirp": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "engines": { + "node": ">=10" } }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", + "node_modules/npm/node_modules/ms": { + "version": "2.1.3", + "inBundle": true, "license": "MIT" }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "license": "BSD-2-Clause" - }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "node_modules/npm/node_modules/mute-stream": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "node_modules/npm/node_modules/negotiator": { + "version": "0.6.3", + "inBundle": true, + "license": "MIT", "engines": { - "node": ">= 6.13.0" + "node": ">= 0.6" } }, - "node_modules/node-gyp": { - "version": "9.3.0", - "dev": true, + "node_modules/npm/node_modules/node-gyp": { + "version": "10.1.0", + "inBundle": true, "license": "MIT", "dependencies": { "env-paths": "^2.2.0", - "glob": "^7.1.4", + "exponential-backoff": "^3.1.1", + "glob": "^10.3.10", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.0.3", - "nopt": "^6.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", + "make-fetch-happen": "^13.0.0", + "nopt": "^7.0.0", + "proc-log": "^3.0.0", "semver": "^7.3.5", "tar": "^6.1.2", - "which": "^2.0.2" + "which": "^4.0.0" }, "bin": { "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": "^12.22 || ^14.13 || >=16" - } - }, - "node_modules/node-gyp-build": { - "version": "4.5.0", - "dev": true, - "license": "MIT", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/node-gyp/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, + "node_modules/npm/node_modules/node-gyp/node_modules/proc-log": { + "version": "3.0.0", + "inBundle": true, "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/node-gyp/node_modules/nopt": { - "version": "6.0.0", - "dev": true, + "node_modules/npm/node_modules/nopt": { + "version": "7.2.1", + "inBundle": true, "license": "ISC", "dependencies": { - "abbrev": "^1.0.0" + "abbrev": "^2.0.0" }, "bin": { "nopt": "bin/nopt.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/node-gyp/node_modules/semver": { - "version": "7.3.8", - "dev": true, - "license": "ISC", + "node_modules/npm/node_modules/normalize-package-data": { + "version": "6.0.1", + "inBundle": true, + "license": "BSD-2-Clause", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/node-int64": { - "version": "0.4.0", - "license": "MIT" - }, - "node_modules/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" + "node_modules/npm/node_modules/npm-audit-report": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/node-libs-browser/node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "node_modules/npm/node_modules/npm-bundled": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/node-libs-browser/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "node_modules/node-libs-browser/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/node-libs-browser/node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" - }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" - }, - "node_modules/node-libs-browser/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/npm/node_modules/npm-install-checks": { + "version": "6.3.0", + "inBundle": true, + "license": "BSD-2-Clause", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "semver": "^7.1.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/node-libs-browser/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/node-libs-browser/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" + "node_modules/npm/node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/node-libs-browser/node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "node_modules/npm/node_modules/npm-package-arg": { + "version": "11.0.2", + "inBundle": true, + "license": "ISC", "dependencies": { - "inherits": "2.0.3" + "hosted-git-info": "^7.0.0", + "proc-log": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/node-machine-id": { - "version": "1.1.12", - "dev": true, - "license": "MIT" - }, - "node_modules/node-notifier": { + "node_modules/npm/node_modules/npm-packlist": { "version": "8.0.2", - "dev": true, - "license": "MIT", - "optional": true, + "inBundle": true, + "license": "ISC", "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.2", - "shellwords": "^0.1.1", - "uuid": "^8.3.0", - "which": "^2.0.2" + "ignore-walk": "^6.0.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/node-notifier/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, + "node_modules/npm/node_modules/npm-pick-manifest": { + "version": "9.0.1", + "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { - "yallist": "^4.0.0" + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^11.0.0", + "semver": "^7.3.5" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/node-notifier/node_modules/semver": { - "version": "7.3.8", - "dev": true, + "node_modules/npm/node_modules/npm-profile": { + "version": "10.0.0", + "inBundle": true, "license": "ISC", - "optional": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "npm-registry-fetch": "^17.0.1", + "proc-log": "^4.0.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/node-notifier/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "optional": true, - "bin": { - "uuid": "dist/bin/uuid" + "node": ">=18.0.0" } }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" - }, - "node_modules/nopt": { - "version": "5.0.0", - "dev": true, + "node_modules/npm/node_modules/npm-registry-fetch": { + "version": "17.0.1", + "inBundle": true, "license": "ISC", "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" + "@npmcli/redact": "^2.0.0", + "make-fetch-happen": "^13.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^11.0.0", + "proc-log": "^4.0.0" }, "engines": { - "node": ">=6" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "dev": true, + "node_modules/npm/node_modules/npm-user-validate": { + "version": "2.0.1", + "inBundle": true, "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/normalize-package-data/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "node_modules/npm/node_modules/p-map": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "aggregate-error": "^3.0.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.3.8", - "dev": true, + "node_modules/npm/node_modules/pacote": { + "version": "18.0.6", + "inBundle": true, "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" + "@npmcli/git": "^5.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/package-json": "^5.1.0", + "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/run-script": "^8.0.0", + "cacache": "^18.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^11.0.0", + "npm-packlist": "^8.0.0", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^17.0.0", + "proc-log": "^4.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^2.2.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" }, "bin": { - "semver": "bin/semver.js" + "pacote": "bin/index.js" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/normalize-path": { - "version": "3.0.0", - "license": "MIT", + "node_modules/npm/node_modules/parse-conflict-json": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "just-diff": "^6.0.0", + "just-diff-apply": "^5.2.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/normalize-range": { - "version": "0.1.2", + "node_modules/npm/node_modules/path-key": { + "version": "3.1.1", + "inBundle": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/normalize-selector": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha512-A48My/mtCklowHBlI8Fq2jFWK4tX4lJ5E6ytFsSOq1fzpvT0SQSgKhSg7lN5c2uYFOrUAOQp6zhhJnpp1eMloQ==", + "node_modules/npm/node_modules/path-scurry": { + "version": "1.11.1", + "inBundle": true, + "license": "BlueOak-1.0.0", "dependencies": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=4" + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/normalize-url/node_modules/sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "node_modules/npm/node_modules/postcss-selector-parser": { + "version": "6.0.16", + "inBundle": true, + "license": "MIT", "dependencies": { - "is-plain-obj": "^1.0.0" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/npm-bundled": { - "version": "1.1.2", - "dev": true, + "node_modules/npm/node_modules/proc-log": { + "version": "4.2.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/proggy": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/promise-all-reject-late": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-call-limit": { + "version": "3.0.1", + "inBundle": true, "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-inflight": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/promise-retry": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", "dependencies": { - "npm-normalize-package-bin": "^1.0.1" + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/npm-install-checks": { - "version": "5.0.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/npm/node_modules/promzard": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC", "dependencies": { - "semver": "^7.1.1" + "read": "^3.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm-install-checks/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, + "node_modules/npm/node_modules/qrcode-terminal": { + "version": "0.12.0", + "inBundle": true, + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/npm/node_modules/read": { + "version": "3.0.1", + "inBundle": true, "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "mute-stream": "^1.0.0" }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm-install-checks/node_modules/semver": { - "version": "7.3.8", - "dev": true, + "node_modules/npm/node_modules/read-cmd-shim": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/read-package-json-fast": { + "version": "3.0.2", + "inBundle": true, "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/retry": { + "version": "0.12.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm/node_modules/safer-buffer": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/npm/node_modules/semver": { + "version": "7.6.2", + "inBundle": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -39875,298 +43793,470 @@ "node": ">=10" } }, - "node_modules/npm-normalize-package-bin": { - "version": "1.0.1", - "dev": true, - "license": "ISC" + "node_modules/npm/node_modules/shebang-command": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/npm-package-arg": { - "version": "8.1.1", - "dev": true, + "node_modules/npm/node_modules/shebang-regex": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/signal-exit": { + "version": "4.1.0", + "inBundle": true, "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/sigstore": { + "version": "2.3.0", + "inBundle": true, + "license": "Apache-2.0", "dependencies": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" + "@sigstore/bundle": "^2.3.1", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.1", + "@sigstore/sign": "^2.3.0", + "@sigstore/tuf": "^2.3.1", + "@sigstore/verify": "^1.2.0" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm-package-arg/node_modules/builtins": { - "version": "1.0.3", - "dev": true, - "license": "MIT" + "node_modules/npm/node_modules/smart-buffer": { + "version": "4.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } }, - "node_modules/npm-package-arg/node_modules/hosted-git-info": { - "version": "3.0.8", - "dev": true, - "license": "ISC", + "node_modules/npm/node_modules/socks": { + "version": "2.8.3", + "inBundle": true, + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" }, "engines": { - "node": ">=10" + "node": ">= 10.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/npm-package-arg/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "node_modules/npm/node_modules/socks-proxy-agent": { + "version": "8.0.3", + "inBundle": true, + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "agent-base": "^7.1.1", + "debug": "^4.3.4", + "socks": "^2.7.1" }, "engines": { - "node": ">=10" + "node": ">= 14" } }, - "node_modules/npm-package-arg/node_modules/semver": { - "version": "7.3.8", - "dev": true, + "node_modules/npm/node_modules/spdx-correct": { + "version": "3.2.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-correct/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-exceptions": { + "version": "2.5.0", + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/npm/node_modules/spdx-expression-parse": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-license-ids": { + "version": "3.0.17", + "inBundle": true, + "license": "CC0-1.0" + }, + "node_modules/npm/node_modules/sprintf-js": { + "version": "1.1.3", + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/npm/node_modules/ssri": { + "version": "10.0.6", + "inBundle": true, "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "minipass": "^7.0.3" }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm-package-arg/node_modules/validate-npm-package-name": { - "version": "3.0.0", - "dev": true, - "license": "ISC", + "node_modules/npm/node_modules/string-width": { + "version": "4.2.3", + "inBundle": true, + "license": "MIT", "dependencies": { - "builtins": "^1.0.3" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/npm-packlist": { - "version": "5.1.3", - "dev": true, - "license": "ISC", + "node_modules/npm/node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "inBundle": true, + "license": "MIT", "dependencies": { - "glob": "^8.0.1", - "ignore-walk": "^5.0.1", - "npm-bundled": "^2.0.0", - "npm-normalize-package-bin": "^2.0.0" - }, - "bin": { - "npm-packlist": "bin/index.js" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/npm-packlist/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, + "node_modules/npm/node_modules/strip-ansi": { + "version": "6.0.1", + "inBundle": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/npm-packlist/node_modules/glob": { - "version": "8.0.3", - "dev": true, - "license": "ISC", + "node_modules/npm/node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "inBundle": true, + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "ansi-regex": "^5.0.1" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/supports-color": { + "version": "9.4.0", + "inBundle": true, + "license": "MIT", "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/npm-packlist/node_modules/minimatch": { - "version": "5.1.1", - "dev": true, + "node_modules/npm/node_modules/tar": { + "version": "6.2.1", + "inBundle": true, "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" }, "engines": { "node": ">=10" } }, - "node_modules/npm-packlist/node_modules/npm-bundled": { - "version": "2.0.1", - "dev": true, + "node_modules/npm/node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "inBundle": true, "license": "ISC", "dependencies": { - "npm-normalize-package-bin": "^2.0.0" + "minipass": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 8" } }, - "node_modules/npm-packlist/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", - "dev": true, + "node_modules/npm/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "inBundle": true, "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/npm-pick-manifest": { - "version": "7.0.2", - "dev": true, + "node_modules/npm/node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "inBundle": true, "license": "ISC", - "dependencies": { - "npm-install-checks": "^5.0.0", - "npm-normalize-package-bin": "^2.0.0", - "npm-package-arg": "^9.0.0", - "semver": "^7.3.5" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/npm-pick-manifest/node_modules/hosted-git-info": { - "version": "5.2.1", - "dev": true, + "node_modules/npm/node_modules/text-table": { + "version": "0.2.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tiny-relative-date": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/treeverse": { + "version": "3.0.0", + "inBundle": true, "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/tuf-js": { + "version": "2.2.1", + "inBundle": true, + "license": "MIT", "dependencies": { - "lru-cache": "^7.5.1" + "@tufjs/models": "2.0.1", + "debug": "^4.3.4", + "make-fetch-happen": "^13.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", - "dev": true, + "node_modules/npm/node_modules/unique-filename": { + "version": "3.0.0", + "inBundle": true, "license": "ISC", + "dependencies": { + "unique-slug": "^4.0.0" + }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm-pick-manifest/node_modules/npm-package-arg": { - "version": "9.1.2", - "dev": true, + "node_modules/npm/node_modules/unique-slug": { + "version": "4.0.0", + "inBundle": true, "license": "ISC", "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "imurmurhash": "^0.1.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm-pick-manifest/node_modules/semver": { - "version": "7.3.8", - "dev": true, + "node_modules/npm/node_modules/util-deprecate": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/validate-npm-package-license": { + "version": "3.0.4", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/validate-npm-package-name": { + "version": "5.0.1", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/walk-up-path": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/which": { + "version": "4.0.0", + "inBundle": true, "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" + "isexe": "^3.1.1" }, "bin": { - "semver": "bin/semver.js" + "node-which": "bin/which.js" }, "engines": { - "node": ">=10" + "node": "^16.13.0 || >=18.0.0" } }, - "node_modules/npm-pick-manifest/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, + "node_modules/npm/node_modules/which/node_modules/isexe": { + "version": "3.1.1", + "inBundle": true, "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=16" } }, - "node_modules/npm-registry-fetch": { - "version": "13.3.1", - "dev": true, - "license": "ISC", + "node_modules/npm/node_modules/wrap-ansi": { + "version": "8.1.0", + "inBundle": true, + "license": "MIT", "dependencies": { - "make-fetch-happen": "^10.0.6", - "minipass": "^3.1.6", - "minipass-fetch": "^2.0.3", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^9.0.1", - "proc-log": "^2.0.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/npm-registry-fetch/node_modules/hosted-git-info": { - "version": "5.2.1", - "dev": true, - "license": "ISC", + "node_modules/npm/node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "inBundle": true, + "license": "MIT", "dependencies": { - "lru-cache": "^7.5.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { - "version": "9.1.2", - "dev": true, - "license": "ISC", + "node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/npm-registry-fetch/node_modules/semver": { - "version": "7.3.8", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" + "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" }, - "bin": { - "semver": "bin/semver.js" + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=10" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm-registry-fetch/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "inBundle": true, + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=10" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "license": "MIT", + "node_modules/npm/node_modules/write-file-atomic": { + "version": "5.0.1", + "inBundle": true, + "license": "ISC", "dependencies": { - "path-key": "^3.0.0" + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/npm/node_modules/yallist": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC" + }, "node_modules/npmlog": { "version": "6.0.2", - "dev": true, "license": "ISC", "dependencies": { "are-we-there-yet": "^3.0.0", @@ -41013,6 +45103,14 @@ "node": ">=4" } }, + "node_modules/p-is-promise": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", + "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/p-limit": { "version": "3.1.0", "license": "MIT", @@ -41138,7 +45236,6 @@ }, "node_modules/pacote": { "version": "13.6.2", - "dev": true, "license": "ISC", "dependencies": { "@npmcli/git": "^3.0.0", @@ -41172,7 +45269,6 @@ }, "node_modules/pacote/node_modules/hosted-git-info": { "version": "5.2.1", - "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^7.5.1" @@ -41183,7 +45279,6 @@ }, "node_modules/pacote/node_modules/npm-package-arg": { "version": "9.1.2", - "dev": true, "license": "ISC", "dependencies": { "hosted-git-info": "^5.0.0", @@ -41197,7 +45292,6 @@ }, "node_modules/pacote/node_modules/semver": { "version": "7.3.8", - "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -41211,7 +45305,6 @@ }, "node_modules/pacote/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", - "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -41304,7 +45397,6 @@ }, "node_modules/parse-conflict-json": { "version": "2.0.2", - "dev": true, "license": "ISC", "dependencies": { "json-parse-even-better-errors": "^2.3.1", @@ -41347,6 +45439,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/parse-node-version": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", @@ -41382,6 +45485,21 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "peer": true, + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "peer": true + }, "node_modules/parse5/node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -41581,6 +45699,132 @@ "node": ">= 6" } }, + "node_modules/pkg-conf": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", + "integrity": "sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==", + "peer": true, + "dependencies": { + "find-up": "^2.0.0", + "load-json-file": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "peer": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "peer": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "peer": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "peer": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "peer": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "peer": true, + "engines": { + "node": ">=4" + } + }, "node_modules/pkg-dir": { "version": "4.2.0", "license": "MIT", @@ -43339,6 +47583,20 @@ "node": ">= 0.8" } }, + "node_modules/pretty-ms": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.0.0.tgz", + "integrity": "sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng==", + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/prismjs": { "version": "1.29.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", @@ -43357,7 +47615,6 @@ }, "node_modules/proc-log": { "version": "2.0.1", - "dev": true, "license": "ISC", "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" @@ -43393,7 +47650,6 @@ }, "node_modules/promise-all-reject-late": { "version": "1.0.1", - "dev": true, "license": "ISC", "funding": { "url": "https://github.com/sponsors/isaacs" @@ -43401,7 +47657,6 @@ }, "node_modules/promise-call-limit": { "version": "1.0.1", - "dev": true, "license": "ISC", "funding": { "url": "https://github.com/sponsors/isaacs" @@ -43418,7 +47673,6 @@ }, "node_modules/promise-retry": { "version": "2.0.1", - "dev": true, "license": "MIT", "dependencies": { "err-code": "^2.0.2", @@ -43478,7 +47732,6 @@ }, "node_modules/promzard": { "version": "0.3.0", - "dev": true, "license": "ISC", "dependencies": { "read": "1" @@ -43512,7 +47765,6 @@ }, "node_modules/proto-list": { "version": "1.2.4", - "dev": true, "license": "ISC" }, "node_modules/protocols": { @@ -43935,6 +48187,28 @@ "node": ">=8.9.0" } }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/react": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", @@ -44866,7 +49140,6 @@ }, "node_modules/read": { "version": "1.0.7", - "dev": true, "license": "ISC", "dependencies": { "mute-stream": "~0.0.4" @@ -44893,7 +49166,6 @@ }, "node_modules/read-cmd-shim": { "version": "3.0.1", - "dev": true, "license": "ISC", "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" @@ -44901,7 +49173,6 @@ }, "node_modules/read-package-json": { "version": "5.0.2", - "dev": true, "license": "ISC", "dependencies": { "glob": "^8.0.1", @@ -44915,7 +49186,6 @@ }, "node_modules/read-package-json-fast": { "version": "2.0.3", - "dev": true, "license": "ISC", "dependencies": { "json-parse-even-better-errors": "^2.3.0", @@ -44927,7 +49197,6 @@ }, "node_modules/read-package-json/node_modules/brace-expansion": { "version": "2.0.1", - "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -44935,7 +49204,6 @@ }, "node_modules/read-package-json/node_modules/glob": { "version": "8.0.3", - "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -44953,7 +49221,6 @@ }, "node_modules/read-package-json/node_modules/hosted-git-info": { "version": "5.2.1", - "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^7.5.1" @@ -44964,7 +49231,6 @@ }, "node_modules/read-package-json/node_modules/minimatch": { "version": "5.1.1", - "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" @@ -44975,7 +49241,6 @@ }, "node_modules/read-package-json/node_modules/normalize-package-data": { "version": "4.0.1", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^5.0.0", @@ -44989,7 +49254,6 @@ }, "node_modules/read-package-json/node_modules/npm-normalize-package-bin": { "version": "2.0.0", - "dev": true, "license": "ISC", "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" @@ -44997,7 +49261,6 @@ }, "node_modules/read-package-json/node_modules/semver": { "version": "7.3.8", - "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -45011,7 +49274,6 @@ }, "node_modules/read-package-json/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", - "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -45020,6 +49282,119 @@ "node": ">=10" } }, + "node_modules/read-package-up": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", + "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", + "peer": true, + "dependencies": { + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-package-up/node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "peer": true, + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/read-package-up/node_modules/lru-cache": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "peer": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/read-package-up/node_modules/normalize-package-data": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.1.tgz", + "integrity": "sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ==", + "peer": true, + "dependencies": { + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/read-package-up/node_modules/parse-json": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", + "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "index-to-position": "^0.1.2", + "type-fest": "^4.7.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-package-up/node_modules/read-pkg": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", + "peer": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-package-up/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "peer": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/read-package-up/node_modules/type-fest": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.18.2.tgz", + "integrity": "sha512-+suCYpfJLAe4OXS6+PPXjW3urOS4IoP9waSiLuXfLgqZODKw/aWwASvzqE886wA0kQgGy0mIWyhd87VpqIy6Xg==", + "peer": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/read-pkg": { "version": "3.0.0", "dev": true, @@ -45231,7 +49606,6 @@ }, "node_modules/readdir-scoped-modules": { "version": "1.1.0", - "dev": true, "license": "ISC", "dependencies": { "debuglog": "^1.0.1", @@ -45422,6 +49796,17 @@ "node": ">=4" } }, + "node_modules/registry-auth-token": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", + "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", + "dependencies": { + "@pnpm/npm-conf": "^2.1.0" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/regjsgen": { "version": "0.7.1", "license": "MIT" @@ -45695,6 +50080,14 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remove": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/remove/-/remove-0.1.5.tgz", + "integrity": "sha512-AJMA9oWvJzdTjwIGwSQZsjGQiRx73YTmiOWmfCp1fpLa/D4n7jKcpoA+CZiVLJqKcEKUuh1Suq80c5wF+L/qVQ==", + "dependencies": { + "seq": ">= 0.3.5" + } + }, "node_modules/remove-accents": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz", @@ -46913,6 +51306,483 @@ "node": ">=10" } }, + "node_modules/semantic-release": { + "version": "23.1.1", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-23.1.1.tgz", + "integrity": "sha512-qqJDBhbtHsjUEMsojWKGuL5lQFCJuPtiXKEIlFKyTzDDGTAE/oyvznaP8GeOr5PvcqBJ6LQz4JCENWPLeehSpA==", + "peer": true, + "dependencies": { + "@semantic-release/commit-analyzer": "^12.0.0", + "@semantic-release/error": "^4.0.0", + "@semantic-release/github": "^10.0.0", + "@semantic-release/npm": "^12.0.0", + "@semantic-release/release-notes-generator": "^13.0.0", + "aggregate-error": "^5.0.0", + "cosmiconfig": "^9.0.0", + "debug": "^4.0.0", + "env-ci": "^11.0.0", + "execa": "^9.0.0", + "figures": "^6.0.0", + "find-versions": "^6.0.0", + "get-stream": "^6.0.0", + "git-log-parser": "^1.2.0", + "hook-std": "^3.0.0", + "hosted-git-info": "^7.0.0", + "import-from-esm": "^1.3.1", + "lodash-es": "^4.17.21", + "marked": "^12.0.0", + "marked-terminal": "^7.0.0", + "micromatch": "^4.0.2", + "p-each-series": "^3.0.0", + "p-reduce": "^3.0.0", + "read-package-up": "^11.0.0", + "resolve-from": "^5.0.0", + "semver": "^7.3.2", + "semver-diff": "^4.0.0", + "signale": "^1.2.1", + "yargs": "^17.5.1" + }, + "bin": { + "semantic-release": "bin/semantic-release.js" + }, + "engines": { + "node": ">=20.8.1" + } + }, + "node_modules/semantic-release/node_modules/@semantic-release/error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", + "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/semantic-release/node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "peer": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/aggregate-error": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", + "peer": true, + "dependencies": { + "clean-stack": "^5.2.0", + "indent-string": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/ansi-escapes": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz", + "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==", + "peer": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "peer": true + }, + "node_modules/semantic-release/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "peer": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/semantic-release/node_modules/clean-stack": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", + "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", + "peer": true, + "dependencies": { + "escape-string-regexp": "5.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "peer": true, + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/semantic-release/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/execa": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.1.0.tgz", + "integrity": "sha512-lSgHc4Elo2m6bUDhc3Hl/VxvUDJdQWI40RZ4KMY9bKRc+hgMOT7II/JjbNDhI8VnMtrCb7U/fhpJIkLORZozWw==", + "peer": true, + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.3", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^7.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^5.2.0", + "pretty-ms": "^9.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/semantic-release/node_modules/execa/node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "peer": true, + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "peer": true, + "dependencies": { + "is-unicode-supported": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/semantic-release/node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "peer": true, + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/semantic-release/node_modules/human-signals": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-7.0.0.tgz", + "integrity": "sha512-74kytxOUSvNbjrT9KisAbaTZ/eJwD/LrbM/kh5j0IhPuJzwuA19dWvniFGwBzN9rVjg+O/e+F310PjObDXS+9Q==", + "peer": true, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/semantic-release/node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "peer": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/is-unicode-supported": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.0.0.tgz", + "integrity": "sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==", + "peer": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "peer": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/semantic-release/node_modules/lru-cache": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "peer": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/semantic-release/node_modules/marked": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz", + "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==", + "peer": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/semantic-release/node_modules/marked-terminal": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-7.0.0.tgz", + "integrity": "sha512-sNEx8nn9Ktcm6pL0TnRz8tnXq/mSS0Q1FRSwJOAqw4lAB4l49UeDf85Gm1n9RPFm5qurCPjwi1StAQT2XExhZw==", + "peer": true, + "dependencies": { + "ansi-escapes": "^6.2.0", + "chalk": "^5.3.0", + "cli-highlight": "^2.1.11", + "cli-table3": "^0.6.3", + "node-emoji": "^2.1.3", + "supports-hyperlinks": "^3.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "marked": ">=1 <13" + } + }, + "node_modules/semantic-release/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "peer": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/p-each-series": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-3.0.0.tgz", + "integrity": "sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/p-reduce": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", + "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "peer": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semantic-release/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "peer": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/semantic-release/node_modules/strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "peer": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/semantic-release/node_modules/supports-hyperlinks": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", + "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/semantic-release/node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "optional": true, + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, "node_modules/semver": { "version": "6.3.0", "license": "ISC", @@ -46925,6 +51795,45 @@ "dev": true, "license": "MIT" }, + "node_modules/semver-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", + "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", + "peer": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semver-diff/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "peer": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-regex": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz", + "integrity": "sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/send": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", @@ -46974,6 +51883,18 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, + "node_modules/seq": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/seq/-/seq-0.3.5.tgz", + "integrity": "sha512-sisY2Ln1fj43KBkRtXkesnRHYNdswIkIibvNe/0UKm2GZxjMbqmccpiatoKr/k2qX5VKiLU8xm+tz/74LAho4g==", + "dependencies": { + "chainsaw": ">=0.0.7 <0.1", + "hashish": ">=0.0.2 <0.1" + }, + "engines": { + "node": "*" + } + }, "node_modules/serialize-javascript": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", @@ -47283,6 +52204,32 @@ "version": "3.0.7", "license": "ISC" }, + "node_modules/signale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz", + "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==", + "peer": true, + "dependencies": { + "chalk": "^2.3.2", + "figures": "^2.0.0", + "pkg-conf": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/signale/node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "peer": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/simplebar": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/simplebar/-/simplebar-4.2.3.tgz", @@ -47389,6 +52336,18 @@ "version": "1.0.5", "license": "MIT" }, + "node_modules/skin-tone": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", + "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "peer": true, + "dependencies": { + "unicode-emoji-modifier-base": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/slash": { "version": "3.0.0", "license": "MIT", @@ -47441,7 +52400,6 @@ }, "node_modules/smart-buffer": { "version": "4.2.0", - "dev": true, "license": "MIT", "engines": { "node": ">= 6.0.0", @@ -47665,7 +52623,6 @@ }, "node_modules/socks": { "version": "2.7.1", - "dev": true, "license": "MIT", "dependencies": { "ip": "^2.0.0", @@ -47678,7 +52635,6 @@ }, "node_modules/socks-proxy-agent": { "version": "7.0.0", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "^6.0.2", @@ -47825,6 +52781,12 @@ "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", "integrity": "sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==" }, + "node_modules/spawn-error-forwarder": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz", + "integrity": "sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==", + "peer": true + }, "node_modules/spdx-correct": { "version": "3.1.1", "license": "Apache-2.0", @@ -47944,7 +52906,6 @@ }, "node_modules/ssri": { "version": "9.0.1", - "dev": true, "license": "ISC", "dependencies": { "minipass": "^3.1.1" @@ -48138,6 +53099,61 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", + "peer": true, + "dependencies": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-combiner2/node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "peer": true, + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-combiner2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "peer": true + }, + "node_modules/stream-combiner2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-combiner2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "peer": true + }, + "node_modules/stream-combiner2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/stream-each": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", @@ -49196,6 +54212,22 @@ "url": "https://opencollective.com/postcss/" } }, + "node_modules/super-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-1.0.0.tgz", + "integrity": "sha512-CY8u7DtbvucKuquCmOFEKhr9Besln7n9uN8eFbwcoGYWXOMW07u2o8njWaiXt11ylS3qoGF55pILjRmPlbodyg==", + "peer": true, + "dependencies": { + "function-timeout": "^1.0.1", + "time-span": "^5.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/superjson": { "version": "1.13.3", "resolved": "https://registry.npmjs.org/superjson/-/superjson-1.13.3.tgz", @@ -50029,8 +55061,7 @@ }, "node_modules/text-table": { "version": "0.2.0", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/thenify": { "version": "3.3.1", @@ -50073,6 +55104,21 @@ "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" }, + "node_modules/time-span": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", + "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==", + "peer": true, + "dependencies": { + "convert-hrtime": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/timers-browserify": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", @@ -50260,7 +55306,6 @@ }, "node_modules/treeverse": { "version": "2.0.0", - "dev": true, "license": "ISC", "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" @@ -50864,6 +55909,15 @@ "node": ">=4" } }, + "node_modules/unicode-emoji-modifier-base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", + "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", + "peer": true, + "engines": { + "node": ">=4" + } + }, "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", "license": "MIT", @@ -50889,6 +55943,17 @@ "node": ">=4" } }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/unidecode": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/unidecode/-/unidecode-0.1.8.tgz", @@ -50944,7 +56009,6 @@ }, "node_modules/unique-filename": { "version": "2.0.1", - "dev": true, "license": "ISC", "dependencies": { "unique-slug": "^3.0.0" @@ -50955,7 +56019,6 @@ }, "node_modules/unique-slug": { "version": "3.0.0", - "dev": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" @@ -51223,6 +56286,14 @@ "qs": "^6.11.2" } }, + "node_modules/url-join": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz", + "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, "node_modules/url-loader": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", @@ -51484,7 +56555,6 @@ }, "node_modules/validate-npm-package-name": { "version": "4.0.0", - "dev": true, "license": "ISC", "dependencies": { "builtins": "^5.0.0" @@ -51610,7 +56680,6 @@ }, "node_modules/walk-up-path": { "version": "1.0.0", - "dev": true, "license": "ISC" }, "node_modules/walker": { @@ -53944,6 +59013,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/yoctocolors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.0.2.tgz", + "integrity": "sha512-Ct97huExsu7cWeEjmrXlofevF8CvzUglJ4iGUet5B8xn1oumtAZBpHU4GzYuoE6PVqcZ5hghtBrSlhwHuR1Jmw==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/yup": { "version": "0.32.11", "resolved": "https://registry.npmjs.org/yup/-/yup-0.32.11.tgz", diff --git a/packages/core/package.json b/packages/core/package.json index 90910675e90a..4480bb2721e4 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -96,7 +96,8 @@ "@babel/polyfill": "^7.4.4", "@datadog/browser-rum": "^5.11.0", "@deriv-com/analytics": "1.4.13", - "@deriv-com/quill-ui": "^1.9.27", + "@deriv-com/quill-tokens": "^2.0.2", + "@deriv-com/quill-ui": "^1.10.2", "@deriv-com/utils": "^0.0.20", "@deriv/account": "^1.0.0", "@deriv/account-v2": "^1.0.0", diff --git a/packages/trader/package.json b/packages/trader/package.json index 2b3f270b349c..706162c02023 100644 --- a/packages/trader/package.json +++ b/packages/trader/package.json @@ -89,7 +89,8 @@ "dependencies": { "@cloudflare/stream-react": "^1.9.1", "@deriv-com/analytics": "1.4.13", - "@deriv-com/quill-ui": "^1.9.27", + "@deriv-com/quill-tokens": "^2.0.2", + "@deriv-com/quill-ui": "^1.10.2", "@deriv-com/utils": "^0.0.20", "@deriv/api-types": "^1.0.172", "@deriv/components": "^1.0.0", diff --git a/packages/trader/src/AppV2/app.tsx b/packages/trader/src/AppV2/app.tsx index fce6ad4a4377..ed874a794db8 100644 --- a/packages/trader/src/AppV2/app.tsx +++ b/packages/trader/src/AppV2/app.tsx @@ -9,7 +9,7 @@ import Markets from './Containers/Markets'; import Positions from './Containers/Positions'; import Menu from './Containers/Menu'; import 'Sass/app.scss'; -import '@deriv-com/quill-ui/quill.css'; +import '@deriv-com/quill-tokens/dist/quill.css'; type Apptypes = { passthrough: { From 77a3a52a42007c50b1613478105ee7164e66079c Mon Sep 17 00:00:00 2001 From: Maryia <103177211+maryia-deriv@users.noreply.github.com> Date: Tue, 21 May 2024 06:17:08 +0300 Subject: [PATCH 67/95] [DTRA] Maryia/DTRA-1206/fix: request contract history in Contract details on every language change (#15007) * fix: request contract_update_history on every lang change * refactor: contract audit * revert: unnecessary file that slipped through during merging * refactor: address comments * refactor: rename prop --- packages/stores/src/mockStore.ts | 1 + packages/stores/types.ts | 1 + .../__tests__/contract-audit.spec.tsx | 2 ++ .../Elements/ContractAudit/contract-audit.tsx | 23 +++++++++++++++---- .../ContractDrawer/contract-drawer.tsx | 6 +++-- 5 files changed, 26 insertions(+), 7 deletions(-) diff --git a/packages/stores/src/mockStore.ts b/packages/stores/src/mockStore.ts index d30c8020a83a..db8d43d911b8 100644 --- a/packages/stores/src/mockStore.ts +++ b/packages/stores/src/mockStore.ts @@ -345,6 +345,7 @@ const mock = (): TStores & { is_mock: boolean } => { is_account_settings_visible: false, is_account_switcher_disabled: false, is_advanced_duration: false, + is_history_tab_active: false, is_loading: false, is_cashier_visible: false, is_wallet_modal_visible: false, diff --git a/packages/stores/types.ts b/packages/stores/types.ts index 934d29ace552..a304c84a0e1b 100644 --- a/packages/stores/types.ts +++ b/packages/stores/types.ts @@ -661,6 +661,7 @@ type TUiStore = { is_additional_kyc_info_modal_open: boolean; is_advanced_duration: boolean; is_cashier_visible: boolean; + is_history_tab_active: boolean; is_wallet_modal_visible: boolean; is_chart_asset_info_visible?: boolean; is_chart_layout_default: boolean; diff --git a/packages/trader/src/App/Components/Elements/ContractAudit/__tests__/contract-audit.spec.tsx b/packages/trader/src/App/Components/Elements/ContractAudit/__tests__/contract-audit.spec.tsx index 91dc27a7a509..5d8d2646ac03 100644 --- a/packages/trader/src/App/Components/Elements/ContractAudit/__tests__/contract-audit.spec.tsx +++ b/packages/trader/src/App/Components/Elements/ContractAudit/__tests__/contract-audit.spec.tsx @@ -11,8 +11,10 @@ const mocked_default_props: React.ComponentProps = { contract_update_history: [{ order_date: 1700482235 }, { order_date: 1700482236 }], is_multiplier: true, is_accumulator: false, + is_history_tab_active: false, is_turbos: false, is_vanilla: false, + current_language: 'EN', toggleHistoryTab: jest.fn(), contract_end_time: 1700482235, duration: 3, diff --git a/packages/trader/src/App/Components/Elements/ContractAudit/contract-audit.tsx b/packages/trader/src/App/Components/Elements/ContractAudit/contract-audit.tsx index a4ceef380682..9923ef245834 100644 --- a/packages/trader/src/App/Components/Elements/ContractAudit/contract-audit.tsx +++ b/packages/trader/src/App/Components/Elements/ContractAudit/contract-audit.tsx @@ -14,10 +14,12 @@ type TContractAudit = Partial< contract_update_history: TContractUpdateHistory; contract_end_time: number | undefined; contract_info: TContractInfo; + current_language: string; duration: string | number; duration_unit: string; exit_spot: string | undefined; is_dark_theme: boolean; + is_history_tab_active: boolean; is_open: boolean; toggleHistoryTab: (state_change?: boolean) => void; }; @@ -28,7 +30,9 @@ type TResponse = { const ContractAudit = ({ contract_update_history, + current_language, is_accumulator, + is_history_tab_active, is_multiplier, is_turbos, toggleHistoryTab, @@ -40,18 +44,27 @@ const ContractAudit = ({ const getSortedUpdateHistory = (history: TContractUpdateHistory) => history.sort((a, b) => Number(b?.order_date) - Number(a?.order_date)); + const requestUpdatedHistory = React.useCallback((id?: number) => { + if (!id) return; + WS.contractUpdateHistory(id) + .then((response: TResponse) => { + setUpdateHistory(getSortedUpdateHistory(response.contract_update_history)); + }) + .catch(() => null); + }, []); + React.useEffect(() => { if (!!contract_update_history.length && contract_update_history.length > update_history.length) setUpdateHistory(getSortedUpdateHistory(contract_update_history)); }, [contract_update_history, update_history]); + React.useEffect(() => { + if (is_history_tab_active && current_language) requestUpdatedHistory(contract_id); + }, [contract_id, is_history_tab_active, current_language, requestUpdatedHistory]); + const onTabItemClick = (tab_index: number) => { toggleHistoryTab(!!tab_index); - if (tab_index) { - WS.contractUpdateHistory(contract_id).then((response: TResponse) => { - setUpdateHistory(getSortedUpdateHistory(response.contract_update_history)); - }); - } + if (tab_index) requestUpdatedHistory(contract_id); }; if (!is_multiplier && !is_accumulator && !is_turbos) { diff --git a/packages/trader/src/App/Components/Elements/ContractDrawer/contract-drawer.tsx b/packages/trader/src/App/Components/Elements/ContractDrawer/contract-drawer.tsx index 7c618d4ce908..23bc33a48b18 100644 --- a/packages/trader/src/App/Components/Elements/ContractDrawer/contract-drawer.tsx +++ b/packages/trader/src/App/Components/Elements/ContractDrawer/contract-drawer.tsx @@ -60,8 +60,8 @@ const ContractDrawer = observer( toggleHistoryTab, }: TContractDrawerProps) => { const { common, ui } = useStore(); - const { server_time } = common; - const { is_mobile } = ui; + const { current_language, is_language_changing, server_time } = common; + const { is_history_tab_active, is_mobile } = ui; const { currency, exit_tick_display_value } = contract_info; const contract_drawer_ref = React.useRef(null); const contract_drawer_card_ref = React.useRef(null); @@ -77,10 +77,12 @@ const ContractDrawer = observer( exit_spot={exit_tick_display_value} is_accumulator={is_accumulator} is_dark_theme={is_dark_theme} + is_history_tab_active={is_history_tab_active} is_multiplier={is_multiplier} is_open is_turbos={is_turbos} is_vanilla={is_vanilla} + current_language={is_language_changing ? '' : current_language} toggleHistoryTab={toggleHistoryTab} /> ); From bf39e6d9393f907d859cb07be6faa5a23faa77e0 Mon Sep 17 00:00:00 2001 From: ahmadtaimoor-deriv <129935294+ahmadtaimoor-deriv@users.noreply.github.com> Date: Tue, 21 May 2024 11:19:14 +0800 Subject: [PATCH 68/95] [DTRA]Ahmad WEBREL-21/Reports.tsx Coverage (#15164) * fix: reports test * fix: sonar cloud fix * fix: review fix --- .../src/Containers/__tests__/reports.spec.tsx | 198 ++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 packages/reports/src/Containers/__tests__/reports.spec.tsx diff --git a/packages/reports/src/Containers/__tests__/reports.spec.tsx b/packages/reports/src/Containers/__tests__/reports.spec.tsx new file mode 100644 index 000000000000..ae7d1739d89d --- /dev/null +++ b/packages/reports/src/Containers/__tests__/reports.spec.tsx @@ -0,0 +1,198 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import { Router } from 'react-router-dom'; +import { History, createMemoryHistory } from 'history'; +import Reports from '../reports'; +import { Analytics } from '@deriv-com/analytics'; +import { StoreProvider, mockStore } from '@deriv/stores'; +import { TStores } from '@deriv/stores/types'; +import userEvent from '@testing-library/user-event'; + +jest.mock('@deriv-com/analytics', () => ({ + Analytics: { + trackEvent: jest.fn(), + }, +})); + +jest.mock('@deriv/shared', () => ({ + ...jest.requireActual('@deriv/shared'), + getSelectedRoute: jest.fn(({ routes, pathname }) => { + return routes.find((route: { path: string }) => route.path === pathname) || routes[0]; + }), +})); + +const mockSelectNative = jest.fn(); +const mockVerticalTab = jest.fn(); +const route1 = '/report1'; +const route2 = '/report2'; +const onCloseClick = 'onclose-click'; +const report1Text = 'Report 1'; +const report2Text = 'Report 2'; +const Loading = 'Loading'; +jest.mock('@deriv/components', () => ({ + ...jest.requireActual('@deriv/components'), + DesktopWrapper: jest.fn(({ children }) => children), + MobileWrapper: jest.fn(({ children }) => children), + Div100vhContainer: jest.fn(({ children }) => children), + FadeWrapper: jest.fn(({ children }) => children), + Loading: () =>
    {Loading}
    , + PageOverlay: jest.fn(({ children, onClickClose }) => ( +
    + + Overlay + {children} +
    + )), + VerticalTab: (props: any) => { + mockVerticalTab(props); + return
    Vertical Tab
    ; + }, + SelectNative: (props: { onChange: React.ChangeEventHandler | undefined; list_items: any[] }) => { + mockSelectNative(props); + return ( + + ); + }, +})); + +const mock = { + client: { + is_logged_in: true, + is_logging_in: false, + }, + common: { + is_from_derivgo: false, + routeBackInApp: jest.fn(), + }, + ui: { + is_reports_visible: true, + setReportsTabIndex: jest.fn(), + reports_route_tab_index: 1, + toggleReports: jest.fn(), + setVerticalTabIndex: jest.fn(), + }, +}; + +jest.mock('@deriv/stores', () => ({ + ...jest.requireActual('@deriv/stores'), + observer: jest.fn(x => x), +})); + +const routes = [ + { path: route1, component: () =>
    {report1Text}
    , getTitle: () => report1Text, default: true }, + { path: route2, component: () =>
    {report2Text}
    , getTitle: () => report2Text }, +]; + +describe('Reports', () => { + let store = mockStore(mock); + + beforeEach(() => { + store = mockStore(mock); + jest.clearAllMocks(); + }); + + const renderReports = (store: TStores, history: History) => { + render( + + + + + + ); + }; + test('renders Reports component', () => { + const history = createMemoryHistory(); + renderReports(store, history); + expect(screen.getAllByText(report1Text).length).toBeGreaterThan(0); + expect(screen.getAllByText(report2Text).length).toBeGreaterThan(0); + }); + + test('shows loader when is_logged_in is false', () => { + const history = createMemoryHistory(); + store = mockStore({ + ...mock, + client: { + ...mock.client, + is_logged_in: false, + is_logging_in: true, + }, + }); + renderReports(store, history); + expect(screen.getByText(Loading)).toBeInTheDocument(); + }); + + test('tracks Analytics events on open and close', () => { + const history = createMemoryHistory(); + const { unmount } = render( + + + + + + ); + + expect(Analytics.trackEvent).toHaveBeenCalledWith( + 'ce_reports_form', + expect.objectContaining({ action: 'open' }) + ); + unmount(); + expect(Analytics.trackEvent).toHaveBeenCalledWith( + 'ce_reports_form', + expect.objectContaining({ action: 'close' }) + ); + }); + + test('navigates to a different route on select change', () => { + const history = createMemoryHistory(); + renderReports(store, history); + userEvent.selectOptions(screen.getByRole('combobox'), route2); + expect(history.location.pathname).toBe(route2); + }); + + test('calls routeBackInApp on close button click', () => { + const mockRouteBackInApp = jest.fn(); + store = mockStore({ + ...mock, + common: { + ...mock.common, + routeBackInApp: mockRouteBackInApp, + }, + }); + const history = createMemoryHistory(); + renderReports(store, history); + userEvent.click(screen.getByTestId(onCloseClick)); + expect(mockRouteBackInApp).toHaveBeenCalled(); + }); + + test('sets vertical_tab_index to 0 if the selected route is default', () => { + const history = createMemoryHistory(); + history.push(route1); + renderReports(store, history); + + expect(mockVerticalTab).toHaveBeenCalledWith( + expect.objectContaining({ + vertical_tab_index: 0, + }) + ); + }); + + test('sets vertical_tab_index to reports_route_tab_index if the selected route is not default', () => { + const history = createMemoryHistory(); + history.push(route2); + renderReports(store, history); + + expect(mockVerticalTab).toHaveBeenCalledWith( + expect.objectContaining({ + vertical_tab_index: mock.ui.reports_route_tab_index, + }) + ); + }); +}); From c33cc0febbdb663ca9fdc4ad8b1e3ca69a90ef9e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 21 May 2024 12:32:52 +0800 Subject: [PATCH 69/95] =?UTF-8?q?translations:=20=F0=9F=93=9A=20sync=20tra?= =?UTF-8?q?nslations=20with=20crowdin=20(#15271)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: DerivFE --- .../translations/src/translations/mn.json | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/packages/translations/src/translations/mn.json b/packages/translations/src/translations/mn.json index 76f732874d72..17043b1e1cd1 100644 --- a/packages/translations/src/translations/mn.json +++ b/packages/translations/src/translations/mn.json @@ -205,7 +205,7 @@ "221261209": "Дерив данс нь танд CFDs данс (ууд) -ийг санхүүжүүлэх (мөн түүнээс гарах) боломжийг олгоно.", "223120514": "Энэ жишээнд SMA шугамын цэг бүр нь сүүлийн 50 хоногийн ойрхон үнийн арифметик дундаж юм.", "223607908": "{{underlying_name}}-ийн хамгийн сүүлийн 1000 хачгийн сүүлийн оронтой статистик", - "224650827": "ИОТ/АМ.ДОЛЛАР", + "224650827": "IOT/USD", "225887649": "Энэ блок заавал байх ёстой. Шинэ стратеги үүсгэх үед энэ нь анхдагчаар таны стратеги дээр нэмдэг. Та энэ блокийн нэгээс олон хуулбарыг зураг дээр нэмж болохгүй.", "227591929": "{{ input_datetime }} {{ dummy }}цагийн тамга руу", "227903202": "Бид таны Deriv fiat болон {{platform_name_mt5}} дансны хооронд өөр өөр валютаар шилжүүлгийн хувьд 1% шилжүүлгийн хураамж авах болно.", @@ -724,7 +724,7 @@ "770171141": "{{hostname}}руу очно уу", "772520934": "Та гэрээг дуусахаас 24 цагийн өмнө зарж болно. Хэрэв та үүнийг хийвэл бид танд гэрээний үнийг төл <0>өх болно.", "773091074": "Гадас:", - "773309981": "Газрын тос/ам.доллар", + "773309981": "Oil/USD", "773336410": "Tether бол тоон байдлаар fiat валютын хэрэглээг хөнгөвчлөх зорилготой блокчейн идэвхжүүлсэн платформ юм.", "775679302": "{{pending_withdrawals}} хүлээгдэж буй төлбөр (ууд)", "775706054": "Та худалдааны ботуудыг зардаг уу?", @@ -769,7 +769,7 @@ "824797920": "Жагсаалт хоосон байна уу?", "825042307": "Дахин оролдоод үзье", "825179913": "Энэ баримт бичгийн дугаарыг өөр дансанд зориулж аль хэдийн ирүүлсэн. Та бидэнтэй цаашид баталгаажуулах шаардлагагүй данстай бололтой. Хэрэв танд тусламж хэрэгтэй бол <0>шууд чатаар дамжуулан бидэнтэй холбоо барина уу.", - "826511719": "ДОЛЛАР/СЕК", + "826511719": "USD/SEK", "827688195": "Блокийг идэвхгүй болгох", "828219890": "дараа нь", "828602451": "Мөр хэлбэрээр шалгах утгуудын жагсаалтыг буцаана", @@ -1087,7 +1087,7 @@ "1125090693": "Тоо байх ёстой", "1126075317": "Лабуан Санхүүгийн Үйлчилгээний Газраас зохицуулагддаг Deriv (FX) Ltd дагуу өөрийн Deriv MT5 <0>{{account_type_name}} STP дансаа нэмнэ (Лиценз дугаар. МБ/18/0024).", "1126934455": "Токен нэрийн урт нь 2-оос 32 тэмдэгтийн хооронд байх ёстой.", - "1127224297": "Тасалдалдаа уучлаарай", + "1127224297": "Тасалдалаа", "1127884488": "cTrader MacOS програм", "1128139358": "Сүүлийн 12 сард та хэдэн CFD арилжаа хийсэн бэ?", "1128321947": "Бүгдийг цэвэрлэх", @@ -1482,7 +1482,7 @@ "1509559328": "cTrader", "1509570124": "{{buy_value}} (Худалдан авах)", "1509678193": "Боловсрол", - "1510075920": "Алт/ам.доллар", + "1510075920": "Gold/USD", "1510357015": "Татварын оршин суух шаардлагатай.", "1510735345": "Энэ блок нь танд сүүлийн 1000 шалз утгуудын сүүлийн оронуудын жагсаалтыг өгдөг.", "1512469749": "Дээрх жишээн дээр хувьсагч candle_open_price бусад блок дотор хаа нэгтээ боловсруулсан гэж таамаглаж байна.", @@ -1793,7 +1793,7 @@ "1839021527": "Хүчинтэй дансны дугаарыг оруулна уу. Жишээ нь: CR123456789", "1840721160": "Deriv MT5 хамгийн сүүлийн үеийн нууц үгийн шаардлага", "1840865068": "{{ variable }} -ийг энгийн хөдөлгөөнт дундаж массив {{ dummy }}болгон тохируулна уу", - "1841788070": "Палладиум/USD", + "1841788070": "Palladium/USD", "1841996888": "Өдөр тутмын алдагдлын хяз", "1842266423": "буцаж", "1843336754": "Баримт бичгийг сонгох", @@ -4115,16 +4115,16 @@ "-1201853162": "EUR/CHF", "-1318070255": "EUR/GBP", "-1197505739": "EUR/JPY", - "-405907358": "ЕВРО/АМ.ДОЛЛАР", + "-405907358": "EUR/USD", "-1536293064": "NZD/JPY", "-79700881": "NZD/USD", - "-642323838": "АМ.ДОЛЛАР/CAD", - "-428199705": "АМ.ДОЛЛАР/CHF", - "-424108348": "ДОЛЛАР/JPY", - "-548255282": "АМ.ДОЛЛАР/NOK", - "-1834131208": "ДОЛЛАР/PLN", - "-524302516": "Мөнгөн/ам.доллар", - "-764731776": "Платин/ам.доллар", + "-642323838": "USD/CAD", + "-428199705": "USD/CHF", + "-424108348": "USD/JPY", + "-548255282": "USD/NOK", + "-1834131208": "USD/PLN", + "-524302516": "Silver/USD", + "-764731776": "Platinum/USD", "-853582174": "France 40", "-1096386695": "UK 100", "-617646862": "Germany 40", @@ -4152,7 +4152,7 @@ "-1164978320": "Jump 10 Индекс", "-575272887": "BCH/USD", "-295406873": "BTC/ETH", - "-1713556301": "ЗМР/УСД", + "-1713556301": "ZMR/USD", "-2046638412": "XRP/USD", "-1263203461": "BTC/USD", "-1112522776": "DSH/USD", From 92ef310c329f5c4f4e3b9ca576055559ad6f745f Mon Sep 17 00:00:00 2001 From: Akmal Djumakhodjaev Date: Tue, 21 May 2024 13:18:48 +0800 Subject: [PATCH 70/95] feat: update quill-ui version --- packages/trader/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/trader/package.json b/packages/trader/package.json index 706162c02023..cc7319e719c9 100644 --- a/packages/trader/package.json +++ b/packages/trader/package.json @@ -90,7 +90,7 @@ "@cloudflare/stream-react": "^1.9.1", "@deriv-com/analytics": "1.4.13", "@deriv-com/quill-tokens": "^2.0.2", - "@deriv-com/quill-ui": "^1.10.2", + "@deriv-com/quill-ui": "^1.10.3", "@deriv-com/utils": "^0.0.20", "@deriv/api-types": "^1.0.172", "@deriv/components": "^1.0.0", From f025aa28622418bcf0250b17a70abb511e378f8b Mon Sep 17 00:00:00 2001 From: Akmal Djumakhodjaev Date: Tue, 21 May 2024 13:48:17 +0800 Subject: [PATCH 71/95] feat: update quill-ui version in core --- packages/core/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/package.json b/packages/core/package.json index 4480bb2721e4..a217281705f5 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -97,7 +97,7 @@ "@datadog/browser-rum": "^5.11.0", "@deriv-com/analytics": "1.4.13", "@deriv-com/quill-tokens": "^2.0.2", - "@deriv-com/quill-ui": "^1.10.2", + "@deriv-com/quill-ui": "^1.10.3", "@deriv-com/utils": "^0.0.20", "@deriv/account": "^1.0.0", "@deriv/account-v2": "^1.0.0", From 7713658cfe804ee1e2169b428ec77d2bb6dc159e Mon Sep 17 00:00:00 2001 From: DerivFE <80095553+DerivFE@users.noreply.github.com> Date: Tue, 21 May 2024 10:08:29 +0400 Subject: [PATCH 72/95] chore: update @deriv/deriv-charts to 2.1.17 (#15273) Co-authored-by: balakrishna-deriv --- package-lock.json | 161 +++++++++++++++++++++++++++++-- packages/bot-web-ui/package.json | 2 +- packages/core/package.json | 2 +- packages/trader/package.json | 2 +- 4 files changed, 158 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4fa1b9ef5c99..5c9376412746 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ "@deriv-com/utils": "^0.0.20", "@deriv/api-types": "^1.0.172", "@deriv/deriv-api": "^1.0.15", - "@deriv/deriv-charts": "^2.1.15", + "@deriv/deriv-charts": "^2.1.17", "@deriv/js-interpreter": "^3.0.0", "@deriv/quill-design": "^1.3.2", "@deriv/quill-icons": "^1.22.7", @@ -3068,9 +3068,9 @@ } }, "node_modules/@deriv/deriv-charts": { - "version": "2.1.15", - "resolved": "https://registry.npmjs.org/@deriv/deriv-charts/-/deriv-charts-2.1.15.tgz", - "integrity": "sha512-UPbJsMH516s9d2Re+1K9adbhxbg7z+WDtfOTRHzkZvja+PKKvdQfgqOsO6Mg/9HwvE8faXKQfgKlCzXuQ4k0fQ==", + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/@deriv/deriv-charts/-/deriv-charts-2.1.17.tgz", + "integrity": "sha512-qNQ1cFvasuK45Wp47wcqeBaFlYn6yMMt6RCwe4amZttVQFd0fnX1HzvPLIbWkkekzIHmLiJT0AH1O+0BFpM2jQ==", "dependencies": { "@types/lodash.set": "^4.3.7", "@welldone-software/why-did-you-render": "^3.3.8", @@ -3854,6 +3854,7 @@ }, "node_modules/@isaacs/string-locale-compare": { "version": "1.1.0", + "dev": true, "license": "ISC" }, "node_modules/@istanbuljs/load-nyc-config": { @@ -7357,6 +7358,7 @@ }, "node_modules/@npmcli/arborist": { "version": "5.3.0", + "dev": true, "license": "ISC", "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", @@ -7403,6 +7405,7 @@ }, "node_modules/@npmcli/arborist/node_modules/hosted-git-info": { "version": "5.2.1", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^7.5.1" @@ -7413,6 +7416,7 @@ }, "node_modules/@npmcli/arborist/node_modules/npm-package-arg": { "version": "9.1.2", + "dev": true, "license": "ISC", "dependencies": { "hosted-git-info": "^5.0.0", @@ -7426,6 +7430,7 @@ }, "node_modules/@npmcli/arborist/node_modules/semver": { "version": "7.3.8", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -7439,6 +7444,7 @@ }, "node_modules/@npmcli/arborist/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -7449,6 +7455,7 @@ }, "node_modules/@npmcli/fs": { "version": "2.1.2", + "dev": true, "license": "ISC", "dependencies": { "@gar/promisify": "^1.1.3", @@ -7460,6 +7467,7 @@ }, "node_modules/@npmcli/fs/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -7470,6 +7478,7 @@ }, "node_modules/@npmcli/fs/node_modules/semver": { "version": "7.3.8", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -7483,6 +7492,7 @@ }, "node_modules/@npmcli/git": { "version": "3.0.2", + "dev": true, "license": "ISC", "dependencies": { "@npmcli/promise-spawn": "^3.0.0", @@ -7501,6 +7511,7 @@ }, "node_modules/@npmcli/git/node_modules/semver": { "version": "7.3.8", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -7514,6 +7525,7 @@ }, "node_modules/@npmcli/git/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -7524,6 +7536,7 @@ }, "node_modules/@npmcli/installed-package-contents": { "version": "1.0.7", + "dev": true, "license": "ISC", "dependencies": { "npm-bundled": "^1.1.1", @@ -7538,6 +7551,7 @@ }, "node_modules/@npmcli/map-workspaces": { "version": "2.0.4", + "dev": true, "license": "ISC", "dependencies": { "@npmcli/name-from-folder": "^1.0.1", @@ -7551,6 +7565,7 @@ }, "node_modules/@npmcli/map-workspaces/node_modules/brace-expansion": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -7558,6 +7573,7 @@ }, "node_modules/@npmcli/map-workspaces/node_modules/glob": { "version": "8.0.3", + "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -7575,6 +7591,7 @@ }, "node_modules/@npmcli/map-workspaces/node_modules/minimatch": { "version": "5.1.1", + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" @@ -7585,6 +7602,7 @@ }, "node_modules/@npmcli/metavuln-calculator": { "version": "3.1.1", + "dev": true, "license": "ISC", "dependencies": { "cacache": "^16.0.0", @@ -7598,6 +7616,7 @@ }, "node_modules/@npmcli/metavuln-calculator/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -7608,6 +7627,7 @@ }, "node_modules/@npmcli/metavuln-calculator/node_modules/semver": { "version": "7.3.8", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -7621,6 +7641,7 @@ }, "node_modules/@npmcli/move-file": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "mkdirp": "^1.0.4", @@ -7632,10 +7653,12 @@ }, "node_modules/@npmcli/name-from-folder": { "version": "1.0.1", + "dev": true, "license": "ISC" }, "node_modules/@npmcli/node-gyp": { "version": "2.0.0", + "dev": true, "license": "ISC", "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" @@ -7643,6 +7666,7 @@ }, "node_modules/@npmcli/package-json": { "version": "2.0.0", + "dev": true, "license": "ISC", "dependencies": { "json-parse-even-better-errors": "^2.3.1" @@ -7653,6 +7677,7 @@ }, "node_modules/@npmcli/promise-spawn": { "version": "3.0.0", + "dev": true, "license": "ISC", "dependencies": { "infer-owner": "^1.0.4" @@ -7663,6 +7688,7 @@ }, "node_modules/@npmcli/run-script": { "version": "4.2.1", + "dev": true, "license": "ISC", "dependencies": { "@npmcli/node-gyp": "^2.0.0", @@ -20986,6 +21012,7 @@ }, "node_modules/abbrev": { "version": "1.1.1", + "dev": true, "license": "ISC" }, "node_modules/accepts": { @@ -21103,6 +21130,7 @@ }, "node_modules/agentkeepalive": { "version": "4.2.1", + "dev": true, "license": "MIT", "dependencies": { "debug": "^4.1.0", @@ -21310,6 +21338,7 @@ }, "node_modules/are-we-there-yet": { "version": "3.0.1", + "dev": true, "license": "ISC", "dependencies": { "delegates": "^1.0.0", @@ -22712,6 +22741,7 @@ }, "node_modules/bin-links": { "version": "3.0.3", + "dev": true, "license": "ISC", "dependencies": { "cmd-shim": "^5.0.0", @@ -22727,6 +22757,7 @@ }, "node_modules/bin-links/node_modules/npm-normalize-package-bin": { "version": "2.0.0", + "dev": true, "license": "ISC", "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" @@ -22734,6 +22765,7 @@ }, "node_modules/bin-links/node_modules/write-file-atomic": { "version": "4.0.2", + "dev": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", @@ -23575,6 +23607,7 @@ }, "node_modules/builtins": { "version": "5.0.1", + "dev": true, "license": "MIT", "dependencies": { "semver": "^7.0.0" @@ -23582,6 +23615,7 @@ }, "node_modules/builtins/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -23592,6 +23626,7 @@ }, "node_modules/builtins/node_modules/semver": { "version": "7.3.8", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -23689,6 +23724,7 @@ }, "node_modules/cacache": { "version": "16.1.3", + "dev": true, "license": "ISC", "dependencies": { "@npmcli/fs": "^2.1.0", @@ -23716,6 +23752,7 @@ }, "node_modules/cacache/node_modules/brace-expansion": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -23723,6 +23760,7 @@ }, "node_modules/cacache/node_modules/glob": { "version": "8.0.3", + "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -23740,6 +23778,7 @@ }, "node_modules/cacache/node_modules/minimatch": { "version": "5.1.1", + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" @@ -24520,6 +24559,7 @@ }, "node_modules/cmd-shim": { "version": "5.0.0", + "dev": true, "license": "ISC", "dependencies": { "mkdirp-infer-owner": "^2.0.0" @@ -24640,6 +24680,7 @@ }, "node_modules/common-ancestor-path": { "version": "1.0.1", + "dev": true, "license": "ISC" }, "node_modules/common-path-prefix": { @@ -26786,6 +26827,7 @@ }, "node_modules/debuglog": { "version": "1.0.1", + "dev": true, "license": "MIT", "engines": { "node": "*" @@ -27541,6 +27583,7 @@ }, "node_modules/dezalgo": { "version": "1.0.4", + "dev": true, "license": "ISC", "dependencies": { "asap": "^2.0.0", @@ -28336,6 +28379,7 @@ }, "node_modules/err-code": { "version": "2.0.3", + "dev": true, "license": "MIT" }, "node_modules/errno": { @@ -31818,6 +31862,7 @@ }, "node_modules/gauge": { "version": "4.0.4", + "dev": true, "license": "ISC", "dependencies": { "aproba": "^1.0.3 || ^2.0.0", @@ -33071,6 +33116,7 @@ }, "node_modules/hosted-git-info": { "version": "4.1.0", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -33081,6 +33127,7 @@ }, "node_modules/hosted-git-info/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -33488,7 +33535,8 @@ "node_modules/http-cache-semantics": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true }, "node_modules/http-deceiver": { "version": "1.2.7", @@ -33728,6 +33776,7 @@ }, "node_modules/humanize-ms": { "version": "1.2.1", + "dev": true, "license": "MIT", "dependencies": { "ms": "^2.0.0" @@ -33868,6 +33917,7 @@ }, "node_modules/ignore-walk": { "version": "5.0.1", + "dev": true, "license": "ISC", "dependencies": { "minimatch": "^5.0.1" @@ -33878,6 +33928,7 @@ }, "node_modules/ignore-walk/node_modules/brace-expansion": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -33885,6 +33936,7 @@ }, "node_modules/ignore-walk/node_modules/minimatch": { "version": "5.1.1", + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" @@ -34043,6 +34095,7 @@ }, "node_modules/init-package-json": { "version": "3.0.2", + "dev": true, "license": "ISC", "dependencies": { "npm-package-arg": "^9.0.1", @@ -34059,6 +34112,7 @@ }, "node_modules/init-package-json/node_modules/hosted-git-info": { "version": "5.2.1", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^7.5.1" @@ -34069,6 +34123,7 @@ }, "node_modules/init-package-json/node_modules/npm-package-arg": { "version": "9.1.2", + "dev": true, "license": "ISC", "dependencies": { "hosted-git-info": "^5.0.0", @@ -34082,6 +34137,7 @@ }, "node_modules/init-package-json/node_modules/semver": { "version": "7.3.8", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -34095,6 +34151,7 @@ }, "node_modules/init-package-json/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -34593,6 +34650,7 @@ }, "node_modules/is-lambda": { "version": "1.0.1", + "dev": true, "license": "MIT" }, "node_modules/is-lite": { @@ -38705,6 +38763,7 @@ }, "node_modules/json-stringify-nice": { "version": "1.1.4", + "dev": true, "license": "ISC", "funding": { "url": "https://github.com/sponsors/isaacs" @@ -38833,10 +38892,12 @@ }, "node_modules/just-diff": { "version": "5.1.1", + "dev": true, "license": "MIT" }, "node_modules/just-diff-apply": { "version": "5.4.1", + "dev": true, "license": "MIT" }, "node_modules/just-extend": { @@ -39080,6 +39141,7 @@ }, "node_modules/libnpmaccess": { "version": "6.0.4", + "dev": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", @@ -39093,6 +39155,7 @@ }, "node_modules/libnpmaccess/node_modules/hosted-git-info": { "version": "5.2.1", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^7.5.1" @@ -39103,6 +39166,7 @@ }, "node_modules/libnpmaccess/node_modules/npm-package-arg": { "version": "9.1.2", + "dev": true, "license": "ISC", "dependencies": { "hosted-git-info": "^5.0.0", @@ -39116,6 +39180,7 @@ }, "node_modules/libnpmaccess/node_modules/semver": { "version": "7.3.8", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -39129,6 +39194,7 @@ }, "node_modules/libnpmaccess/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -39139,6 +39205,7 @@ }, "node_modules/libnpmpublish": { "version": "6.0.5", + "dev": true, "license": "ISC", "dependencies": { "normalize-package-data": "^4.0.0", @@ -39153,6 +39220,7 @@ }, "node_modules/libnpmpublish/node_modules/hosted-git-info": { "version": "5.2.1", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^7.5.1" @@ -39163,6 +39231,7 @@ }, "node_modules/libnpmpublish/node_modules/normalize-package-data": { "version": "4.0.1", + "dev": true, "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^5.0.0", @@ -39176,6 +39245,7 @@ }, "node_modules/libnpmpublish/node_modules/npm-package-arg": { "version": "9.1.2", + "dev": true, "license": "ISC", "dependencies": { "hosted-git-info": "^5.0.0", @@ -39189,6 +39259,7 @@ }, "node_modules/libnpmpublish/node_modules/semver": { "version": "7.3.8", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -39202,6 +39273,7 @@ }, "node_modules/libnpmpublish/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -39838,6 +39910,7 @@ }, "node_modules/lru-cache": { "version": "7.14.1", + "dev": true, "license": "ISC", "engines": { "node": ">=12" @@ -39878,6 +39951,7 @@ }, "node_modules/make-fetch-happen": { "version": "10.2.1", + "dev": true, "license": "ISC", "dependencies": { "agentkeepalive": "^4.2.1", @@ -40474,6 +40548,7 @@ }, "node_modules/minipass-fetch": { "version": "2.1.2", + "dev": true, "license": "MIT", "dependencies": { "minipass": "^3.1.6", @@ -40499,6 +40574,7 @@ }, "node_modules/minipass-json-stream": { "version": "1.0.1", + "dev": true, "license": "MIT", "dependencies": { "jsonparse": "^1.3.1", @@ -40517,6 +40593,7 @@ }, "node_modules/minipass-sized": { "version": "1.0.3", + "dev": true, "license": "ISC", "dependencies": { "minipass": "^3.0.0" @@ -40639,6 +40716,7 @@ }, "node_modules/mkdirp-infer-owner": { "version": "2.0.0", + "dev": true, "license": "ISC", "dependencies": { "chownr": "^2.0.0", @@ -41237,6 +41315,7 @@ }, "node_modules/node-gyp": { "version": "9.3.0", + "dev": true, "license": "MIT", "dependencies": { "env-paths": "^2.2.0", @@ -41269,6 +41348,7 @@ }, "node_modules/node-gyp/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -41279,6 +41359,7 @@ }, "node_modules/node-gyp/node_modules/nopt": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "abbrev": "^1.0.0" @@ -41292,6 +41373,7 @@ }, "node_modules/node-gyp/node_modules/semver": { "version": "7.3.8", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -41465,6 +41547,7 @@ }, "node_modules/nopt": { "version": "5.0.0", + "dev": true, "license": "ISC", "dependencies": { "abbrev": "1" @@ -41478,6 +41561,7 @@ }, "node_modules/normalize-package-data": { "version": "3.0.3", + "dev": true, "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^4.0.1", @@ -41491,6 +41575,7 @@ }, "node_modules/normalize-package-data/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -41501,6 +41586,7 @@ }, "node_modules/normalize-package-data/node_modules/semver": { "version": "7.3.8", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -41710,6 +41796,7 @@ }, "node_modules/npm-bundled": { "version": "1.1.2", + "dev": true, "license": "ISC", "dependencies": { "npm-normalize-package-bin": "^1.0.1" @@ -41717,6 +41804,7 @@ }, "node_modules/npm-install-checks": { "version": "5.0.0", + "dev": true, "license": "BSD-2-Clause", "dependencies": { "semver": "^7.1.1" @@ -41727,6 +41815,7 @@ }, "node_modules/npm-install-checks/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -41737,6 +41826,7 @@ }, "node_modules/npm-install-checks/node_modules/semver": { "version": "7.3.8", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -41750,10 +41840,12 @@ }, "node_modules/npm-normalize-package-bin": { "version": "1.0.1", + "dev": true, "license": "ISC" }, "node_modules/npm-package-arg": { "version": "8.1.1", + "dev": true, "license": "ISC", "dependencies": { "hosted-git-info": "^3.0.6", @@ -41766,10 +41858,12 @@ }, "node_modules/npm-package-arg/node_modules/builtins": { "version": "1.0.3", + "dev": true, "license": "MIT" }, "node_modules/npm-package-arg/node_modules/hosted-git-info": { "version": "3.0.8", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -41780,6 +41874,7 @@ }, "node_modules/npm-package-arg/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -41790,6 +41885,7 @@ }, "node_modules/npm-package-arg/node_modules/semver": { "version": "7.3.8", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -41803,6 +41899,7 @@ }, "node_modules/npm-package-arg/node_modules/validate-npm-package-name": { "version": "3.0.0", + "dev": true, "license": "ISC", "dependencies": { "builtins": "^1.0.3" @@ -41810,6 +41907,7 @@ }, "node_modules/npm-packlist": { "version": "5.1.3", + "dev": true, "license": "ISC", "dependencies": { "glob": "^8.0.1", @@ -41826,6 +41924,7 @@ }, "node_modules/npm-packlist/node_modules/brace-expansion": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -41833,6 +41932,7 @@ }, "node_modules/npm-packlist/node_modules/glob": { "version": "8.0.3", + "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -41850,6 +41950,7 @@ }, "node_modules/npm-packlist/node_modules/minimatch": { "version": "5.1.1", + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" @@ -41860,6 +41961,7 @@ }, "node_modules/npm-packlist/node_modules/npm-bundled": { "version": "2.0.1", + "dev": true, "license": "ISC", "dependencies": { "npm-normalize-package-bin": "^2.0.0" @@ -41870,6 +41972,7 @@ }, "node_modules/npm-packlist/node_modules/npm-normalize-package-bin": { "version": "2.0.0", + "dev": true, "license": "ISC", "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" @@ -41877,6 +41980,7 @@ }, "node_modules/npm-pick-manifest": { "version": "7.0.2", + "dev": true, "license": "ISC", "dependencies": { "npm-install-checks": "^5.0.0", @@ -41890,6 +41994,7 @@ }, "node_modules/npm-pick-manifest/node_modules/hosted-git-info": { "version": "5.2.1", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^7.5.1" @@ -41900,6 +42005,7 @@ }, "node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin": { "version": "2.0.0", + "dev": true, "license": "ISC", "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" @@ -41907,6 +42013,7 @@ }, "node_modules/npm-pick-manifest/node_modules/npm-package-arg": { "version": "9.1.2", + "dev": true, "license": "ISC", "dependencies": { "hosted-git-info": "^5.0.0", @@ -41920,6 +42027,7 @@ }, "node_modules/npm-pick-manifest/node_modules/semver": { "version": "7.3.8", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -41933,6 +42041,7 @@ }, "node_modules/npm-pick-manifest/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -41943,6 +42052,7 @@ }, "node_modules/npm-registry-fetch": { "version": "13.3.1", + "dev": true, "license": "ISC", "dependencies": { "make-fetch-happen": "^10.0.6", @@ -41959,6 +42069,7 @@ }, "node_modules/npm-registry-fetch/node_modules/hosted-git-info": { "version": "5.2.1", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^7.5.1" @@ -41969,6 +42080,7 @@ }, "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { "version": "9.1.2", + "dev": true, "license": "ISC", "dependencies": { "hosted-git-info": "^5.0.0", @@ -41982,6 +42094,7 @@ }, "node_modules/npm-registry-fetch/node_modules/semver": { "version": "7.3.8", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -41995,6 +42108,7 @@ }, "node_modules/npm-registry-fetch/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -44257,6 +44371,7 @@ }, "node_modules/npmlog": { "version": "6.0.2", + "dev": true, "license": "ISC", "dependencies": { "are-we-there-yet": "^3.0.0", @@ -45236,6 +45351,7 @@ }, "node_modules/pacote": { "version": "13.6.2", + "dev": true, "license": "ISC", "dependencies": { "@npmcli/git": "^3.0.0", @@ -45269,6 +45385,7 @@ }, "node_modules/pacote/node_modules/hosted-git-info": { "version": "5.2.1", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^7.5.1" @@ -45279,6 +45396,7 @@ }, "node_modules/pacote/node_modules/npm-package-arg": { "version": "9.1.2", + "dev": true, "license": "ISC", "dependencies": { "hosted-git-info": "^5.0.0", @@ -45292,6 +45410,7 @@ }, "node_modules/pacote/node_modules/semver": { "version": "7.3.8", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -45305,6 +45424,7 @@ }, "node_modules/pacote/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -45397,6 +45517,7 @@ }, "node_modules/parse-conflict-json": { "version": "2.0.2", + "dev": true, "license": "ISC", "dependencies": { "json-parse-even-better-errors": "^2.3.1", @@ -47615,6 +47736,7 @@ }, "node_modules/proc-log": { "version": "2.0.1", + "dev": true, "license": "ISC", "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" @@ -47650,6 +47772,7 @@ }, "node_modules/promise-all-reject-late": { "version": "1.0.1", + "dev": true, "license": "ISC", "funding": { "url": "https://github.com/sponsors/isaacs" @@ -47657,6 +47780,7 @@ }, "node_modules/promise-call-limit": { "version": "1.0.1", + "dev": true, "license": "ISC", "funding": { "url": "https://github.com/sponsors/isaacs" @@ -47673,6 +47797,7 @@ }, "node_modules/promise-retry": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "err-code": "^2.0.2", @@ -47732,6 +47857,7 @@ }, "node_modules/promzard": { "version": "0.3.0", + "dev": true, "license": "ISC", "dependencies": { "read": "1" @@ -49140,6 +49266,7 @@ }, "node_modules/read": { "version": "1.0.7", + "dev": true, "license": "ISC", "dependencies": { "mute-stream": "~0.0.4" @@ -49166,6 +49293,7 @@ }, "node_modules/read-cmd-shim": { "version": "3.0.1", + "dev": true, "license": "ISC", "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" @@ -49173,6 +49301,7 @@ }, "node_modules/read-package-json": { "version": "5.0.2", + "dev": true, "license": "ISC", "dependencies": { "glob": "^8.0.1", @@ -49186,6 +49315,7 @@ }, "node_modules/read-package-json-fast": { "version": "2.0.3", + "dev": true, "license": "ISC", "dependencies": { "json-parse-even-better-errors": "^2.3.0", @@ -49197,6 +49327,7 @@ }, "node_modules/read-package-json/node_modules/brace-expansion": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -49204,6 +49335,7 @@ }, "node_modules/read-package-json/node_modules/glob": { "version": "8.0.3", + "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -49221,6 +49353,7 @@ }, "node_modules/read-package-json/node_modules/hosted-git-info": { "version": "5.2.1", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^7.5.1" @@ -49231,6 +49364,7 @@ }, "node_modules/read-package-json/node_modules/minimatch": { "version": "5.1.1", + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" @@ -49241,6 +49375,7 @@ }, "node_modules/read-package-json/node_modules/normalize-package-data": { "version": "4.0.1", + "dev": true, "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^5.0.0", @@ -49254,6 +49389,7 @@ }, "node_modules/read-package-json/node_modules/npm-normalize-package-bin": { "version": "2.0.0", + "dev": true, "license": "ISC", "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" @@ -49261,6 +49397,7 @@ }, "node_modules/read-package-json/node_modules/semver": { "version": "7.3.8", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -49274,6 +49411,7 @@ }, "node_modules/read-package-json/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -49606,6 +49744,7 @@ }, "node_modules/readdir-scoped-modules": { "version": "1.1.0", + "dev": true, "license": "ISC", "dependencies": { "debuglog": "^1.0.1", @@ -52400,6 +52539,7 @@ }, "node_modules/smart-buffer": { "version": "4.2.0", + "dev": true, "license": "MIT", "engines": { "node": ">= 6.0.0", @@ -52623,6 +52763,7 @@ }, "node_modules/socks": { "version": "2.7.1", + "dev": true, "license": "MIT", "dependencies": { "ip": "^2.0.0", @@ -52635,6 +52776,7 @@ }, "node_modules/socks-proxy-agent": { "version": "7.0.0", + "dev": true, "license": "MIT", "dependencies": { "agent-base": "^6.0.2", @@ -52906,6 +53048,7 @@ }, "node_modules/ssri": { "version": "9.0.1", + "dev": true, "license": "ISC", "dependencies": { "minipass": "^3.1.1" @@ -55061,7 +55204,8 @@ }, "node_modules/text-table": { "version": "0.2.0", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/thenify": { "version": "3.3.1", @@ -55306,6 +55450,7 @@ }, "node_modules/treeverse": { "version": "2.0.0", + "dev": true, "license": "ISC", "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" @@ -56009,6 +56154,7 @@ }, "node_modules/unique-filename": { "version": "2.0.1", + "dev": true, "license": "ISC", "dependencies": { "unique-slug": "^3.0.0" @@ -56019,6 +56165,7 @@ }, "node_modules/unique-slug": { "version": "3.0.0", + "dev": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" @@ -56555,6 +56702,7 @@ }, "node_modules/validate-npm-package-name": { "version": "4.0.0", + "dev": true, "license": "ISC", "dependencies": { "builtins": "^5.0.0" @@ -56680,6 +56828,7 @@ }, "node_modules/walk-up-path": { "version": "1.0.0", + "dev": true, "license": "ISC" }, "node_modules/walker": { diff --git a/packages/bot-web-ui/package.json b/packages/bot-web-ui/package.json index 12bb24a4ea11..8b91d1622e71 100644 --- a/packages/bot-web-ui/package.json +++ b/packages/bot-web-ui/package.json @@ -76,7 +76,7 @@ "@deriv/api-types": "^1.0.172", "@deriv/bot-skeleton": "^1.0.0", "@deriv/components": "^1.0.0", - "@deriv/deriv-charts": "^2.1.15", + "@deriv/deriv-charts": "^2.1.17", "@deriv/shared": "^1.0.0", "@deriv/stores": "^1.0.0", "@deriv/translations": "^1.0.0", diff --git a/packages/core/package.json b/packages/core/package.json index 4480bb2721e4..827abaa9a6b3 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -109,7 +109,7 @@ "@deriv/cfd": "^1.0.0", "@deriv/components": "^1.0.0", "@deriv/deriv-api": "^1.0.15", - "@deriv/deriv-charts": "^2.1.15", + "@deriv/deriv-charts": "^2.1.17", "@deriv/hooks": "^1.0.0", "@deriv/p2p": "^0.7.3", "@deriv/p2p-v2": "^1.0.0", diff --git a/packages/trader/package.json b/packages/trader/package.json index 706162c02023..6a3f9cd30123 100644 --- a/packages/trader/package.json +++ b/packages/trader/package.json @@ -95,7 +95,7 @@ "@deriv/api-types": "^1.0.172", "@deriv/components": "^1.0.0", "@deriv/deriv-api": "^1.0.15", - "@deriv/deriv-charts": "^2.1.15", + "@deriv/deriv-charts": "^2.1.17", "@deriv/hooks": "^1.0.0", "@deriv/reports": "^1.0.0", "@deriv/shared": "^1.0.0", From 3604f17ab97b74a0315a7cf8a812e31a3f9bfd7e Mon Sep 17 00:00:00 2001 From: balakrishna-deriv <56330681+balakrishna-deriv@users.noreply.github.com> Date: Tue, 21 May 2024 14:09:04 +0800 Subject: [PATCH 73/95] fix: market closed (#15157) --- packages/trader/src/Stores/Modules/Trading/trade-store.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/trader/src/Stores/Modules/Trading/trade-store.ts b/packages/trader/src/Stores/Modules/Trading/trade-store.ts index dc793ea00544..68b2158ecb83 100644 --- a/packages/trader/src/Stores/Modules/Trading/trade-store.ts +++ b/packages/trader/src/Stores/Modules/Trading/trade-store.ts @@ -1692,7 +1692,7 @@ export default class TradeStore extends BaseStore { this.root_store.contract_trade.updateAccumulatorBarriersData(current_spot_data); } }; - if (this.is_market_closed) { + if (isMarketClosed(this.active_symbols, req.ticks_history)) { delete req.subscribe; WS.getTicksHistory(req).then(passthrough_callback, passthrough_callback); } else if (req.subscribe === 1) { From 98b38b4f5adc596ec0a841bbdfd2b1c5e9601a4b Mon Sep 17 00:00:00 2001 From: Akmal Djumakhodjaev Date: Tue, 21 May 2024 14:16:53 +0800 Subject: [PATCH 74/95] feat: add scroll --- packages/trader/src/AppV2/Components/BottomNav/bottom-nav.scss | 2 ++ packages/trader/src/AppV2/app.tsx | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.scss b/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.scss index 404f176c8c95..66da2c7ed0ce 100644 --- a/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.scss +++ b/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.scss @@ -1,4 +1,6 @@ .bottom-nav { + overflow: auto; + &-container { display: flex; padding: var(--core-spacing-400); diff --git a/packages/trader/src/AppV2/app.tsx b/packages/trader/src/AppV2/app.tsx index f09fe535e07c..7d32afa8a9c6 100644 --- a/packages/trader/src/AppV2/app.tsx +++ b/packages/trader/src/AppV2/app.tsx @@ -27,7 +27,7 @@ const App = ({ passthrough }: Apptypes) => { return ( - + From c3ecc88629991b2cb19dbfd591a5f332a0d92402 Mon Sep 17 00:00:00 2001 From: Shahzaib Date: Tue, 21 May 2024 15:46:52 +0800 Subject: [PATCH 75/95] [TRAH-3380] shahzaib / remove authorization and loader from options & multipliers] (#15013) * chore: removed platfrom loader from options & multiplier * chore: check for residence from account list * fix: platform description for trading card * chore: removed unused variables * chore: removed unused imports * chore: cfd section loading * chore: persist available trading platforms in localstorage --- .../containers/listing-container.tsx | 26 ++---- .../containers/trading-app-card.tsx | 19 ++--- .../options-multipliers-listing/index.tsx | 84 ++++++++----------- .../src/helpers/available-platforms-helper.ts | 4 + packages/appstore/src/helpers/index.ts | 1 + .../traders-hub/__tests__/index.spec.tsx | 4 +- .../src/modules/traders-hub/index.tsx | 29 ++++--- packages/core/src/Stores/traders-hub-store.js | 42 +++++++++- 8 files changed, 111 insertions(+), 98 deletions(-) create mode 100644 packages/appstore/src/helpers/available-platforms-helper.ts diff --git a/packages/appstore/src/components/containers/listing-container.tsx b/packages/appstore/src/components/containers/listing-container.tsx index 4e3c77752aab..51f07e7a85b8 100644 --- a/packages/appstore/src/components/containers/listing-container.tsx +++ b/packages/appstore/src/components/containers/listing-container.tsx @@ -1,9 +1,7 @@ import React, { HTMLAttributes, ReactNode } from 'react'; import classNames from 'classnames'; -import { observer, useStore } from '@deriv/stores'; import CurrencySwitcherCard from 'Components/currency-switcher-card'; import GridContainer from 'Components/containers/grid-container'; -import TitleCardLoader from 'Components/pre-loader/title-card-loader'; import './listing-container.scss'; type TListingContainerProps = { @@ -16,22 +14,16 @@ type TListingContainerProps = { type TOptionsProps = Pick; type TSwitcherProps = Pick; -const Options = observer(({ title, description, is_deriv_platform }: TOptionsProps) => { - const { - client: { is_landing_company_loaded }, - } = useStore(); - - if (is_landing_company_loaded || !is_deriv_platform) { - return ( -
    - {title} - {description} -
    - ); - } +const Options = ({ title, description, is_deriv_platform }: TOptionsProps) => { + if (!is_deriv_platform) return null; - return ; -}); + return ( +
    + {title} + {description} +
    + ); +}; const Switcher = ({ is_deriv_platform }: TSwitcherProps) => { if (!is_deriv_platform) return null; diff --git a/packages/appstore/src/components/containers/trading-app-card.tsx b/packages/appstore/src/components/containers/trading-app-card.tsx index c465e348bb4a..a8fc0eba04c8 100644 --- a/packages/appstore/src/components/containers/trading-app-card.tsx +++ b/packages/appstore/src/components/containers/trading-app-card.tsx @@ -14,15 +14,9 @@ import { import TradingAppCardActions, { Actions } from './trading-app-card-actions'; import { AvailableAccount, TDetailsOfEachMT5Loginid } from 'Types'; import { observer, useStore } from '@deriv/stores'; -import { - CFD_PLATFORMS, - ContentFlag, - getStaticUrl, - getUrlSmartTrader, - getUrlBinaryBot, - MT5_ACCOUNT_STATUS, -} from '@deriv/shared'; +import { CFD_PLATFORMS, getStaticUrl, getUrlSmartTrader, getUrlBinaryBot, MT5_ACCOUNT_STATUS } from '@deriv/shared'; import OpenPositionsSVGModal from '../modals/open-positions-svg-modal'; +import { getAvailablePlatforms } from '../../helpers'; import './trading-app-card.scss'; const TradingAppCard = ({ @@ -52,18 +46,17 @@ const TradingAppCard = ({ client, } = useStore(); const { setIsVerificationModalVisible } = ui; - const { is_eu_user, is_demo_low_risk, content_flag, is_real, selected_account_type } = traders_hub; + const { is_eu_user, is_real, selected_account_type } = traders_hub; const { current_language } = common; const { is_account_being_created } = cfd; const { account_status: { authentication } = {} } = client; const [is_open_position_svg_modal_open, setIsOpenPositionSvgModalOpen] = React.useState(false); - const demo_label = localize('Demo'); + const available_platforms = getAvailablePlatforms(); - const low_risk_cr_non_eu = content_flag === ContentFlag.LOW_RISK_CR_NON_EU; + const demo_label = localize('Demo'); - const app_platform = - !is_eu_user || low_risk_cr_non_eu || is_demo_low_risk ? getAppstorePlatforms() : getMFAppstorePlatforms(); + const app_platform = available_platforms.includes('options') ? getAppstorePlatforms() : getMFAppstorePlatforms(); const { app_desc, link_to, is_external, new_tab } = app_platform.find(config => config.name === name) || { app_desc: description, diff --git a/packages/appstore/src/components/options-multipliers-listing/index.tsx b/packages/appstore/src/components/options-multipliers-listing/index.tsx index 7565255d255e..fb197ac8ac99 100644 --- a/packages/appstore/src/components/options-multipliers-listing/index.tsx +++ b/packages/appstore/src/components/options-multipliers-listing/index.tsx @@ -1,49 +1,35 @@ import React, { useEffect } from 'react'; import { observer } from 'mobx-react-lite'; import { Text, StaticUrl } from '@deriv/components'; -import { ContentFlag, setPerformanceValue } from '@deriv/shared'; +import { setPerformanceValue } from '@deriv/shared'; import { useStore } from '@deriv/stores'; import { Localize, localize } from '@deriv/translations'; import ListingContainer from 'Components/containers/listing-container'; -import PlatformLoader from 'Components/pre-loader/platform-loader'; import TradingAppCard from 'Components/containers/trading-app-card'; import { BrandConfig } from 'Constants/platform-config'; import { getHasDivider } from 'Constants/utils'; import { Analytics } from '@deriv-com/analytics'; +import { getAvailablePlatforms } from '../../helpers'; const OptionsAndMultipliersListing = observer(() => { const { traders_hub, client, ui } = useStore(); - const { - available_platforms, - is_eu_user, - is_real, - no_MF_account, - no_CR_account, - is_demo, - content_flag, - selected_account_type, - } = traders_hub; - const { is_landing_company_loaded, is_eu, has_maltainvest_account, real_account_creation_unlock_date } = client; + const { available_platforms, is_eu_user, is_real, no_MF_account, no_CR_account, is_demo, selected_account_type } = + traders_hub; + const { has_maltainvest_account, real_account_creation_unlock_date, is_landing_company_loaded } = client; const { setShouldShowCooldownModal, openRealAccountSignup, is_mobile } = ui; - const low_risk_cr_non_eu = content_flag === ContentFlag.LOW_RISK_CR_NON_EU; - - const low_risk_cr_eu = content_flag === ContentFlag.LOW_RISK_CR_EU; - - const high_risk_cr = content_flag === ContentFlag.HIGH_RISK_CR; - - const cr_demo = content_flag === ContentFlag.CR_DEMO; + const platforms = getAvailablePlatforms(); const OptionsTitle = () => { if (is_mobile) return null; - if (low_risk_cr_non_eu || high_risk_cr || cr_demo) { + if (platforms.includes('options')) { return ( ); - } else if (low_risk_cr_eu || is_eu) { + } else if (!platforms.includes('options')) { return ( @@ -63,7 +49,7 @@ const OptionsAndMultipliersListing = observer(() => { } description={ - low_risk_cr_non_eu || high_risk_cr || cr_demo ? ( + platforms.includes('options') && platforms.includes('multipliers') ? ( {
    )} - {is_landing_company_loaded ? ( - available_platforms.map((available_platform: BrandConfig, index: number) => ( - { - Analytics.trackEvent('ce_tradershub_dashboard_form', { - action: 'account_open', - form_name: 'traders_hub_default', - account_mode: selected_account_type, - account_name: is_demo - ? `${available_platform.name} ${localize('Demo')}` - : available_platform.name, - }); - }} - has_divider={(!is_eu_user || is_demo) && getHasDivider(index, available_platforms.length, 3)} - /> - )) - ) : ( - - )} + {available_platforms?.map((available_platform: BrandConfig, index: number) => ( + { + Analytics.trackEvent('ce_tradershub_dashboard_form', { + action: 'account_open', + form_name: 'traders_hub_default', + account_mode: selected_account_type, + account_name: is_demo + ? `${available_platform.name} ${localize('Demo')}` + : available_platform.name, + }); + }} + has_divider={(!is_eu_user || is_demo) && getHasDivider(index, available_platforms.length, 3)} + /> + ))} ); }); diff --git a/packages/appstore/src/helpers/available-platforms-helper.ts b/packages/appstore/src/helpers/available-platforms-helper.ts new file mode 100644 index 000000000000..44325ead972e --- /dev/null +++ b/packages/appstore/src/helpers/available-platforms-helper.ts @@ -0,0 +1,4 @@ +export const getAvailablePlatforms = (): Array<'options' | 'multipliers' | 'cfds'> => { + const platforms = localStorage.getItem('th_platforms'); + return platforms ? JSON.parse(platforms) : []; +}; diff --git a/packages/appstore/src/helpers/index.ts b/packages/appstore/src/helpers/index.ts index afd9ee6328ca..ddae119a08a8 100644 --- a/packages/appstore/src/helpers/index.ts +++ b/packages/appstore/src/helpers/index.ts @@ -1,2 +1,3 @@ export * from './account-helper'; export * from './total-assets-helper'; +export * from './available-platforms-helper'; diff --git a/packages/appstore/src/modules/traders-hub/__tests__/index.spec.tsx b/packages/appstore/src/modules/traders-hub/__tests__/index.spec.tsx index 105a7c9e647f..639d1340cf48 100644 --- a/packages/appstore/src/modules/traders-hub/__tests__/index.spec.tsx +++ b/packages/appstore/src/modules/traders-hub/__tests__/index.spec.tsx @@ -33,8 +33,8 @@ describe('TradersHub', () => { expect(dashboard_sections?.textContent?.match(/CFDs/)).not.toBeNull(); }); - it('should display Multipliers section if there is no MT5 accounts availble for country of residence', () => { - render_container({ client: { is_logged_in: true, is_mt5_allowed: false } }); + it('should display Multipliers section if there is no MT5 accounts available for country of residence', () => { + render_container({ client: { is_logged_in: true, is_mt5_allowed: false, is_landing_company_loaded: true } }); const dashboard_sections = screen.getByTestId('dt_traders_hub'); expect(dashboard_sections?.textContent?.match(/Multipliers/)).not.toBeNull(); expect(dashboard_sections?.textContent?.match(/CFDs/)).toBeNull(); diff --git a/packages/appstore/src/modules/traders-hub/index.tsx b/packages/appstore/src/modules/traders-hub/index.tsx index 5b8a804330af..4faa0c960a35 100644 --- a/packages/appstore/src/modules/traders-hub/index.tsx +++ b/packages/appstore/src/modules/traders-hub/index.tsx @@ -117,11 +117,9 @@ const TradersHub = observer(() => { ); }; - const getOrderedPlatformSections = (isDesktop = false) => { + const getOrderedPlatformSections = () => { if (is_mt5_allowed) { - return isDesktop ? ( - - ) : ( + return ( { ref={traders_hub_ref} > - {getOrderedPlatformSections(true)} + + {!is_landing_company_loaded ? ( + + ) : ( + + )} + - {is_mt5_allowed && - (is_landing_company_loaded ? ( + {is_landing_company_loaded ? ( + is_mt5_allowed && ( - ) : ( - - ))} - {!is_mt5_allowed && ( + ) + ) : ( + + )} + {is_landing_company_loaded && !is_mt5_allowed && (
    diff --git a/packages/core/src/Stores/traders-hub-store.js b/packages/core/src/Stores/traders-hub-store.js index 13f57968e645..595fa3981ef6 100644 --- a/packages/core/src/Stores/traders-hub-store.js +++ b/packages/core/src/Stores/traders-hub-store.js @@ -1,6 +1,13 @@ import { action, computed, makeObservable, observable, reaction } from 'mobx'; -import { CFD_PLATFORMS, ContentFlag, formatMoney, getAppstorePlatforms, getCFDAvailableAccount } from '@deriv/shared'; +import { + CFD_PLATFORMS, + ContentFlag, + LocalStore, + formatMoney, + getAppstorePlatforms, + getCFDAvailableAccount, +} from '@deriv/shared'; import { localize } from '@deriv/translations'; import BaseStore from './base-store'; import { isEuCountry } from '_common/utility'; @@ -129,6 +136,20 @@ export default class TradersHubStore extends BaseStore { () => { this.getAvailablePlatforms(); this.getAvailableCFDAccounts(); + + // Set the platforms for the trading app cards based on the content flag and the client's residence status (EU/Non-EU) + const low_risk_cr_non_eu = this.content_flag === ContentFlag.LOW_RISK_CR_NON_EU; + const high_risk_cr = this.content_flag === ContentFlag.HIGH_RISK_CR; + const cr_demo = this.content_flag === ContentFlag.CR_DEMO; + const platforms = this.root_store.client.is_mt5_allowed ? ['multipliers', 'cfds'] : ['multipliers']; + + if ( + this.root_store.client.is_landing_company_loaded && + (low_risk_cr_non_eu || high_risk_cr || cr_demo) + ) { + platforms.push('options'); + } + localStorage.setItem('th_platforms', JSON.stringify(platforms)); } ); @@ -153,6 +174,8 @@ export default class TradersHubStore extends BaseStore { const active_real_mf = /^MF|MFW/.test(this.root_store.client.loginid); const default_region = () => { if (((active_demo || active_real_mf) && isEuCountry(residence)) || active_real_mf) { + // store the user's region in localStorage to remember the user's region selection on page refresh + localStorage.setItem('is_eu_user', true); return 'EU'; } return 'Non-EU'; @@ -240,6 +263,9 @@ export default class TradersHubStore extends BaseStore { this.selected_account_type = 'real'; this.selected_region = 'Non-EU'; + + // remove the user's region selection from localStorage to reset the user's region selection + localStorage.removeItem('is_eu_user'); } selectAccountTypeCard(account_type_card) { @@ -315,7 +341,16 @@ export default class TradersHubStore extends BaseStore { getAvailablePlatforms() { const appstore_platforms = getAppstorePlatforms(); - if ((this.financial_restricted_countries || this.is_eu_user) && !this.is_demo_low_risk) { + + const accounts = JSON.parse(LocalStore.get('client.accounts')); + const loginid = LocalStore.get('active_loginid'); + + if (!accounts || !loginid) return (this.available_platforms = appstore_platforms); + + if ( + isEuCountry(accounts[loginid]?.residence ?? '') || + ((this.financial_restricted_countries || this.is_eu_user) && !this.is_demo_low_risk) + ) { this.available_platforms = appstore_platforms.filter(platform => ['EU', 'All'].some(region => region === platform.availability) ); @@ -546,7 +581,8 @@ export default class TradersHubStore extends BaseStore { return this.selected_account_type === 'real'; } get is_eu_user() { - return this.selected_region === 'EU'; + // directly return the user's region selection from localStorage or the selected region from the store + return localStorage.getItem('is_eu_user') === 'true' || this.selected_region === 'EU'; } handleTabItemClick(idx) { From 7e490624e061d518dd690d10579ca9cc534ccbc2 Mon Sep 17 00:00:00 2001 From: thisyahlen <104053934+thisyahlen-deriv@users.noreply.github.com> Date: Tue, 21 May 2024 15:50:00 +0800 Subject: [PATCH 76/95] [TRAH-3250] thisyahlen / shahzaib - remove disclaimers from real account creation (#14836) * chore: remove disclaimers from real account creation * fix: tests * chore: remove inline message disclaimer * chore: update test * chore: update content * chore: change width for mobile * chore: change width * chore: add personal details message * fix: poi test case * chore: update address details heading * chore: removed unused imports --------- Co-authored-by: Shahzaib --- .../__tests__/address-details.spec.tsx | 8 +- .../address-details/address-details.tsx | 27 +---- .../__tests__/currency-selector.spec.tsx | 18 ++- .../currency-selector/currency-selector.tsx | 21 +--- .../currency-selector/radio-button-group.tsx | 4 +- .../personal-details/personal-details.jsx | 30 +---- ...nfirm-with-example-form-container.spec.tsx | 4 - ...ning-close-create-real-account-content.jsx | 107 ++++++++++-------- ...rning-close-create-real-account-modal.scss | 2 +- packages/core/src/sass/details-form.scss | 3 + 10 files changed, 78 insertions(+), 146 deletions(-) diff --git a/packages/account/src/Components/address-details/__tests__/address-details.spec.tsx b/packages/account/src/Components/address-details/__tests__/address-details.spec.tsx index bc6f5b8ee75c..c047ed588b30 100644 --- a/packages/account/src/Components/address-details/__tests__/address-details.spec.tsx +++ b/packages/account/src/Components/address-details/__tests__/address-details.spec.tsx @@ -52,9 +52,6 @@ describe('', () => { const address_state = 'State/Province'; const address_town = 'Town/City'; const address_town_marked = 'Town/City*'; - const use_address_info = /only use an address for which you have proof of residence/i; - const verification_info = - 'We need this for verification. If the information you provide is fake or inaccurate, you won’t be able to deposit and withdraw.'; let modal_root_el: HTMLDivElement; const mock_props: React.ComponentProps = { @@ -87,7 +84,6 @@ describe('', () => { expect(screen.getByLabelText(address_postcode)).toBeInTheDocument(); expect(screen.getByLabelText(address_state)).toBeInTheDocument(); expect(screen.getByLabelText(address_town_marked)).toBeInTheDocument(); - expect(screen.getByText(use_address_info)).toBeInTheDocument(); expect(screen.queryByLabelText(address_line_1)).not.toBeInTheDocument(); expect(screen.queryByLabelText(address_line_2_marked)).not.toBeInTheDocument(); @@ -133,7 +129,8 @@ describe('', () => { await waitFor(() => { svgCommonRenderCheck(); }); - expect(screen.queryByText(verification_info)).not.toBeInTheDocument(); + + expect(screen.getByText('Complete your address details')).toBeInTheDocument(); const inputs: HTMLTextAreaElement[] = screen.getAllByRole('textbox'); expect(inputs).toHaveLength(5); @@ -157,7 +154,6 @@ describe('', () => { await waitFor(() => { svgCommonRenderCheck(); }); - expect(screen.queryByText(verification_info)).not.toBeInTheDocument(); const inputs: HTMLTextAreaElement[] = screen.getAllByRole('textbox'); expect(inputs).toHaveLength(5); diff --git a/packages/account/src/Components/address-details/address-details.tsx b/packages/account/src/Components/address-details/address-details.tsx index 2f5dcbc550f5..151a56a4b3a3 100644 --- a/packages/account/src/Components/address-details/address-details.tsx +++ b/packages/account/src/Components/address-details/address-details.tsx @@ -18,7 +18,6 @@ import { import { useStatesList } from '@deriv/hooks'; import { observer, useStore } from '@deriv/stores'; import { localize, Localize } from '@deriv/translations'; -import InlineNoteWithIcon from '../inline-note-with-icon'; import { FormInputField } from '../forms/form-fields'; import ScrollToFieldWithError from '../forms/scroll-to-field-with-error'; import { splitValidationResultTypes } from '../real-account-signup/helpers/utils'; @@ -142,31 +141,11 @@ const AddressDetails = observer( is_disabled={is_desktop} > - {is_eu_user ? ( -
    - - } - title={localize('Why do we collect this?')} - /> -
    - ) : ( - - - - - + {is_mobile && ( + + )} -
    ', () => { set_currency: false, }; - const msg = 'Please note that you can only have 1 fiat account.'; - - const runCommonTests = (msg: string) => { - expect(screen.getByRole('heading', { name: /fiat currencies/i })).toBeInTheDocument(); + const runCommonTests = () => { expect(screen.getByRole('radio', { name: /us dollar \(usd\)/i })).toBeInTheDocument(); expect(screen.getByRole('radio', { name: /euro \(eur\)/i })).toBeInTheDocument(); @@ -49,7 +46,6 @@ describe('', () => { fireEvent.click(usd); expect(usd.checked).toEqual(true); - expect(screen.getByText(msg)).toBeInTheDocument(); expect(screen.getByRole('button', { name: /next/i })).toBeEnabled(); }; const store = mockStore({ @@ -240,7 +236,7 @@ describe('', () => { it('should render Fiat currencies and submit the form', async () => { renderComponent({}); - runCommonTests(msg); + runCommonTests(); fireEvent.click(screen.getByRole('button', { name: /next/i })); await waitFor(() => { expect(mock_props.onSubmit).toHaveBeenCalled(); @@ -300,7 +296,7 @@ describe('', () => { }, }; renderComponent({ store_config: new_store }); - runCommonTests(msg); + runCommonTests(); }); it('should render Fiat currencies when is_dxtrade_allowed,is_eu and is_mt5_allowed are true', () => { @@ -316,7 +312,7 @@ describe('', () => { }, }; renderComponent({ store_config: new_store }); - runCommonTests(msg); + runCommonTests(); }); it('should render Fiat currencies when is_mt5_allowed and is_eu are true', () => { @@ -331,7 +327,7 @@ describe('', () => { }, }; renderComponent({ store_config: new_store }); - runCommonTests(msg); + runCommonTests(); }); it('should render Fiat currencies when is_mt5_allowed is true', () => { @@ -343,7 +339,7 @@ describe('', () => { }, }; renderComponent({ store_config: new_store }); - runCommonTests(msg); + runCommonTests(); }); it('should render Cryptocurrencies and submit the form ', async () => { @@ -382,7 +378,7 @@ describe('', () => { it('should submit the form when getCurrentStep is not passed ', async () => { renderComponent({}); - runCommonTests(msg); + runCommonTests(); fireEvent.click(screen.getByRole('button', { name: /next/i })); await waitFor(() => { expect(mock_props.onSubmit).toHaveBeenCalled(); diff --git a/packages/account/src/Components/currency-selector/currency-selector.tsx b/packages/account/src/Components/currency-selector/currency-selector.tsx index 9256a224e2c7..7421f7fb00b4 100644 --- a/packages/account/src/Components/currency-selector/currency-selector.tsx +++ b/packages/account/src/Components/currency-selector/currency-selector.tsx @@ -2,17 +2,10 @@ import React from 'react'; import classNames from 'classnames'; import { Field, Formik, FormikHandlers, FormikState } from 'formik'; import { WebsiteStatus } from '@deriv/api-types'; -import { - AutoHeightWrapper, - FormSubmitButton, - Div100vhContainer, - Modal, - ThemedScrollbars, - Icon, -} from '@deriv/components'; +import { AutoHeightWrapper, FormSubmitButton, Div100vhContainer, Modal, ThemedScrollbars } from '@deriv/components'; import { reorderCurrencies, getAddressDetailsFields, CURRENCY_TYPE } from '@deriv/shared'; import { observer, useStore } from '@deriv/stores'; -import { localize, Localize } from '@deriv/translations'; +import { localize } from '@deriv/translations'; import RadioButton from './radio-button'; import RadioButtonGroup from './radio-button-group'; import { splitValidationResultTypes } from '../real-account-signup/helpers/utils'; @@ -164,13 +157,6 @@ const CurrencySelector = observer( return localize('Next'); }; - const description = ( -
    - - -
    - ); - return ( {reorderCurrencies(fiat as keyof typeof reorderCurrencies).map( avbl_currency => ( @@ -241,7 +225,6 @@ const CurrencySelector = observer( 'crypto' ).length } - description={description} > {reorderCurrencies( crypto as keyof typeof reorderCurrencies, diff --git a/packages/account/src/Components/currency-selector/radio-button-group.tsx b/packages/account/src/Components/currency-selector/radio-button-group.tsx index f51563f7306c..0608ff612260 100644 --- a/packages/account/src/Components/currency-selector/radio-button-group.tsx +++ b/packages/account/src/Components/currency-selector/radio-button-group.tsx @@ -6,8 +6,8 @@ export type TRadioButtonGroup = { is_fiat?: boolean; is_title_enabled?: boolean; item_count: number; - label: string; - description: React.ReactNode; + label?: string; + description?: React.ReactNode; }; /** diff --git a/packages/account/src/Components/personal-details/personal-details.jsx b/packages/account/src/Components/personal-details/personal-details.jsx index f7f1c0418b09..be4d03b6a268 100644 --- a/packages/account/src/Components/personal-details/personal-details.jsx +++ b/packages/account/src/Components/personal-details/personal-details.jsx @@ -2,14 +2,7 @@ import React from 'react'; import classNames from 'classnames'; import { Form, Formik } from 'formik'; import { Analytics } from '@deriv-com/analytics'; -import { - AutoHeightWrapper, - Div100vhContainer, - FormSubmitButton, - Modal, - Text, - ThemedScrollbars, -} from '@deriv/components'; +import { AutoHeightWrapper, Div100vhContainer, FormSubmitButton, Modal, ThemedScrollbars } from '@deriv/components'; import { getIDVNotApplicableOption, isDesktop, isMobile, removeEmptyPropertiesFromObject } from '@deriv/shared'; import { Localize, localize } from '@deriv/translations'; import { useStore, observer } from '@deriv/stores'; @@ -23,7 +16,6 @@ import PoiNameDobExample from '../../Assets/ic-poi-name-dob-example.svg'; import FormSubHeader from '../form-sub-header'; import IDVForm from '../forms/idv-form'; import PersonalDetailsForm from '../forms/personal-details-form'; -import InlineNoteWithIcon from '../inline-note-with-icon'; import { splitValidationResultTypes } from '../real-account-signup/helpers/utils'; import ScrollToFieldWithError from '../forms/scroll-to-field-with-error'; @@ -190,26 +182,6 @@ const PersonalDetails = observer( height_offset='100px' is_disabled={isDesktop()} > - {is_eu_user && ( -
    - - } - title={localize('Why do we collect this?')} - /> -
    - )} - {!is_eu_user && !is_rendered_for_idv && ( - - - - )} ', () => { onFormConfirm: jest.fn(), }; const clarification_message = /To avoid delays, enter your/; - const checkbox_label = - 'I confirm that the name and date of birth above match my chosen identity document (see below)'; - it('should render PersonalDetailsForm with image and checkbox', async () => { render(); expect(await screen.findByText('PoiNameDobExampleImage')).toBeInTheDocument(); expect(screen.getByText(clarification_message)).toBeInTheDocument(); - expect(screen.getByText(checkbox_label)).toBeInTheDocument(); const checkbox_el: HTMLInputElement = screen.getByRole('checkbox'); expect(checkbox_el.checked).toBeFalsy(); diff --git a/packages/core/src/App/Containers/WarningCloseCreateRealAccountModal/warning-close-create-real-account-content.jsx b/packages/core/src/App/Containers/WarningCloseCreateRealAccountModal/warning-close-create-real-account-content.jsx index 365ffadf7b4b..1eb55ade91e6 100644 --- a/packages/core/src/App/Containers/WarningCloseCreateRealAccountModal/warning-close-create-real-account-content.jsx +++ b/packages/core/src/App/Containers/WarningCloseCreateRealAccountModal/warning-close-create-real-account-content.jsx @@ -3,63 +3,70 @@ import { localize } from '@deriv/translations'; import { Modal, FormSubmitButton, Text } from '@deriv/components'; import { routes, isNavigationFromExternalPlatform } from '@deriv/shared'; import { Analytics } from '@deriv-com/analytics'; +import { useStore, observer } from '@deriv/stores'; -const WarningMessageModal = ({ - is_closing_create_real_account_modal, - setIsClosingCreateRealAccountModal, - closeRealAccountSignup, - routing_history, - real_account_signup_target, -}) => { - const closeModal = () => { - real_account_signup_target !== 'maltainvest' && - Analytics.trackEvent('ce_real_account_signup_form', { - action: 'close', - form_source: document.referrer, - form_name: 'real_account_signup_form', - }); +const WarningMessageModal = observer( + ({ + is_closing_create_real_account_modal, + setIsClosingCreateRealAccountModal, + closeRealAccountSignup, + routing_history, + real_account_signup_target, + }) => { + const { traders_hub } = useStore(); + const { selectAccountType } = traders_hub; + const closeModal = async () => { + real_account_signup_target !== 'maltainvest' && + Analytics.trackEvent('ce_real_account_signup_form', { + action: 'close', + form_source: document.referrer, + form_name: 'real_account_signup_form', + }); - setIsClosingCreateRealAccountModal(false); + await selectAccountType('demo'); - closeRealAccountSignup(); + setIsClosingCreateRealAccountModal(false); - if (isNavigationFromExternalPlatform(routing_history, routes.smarttrader)) { - window.location = routes.smarttrader; - } + closeRealAccountSignup(); - if (isNavigationFromExternalPlatform(routing_history, routes.binarybot)) { - window.location = routes.binarybot; - } - }; + if (isNavigationFromExternalPlatform(routing_history, routes.smarttrader)) { + window.location = routes.smarttrader; + } - return ( - -
    - - {localize('Stop creating an account?')} - -
    - - {localize('If you hit Yes, the info you entered will be lost.')} + if (isNavigationFromExternalPlatform(routing_history, routes.binarybot)) { + window.location = routes.binarybot; + } + }; + + return ( + +
    + + {localize('Take me to Demo account')} +
    + + {localize('I will setup my real account later.')} + +
    + setIsClosingCreateRealAccountModal(false)} + onCancel={closeModal} + />
    - setIsClosingCreateRealAccountModal(false)} - onCancel={closeModal} - /> -
    - - ); -}; + + ); + } +); export default WarningMessageModal; diff --git a/packages/core/src/App/Containers/WarningCloseCreateRealAccountModal/warning-close-create-real-account-modal.scss b/packages/core/src/App/Containers/WarningCloseCreateRealAccountModal/warning-close-create-real-account-modal.scss index 26b9baf55fd9..a69a2a91111e 100644 --- a/packages/core/src/App/Containers/WarningCloseCreateRealAccountModal/warning-close-create-real-account-modal.scss +++ b/packages/core/src/App/Containers/WarningCloseCreateRealAccountModal/warning-close-create-real-account-modal.scss @@ -5,7 +5,7 @@ padding: 2.4rem; width: 44rem; @include mobile { - width: unset; + max-width: 35rem; } .dc-form-submit-button { diff --git a/packages/core/src/sass/details-form.scss b/packages/core/src/sass/details-form.scss index f582f529c8bf..77616889b902 100644 --- a/packages/core/src/sass/details-form.scss +++ b/packages/core/src/sass/details-form.scss @@ -156,6 +156,9 @@ .dc-page-error__container { height: 100%; } + &__heading { + margin: 1.6rem; + } &__description { margin: 1.6rem auto; width: 45%; From 48ba2f100d23a9e8e6680402da4b72ecb88d5f29 Mon Sep 17 00:00:00 2001 From: mitra-deriv <64970259+mitra-deriv@users.noreply.github.com> Date: Tue, 21 May 2024 15:51:29 +0800 Subject: [PATCH 77/95] [TRAH]/MITRA/TRAH-3395/ Update descriptions on Wallets (#15121) * feat: :speech_balloon: update descriptions * build: :building_construction: trigger build * fix: :bug: change the option description * chore: :building_construction: trigger build * fix: :bug: add i18n for translation * chore: :building_construction: trigger build * chore: :building_construction: trigger build * chore: :building_construction: trigger build --- .../DerivAppsSection/DerivAppsGetAccount.tsx | 4 +--- packages/wallets/src/constants/constants.tsx | 10 +++++----- packages/wallets/src/features/cfd/CFDPlatformsList.tsx | 4 ++-- packages/wallets/src/features/cfd/constants.tsx | 8 +++----- .../AvailableCTraderAccountsList.tsx | 2 +- .../AvailableDxtradeAccountsList.tsx | 2 +- 6 files changed, 13 insertions(+), 17 deletions(-) diff --git a/packages/wallets/src/components/DerivAppsSection/DerivAppsGetAccount.tsx b/packages/wallets/src/components/DerivAppsSection/DerivAppsGetAccount.tsx index 6954bc1c6459..7f9eb4e99fa7 100644 --- a/packages/wallets/src/components/DerivAppsSection/DerivAppsGetAccount.tsx +++ b/packages/wallets/src/components/DerivAppsSection/DerivAppsGetAccount.tsx @@ -82,9 +82,7 @@ const DerivAppsGetAccount: React.FC = () => { Options - - Trade options on multiple platforms with a single account. - + One options account for all platforms.
    Get diff --git a/packages/wallets/src/constants/constants.tsx b/packages/wallets/src/constants/constants.tsx index 503817235bb6..022299c17f20 100644 --- a/packages/wallets/src/constants/constants.tsx +++ b/packages/wallets/src/constants/constants.tsx @@ -11,21 +11,21 @@ import i18n from '../translations/i18n'; export const optionsAndMultipliersContent = [ { - description: i18n.t('Options and multipliers trading platform.'), + description: i18n.t('The options and multipliers trading platform.'), icon: , redirect: '/', smallIcon: , title: i18n.t('Deriv Trader'), }, { - description: i18n.t('Automate your trading, no coding needed.'), + description: i18n.t('The ultimate bot trading platform.'), icon: , redirect: '/bot', smallIcon: , title: i18n.t('Deriv Bot'), }, { - description: i18n.t('Our legacy options trading platform.'), + description: i18n.t('The legacy options trading platform.'), icon: , isExternal: true, redirect: getUrlSmartTrader(), @@ -33,7 +33,7 @@ export const optionsAndMultipliersContent = [ title: i18n.t('SmartTrader'), }, { - description: i18n.t('Our legacy automated trading platform.'), + description: i18n.t('The legacy bot trading platform.'), icon: , isExternal: true, redirect: getUrlBinaryBot(), @@ -41,7 +41,7 @@ export const optionsAndMultipliersContent = [ title: i18n.t('Binary Bot'), }, { - description: i18n.t('Trade on the go with our mobile app.'), + description: i18n.t('The mobile trading app for multipliers.'), icon: , isExternal: true, redirect: getStaticUrl('/deriv-go'), diff --git a/packages/wallets/src/features/cfd/CFDPlatformsList.tsx b/packages/wallets/src/features/cfd/CFDPlatformsList.tsx index 6409957c9c9b..50a2d657c9f2 100644 --- a/packages/wallets/src/features/cfd/CFDPlatformsList.tsx +++ b/packages/wallets/src/features/cfd/CFDPlatformsList.tsx @@ -30,7 +30,7 @@ const CFDPlatformsList: React.FC = () => { target='_blank' />, ]} - defaults='Trade bigger positions with less capital. <0>Learn more' + defaults='Trade bigger positions with less capital across diverse financial and derived instruments. <0>Learn more' /> { ]} - defaults='Trade bigger positions with less capital. <0>Learn more' + defaults='Trade bigger positions with less capital across diverse financial and derived instruments. <0>Learn more' />
    diff --git a/packages/wallets/src/features/cfd/constants.tsx b/packages/wallets/src/features/cfd/constants.tsx index 5d7d779d9c5f..65a695451716 100644 --- a/packages/wallets/src/features/cfd/constants.tsx +++ b/packages/wallets/src/features/cfd/constants.tsx @@ -17,19 +17,17 @@ import { TPlatforms } from '../../types'; export const MarketTypeDetails = { all: { - description: i18n.t( - 'Trade swap-free CFDs on MT5 with synthetics, forex, stocks, stock indices, cryptocurrencies and ETFs' - ), + description: i18n.t('Swap-free CFDs on selected financial and derived instruments.'), icon: , title: i18n.t('Swap-Free'), }, financial: { - description: 'This account offers CFDs on financial instruments.', + description: i18n.t('CFDs on financial instruments.'), icon: , title: i18n.t('Financial'), }, synthetic: { - description: i18n.t('This account offers CFDs on derived instruments.'), + description: i18n.t('CFDs on derived instruments.'), icon: , title: i18n.t('Derived'), }, diff --git a/packages/wallets/src/features/cfd/flows/CTrader/AvailableCTraderAccountsList/AvailableCTraderAccountsList.tsx b/packages/wallets/src/features/cfd/flows/CTrader/AvailableCTraderAccountsList/AvailableCTraderAccountsList.tsx index c105a2dc0914..bb03540aafd0 100644 --- a/packages/wallets/src/features/cfd/flows/CTrader/AvailableCTraderAccountsList/AvailableCTraderAccountsList.tsx +++ b/packages/wallets/src/features/cfd/flows/CTrader/AvailableCTraderAccountsList/AvailableCTraderAccountsList.tsx @@ -63,7 +63,7 @@ const AvailableCTraderAccountsList: React.FC = () => { >
    {PlatformDetails.ctrader.title} - {t('This account offers CFDs on a feature-rich trading platform.')} + {t('CFDs on financial and derived instruments with copy trading.')}
    ); diff --git a/packages/wallets/src/features/cfd/flows/OtherCFDs/Dxtrade/AvailableDxtradeAccountsList/AvailableDxtradeAccountsList.tsx b/packages/wallets/src/features/cfd/flows/OtherCFDs/Dxtrade/AvailableDxtradeAccountsList/AvailableDxtradeAccountsList.tsx index 5612165857c5..f6fec1c3ea7c 100644 --- a/packages/wallets/src/features/cfd/flows/OtherCFDs/Dxtrade/AvailableDxtradeAccountsList/AvailableDxtradeAccountsList.tsx +++ b/packages/wallets/src/features/cfd/flows/OtherCFDs/Dxtrade/AvailableDxtradeAccountsList/AvailableDxtradeAccountsList.tsx @@ -27,7 +27,7 @@ const AvailableDxtradeAccountsList: React.FC = () => { {t('Deriv X')}

    - {t('This account offers CFDs on a highly customisable CFD trading platform.')} + {t('CFDs on financial and derived instruments via a customisable platform.')}
    From bfdadf6bf32f7c60a7838ae3d800c8f4ee0c0a2e Mon Sep 17 00:00:00 2001 From: mitra-deriv <64970259+mitra-deriv@users.noreply.github.com> Date: Tue, 21 May 2024 15:53:08 +0800 Subject: [PATCH 78/95] fix: :bug: change options & mulitpliers to options (#15244) --- packages/appstore/src/modules/traders-hub/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/appstore/src/modules/traders-hub/index.tsx b/packages/appstore/src/modules/traders-hub/index.tsx index 4faa0c960a35..719bb0b76243 100644 --- a/packages/appstore/src/modules/traders-hub/index.tsx +++ b/packages/appstore/src/modules/traders-hub/index.tsx @@ -87,7 +87,7 @@ const TradersHub = observer(() => { const eu_title = content_flag === ContentFlag.EU_DEMO || content_flag === ContentFlag.EU_REAL || is_eu_user; const getPlatformToggleOptions = () => [ - { text: eu_title ? localize('Multipliers') : localize('Options & Multipliers'), value: 'options' }, + { text: eu_title ? localize('Multipliers') : localize('Options'), value: 'options' }, { text: localize('CFDs'), value: 'cfd' }, ]; const platform_toggle_options = getPlatformToggleOptions(); From 0ee6ce6c8894c900191e4bc62d88d6b872f72e0d Mon Sep 17 00:00:00 2001 From: balakrishna-deriv <56330681+balakrishna-deriv@users.noreply.github.com> Date: Tue, 21 May 2024 16:06:58 +0800 Subject: [PATCH 79/95] chore: fix bottom nav scroll (#15279) --- .../src/AppV2/Components/BottomNav/bottom-nav.scss | 12 ++++++++++-- .../src/AppV2/Components/BottomNav/bottom-nav.tsx | 5 +++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.scss b/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.scss index 404f176c8c95..6e43cb0f1a75 100644 --- a/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.scss +++ b/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.scss @@ -1,14 +1,22 @@ .bottom-nav { + display: flex; + flex-direction: column; + height: 100%; + &-container { display: flex; padding: var(--core-spacing-400); align-items: flex-start; gap: var(--core-spacing-500); - position: fixed; - bottom: 0; width: 100%; border-top: 1px solid var(--core-color-opacity-black-100); // waiting on quill tokens in deriv-app } + + &-selection { + flex: 1; + overflow: auto; + } + &-item { display: flex; flex-direction: column; diff --git a/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.tsx b/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.tsx index 34bb66871e42..16241d4bf4b9 100644 --- a/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.tsx +++ b/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.tsx @@ -1,4 +1,5 @@ import React from 'react'; +import classNames from 'classnames'; import { Localize } from '@deriv/translations'; import { LegacyMarketBasketIndicesIcon, @@ -51,7 +52,8 @@ const BottomNav = ({ className, children }: BottomNavProps) => { const [selectedIndex, setSelectedIndex] = React.useState(0); return ( -
    +
    +
    {children[selectedIndex]}
    {bottomNavItems.map((item, index) => ( { /> ))}
    - {children[selectedIndex]}
    ); }; From 29d8f63884e42b8c9f7b6d0bbc1665b2a0b74a19 Mon Sep 17 00:00:00 2001 From: Aizad Ridzo <103104395+aizad-deriv@users.noreply.github.com> Date: Tue, 21 May 2024 16:28:25 +0800 Subject: [PATCH 80/95] Aizad/WALL-4039/Resize Logo in Transfer Summary Details on Transaction Screen (#15070) * chore: replace WalletsAppLinkedWithWalletIcon with WaleltMarketCurrencyIcon * chore: Fix type error * chore: change true to isDemo * chore: change default from All to null * chore: fix typescript errors * chore: fix typescript errros pt.2 * chore: improve logic within WalletMarketCurrenyIcon * chore: standardize logic across features * chore: change z-index for market icon * chore: update border radius according to design * chore: update all of the icons for transaction rows to have border-radius 4px --- .../WalletGradientBackground.scss | 6 +----- .../WalletMarketCurrencyIcon.scss | 7 ++----- .../WalletMarketCurrencyIcon.tsx | 16 +++++++------- packages/wallets/src/components/index.ts | 1 + .../src/features/cashier/helpers/helpers.ts | 2 +- ...ransactionsCompletedRowAccountDetails.scss | 4 ++++ ...TransactionsCompletedRowAccountDetails.tsx | 21 +++++++++++++------ .../hooks/useSortedTransferAccounts.ts | 10 +++++++-- .../cfd/screens/CFDSuccess/CFDSuccess.scss | 7 +++++++ .../cfd/screens/CFDSuccess/CFDSuccess.tsx | 21 ++++++++++--------- 10 files changed, 59 insertions(+), 36 deletions(-) diff --git a/packages/wallets/src/components/WalletGradientBackground/WalletGradientBackground.scss b/packages/wallets/src/components/WalletGradientBackground/WalletGradientBackground.scss index 89df41a57c64..809442df7820 100644 --- a/packages/wallets/src/components/WalletGradientBackground/WalletGradientBackground.scss +++ b/packages/wallets/src/components/WalletGradientBackground/WalletGradientBackground.scss @@ -1,6 +1,7 @@ .wallets-gradient { position: relative; display: inline-block; + border-radius: 0.8rem; &__content { position: relative; @@ -28,11 +29,6 @@ } } - &[class*='desktop-card'], - &[class*='mobile-card'] { - border-radius: 0.8rem; - } - &--USD { &-desktop { &-card { diff --git a/packages/wallets/src/components/WalletMarketCurrencyIcon/WalletMarketCurrencyIcon.scss b/packages/wallets/src/components/WalletMarketCurrencyIcon/WalletMarketCurrencyIcon.scss index ac89dc6361e6..db2db57a9c88 100644 --- a/packages/wallets/src/components/WalletMarketCurrencyIcon/WalletMarketCurrencyIcon.scss +++ b/packages/wallets/src/components/WalletMarketCurrencyIcon/WalletMarketCurrencyIcon.scss @@ -1,6 +1,4 @@ .wallets-market-currency-icon { - width: 10rem; - height: 7rem; display: inline-block; position: relative; @@ -10,16 +8,15 @@ justify-content: flex-start; width: 100%; height: 100%; - padding: 0.5rem; } &__market-icon { - z-index: 2; + z-index: 1; position: relative; } &__currency-icon { - z-index: 1; transform: translate(-0.8rem, 1.2rem); + border-radius: 0.4rem; } } diff --git a/packages/wallets/src/components/WalletMarketCurrencyIcon/WalletMarketCurrencyIcon.tsx b/packages/wallets/src/components/WalletMarketCurrencyIcon/WalletMarketCurrencyIcon.tsx index a293c05b77b4..ca68ccc978c3 100644 --- a/packages/wallets/src/components/WalletMarketCurrencyIcon/WalletMarketCurrencyIcon.tsx +++ b/packages/wallets/src/components/WalletMarketCurrencyIcon/WalletMarketCurrencyIcon.tsx @@ -1,5 +1,5 @@ -import React, { FC } from 'react'; -import { MARKET_TYPE } from '../../features/cfd/constants'; +import React, { ComponentProps, FC } from 'react'; +import { CFD_PLATFORMS, MARKET_TYPE } from '../../features/cfd/constants'; import { THooks, TPlatforms } from '../../types'; import { WalletCurrencyCard } from '../WalletCurrencyCard'; import { WalletMarketIcon } from '../WalletMarketIcon'; @@ -24,17 +24,19 @@ type TWalletMarketCurrencyIconProps = { }; const WalletMarketCurrencyIcon: FC = ({ currency, isDemo, marketType, platform }) => { - const MarketTypeIcon = - marketType && platform && marketType === MARKET_TYPE.ALL && platform in cfdPlatformIcon - ? cfdPlatformIcon[platform as keyof typeof cfdPlatformIcon] - : mt5MarketTypeIcon[marketType as keyof typeof mt5MarketTypeIcon]; + let MarketTypeIcon: ComponentProps['icon']; + if (marketType === MARKET_TYPE.ALL && platform && platform in cfdPlatformIcon) { + MarketTypeIcon = cfdPlatformIcon[platform as keyof typeof cfdPlatformIcon]; + } else if (platform === CFD_PLATFORMS.MT5 && marketType && marketType in mt5MarketTypeIcon) { + MarketTypeIcon = mt5MarketTypeIcon[marketType as keyof typeof mt5MarketTypeIcon]; + } else MarketTypeIcon = 'IcWalletOptionsLight'; return (
    { if (mt5Group?.includes(MT5MarketTypeDetails.financial.name)) return MT5MarketTypeDetails.financial.name; if (mt5Group?.includes(MT5MarketTypeDetails.synthetic.name)) return MT5MarketTypeDetails.synthetic.name; if (mt5Group?.includes(MT5MarketTypeDetails.all.name)) return MT5MarketTypeDetails.all.name; - return MT5MarketTypeDetails.all.name; + return undefined; }; //TODO: remove this function when landing_company_name will be added to transfer_between_accounts response in API for mt5 accounts diff --git a/packages/wallets/src/features/cashier/modules/Transactions/components/TransactionsCompletedRow/components/TransactionsCompletedRowAccountDetails/TransactionsCompletedRowAccountDetails.scss b/packages/wallets/src/features/cashier/modules/Transactions/components/TransactionsCompletedRow/components/TransactionsCompletedRowAccountDetails/TransactionsCompletedRowAccountDetails.scss index 3adb5ab497b2..e934451db09d 100644 --- a/packages/wallets/src/features/cashier/modules/Transactions/components/TransactionsCompletedRow/components/TransactionsCompletedRowAccountDetails/TransactionsCompletedRowAccountDetails.scss +++ b/packages/wallets/src/features/cashier/modules/Transactions/components/TransactionsCompletedRow/components/TransactionsCompletedRowAccountDetails/TransactionsCompletedRowAccountDetails.scss @@ -3,6 +3,10 @@ width: max-content; gap: 0.8rem; + &__currency-card { + border-radius: 0.4rem; + } + &__type-and-wallet-name { display: flex; flex-direction: column; diff --git a/packages/wallets/src/features/cashier/modules/Transactions/components/TransactionsCompletedRow/components/TransactionsCompletedRowAccountDetails/TransactionsCompletedRowAccountDetails.tsx b/packages/wallets/src/features/cashier/modules/Transactions/components/TransactionsCompletedRow/components/TransactionsCompletedRowAccountDetails/TransactionsCompletedRowAccountDetails.tsx index de3272bdec80..66363bd8603b 100644 --- a/packages/wallets/src/features/cashier/modules/Transactions/components/TransactionsCompletedRow/components/TransactionsCompletedRowAccountDetails/TransactionsCompletedRowAccountDetails.tsx +++ b/packages/wallets/src/features/cashier/modules/Transactions/components/TransactionsCompletedRow/components/TransactionsCompletedRowAccountDetails/TransactionsCompletedRowAccountDetails.tsx @@ -2,11 +2,12 @@ import React from 'react'; import { WalletCurrencyCard, WalletListCardBadge, - WalletsAppLinkedWithWalletIcon, + WalletMarketCurrencyIcon, WalletText, } from '../../../../../../../../components'; -import { THooks, TWalletLandingCompanyName } from '../../../../../../../../types'; -import { getTradingAppIcon } from '../../../../../../helpers'; +import { THooks, TPlatforms, TWalletLandingCompanyName } from '../../../../../../../../types'; +import { MARKET_TYPE } from '../../../../../../../cfd/constants'; +import { getMarketType } from '../../../../../../helpers'; import './TransactionsCompletedRowAccountDetails.scss'; type TProps = { @@ -34,15 +35,23 @@ const TransactionsCompletedRowAccountDetails: React.FC = ({ mt5Group, mt5LandingCompanyName, }) => { + const marketType = getMarketType(mt5Group); + return (
    {actionType !== 'transfer' || isInterWallet ? ( - + ) : ( - )}
    diff --git a/packages/wallets/src/features/cashier/modules/Transfer/hooks/useSortedTransferAccounts.ts b/packages/wallets/src/features/cashier/modules/Transfer/hooks/useSortedTransferAccounts.ts index aa8c61335160..af321374acd1 100644 --- a/packages/wallets/src/features/cashier/modules/Transfer/hooks/useSortedTransferAccounts.ts +++ b/packages/wallets/src/features/cashier/modules/Transfer/hooks/useSortedTransferAccounts.ts @@ -71,8 +71,14 @@ const sortTradingAccounts = (a: TAccount, b: TAccount) => { const marketTypeA = getMarketType(a.mt5_group); const marketTypeB = getMarketType(b.mt5_group); - if (marketTypeOrder[marketTypeA] !== marketTypeOrder[marketTypeB]) { - return marketTypeOrder[marketTypeA] - marketTypeOrder[marketTypeB]; + if ( + marketTypeOrder[marketTypeA ?? MT5MarketTypeDetails.all.name] !== + marketTypeOrder[marketTypeB ?? MT5MarketTypeDetails.all.name] + ) { + return ( + marketTypeOrder[marketTypeA ?? MT5MarketTypeDetails.all.name] - + marketTypeOrder[(marketTypeB ?? MT5MarketTypeDetails.all.name) as keyof typeof marketTypeOrder] + ); } // For 'synthetic' and 'financial' market types, compare landing company name diff --git a/packages/wallets/src/features/cfd/screens/CFDSuccess/CFDSuccess.scss b/packages/wallets/src/features/cfd/screens/CFDSuccess/CFDSuccess.scss index 463626a666ff..8e9d4782d672 100644 --- a/packages/wallets/src/features/cfd/screens/CFDSuccess/CFDSuccess.scss +++ b/packages/wallets/src/features/cfd/screens/CFDSuccess/CFDSuccess.scss @@ -43,6 +43,13 @@ border-radius: 1rem; } + &__market-icon { + display: flex; + padding: 0.5rem; + width: 10rem; + height: 7rem; + } + &__balance-loader { padding: 0.7rem; width: 8rem; diff --git a/packages/wallets/src/features/cfd/screens/CFDSuccess/CFDSuccess.tsx b/packages/wallets/src/features/cfd/screens/CFDSuccess/CFDSuccess.tsx index 6253eeb5a080..2fa19265a00c 100644 --- a/packages/wallets/src/features/cfd/screens/CFDSuccess/CFDSuccess.tsx +++ b/packages/wallets/src/features/cfd/screens/CFDSuccess/CFDSuccess.tsx @@ -1,12 +1,11 @@ import React, { ComponentProps } from 'react'; import classNames from 'classnames'; import { useActiveWalletAccount } from '@deriv/api-v2'; -import { WalletSuccess, WalletText } from '../../../../components'; +import { WalletMarketCurrencyIcon, WalletSuccess, WalletText } from '../../../../components'; import { WalletGradientBackground } from '../../../../components/WalletGradientBackground'; -import { WalletMarketCurrencyIcon } from '../../../../components/WalletMarketCurrencyIcon'; import useDevice from '../../../../hooks/useDevice'; import { TDisplayBalance, THooks, TMarketTypes, TPlatforms } from '../../../../types'; -import { CFD_PLATFORMS, MarketTypeDetails, PlatformDetails } from '../../constants'; +import { CFD_PLATFORMS, MARKET_TYPE, MarketTypeDetails, PlatformDetails } from '../../constants'; import './CFDSuccess.scss'; type TSuccessProps = { @@ -37,7 +36,7 @@ const CFDSuccess: React.FC = ({ const landingCompanyName = landingCompany.toUpperCase(); const isDxtradeOrCtrader = - marketType === 'all' && + marketType === MARKET_TYPE.ALL && (platform === PlatformDetails.dxtrade.platform || platform === PlatformDetails.ctrader.platform); let marketTypeTitle = 'Options'; @@ -76,12 +75,14 @@ const CFDSuccess: React.FC = ({ {isDemo ? 'Demo' : 'Real'}
    - +
    + +
    {platformTitlePrefix} {marketTypeTitle}{' '} From 294411e78762405eeb8aac4b3b1576a289c35f31 Mon Sep 17 00:00:00 2001 From: mitra-deriv <64970259+mitra-deriv@users.noreply.github.com> Date: Tue, 21 May 2024 16:36:42 +0800 Subject: [PATCH 81/95] [TRAH]/Mitra/TRAH-3230/Show real sign up modal once demo creation is done (#14749) * feat: :sparkles: show real sign up modal once demo creation is done * feat: :triangular_flag_on_post: add feature flag * feat: :sparkles: land client on demo for row who can have diel * fix: :loud_sound: putting log to check the value * feat: :bug: fix name of the feature flag * fix: :bug: remove eslint disable line * fix: :bug: set is from sign up to false when client close the modal * fix: :bug: new fix * feat: :fire: remove tour guide from tradershub * fix: :test_tube: fix test failure * Revert "feat: :fire: remove tour guide from tradershub" This reverts commit fed965304d58965d7fab09d7da9af4f8add7430d. * Revert "Revert "feat: :fire: remove tour guide from tradershub"" This reverts commit ada5cb2866b537564f07ef28b15d240eacd7d0e5. * fix: :test_tube: make test green * fix: :bug: try the fix * fix: :bug: fix console error --- .../src/constants/tour-steps-config.tsx | 121 ------------------ .../src/constants/tour-steps-styles.ts | 44 ------- .../src/modules/onboarding/onboarding.tsx | 27 +--- .../src/modules/tour-guide/tour-guide.tsx | 88 ------------- .../traders-hub/__tests__/index.spec.tsx | 1 - .../src/modules/traders-hub/index.tsx | 57 ++++----- .../account-signup-modal.jsx | 2 +- .../__tests__/default-mobile-links.spec.tsx | 8 +- .../__tests__/traders-hub-header.spec.tsx | 5 - .../Layout/header/default-mobile-links.tsx | 5 - .../Layout/header/traders-hub-header.tsx | 4 - .../Layout/header/traders-hub-onboarding.tsx | 17 +-- .../src/App/Containers/Modals/app-modals.jsx | 17 ++- .../RealAccountSignup/real-account-signup.jsx | 7 +- packages/core/src/Stores/traders-hub-store.js | 20 ++- .../_common/layout/traders-hub-header.scss | 1 + packages/stores/src/mockStore.ts | 2 - packages/stores/types.ts | 2 - 18 files changed, 62 insertions(+), 366 deletions(-) delete mode 100644 packages/appstore/src/constants/tour-steps-config.tsx delete mode 100644 packages/appstore/src/constants/tour-steps-styles.ts delete mode 100644 packages/appstore/src/modules/tour-guide/tour-guide.tsx diff --git a/packages/appstore/src/constants/tour-steps-config.tsx b/packages/appstore/src/constants/tour-steps-config.tsx deleted file mode 100644 index 465df8a5112c..000000000000 --- a/packages/appstore/src/constants/tour-steps-config.tsx +++ /dev/null @@ -1,121 +0,0 @@ -import React from 'react'; -import { Step, Locale } from 'react-joyride'; -import { Text, SpanButton, Icon } from '@deriv/components'; -import { Localize, localize } from '@deriv/translations'; -import { isMobile } from '@deriv/shared'; -import 'Components/toggle-account-type/toggle-account-type.scss'; - -const stepProps = { - disableBeacon: true, - disableOverlayClose: true, -}; - -export const tour_step_config: Step[] = [ - { - title: ( - - - - -
    - - ), - content: ( - - - - ), - target: '.account-type-dropdown--parent', - ...stepProps, - }, - { - title: ( - - - - -
    - - ), - content: ( - - - - , - ]} - /> - - ), - target: isMobile() ? '.main-title-bar-mobile--regulator' : '.regulators-switcher__container', - ...stepProps, - }, - { - title: ( - - - - -
    - - ), - content: ( - - - - ), - target: '.traders-hub-header__tradershub--onboarding--logo', - ...stepProps, - }, -]; - -export const tour_step_config_high_risk: Step[] = [ - { - title: ( - - - - -
    - - ), - content: ( - - - - ), - target: '.account-type-dropdown--parent', - ...stepProps, - }, - { - title: ( - - - - -
    - - ), - content: ( - - - - ), - target: '.traders-hub-header__tradershub--onboarding--logo', - ...stepProps, - }, -]; - -export const getHighRiskTourStepLocale = (): Locale => ({ - back: , - last: , - next: , -}); - -export const getTourStepLocale = (): Locale => ({ - back: , - last: , - next: , -}); diff --git a/packages/appstore/src/constants/tour-steps-styles.ts b/packages/appstore/src/constants/tour-steps-styles.ts deleted file mode 100644 index 6fbfbe1f121b..000000000000 --- a/packages/appstore/src/constants/tour-steps-styles.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { Styles } from 'react-joyride'; - -type TJoyrideStyles = Pick; - -const tourStyles = { - options: { - width: 350, - }, - tooltipTitle: { - color: 'var(--brand-red-coral)', - textAlign: 'left', - }, - tooltipContent: { - textAlign: 'left', - fontSize: '1.6rem', - padding: '3rem 0 1.6rem 0', - wordBreak: 'break-word', - whiteSpace: 'pre-wrap', - }, - buttonNext: { - padding: '0.9rem', - fontSize: '1.5rem', - fontWeight: 'bold', - outline: 'none', - }, -} as const; - -export const tour_styles: TJoyrideStyles = { - options: tourStyles.options, - tooltipTitle: tourStyles.tooltipTitle, - tooltipContent: tourStyles.tooltipContent, - buttonNext: tourStyles.buttonNext, -}; - -export const tour_styles_dark_mode: TJoyrideStyles = { - options: { - ...tourStyles.options, - backgroundColor: 'var(--general-section-3)', - arrowColor: 'var(--general-section-3)', - }, - tooltipTitle: tourStyles.tooltipTitle, - tooltipContent: tourStyles.tooltipContent, - buttonNext: tourStyles.buttonNext, -}; diff --git a/packages/appstore/src/modules/onboarding/onboarding.tsx b/packages/appstore/src/modules/onboarding/onboarding.tsx index d939931ccfad..97bdc80c1a3f 100644 --- a/packages/appstore/src/modules/onboarding/onboarding.tsx +++ b/packages/appstore/src/modules/onboarding/onboarding.tsx @@ -1,6 +1,6 @@ import React, { useEffect } from 'react'; import { useHistory } from 'react-router-dom'; -import { routes, ContentFlag } from '@deriv/shared'; +import { routes } from '@deriv/shared'; import { useStore, observer } from '@deriv/stores'; import OnboardingSkeleton from '../../components/loader'; import TradingPlatformIcon from 'Assets/svgs/trading-platform'; @@ -9,34 +9,15 @@ import './onboarding.scss'; const Onboarding = observer(() => { const history = useHistory(); - const { traders_hub, client, ui } = useStore(); + const { traders_hub, client } = useStore(); const { is_landing_company_loaded, is_logged_in, setPrevAccountType } = client; - const { content_flag, is_demo_low_risk, selectAccountType, toggleIsTourOpen } = traders_hub; - const { is_from_signup_account } = ui; + const { is_demo_low_risk, selectAccountType } = traders_hub; useEffect(() => { if (is_logged_in && is_landing_company_loaded) { history.push(routes.traders_hub); - if (is_from_signup_account && content_flag !== ContentFlag.EU_DEMO) { - toggleIsTourOpen(true); - } - - if (is_demo_low_risk) { - selectAccountType('real'); - setPrevAccountType('demo'); - } } - }, [ - is_logged_in, - is_landing_company_loaded, - is_from_signup_account, - content_flag, - is_demo_low_risk, - history, - toggleIsTourOpen, - selectAccountType, - setPrevAccountType, - ]); + }, [is_logged_in, is_landing_company_loaded, is_demo_low_risk, history, selectAccountType, setPrevAccountType]); if (is_logged_in && !is_landing_company_loaded) return ; diff --git a/packages/appstore/src/modules/tour-guide/tour-guide.tsx b/packages/appstore/src/modules/tour-guide/tour-guide.tsx deleted file mode 100644 index a2f951eb849c..000000000000 --- a/packages/appstore/src/modules/tour-guide/tour-guide.tsx +++ /dev/null @@ -1,88 +0,0 @@ -import React from 'react'; -import Joyride, { CallBackProps, STATUS, EVENTS, ACTIONS } from 'react-joyride'; -import { observer } from 'mobx-react-lite'; -import { - tour_step_config, - getTourStepLocale, - tour_step_config_high_risk, - getHighRiskTourStepLocale, -} from 'Constants/tour-steps-config'; -import { tour_styles, tour_styles_dark_mode } from 'Constants/tour-steps-styles'; -import { useStores } from 'Stores/index'; -import { ContentFlag } from '@deriv/shared'; -import { useTradersHubTracking } from 'Hooks/index'; -import { localize } from '@deriv/translations'; -import { SpanButton } from '@deriv/components'; - -const TourGuide = () => { - const { traders_hub, ui } = useStores(); - const { is_tour_open, toggleIsTourOpen, content_flag, setIsFirstTimeVisit } = traders_hub; - const { is_dark_mode_on, should_trigger_tour_guide, setShouldTriggerTourGuide } = ui; - - const [joyride_index, setJoyrideIndex] = React.useState(0); - const tour_step_locale = getTourStepLocale(); - const high_risk_tour_step_locale = getHighRiskTourStepLocale(); - const low_risk = content_flag === ContentFlag.LOW_RISK_CR_NON_EU || content_flag === ContentFlag.LOW_RISK_CR_EU; - - const { trackLastStep, trackStepForward, trackOnboardingRestart } = useTradersHubTracking(); - - const handleNextAction = (index: number) => { - trackStepForward(7); - setJoyrideIndex(index + 1); - }; - - const handlePrevAction = (index: number) => { - if (tour_step_config.length === joyride_index + 1) { - trackLastStep(); - trackOnboardingRestart(); - setIsFirstTimeVisit(false); - setJoyrideIndex(0); - } else { - setJoyrideIndex(index - 1); - } - }; - - const callbackHandle = (data: CallBackProps) => { - const { action, index, type, status } = data; - const finishedStatuses: string[] = [STATUS.FINISHED]; - const skipTypes: string[] = [EVENTS.STEP_AFTER, EVENTS.TARGET_NOT_FOUND]; - - if (finishedStatuses.includes(status)) { - toggleIsTourOpen(false); - setShouldTriggerTourGuide(false); - setJoyrideIndex(0); - return; - } - - if (!skipTypes.includes(type)) { - return; - } - - if (action === ACTIONS.NEXT) { - handleNextAction(index); - } else if (action === ACTIONS.PREV) { - handlePrevAction(index); - } - }; - - if (tour_step_config.length === joyride_index + 1) { - tour_step_locale.back = ; - } - - return ( - - ); -}; -export default observer(TourGuide); diff --git a/packages/appstore/src/modules/traders-hub/__tests__/index.spec.tsx b/packages/appstore/src/modules/traders-hub/__tests__/index.spec.tsx index 639d1340cf48..527a323d6a0d 100644 --- a/packages/appstore/src/modules/traders-hub/__tests__/index.spec.tsx +++ b/packages/appstore/src/modules/traders-hub/__tests__/index.spec.tsx @@ -7,7 +7,6 @@ jest.mock('Components/modals/modal-manager', () => jest.fn(() => 'mockedModalMan jest.mock('Components/main-title-bar', () => jest.fn(() => 'mockedMainTitleBar')); jest.mock('Components/cfds-listing', () => jest.fn(() => 'mockedCFDsListing')); jest.mock('Components/options-multipliers-listing', () => jest.fn(() => 'mocked')); -jest.mock('../../tour-guide/tour-guide', () => jest.fn(() => 'mocked')); describe('TradersHub', () => { const render_container = (mock_store_override = {}) => { diff --git a/packages/appstore/src/modules/traders-hub/index.tsx b/packages/appstore/src/modules/traders-hub/index.tsx index 719bb0b76243..1bc71904734f 100644 --- a/packages/appstore/src/modules/traders-hub/index.tsx +++ b/packages/appstore/src/modules/traders-hub/index.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { DesktopWrapper, MobileWrapper, ButtonToggle, Div100vhContainer, Text } from '@deriv/components'; -import { isDesktop, routes, ContentFlag, checkServerMaintenance, startPerformanceEventTimer } from '@deriv/shared'; +import { isDesktop, routes, checkServerMaintenance, startPerformanceEventTimer } from '@deriv/shared'; import { observer, useStore } from '@deriv/stores'; import { Localize, localize } from '@deriv/translations'; import CFDsListing from 'Components/cfds-listing'; @@ -9,8 +9,8 @@ import MainTitleBar from 'Components/main-title-bar'; import OptionsAndMultipliersListing from 'Components/options-multipliers-listing'; import ButtonToggleLoader from 'Components/pre-loader/button-toggle-loader'; import classNames from 'classnames'; -import TourGuide from '../tour-guide/tour-guide'; import './traders-hub.scss'; +import { useContentFlag, useGrowthbookFeatureFlag } from '@deriv/hooks'; const TradersHub = observer(() => { const { traders_hub, client, ui } = useStore(); @@ -31,39 +31,41 @@ const TradersHub = observer(() => { has_active_real_account, website_status, } = client; - const { selected_platform_type, setTogglePlatformType, is_tour_open, content_flag, is_eu_user } = traders_hub; + + const { is_cr_demo, is_eu_demo, is_eu_real } = useContentFlag(); + const { selected_platform_type, setTogglePlatformType, is_eu_user } = traders_hub; const traders_hub_ref = React.useRef(null); const can_show_notify = (!is_switching && !is_logging_in && is_account_setting_loaded && is_landing_company_loaded) || checkServerMaintenance(website_status); - const [scrolled, setScrolled] = React.useState(false); - - const handleScroll = React.useCallback(() => { - const element = traders_hub_ref?.current; - if (element && is_tour_open) { - element.scrollIntoView({ behavior: 'smooth', block: 'start' }); - } - }, [is_tour_open]); + const direct_to_real_account_creation = useGrowthbookFeatureFlag({ + featureFlag: 'direct-real-account-creation-flow', + defaultValue: false, + }); React.useEffect(() => { - if (is_eu_user) setTogglePlatformType('cfd'); - if ( - !has_active_real_account && - is_logged_in && - is_from_signup_account && - content_flag === ContentFlag.EU_DEMO - ) { - openRealAccountSignup('maltainvest'); - setIsFromSignupAccount(false); + if (is_eu_user) { + setTogglePlatformType('cfd'); + } + if (!has_active_real_account && is_from_signup_account && is_logged_in) { + if (direct_to_real_account_creation && is_cr_demo) { + openRealAccountSignup('svg'); + setIsFromSignupAccount(false); + } else if (is_eu_demo) { + openRealAccountSignup('maltainvest'); + setIsFromSignupAccount(false); + } } }, [ - content_flag, + is_cr_demo, + is_eu_demo, has_active_real_account, is_eu_user, is_from_signup_account, is_logged_in, + direct_to_real_account_creation, openRealAccountSignup, setIsFromSignupAccount, setTogglePlatformType, @@ -71,21 +73,13 @@ const TradersHub = observer(() => { React.useEffect(() => { if (is_eu_user) setTogglePlatformType('cfd'); - const timer = setTimeout(() => { - handleScroll(); - setTimeout(() => { - setScrolled(true); - }, 200); - }, 100); - return () => clearTimeout(timer); - }, [handleScroll, is_eu_user, is_tour_open, setTogglePlatformType]); + }, [is_eu_user, setTogglePlatformType]); React.useLayoutEffect(() => { startPerformanceEventTimer('option_multiplier_section_loading_time'); }, []); - const eu_title = content_flag === ContentFlag.EU_DEMO || content_flag === ContentFlag.EU_REAL || is_eu_user; - + const eu_title = is_eu_demo || is_eu_real || is_eu_user; const getPlatformToggleOptions = () => [ { text: eu_title ? localize('Multipliers') : localize('Options'), value: 'options' }, { text: localize('CFDs'), value: 'cfd' }, @@ -175,7 +169,6 @@ const TradersHub = observer(() => { {getOrderedPlatformSections()} - {scrolled && }
    {is_eu_user && ( diff --git a/packages/core/src/App/Containers/AccountSignupModal/account-signup-modal.jsx b/packages/core/src/App/Containers/AccountSignupModal/account-signup-modal.jsx index 88835479cfa1..1893012783d5 100644 --- a/packages/core/src/App/Containers/AccountSignupModal/account-signup-modal.jsx +++ b/packages/core/src/App/Containers/AccountSignupModal/account-signup-modal.jsx @@ -126,8 +126,8 @@ const AccountSignup = ({ error_message: error, }); } else { - isModalVisible(false); setIsFromSignupAccount(true); + isModalVisible(false); SessionStore.remove('signup_query_param'); enableApp(); diff --git a/packages/core/src/App/Containers/Layout/header/__tests__/default-mobile-links.spec.tsx b/packages/core/src/App/Containers/Layout/header/__tests__/default-mobile-links.spec.tsx index ddc1a3b5aa11..893dfb24a8ad 100644 --- a/packages/core/src/App/Containers/Layout/header/__tests__/default-mobile-links.spec.tsx +++ b/packages/core/src/App/Containers/Layout/header/__tests__/default-mobile-links.spec.tsx @@ -10,10 +10,6 @@ jest.mock('../show-notifications', () => jest.fn(() =>
    MockedShowNotifications
    ) ); -jest.mock('../traders-hub-onboarding', () => - jest.fn(() =>
    MockedTradersHubOnboarding
    ) -); - jest.mock('@deriv/stores', () => ({ ...jest.requireActual('@deriv/stores'), useStore: jest.fn(() => ({ client: { has_wallet: false } })), @@ -24,10 +20,8 @@ describe('DefaultMobileLinks', () => { handleClickCashier: jest.fn(), }; - it('should render "DefaultMobileLinks" with Onboarding, Notifications & link to Account Settings', () => { + it('should render "DefaultMobileLinks" with Notifications & link to Account Settings', () => { render(); - expect(screen.getByTestId('dt_traders_hub_onboarding')).toBeInTheDocument(); - expect(screen.getByText('MockedTradersHubOnboarding')).toBeInTheDocument(); expect(screen.getByText('MockedShowNotifications')).toBeInTheDocument(); expect(screen.getByText('MockedBinaryLink to Account Settings')).toBeInTheDocument(); }); diff --git a/packages/core/src/App/Containers/Layout/header/__tests__/traders-hub-header.spec.tsx b/packages/core/src/App/Containers/Layout/header/__tests__/traders-hub-header.spec.tsx index e2841b22b7eb..b4bf43976dc1 100644 --- a/packages/core/src/App/Containers/Layout/header/__tests__/traders-hub-header.spec.tsx +++ b/packages/core/src/App/Containers/Layout/header/__tests__/traders-hub-header.spec.tsx @@ -75,11 +75,6 @@ describe('TradersHubHeader', () => { expect(await screen.findByText('MockedRealAccountSignup')).toBeInTheDocument(); }); - it('should render "View tutorial" option in the header', () => { - renderComponent(); - expect(screen.getByText('View tutorial')).toBeInTheDocument(); - }); - it('should render "Notifications" option in the header', () => { renderComponent(); expect(screen.getByText('MockedShowNotifications')).toBeInTheDocument(); diff --git a/packages/core/src/App/Containers/Layout/header/default-mobile-links.tsx b/packages/core/src/App/Containers/Layout/header/default-mobile-links.tsx index 997fafba7116..dc3d7f83868f 100644 --- a/packages/core/src/App/Containers/Layout/header/default-mobile-links.tsx +++ b/packages/core/src/App/Containers/Layout/header/default-mobile-links.tsx @@ -6,9 +6,7 @@ import { useStore } from '@deriv/stores'; import { Localize } from '@deriv/translations'; import { BinaryLink } from 'App/Components/Routes'; - import ShowNotifications from './show-notifications'; -import TradersHubOnboarding from './traders-hub-onboarding'; type TDefaultMobileLinks = { handleClickCashier: () => void; @@ -20,9 +18,6 @@ const DefaultMobileLinks = React.memo(({ handleClickCashier }: TDefaultMobileLin return ( -
    - -
    diff --git a/packages/core/src/App/Containers/Layout/header/traders-hub-header.tsx b/packages/core/src/App/Containers/Layout/header/traders-hub-header.tsx index c0247cb93e7f..b2c4de85b1a5 100644 --- a/packages/core/src/App/Containers/Layout/header/traders-hub-header.tsx +++ b/packages/core/src/App/Containers/Layout/header/traders-hub-header.tsx @@ -13,7 +13,6 @@ import { BinaryLink } from 'App/Components/Routes'; import DerivBrandLogo from 'Assets/SvgComponents/header/deriv-rebranding-logo.svg'; import DefaultMobileLinks from './default-mobile-links'; import ShowNotifications from './show-notifications'; -import TradersHubOnboarding from './traders-hub-onboarding'; import TradersHubHomeButton from './traders-hub-home-button'; type TPlatformConfig = typeof platform_config; @@ -140,9 +139,6 @@ const TradersHubHeader = observer(() => {
    -
    - -
    diff --git a/packages/core/src/App/Containers/Layout/header/traders-hub-onboarding.tsx b/packages/core/src/App/Containers/Layout/header/traders-hub-onboarding.tsx index 9515deb2ceb8..c9ed5ecb1053 100644 --- a/packages/core/src/App/Containers/Layout/header/traders-hub-onboarding.tsx +++ b/packages/core/src/App/Containers/Layout/header/traders-hub-onboarding.tsx @@ -5,22 +5,13 @@ import { observer, useStore } from '@deriv/stores'; import { Localize } from '@deriv/translations'; const TradersHubOnboarding = observer(() => { - const { client, traders_hub, ui } = useStore(); - const { has_wallet } = client; - const { setIsFirstTimeVisit, toggleIsTourOpen, is_tour_open } = traders_hub; + const { ui } = useStore(); const { is_dark_mode_on, is_mobile } = ui; const [, setWalletsOnboarding] = useLocalStorage('walletsOnboarding', ''); - const onClickHandler = has_wallet - ? () => { - setWalletsOnboarding('started'); - } - : () => { - if (!is_tour_open) { - toggleIsTourOpen(true); - } - setIsFirstTimeVisit(false); - }; + const onClickHandler = () => { + setWalletsOnboarding('started'); + }; return (
    diff --git a/packages/core/src/App/Containers/Modals/app-modals.jsx b/packages/core/src/App/Containers/Modals/app-modals.jsx index 548666d9f092..d8ae4dce2cff 100644 --- a/packages/core/src/App/Containers/Modals/app-modals.jsx +++ b/packages/core/src/App/Containers/Modals/app-modals.jsx @@ -96,7 +96,7 @@ const AppModals = observer(() => { mt5_login_list, should_show_effortless_login_modal, } = client; - const { content_flag, is_tour_open } = traders_hub; + const { content_flag } = traders_hub; const { is_from_derivgo } = common; const { is_account_needed_modal_on, @@ -118,6 +118,10 @@ const AppModals = observer(() => { isUrlUnavailableModalVisible, should_show_one_time_deposit_modal, should_show_account_success_modal, + should_show_appropriateness_warning_modal, + should_show_risk_warning_modal, + is_real_acc_signup_on, + is_from_signup_account, } = ui; const temp_session_signup_params = SessionStore.get('signup_query_param'); const url_params = new URLSearchParams(useLocation().search || temp_session_signup_params); @@ -146,6 +150,15 @@ const AppModals = observer(() => { const is_onboarding = window.location.href.includes(routes.onboarding); + const should_show_passkeys_info_modal = + should_show_effortless_login_modal && + !is_from_derivgo && + !is_onboarding && + !should_show_appropriateness_warning_modal && + !should_show_risk_warning_modal && + !is_from_signup_account && + !is_real_acc_signup_on; + if (temp_session_signup_params && is_onboarding) { toggleAccountSignupModal(true); } else { @@ -217,7 +230,7 @@ const AppModals = observer(() => { ComponentToLoad = ; } - if (should_show_effortless_login_modal && !is_tour_open && !is_from_derivgo && !is_onboarding) { + if (should_show_passkeys_info_modal) { ComponentToLoad = ; } diff --git a/packages/core/src/App/Containers/RealAccountSignup/real-account-signup.jsx b/packages/core/src/App/Containers/RealAccountSignup/real-account-signup.jsx index 7a0462ec7626..5dca330f5605 100644 --- a/packages/core/src/App/Containers/RealAccountSignup/real-account-signup.jsx +++ b/packages/core/src/App/Containers/RealAccountSignup/real-account-signup.jsx @@ -4,7 +4,7 @@ import { withRouter } from 'react-router-dom'; import classNames from 'classnames'; import { RiskToleranceWarningModal, TestWarningModal } from '@deriv/account'; import { Button, DesktopWrapper, MobileDialog, MobileWrapper, Modal, Text, UILoader } from '@deriv/components'; -import { ContentFlag, WS, moduleLoader, routes } from '@deriv/shared'; +import { WS, moduleLoader, routes } from '@deriv/shared'; import { Localize, localize } from '@deriv/translations'; import { observer, useStore } from '@deriv/stores'; import AddCurrency from './add-currency.jsx'; @@ -87,7 +87,7 @@ const RealAccountSignup = observer(({ history, state_index, is_trading_experienc real_account_signup: state_value, is_trading_assessment_for_new_user_enabled, } = ui; - const { content_flag, show_eu_related_content, toggleIsTourOpen } = traders_hub; + const { show_eu_related_content } = traders_hub; const deposit_target = modules.cashier.general_store.deposit_target; const setIsDeposit = modules.cashier.general_store.setIsDeposit; const should_show_all_available_currencies = modules.cashier.general_store.should_show_all_available_currencies; @@ -435,9 +435,6 @@ const RealAccountSignup = observer(({ history, state_index, is_trading_experienc if (modal_content[getActiveModalIndex()].action === 'signup') { setIsClosingCreateRealAccountModal(true); - if ([ContentFlag.EU_REAL, ContentFlag.EU_DEMO].includes(content_flag)) { - toggleIsTourOpen(true); - } return; } diff --git a/packages/core/src/Stores/traders-hub-store.js b/packages/core/src/Stores/traders-hub-store.js index 595fa3981ef6..9eb680816cf5 100644 --- a/packages/core/src/Stores/traders-hub-store.js +++ b/packages/core/src/Stores/traders-hub-store.js @@ -26,7 +26,6 @@ export default class TradersHubStore extends BaseStore { is_failed_verification_modal_visible = false; is_regulators_compare_modal_visible = false; is_mt5_notification_modal_visible = false; - is_tour_open = false; account_type_card = ''; selected_platform_type = 'options'; mt5_existing_account = {}; @@ -57,7 +56,6 @@ export default class TradersHubStore extends BaseStore { is_regulators_compare_modal_visible: observable, is_mt5_notification_modal_visible: observable, is_failed_verification_modal_visible: observable, - is_tour_open: observable, modal_data: observable, is_onboarding_visited: observable, is_first_time_visit: observable, @@ -112,7 +110,6 @@ export default class TradersHubStore extends BaseStore { toggleFailedVerificationModalVisibility: action.bound, setMT5ExistingAccount: action.bound, openFailedVerificationModal: action.bound, - toggleIsTourOpen: action.bound, toggleRegulatorsCompareModal: action.bound, showTopUpModal: action.bound, toggleWalletsUpgrade: action.bound, @@ -235,17 +232,22 @@ export default class TradersHubStore extends BaseStore { await switchAccount(account_list.find(acc => acc.is_virtual && !acc.is_disabled)?.loginid); } else if (account_type === 'real') { if (!has_active_real_account && this.content_flag === ContentFlag.EU_DEMO) { - this.root_store.client.real_account_creation_unlock_date - ? this.root_store.ui.setShouldShowCooldownModal(true) - : this.root_store.ui.openRealAccountSignup('maltainvest'); + if (this.root_store.client.real_account_creation_unlock_date) { + this.root_store.ui.setShouldShowCooldownModal(true); + } else { + this.root_store.ui.openRealAccountSignup('maltainvest'); + } + } else if (!has_active_real_account) { + this.root_store.ui.openRealAccountSignup('svg'); } + if (prev_real_account_loginid) { await switchAccount(prev_real_account_loginid); } else { await switchAccount(account_list.find(acc => !acc.is_virtual && !acc.is_disabled)?.loginid); } } - this.selected_account_type = account_type; + this.selected_account_type = !has_active_real_account ? 'demo' : account_type; } async switchToCRAccount() { @@ -276,10 +278,6 @@ export default class TradersHubStore extends BaseStore { this.selected_region = region; } - toggleIsTourOpen(is_tour_open) { - this.is_tour_open = is_tour_open; - } - get is_demo_low_risk() { const { is_landing_company_loaded } = this.root_store.client; if (is_landing_company_loaded) { diff --git a/packages/core/src/sass/app/_common/layout/traders-hub-header.scss b/packages/core/src/sass/app/_common/layout/traders-hub-header.scss index bfaf659b553b..14b97732e7d8 100644 --- a/packages/core/src/sass/app/_common/layout/traders-hub-header.scss +++ b/packages/core/src/sass/app/_common/layout/traders-hub-header.scss @@ -166,6 +166,7 @@ } &__divider { + margin-right: 1rem; width: 0.1rem; height: 3rem; margin-left: 0.8rem; diff --git a/packages/stores/src/mockStore.ts b/packages/stores/src/mockStore.ts index db8d43d911b8..21fd87a0b7ee 100644 --- a/packages/stores/src/mockStore.ts +++ b/packages/stores/src/mockStore.ts @@ -540,8 +540,6 @@ const mock = (): TStores & { is_mock: boolean } => { active_modal_wallet_id: '', setWalletModalActiveWalletID: jest.fn(), available_ctrader_accounts: [], - toggleIsTourOpen: jest.fn(), - is_tour_open: false, is_mt5_notification_modal_visible: false, setMT5NotificationModal: jest.fn(), has_any_real_account: false, diff --git a/packages/stores/types.ts b/packages/stores/types.ts index a304c84a0e1b..6063cae32edd 100644 --- a/packages/stores/types.ts +++ b/packages/stores/types.ts @@ -1056,8 +1056,6 @@ type TTradersHubStore = { available_cfd_accounts: TAvailableCFDAccounts[]; available_dxtrade_accounts: TAvailableCFDAccounts[]; available_ctrader_accounts: TAvailableCFDAccounts[]; - toggleIsTourOpen: (is_tour_open: boolean) => void; - is_tour_open: boolean; is_demo_low_risk: boolean; is_mt5_notification_modal_visible: boolean; setMT5NotificationModal: (value: boolean) => void; From cf20505786fb6d9ca07a5af1f22bb33d36b628b3 Mon Sep 17 00:00:00 2001 From: hirad-deriv Date: Tue, 21 May 2024 16:51:12 +0800 Subject: [PATCH 82/95] Hirad/wall-4006/ Terminal button will call the token and redirect user with a new token (#15119) * chore: moved the token call to click of the button * chore: made changes to pass the tests --- .../src/hooks/useCtraderServiceToken.ts | 8 ++----- .../MT5TradeLink/MT5TradeLink.tsx | 24 +++++++++++++++---- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/packages/api-v2/src/hooks/useCtraderServiceToken.ts b/packages/api-v2/src/hooks/useCtraderServiceToken.ts index e5e7199a3e85..03a73a717503 100644 --- a/packages/api-v2/src/hooks/useCtraderServiceToken.ts +++ b/packages/api-v2/src/hooks/useCtraderServiceToken.ts @@ -1,12 +1,8 @@ -import useQuery from '../useQuery'; -import useActiveAccount from './useActiveAccount'; +import useMutation from '../useMutation'; /** A custom hook that get Service Token for CTrader Platform. */ const useCtraderServiceToken = () => { - const { data: account } = useActiveAccount(); - const { data: ctrader_token, ...rest } = useQuery('service_token', { - payload: { service: 'ctrader', server: account?.is_virtual ? 'demo' : 'real' }, - }); + const { data: ctrader_token, ...rest } = useMutation('service_token'); return { /** return the ctrader account token */ diff --git a/packages/wallets/src/features/cfd/screens/MT5TradeScreen/MT5TradeLink/MT5TradeLink.tsx b/packages/wallets/src/features/cfd/screens/MT5TradeScreen/MT5TradeLink/MT5TradeLink.tsx index c0df1a1dd89a..0b0a9457789d 100644 --- a/packages/wallets/src/features/cfd/screens/MT5TradeScreen/MT5TradeLink/MT5TradeLink.tsx +++ b/packages/wallets/src/features/cfd/screens/MT5TradeScreen/MT5TradeLink/MT5TradeLink.tsx @@ -15,20 +15,34 @@ type TMT5TradeLinkProps = { }; const MT5TradeLink: FC = ({ app = 'linux', isDemo = false, platform, webtraderUrl = '' }) => { - const { data: ctraderToken } = useCtraderServiceToken(); + const { mutateAsync: requestToken } = useCtraderServiceToken(); const { t } = useTranslation(); const { icon, link, text, title } = AppToContentMapper[app]; - const onClickWebTerminal = () => { + const getCtraderToken = () => { + const cTraderTokenResponse = requestToken({ + payload: { server: isDemo ? 'demo' : 'real', service: CFD_PLATFORMS.CTRADER }, + }); + return cTraderTokenResponse; + }; + + const onClickWebTerminal = async () => { const { isStaging, isTestLink } = getPlatformFromUrl(); - let url; + let url, ctraderToken, ctraderURL; switch (platform) { case CFD_PLATFORMS.DXTRADE: url = isDemo ? 'https://dx-demo.deriv.com' : 'https://dx.deriv.com'; break; case CFD_PLATFORMS.CTRADER: - url = isTestLink || isStaging ? 'https://ct-uat.deriv.com' : 'https://ct.deriv.com'; - if (ctraderToken) url += `?token=${ctraderToken}`; + await getCtraderToken().then(res => { + ctraderToken = res?.service_token?.ctrader?.token; + }); + ctraderURL = isTestLink || isStaging ? 'https://ct-uat.deriv.com' : 'https://ct.deriv.com'; + if (ctraderToken) { + url = `${ctraderURL}/?token=${ctraderToken}`; + } else { + url = ctraderURL; + } break; default: url = ''; From 7efac63f5a0101874c073d9345df4a46c79e927e Mon Sep 17 00:00:00 2001 From: ahmadtaimoor-deriv <129935294+ahmadtaimoor-deriv@users.noreply.github.com> Date: Tue, 21 May 2024 16:54:04 +0800 Subject: [PATCH 83/95] chore: card wrapper --- .../Components/CardWrapper/card-wrapper.scss | 13 +++++++++++++ .../Components/CardWrapper/card-wrapper.tsx | 17 +++++++++++++++++ .../src/AppV2/Components/CardWrapper/index.ts | 4 ++++ 3 files changed, 34 insertions(+) create mode 100644 packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.scss create mode 100644 packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.tsx create mode 100644 packages/trader/src/AppV2/Components/CardWrapper/index.ts diff --git a/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.scss b/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.scss new file mode 100644 index 000000000000..9e2060d68624 --- /dev/null +++ b/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.scss @@ -0,0 +1,13 @@ +.card-wrapper { + display: flex; + flex-direction: column; + justify-content: space-between; + background-color: #fff; + margin-top: 0.5rem; + padding: 1rem; + border-radius: 0.625rem; + + .title { + margin-bottom: 1rem; + } +} diff --git a/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.tsx b/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.tsx new file mode 100644 index 000000000000..14d111c15acb --- /dev/null +++ b/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.tsx @@ -0,0 +1,17 @@ +import { Text } from '@deriv-com/quill-ui'; +import React from 'react'; + +const CardWrapper = ({ title = 'Entry & exit details', children }: { title: string; children: React.ReactNode }) => { + return ( +
    + {title !== '' && ( + + {title} + + )} + {children} +
    + ); +}; + +export default CardWrapper; diff --git a/packages/trader/src/AppV2/Components/CardWrapper/index.ts b/packages/trader/src/AppV2/Components/CardWrapper/index.ts new file mode 100644 index 000000000000..75b3d0389d48 --- /dev/null +++ b/packages/trader/src/AppV2/Components/CardWrapper/index.ts @@ -0,0 +1,4 @@ +import CardWrapper from './card-wrapper'; +import './card-wrapper.scss'; + +export default CardWrapper; From e1c29b6bf318c7d380aa792e1c03c1e26887bff5 Mon Sep 17 00:00:00 2001 From: ahmadtaimoor-deriv <129935294+ahmadtaimoor-deriv@users.noreply.github.com> Date: Tue, 21 May 2024 17:03:33 +0800 Subject: [PATCH 84/95] chore: card wrapper --- .../src/AppV2/Components/CardWrapper/card-wrapper.scss | 5 +---- .../trader/src/AppV2/Components/CardWrapper/card-wrapper.tsx | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.scss b/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.scss index 9e2060d68624..0825598b67d4 100644 --- a/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.scss +++ b/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.scss @@ -1,8 +1,5 @@ .card-wrapper { - display: flex; - flex-direction: column; - justify-content: space-between; - background-color: #fff; + background-color: var(--core-color-solid-slate-50); margin-top: 0.5rem; padding: 1rem; border-radius: 0.625rem; diff --git a/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.tsx b/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.tsx index 14d111c15acb..d1da79cf9df7 100644 --- a/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.tsx +++ b/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.tsx @@ -1,7 +1,7 @@ import { Text } from '@deriv-com/quill-ui'; import React from 'react'; -const CardWrapper = ({ title = 'Entry & exit details', children }: { title: string; children: React.ReactNode }) => { +const CardWrapper = ({ title, children }: { title: string; children: React.ReactNode }) => { return (
    {title !== '' && ( From 0d02466412cbf0ac5b85e17928c0c06988424bea Mon Sep 17 00:00:00 2001 From: ahmadtaimoor-deriv <129935294+ahmadtaimoor-deriv@users.noreply.github.com> Date: Tue, 21 May 2024 17:05:03 +0800 Subject: [PATCH 85/95] chore: card wrapper --- .../trader/src/AppV2/Components/CardWrapper/card-wrapper.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.tsx b/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.tsx index d1da79cf9df7..8dd56b2333b7 100644 --- a/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.tsx +++ b/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.tsx @@ -1,10 +1,10 @@ import { Text } from '@deriv-com/quill-ui'; import React from 'react'; -const CardWrapper = ({ title, children }: { title: string; children: React.ReactNode }) => { +const CardWrapper = ({ title, children }: { title?: string; children: React.ReactNode }) => { return (
    - {title !== '' && ( + {title && ( {title} From d3811f7c52e2b44a45e6cfdb4628d9aa64abc6cf Mon Sep 17 00:00:00 2001 From: Henry Hein Date: Wed, 22 May 2024 09:09:09 +0800 Subject: [PATCH 86/95] fix: create risk management tool --- .../risk-management-info-modal.tsx | 41 +++++++++++++ .../Components/RiskManagementItem/index.ts | 4 ++ .../risk-management-item.scss | 17 ++++++ .../risk-management-item.tsx | 61 +++++++++++++++++++ .../ContractDetails/contract-details.tsx | 23 ++++--- 5 files changed, 137 insertions(+), 9 deletions(-) create mode 100644 packages/trader/src/AppV2/Components/RiskManagementInfoModal/risk-management-info-modal.tsx create mode 100644 packages/trader/src/AppV2/Components/RiskManagementItem/index.ts create mode 100644 packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.scss create mode 100644 packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx diff --git a/packages/trader/src/AppV2/Components/RiskManagementInfoModal/risk-management-info-modal.tsx b/packages/trader/src/AppV2/Components/RiskManagementInfoModal/risk-management-info-modal.tsx new file mode 100644 index 000000000000..65be3df679f5 --- /dev/null +++ b/packages/trader/src/AppV2/Components/RiskManagementInfoModal/risk-management-info-modal.tsx @@ -0,0 +1,41 @@ +import React from 'react'; +import { Modal } from '@deriv-com/quill-ui'; +import { Localize } from '@deriv/translations'; +import { LabelPairedCircleInfoSmRegularIcon } from '@deriv/quill-icons'; + +type RiskManagementInfoModalProps = { + header_content: React.ReactNode; + body_content: React.ReactNode; + is_deal_cancellation_enabled?: boolean; +}; + +const RiskManagementInfoModal = ({ + header_content, + body_content, + is_deal_cancellation_enabled = false, +}: RiskManagementInfoModalProps) => { + const [isVisible, setIsVisible] = React.useState(false); + return ( + <> + + } + shouldCloseOnPrimaryButtonClick + isMobile + showHandleBar + > + + + {body_content} + {is_deal_cancellation_enabled &&
    hello
    } +
    +
    + + ); +}; + +export default RiskManagementInfoModal; diff --git a/packages/trader/src/AppV2/Components/RiskManagementItem/index.ts b/packages/trader/src/AppV2/Components/RiskManagementItem/index.ts new file mode 100644 index 000000000000..043be75aa91b --- /dev/null +++ b/packages/trader/src/AppV2/Components/RiskManagementItem/index.ts @@ -0,0 +1,4 @@ +import RiskManagementItem from './risk-management-item'; +import './risk-management-item.scss'; + +export default RiskManagementItem; diff --git a/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.scss b/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.scss new file mode 100644 index 000000000000..482d430cc15a --- /dev/null +++ b/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.scss @@ -0,0 +1,17 @@ +.risk-management-item { + display: flex; + justify-content: space-between; + align-items: center; + gap: var(--semantic-spacing-gap-lg); + + &--container { + display: flex; + flex-direction: column; + gap: var(--semantic-spacing-gap-md); + } + + &--title { + display: flex; + gap: var(--semantic-spacing-gap-md); + } +} diff --git a/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx b/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx new file mode 100644 index 000000000000..f55866f1d5ae --- /dev/null +++ b/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx @@ -0,0 +1,61 @@ +import React from 'react'; +import { ActionSheet, Text, TextField, ToggleSwitch } from '@deriv-com/quill-ui'; +import { localize } from '@deriv/translations'; +import RiskManagementInfoModal from '../RiskManagementInfoModal/risk-management-info-modal'; + +type RiskManagementItemProps = { + label: React.ReactNode; + modal_body_content: React.ReactNode; + validation_message?: React.ReactNode; +}; + +const RiskManagementItem = ({ label, modal_body_content, validation_message }: RiskManagementItemProps) => { + const [toggle, setToggle] = React.useState(false); + const [isOpen, setIsOpen] = React.useState(false); + + return ( +
    +
    + + {label} + + + setToggle(!toggle)} /> +
    + {toggle && ( + setIsOpen(true)} + /> + )} + setIsOpen(false)}> + + + + + + { + //do the save + }, + }} + /> + + +
    + ); +}; + +export default RiskManagementItem; diff --git a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx index fd30f7703e82..78e958254b9b 100644 --- a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx +++ b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx @@ -4,7 +4,8 @@ import EntryExitDetails from 'AppV2/Components/EntryExitDetails'; import PayoutInfoModal from 'AppV2/Components/PayoutInfoModal'; import ChartPlaceholder from '../Chart'; import { Localize } from '@deriv/translations'; -import RiskManagementInfoModal from 'AppV2/Components/RiskManagementInfoModal/risk-management-info-modal'; +import RiskManagementItem from 'AppV2/Components/RiskManagementItem'; +import CardWrapper from 'AppV2/Components/CardWrapper'; const ContractDetails = () => { return ( @@ -20,17 +21,21 @@ const ContractDetails = () => {
    Contract card
    - Take Profit - } - body_content={} - />
    -
    - Take profit -
    + + } + modal_body_content={} + validation_message='hello' + /> + } + modal_body_content={} + validation_message='hello' + /> +
    Order details
    From f44c5a9457e442ca674398c505eac84ba90ba48b Mon Sep 17 00:00:00 2001 From: Henry Hein Date: Wed, 22 May 2024 09:44:50 +0800 Subject: [PATCH 87/95] fix: clean up contract details page --- .../trader/src/AppV2/Components/CardWrapper/card-wrapper.scss | 3 +++ .../src/AppV2/Containers/ContractDetails/contract-details.scss | 1 - packages/trader/src/AppV2/app.tsx | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.scss b/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.scss index 0825598b67d4..00b400d2fee2 100644 --- a/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.scss +++ b/packages/trader/src/AppV2/Components/CardWrapper/card-wrapper.scss @@ -3,6 +3,9 @@ margin-top: 0.5rem; padding: 1rem; border-radius: 0.625rem; + display: flex; + flex-direction: column; + gap: var(--semantic-spacing-gap-lg); .title { margin-bottom: 1rem; diff --git a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.scss b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.scss index 7ffe41180a11..1e10a14fc135 100644 --- a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.scss +++ b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.scss @@ -1,6 +1,5 @@ .contract-details { background-color: rgba(0, 0, 0, 0.48); - height: 88vh; padding: 8px; } .placeholder { diff --git a/packages/trader/src/AppV2/app.tsx b/packages/trader/src/AppV2/app.tsx index 7d32afa8a9c6..f09fe535e07c 100644 --- a/packages/trader/src/AppV2/app.tsx +++ b/packages/trader/src/AppV2/app.tsx @@ -27,7 +27,7 @@ const App = ({ passthrough }: Apptypes) => { return ( - + From b2496c9600dc06eea61af27fbb7796f2bbc9b1f0 Mon Sep 17 00:00:00 2001 From: Henry Hein Date: Wed, 22 May 2024 13:42:03 +0800 Subject: [PATCH 88/95] fix: add contract details footer and add deal cancellation to risk management --- .../src/AppV2/Components/BottomNav/bottom-nav.tsx | 2 ++ .../contract-details-footer.scss | 13 +++++++++++++ .../contract-details-footer.tsx | 13 +++++++++++++ .../Components/ContractDetailsFooter/index.ts | 4 ++++ .../RiskManagementItem/risk-management-item.tsx | 14 ++++++++++++-- .../ContractDetails/contract-details.tsx | 8 ++++++++ 6 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 packages/trader/src/AppV2/Components/ContractDetailsFooter/contract-details-footer.scss create mode 100644 packages/trader/src/AppV2/Components/ContractDetailsFooter/contract-details-footer.tsx create mode 100644 packages/trader/src/AppV2/Components/ContractDetailsFooter/index.ts diff --git a/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.tsx b/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.tsx index 797df82fe219..090595cf6ca1 100644 --- a/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.tsx +++ b/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.tsx @@ -9,6 +9,7 @@ import { } from '@deriv/quill-icons'; import BottomNavItem from './bottom-nav-item'; import { Badge } from '@deriv-com/quill-ui'; +import ContractDetailsFooter from '../ContractDetailsFooter'; type BottomNavProps = { className?: string; @@ -58,6 +59,7 @@ const BottomNav = ({ className, children }: BottomNavProps) => { return (
    {children[selectedIndex]}
    + {selectedIndex === 4 && }
    {bottomNavItems.map((item, index) => ( { + return ( +
    +
    + ); +}; + +export default ContractDetailsFooter; diff --git a/packages/trader/src/AppV2/Components/ContractDetailsFooter/index.ts b/packages/trader/src/AppV2/Components/ContractDetailsFooter/index.ts new file mode 100644 index 000000000000..0ceb14289514 --- /dev/null +++ b/packages/trader/src/AppV2/Components/ContractDetailsFooter/index.ts @@ -0,0 +1,4 @@ +import ContractDetailsFooter from './contract-details-footer'; +import './contract-details-footer.scss'; + +export default ContractDetailsFooter; diff --git a/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx b/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx index f55866f1d5ae..031af3aab9a0 100644 --- a/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx +++ b/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx @@ -7,9 +7,15 @@ type RiskManagementItemProps = { label: React.ReactNode; modal_body_content: React.ReactNode; validation_message?: React.ReactNode; + is_deal_cancellation?: boolean; }; -const RiskManagementItem = ({ label, modal_body_content, validation_message }: RiskManagementItemProps) => { +const RiskManagementItem = ({ + label, + modal_body_content, + validation_message, + is_deal_cancellation = false, +}: RiskManagementItemProps) => { const [toggle, setToggle] = React.useState(false); const [isOpen, setIsOpen] = React.useState(false); @@ -20,7 +26,11 @@ const RiskManagementItem = ({ label, modal_body_content, validation_message }: R {label} - setToggle(!toggle)} /> + {is_deal_cancellation ? ( +
    For now
    + ) : ( + setToggle(!toggle)} /> + )}
    {toggle && ( {
    + + } + modal_body_content={} + validation_message='hello' + is_deal_cancellation + /> + } From 0908a380cc9c891f1b1bf5f4bcdf7f010aec42e9 Mon Sep 17 00:00:00 2001 From: Henry Hein Date: Wed, 22 May 2024 14:52:37 +0800 Subject: [PATCH 89/95] fix: add a case for when take profit is disabled for ongoing contract --- .../Components/RiskManagementItem/risk-management-item.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx b/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx index 031af3aab9a0..b44ec3103221 100644 --- a/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx +++ b/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx @@ -18,6 +18,7 @@ const RiskManagementItem = ({ }: RiskManagementItemProps) => { const [toggle, setToggle] = React.useState(false); const [isOpen, setIsOpen] = React.useState(false); + const dummy_boolean = true; // This will be flag from backend return (
    @@ -26,9 +27,9 @@ const RiskManagementItem = ({ {label} - {is_deal_cancellation ? ( -
    For now
    - ) : ( + {dummy_boolean && 5 USD} + {is_deal_cancellation &&
    For now
    }{' '} + {!dummy_boolean && !is_deal_cancellation && ( setToggle(!toggle)} /> )}
    From a560f57afcbb306ba0f9a22bad463dc625748811 Mon Sep 17 00:00:00 2001 From: Henry Hein Date: Wed, 22 May 2024 14:53:35 +0800 Subject: [PATCH 90/95] fix: remove unncessary code --- .../Components/RiskManagementItem/risk-management-item.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx b/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx index b44ec3103221..fcedad7c91d4 100644 --- a/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx +++ b/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx @@ -28,7 +28,7 @@ const RiskManagementItem = ({ {dummy_boolean && 5 USD} - {is_deal_cancellation &&
    For now
    }{' '} + {is_deal_cancellation &&
    For now
    } {!dummy_boolean && !is_deal_cancellation && ( setToggle(!toggle)} /> )} From 82e21c9dfefc49a05a4d07da6d084731bc7de0a1 Mon Sep 17 00:00:00 2001 From: Henry Hein Date: Wed, 22 May 2024 15:25:20 +0800 Subject: [PATCH 91/95] chore: bump quill-ui version --- package-lock.json | 8 ++++---- packages/core/package.json | 2 +- packages/trader/package.json | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5c9376412746..91dd59e2ddc4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "@datadog/browser-rum": "^5.11.0", "@deriv-com/analytics": "1.4.13", "@deriv-com/quill-tokens": "^2.0.2", - "@deriv-com/quill-ui": "^1.10.2", + "@deriv-com/quill-ui": "^1.10.4", "@deriv-com/ui": "^1.14.5", "@deriv-com/utils": "^0.0.20", "@deriv/api-types": "^1.0.172", @@ -2983,9 +2983,9 @@ } }, "node_modules/@deriv-com/quill-ui": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/@deriv-com/quill-ui/-/quill-ui-1.10.2.tgz", - "integrity": "sha512-RSdX2bsZlSob3ntvMPj4qsAJurcVBI3mH0NRBIHWM88kDHa0wHAV8vNS4DcARG4LrX24IIL8VXZz4HOUGPlvaQ==", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@deriv-com/quill-ui/-/quill-ui-1.10.4.tgz", + "integrity": "sha512-PW1qmIadS+u0XUZ3C+B3ILwt//PByLy4lWK6CbW51nfWxuFNoFA2R7Ibvz/zHdeFIH02B4WOAMGYP0loYVgb2Q==", "dependencies": { "@deriv/quill-icons": "^1.19.20", "@headlessui/react": "^1.7.18", diff --git a/packages/core/package.json b/packages/core/package.json index 9e96fafdca15..591188fc45df 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -97,7 +97,7 @@ "@datadog/browser-rum": "^5.11.0", "@deriv-com/analytics": "1.4.13", "@deriv-com/quill-tokens": "^2.0.2", - "@deriv-com/quill-ui": "^1.10.3", + "@deriv-com/quill-ui": "^1.10.4", "@deriv-com/utils": "^0.0.20", "@deriv/account": "^1.0.0", "@deriv/account-v2": "^1.0.0", diff --git a/packages/trader/package.json b/packages/trader/package.json index c1ea6ccca9f1..5a929beb2888 100644 --- a/packages/trader/package.json +++ b/packages/trader/package.json @@ -90,7 +90,7 @@ "@cloudflare/stream-react": "^1.9.1", "@deriv-com/analytics": "1.4.13", "@deriv-com/quill-tokens": "^2.0.2", - "@deriv-com/quill-ui": "^1.10.3", + "@deriv-com/quill-ui": "^1.10.4", "@deriv-com/utils": "^0.0.20", "@deriv/api-types": "^1.0.172", "@deriv/components": "^1.0.0", From f0eefa5e10533ccddefd1ef6f272ceccbe36dc95 Mon Sep 17 00:00:00 2001 From: Henry Hein Date: Wed, 22 May 2024 16:18:06 +0800 Subject: [PATCH 92/95] fix: add tag component to deal cancellation widget --- .../risk-management-item.scss | 5 +++++ .../RiskManagementItem/risk-management-item.tsx | 17 ++++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.scss b/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.scss index 482d430cc15a..d50c778f3397 100644 --- a/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.scss +++ b/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.scss @@ -14,4 +14,9 @@ display: flex; gap: var(--semantic-spacing-gap-md); } + + .deal-cancellation-badge { + background-color: var(--semantic-color-monochrome-surface-normal-lowest); + border-radius: var(--semantic-borderRadius-sm); + } } diff --git a/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx b/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx index fcedad7c91d4..96d22c5efb7e 100644 --- a/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx +++ b/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx @@ -1,7 +1,8 @@ import React from 'react'; -import { ActionSheet, Text, TextField, ToggleSwitch } from '@deriv-com/quill-ui'; +import { ActionSheet, Tag, Text, TextField, ToggleSwitch } from '@deriv-com/quill-ui'; import { localize } from '@deriv/translations'; import RiskManagementInfoModal from '../RiskManagementInfoModal/risk-management-info-modal'; +import { LabelPairedStopwatchCaptionRegularIcon } from '@deriv/quill-icons'; type RiskManagementItemProps = { label: React.ReactNode; @@ -27,8 +28,18 @@ const RiskManagementItem = ({ {label} - {dummy_boolean && 5 USD} - {is_deal_cancellation &&
    For now
    } + {dummy_boolean && !is_deal_cancellation && 5 USD} + {/* {is_deal_cancellation &&
    For now
    } */} + {is_deal_cancellation && ( + + )} {!dummy_boolean && !is_deal_cancellation && ( setToggle(!toggle)} /> )} From d64fe86656464c4cb5e7bfa1ede937f35e32faa2 Mon Sep 17 00:00:00 2001 From: ahmadtaimoor-deriv <129935294+ahmadtaimoor-deriv@users.noreply.github.com> Date: Thu, 23 May 2024 14:49:58 +0800 Subject: [PATCH 93/95] chore: useContractDetail hook --- .../core/src/Stores/contract-replay-store.js | 2 -- .../ContractDetails/contract-details.tsx | 4 +++ .../src/AppV2/Hooks/useContractDetails.ts | 27 +++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 packages/trader/src/AppV2/Hooks/useContractDetails.ts diff --git a/packages/core/src/Stores/contract-replay-store.js b/packages/core/src/Stores/contract-replay-store.js index 39f3b90f372f..611827fbb0a8 100644 --- a/packages/core/src/Stores/contract-replay-store.js +++ b/packages/core/src/Stores/contract-replay-store.js @@ -121,8 +121,6 @@ export default class ContractReplayStore extends BaseStore { } populateConfig(response) { - if (!this.switch_account_listener) return; - if ('error' in response) { const { code, message } = response.error; this.has_error = true; diff --git a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx index 887ec4498d52..e6cd2ad88f1c 100644 --- a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx +++ b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx @@ -6,8 +6,12 @@ import ChartPlaceholder from '../Chart'; import { Localize } from '@deriv/translations'; import RiskManagementItem from 'AppV2/Components/RiskManagementItem'; import CardWrapper from 'AppV2/Components/CardWrapper'; +// import useContractDetails from 'AppV2/Hooks/useContractDetails'; const ContractDetails = () => { + // const { contract_info } = useContractDetails(); + + // if (!contract_info.underlying) return null; return (
    diff --git a/packages/trader/src/AppV2/Hooks/useContractDetails.ts b/packages/trader/src/AppV2/Hooks/useContractDetails.ts new file mode 100644 index 000000000000..fadc3cb673f4 --- /dev/null +++ b/packages/trader/src/AppV2/Hooks/useContractDetails.ts @@ -0,0 +1,27 @@ +import { useEffect } from 'react'; +import { useLocation } from 'react-router'; +import { useStore } from '@deriv/stores'; + +const useContractDetails = () => { + const store = useStore(); + const { contract_replay } = store; + const { contract_store, onMount, onUnmount } = contract_replay; + const location = useLocation(); + const { contract_info } = contract_store; + + useEffect(() => { + const url_array = /[^/]*$/.exec(location.pathname); + const url_contract_id = url_array ? +url_array[0] : undefined; + onMount(url_contract_id); + + return () => { + onUnmount(); + }; + }, [location, onMount, onUnmount]); + + return { + contract_info, + }; +}; + +export default useContractDetails; From 47e463ae96afa2465ae463f4865dde56396d1fe4 Mon Sep 17 00:00:00 2001 From: ahmadtaimoor-deriv <129935294+ahmadtaimoor-deriv@users.noreply.github.com> Date: Thu, 23 May 2024 14:51:56 +0800 Subject: [PATCH 94/95] chore: useContractDetail hook --- .../src/AppV2/Containers/ContractDetails/contract-details.tsx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx index e6cd2ad88f1c..887ec4498d52 100644 --- a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx +++ b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx @@ -6,12 +6,8 @@ import ChartPlaceholder from '../Chart'; import { Localize } from '@deriv/translations'; import RiskManagementItem from 'AppV2/Components/RiskManagementItem'; import CardWrapper from 'AppV2/Components/CardWrapper'; -// import useContractDetails from 'AppV2/Hooks/useContractDetails'; const ContractDetails = () => { - // const { contract_info } = useContractDetails(); - - // if (!contract_info.underlying) return null; return (
    From 1b34634eba40dbee9abe9b4a1fdf030f700edd0a Mon Sep 17 00:00:00 2001 From: Henry Hein Date: Tue, 28 May 2024 16:23:11 +0800 Subject: [PATCH 95/95] fix: connect deal cancellation widget to store --- .../AppV2/Components/BottomNav/bottom-nav.tsx | 2 +- .../deal-cancellation-remaining-time.tsx | 41 +++++++++++++++++++ .../risk-management-item.tsx | 19 ++------- .../ContractDetails/contract-details.tsx | 29 ++++++++----- .../src/AppV2/Hooks/useContractDetails.ts | 17 ++++---- 5 files changed, 74 insertions(+), 34 deletions(-) create mode 100644 packages/trader/src/AppV2/Components/DealCancellationRemainingTime/deal-cancellation-remaining-time.tsx diff --git a/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.tsx b/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.tsx index 090595cf6ca1..cc6d4dfe4ee9 100644 --- a/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.tsx +++ b/packages/trader/src/AppV2/Components/BottomNav/bottom-nav.tsx @@ -54,7 +54,7 @@ const bottomNavItems = [ ]; const BottomNav = ({ className, children }: BottomNavProps) => { - const [selectedIndex, setSelectedIndex] = React.useState(0); + const [selectedIndex, setSelectedIndex] = React.useState(4); return (
    diff --git a/packages/trader/src/AppV2/Components/DealCancellationRemainingTime/deal-cancellation-remaining-time.tsx b/packages/trader/src/AppV2/Components/DealCancellationRemainingTime/deal-cancellation-remaining-time.tsx new file mode 100644 index 000000000000..e03d890b4854 --- /dev/null +++ b/packages/trader/src/AppV2/Components/DealCancellationRemainingTime/deal-cancellation-remaining-time.tsx @@ -0,0 +1,41 @@ +import { Tag } from '@deriv-com/quill-ui'; +import { LabelPairedStopwatchCaptionRegularIcon } from '@deriv/quill-icons'; +import { formatDuration, getDiffDuration } from '@deriv/shared'; +import { observer, useStore } from '@deriv/stores'; +import useContractDetails from 'AppV2/Hooks/useContractDetails'; +import React from 'react'; + +type DealCancellationRemainingTimeProps = { + end_time?: number; + format?: string; +}; + +const DealCancellationRemainingTime = observer(({ format = 'mm:ss' }: DealCancellationRemainingTimeProps) => { + const { common } = useStore(); + const { server_time: start_time } = common; + const { contract_info } = useContractDetails(); + + const { date_expiry: end_time } = contract_info.cancellation || {}; + if (!end_time || start_time.unix() > +end_time) { + return {''}; + } + + const { timestamp } = formatDuration(getDiffDuration(start_time.unix(), end_time), format); + + const is_zeroes = /^00:00$/.test(timestamp); + + return ( + + + + ); +}); + +export default DealCancellationRemainingTime; diff --git a/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx b/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx index 96d22c5efb7e..cd75fe5419c9 100644 --- a/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx +++ b/packages/trader/src/AppV2/Components/RiskManagementItem/risk-management-item.tsx @@ -1,8 +1,8 @@ import React from 'react'; -import { ActionSheet, Tag, Text, TextField, ToggleSwitch } from '@deriv-com/quill-ui'; +import { ActionSheet, Text, TextField, ToggleSwitch } from '@deriv-com/quill-ui'; import { localize } from '@deriv/translations'; import RiskManagementInfoModal from '../RiskManagementInfoModal/risk-management-info-modal'; -import { LabelPairedStopwatchCaptionRegularIcon } from '@deriv/quill-icons'; +import DealCancellationRemainingTime from '../DealCancellationRemainingTime/deal-cancellation-remaining-time'; type RiskManagementItemProps = { label: React.ReactNode; @@ -28,18 +28,8 @@ const RiskManagementItem = ({ {label} - {dummy_boolean && !is_deal_cancellation && 5 USD} - {/* {is_deal_cancellation &&
    For now
    } */} - {is_deal_cancellation && ( - - )} + {dummy_boolean && !is_deal_cancellation && 5 USD} + {is_deal_cancellation && } {!dummy_boolean && !is_deal_cancellation && ( setToggle(!toggle)} /> )} @@ -79,5 +69,4 @@ const RiskManagementItem = ({
    ); }; - export default RiskManagementItem; diff --git a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx index 887ec4498d52..e2058c99d4b7 100644 --- a/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx +++ b/packages/trader/src/AppV2/Containers/ContractDetails/contract-details.tsx @@ -6,8 +6,15 @@ import ChartPlaceholder from '../Chart'; import { Localize } from '@deriv/translations'; import RiskManagementItem from 'AppV2/Components/RiskManagementItem'; import CardWrapper from 'AppV2/Components/CardWrapper'; +import { observer } from '@deriv/stores'; +import useContractDetails from 'AppV2/Hooks/useContractDetails'; +import { isValidToCancel } from '@deriv/shared'; + +const ContractDetails = observer(() => { + const { contract_info, is_loading } = useContractDetails(); + if (is_loading) return <>; + const is_valid_to_cancel = isValidToCancel(contract_info); -const ContractDetails = () => { return (
    @@ -24,14 +31,16 @@ const ContractDetails = () => {
    - - } - modal_body_content={} - validation_message='hello' - is_deal_cancellation - /> - + {is_valid_to_cancel && ( + + } + modal_body_content={} + validation_message='hello' + is_deal_cancellation + /> + + )} } @@ -50,6 +59,6 @@ const ContractDetails = () => {
    ); -}; +}); export default ContractDetails; diff --git a/packages/trader/src/AppV2/Hooks/useContractDetails.ts b/packages/trader/src/AppV2/Hooks/useContractDetails.ts index fadc3cb673f4..9fd8da6b3bb6 100644 --- a/packages/trader/src/AppV2/Hooks/useContractDetails.ts +++ b/packages/trader/src/AppV2/Hooks/useContractDetails.ts @@ -1,4 +1,4 @@ -import { useEffect } from 'react'; +import { useEffect, useRef } from 'react'; import { useLocation } from 'react-router'; import { useStore } from '@deriv/stores'; @@ -10,17 +10,18 @@ const useContractDetails = () => { const { contract_info } = contract_store; useEffect(() => { - const url_array = /[^/]*$/.exec(location.pathname); - const url_contract_id = url_array ? +url_array[0] : undefined; - onMount(url_contract_id); + if (!contract_info.contract_id) { + const url_array = /[^/]*$/.exec(location.pathname); + const url_contract_id = url_array ? +url_array[0] : undefined; + onMount(url_contract_id); + } - return () => { - onUnmount(); - }; - }, [location, onMount, onUnmount]); + // TODO: need to unmount whenever pathname changes + }, [location.pathname, onMount, contract_info.contract_id]); return { contract_info, + is_loading: !contract_info.contract_id, }; };