From 0f8e164e8e1f3a6ca9a8c119822d5cadb106326d Mon Sep 17 00:00:00 2001 From: David Angulo Date: Thu, 25 Mar 2021 19:38:56 -0600 Subject: [PATCH 0001/1383] feat: Add 'Automatic' option for desk theme --- frappe/core/doctype/user/user.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/core/doctype/user/user.json b/frappe/core/doctype/user/user.json index 747ace5de6..10e9e63d0e 100644 --- a/frappe/core/doctype/user/user.json +++ b/frappe/core/doctype/user/user.json @@ -594,7 +594,7 @@ "fieldname": "desk_theme", "fieldtype": "Select", "label": "Desk Theme", - "options": "Light\nDark" + "options": "Light\nDark\nAutomatic" }, { "fieldname": "module_profile", From bfce0ca52f4d6695955c4ae950b2ab1d50fde5c1 Mon Sep 17 00:00:00 2001 From: David Angulo Date: Thu, 25 Mar 2021 19:39:15 -0600 Subject: [PATCH 0002/1383] feat: Add desk_theme to bootinfo --- frappe/sessions.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/frappe/sessions.py b/frappe/sessions.py index 3babf1db12..bb54418a17 100644 --- a/frappe/sessions.py +++ b/frappe/sessions.py @@ -159,6 +159,8 @@ def get(): bootinfo["setup_complete"] = cint(frappe.db.get_single_value('System Settings', 'setup_complete')) bootinfo["is_first_startup"] = cint(frappe.db.get_single_value('System Settings', 'is_first_startup')) + bootinfo['desk_theme'] = frappe.db.get_value("User", frappe.session.user, "desk_theme") or 'Light' + return bootinfo def get_csrf_token(): From 72126a8645e0112c4ce5925d4e54efcc534483fe Mon Sep 17 00:00:00 2001 From: David Angulo Date: Thu, 25 Mar 2021 19:41:19 -0600 Subject: [PATCH 0003/1383] feat: Change default desk theme behaviour --- frappe/www/app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/www/app.py b/frappe/www/app.py index 6088c413dc..656ebbe45c 100644 --- a/frappe/www/app.py +++ b/frappe/www/app.py @@ -46,7 +46,7 @@ def get_context(context): "include_css": hooks["app_include_css"], "sounds": hooks["sounds"], "boot": boot if context.get("for_mobile") else boot_json, - "desk_theme": desk_theme or "Light", + "desk_theme": desk_theme if not desk_theme == 'Automatic' else 'Light', "csrf_token": csrf_token, "google_analytics_id": frappe.conf.get("google_analytics_id"), "google_analytics_anonymize_ip": frappe.conf.get("google_analytics_anonymize_ip"), From 1100180576a3560774f6b7f210479e87ae43297d Mon Sep 17 00:00:00 2001 From: David Angulo Date: Thu, 25 Mar 2021 19:43:51 -0600 Subject: [PATCH 0004/1383] feat: Add listener to system theme change, to update desk theme accordingly --- frappe/public/js/frappe/desk.js | 6 +++++ frappe/public/js/frappe/ui/theme_switcher.js | 26 +++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/desk.js b/frappe/public/js/frappe/desk.js index 250d308b7e..8094c0261b 100644 --- a/frappe/public/js/frappe/desk.js +++ b/frappe/public/js/frappe/desk.js @@ -63,6 +63,12 @@ frappe.Application = Class.extend({ } }); + if(frappe.boot.desk_theme == 'Automatic') { + frappe.ui.add_system_theme_switch_listener(); + const startup_theme = frappe.ui.dark_theme_media_query.matches ? 'dark' : 'light'; + frappe.ui.toggle_theme(startup_theme); + } + this.set_rtl(); // page container diff --git a/frappe/public/js/frappe/ui/theme_switcher.js b/frappe/public/js/frappe/ui/theme_switcher.js index 317198bca5..d78dd6455c 100644 --- a/frappe/public/js/frappe/ui/theme_switcher.js +++ b/frappe/public/js/frappe/ui/theme_switcher.js @@ -82,11 +82,15 @@ frappe.ui.ThemeSwitcher = class ThemeSwitcher { return preview; } - toggle_theme(theme) { + toggle_theme(theme, save_preferences=true) { this.current_theme = theme.toLowerCase(); document.documentElement.setAttribute("data-theme", this.current_theme); frappe.show_alert("Theme Changed", 3); + if(!save_preferences) { + return; + } + frappe.xcall("frappe.core.doctype.user.user.switch_theme", { theme: toTitle(theme) }); @@ -99,3 +103,23 @@ frappe.ui.ThemeSwitcher = class ThemeSwitcher { this.dialog.hide(); } }; + +frappe.ui.add_system_theme_switch_listener = function() { + const toggle_theme = frappe.ui.toggle_theme; + + frappe.ui.dark_theme_media_query.addEventListener('change', function(e) { + if (e.matches) { + toggle_theme('dark'); + return; + } + + toggle_theme('light'); + }) +} + +frappe.ui.dark_theme_media_query = window.matchMedia("(prefers-color-scheme: dark)"); + +frappe.ui.toggle_theme = function(theme) { + const theme_switcher = new frappe.ui.ThemeSwitcher(); + theme_switcher.toggle_theme(theme, false); +} \ No newline at end of file From c1fd70b997484797a6f3d464ab4ab807c08fc935 Mon Sep 17 00:00:00 2001 From: David Angulo Date: Thu, 25 Mar 2021 20:51:58 -0600 Subject: [PATCH 0005/1383] feat: Add options to ThemeSwitcher.toggle_theme to configure if we want to show an alert and save preferences on change --- frappe/public/js/frappe/ui/theme_switcher.js | 22 ++++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/frappe/public/js/frappe/ui/theme_switcher.js b/frappe/public/js/frappe/ui/theme_switcher.js index d78dd6455c..fb43c1fae0 100644 --- a/frappe/public/js/frappe/ui/theme_switcher.js +++ b/frappe/public/js/frappe/ui/theme_switcher.js @@ -82,18 +82,19 @@ frappe.ui.ThemeSwitcher = class ThemeSwitcher { return preview; } - toggle_theme(theme, save_preferences=true) { + toggle_theme(theme, options = {save_preferences:true, show_alert:true}) { this.current_theme = theme.toLowerCase(); document.documentElement.setAttribute("data-theme", this.current_theme); - frappe.show_alert("Theme Changed", 3); - if(!save_preferences) { - return; + if (options && options.show_alert) { + frappe.show_alert("Theme Changed", 3); + } + + if(options && options.save_preferences) { + frappe.xcall("frappe.core.doctype.user.user.switch_theme", { + theme: toTitle(theme) + }); } - - frappe.xcall("frappe.core.doctype.user.user.switch_theme", { - theme: toTitle(theme) - }); } show() { this.dialog.show(); @@ -121,5 +122,8 @@ frappe.ui.dark_theme_media_query = window.matchMedia("(prefers-color-scheme: dar frappe.ui.toggle_theme = function(theme) { const theme_switcher = new frappe.ui.ThemeSwitcher(); - theme_switcher.toggle_theme(theme, false); + theme_switcher.toggle_theme(theme, { + save_preferences: false, + show_alert: false + }); } \ No newline at end of file From a1579db65dde95520705100176dd7ddff637e5a9 Mon Sep 17 00:00:00 2001 From: David Angulo Date: Thu, 25 Mar 2021 21:08:05 -0600 Subject: [PATCH 0006/1383] fix: fix sider validation --- frappe/public/js/frappe/desk.js | 2 +- frappe/public/js/frappe/ui/theme_switcher.js | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frappe/public/js/frappe/desk.js b/frappe/public/js/frappe/desk.js index 8094c0261b..682f730d3c 100644 --- a/frappe/public/js/frappe/desk.js +++ b/frappe/public/js/frappe/desk.js @@ -63,7 +63,7 @@ frappe.Application = Class.extend({ } }); - if(frappe.boot.desk_theme == 'Automatic') { + if (frappe.boot.desk_theme == 'Automatic') { frappe.ui.add_system_theme_switch_listener(); const startup_theme = frappe.ui.dark_theme_media_query.matches ? 'dark' : 'light'; frappe.ui.toggle_theme(startup_theme); diff --git a/frappe/public/js/frappe/ui/theme_switcher.js b/frappe/public/js/frappe/ui/theme_switcher.js index fb43c1fae0..56263824dd 100644 --- a/frappe/public/js/frappe/ui/theme_switcher.js +++ b/frappe/public/js/frappe/ui/theme_switcher.js @@ -82,7 +82,7 @@ frappe.ui.ThemeSwitcher = class ThemeSwitcher { return preview; } - toggle_theme(theme, options = {save_preferences:true, show_alert:true}) { + toggle_theme(theme, options = { save_preferences:true, show_alert:true }) { this.current_theme = theme.toLowerCase(); document.documentElement.setAttribute("data-theme", this.current_theme); @@ -90,7 +90,7 @@ frappe.ui.ThemeSwitcher = class ThemeSwitcher { frappe.show_alert("Theme Changed", 3); } - if(options && options.save_preferences) { + if (options && options.save_preferences) { frappe.xcall("frappe.core.doctype.user.user.switch_theme", { theme: toTitle(theme) }); @@ -115,8 +115,8 @@ frappe.ui.add_system_theme_switch_listener = function() { } toggle_theme('light'); - }) -} + }); +}; frappe.ui.dark_theme_media_query = window.matchMedia("(prefers-color-scheme: dark)"); @@ -126,4 +126,4 @@ frappe.ui.toggle_theme = function(theme) { save_preferences: false, show_alert: false }); -} \ No newline at end of file +}; \ No newline at end of file From 2f32c4f19698c1031fa2fa83dcd3fd8b19051b4f Mon Sep 17 00:00:00 2001 From: David Angulo Date: Fri, 26 Mar 2021 10:01:18 -0600 Subject: [PATCH 0007/1383] fix: fix sider validation --- frappe/public/js/frappe/ui/theme_switcher.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/ui/theme_switcher.js b/frappe/public/js/frappe/ui/theme_switcher.js index 56263824dd..fbf6575bc4 100644 --- a/frappe/public/js/frappe/ui/theme_switcher.js +++ b/frappe/public/js/frappe/ui/theme_switcher.js @@ -82,7 +82,7 @@ frappe.ui.ThemeSwitcher = class ThemeSwitcher { return preview; } - toggle_theme(theme, options = { save_preferences:true, show_alert:true }) { + toggle_theme(theme, options = { save_preferences: true, show_alert: true }) { this.current_theme = theme.toLowerCase(); document.documentElement.setAttribute("data-theme", this.current_theme); From e00eb958367fc7567cf1a51f0370e64a57b8f95c Mon Sep 17 00:00:00 2001 From: David Angulo Date: Tue, 6 Apr 2021 10:35:56 -0500 Subject: [PATCH 0008/1383] fix: Update modified timestamp so the update will pickup the changes --- frappe/core/doctype/user/user.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/core/doctype/user/user.json b/frappe/core/doctype/user/user.json index 10e9e63d0e..4d8d907ee6 100644 --- a/frappe/core/doctype/user/user.json +++ b/frappe/core/doctype/user/user.json @@ -669,7 +669,7 @@ } ], "max_attachments": 5, - "modified": "2021-02-01 16:11:06.037543", + "modified": "2021-04-06 16:11:06.037543", "modified_by": "Administrator", "module": "Core", "name": "User", From 902676ffb3bca6b3087eb7da54acdbc549da5887 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Sun, 2 May 2021 16:15:03 +0530 Subject: [PATCH 0009/1383] feat: Wiki based desk page --- .../doctype/internal_wiki_page/__init__.py | 0 .../internal_wiki_page/internal_wiki_page.js | 8 + .../internal_wiki_page.json | 87 + .../internal_wiki_page/internal_wiki_page.py | 45 + .../test_internal_wiki_page.py | 10 + frappe/desk/page/wiki/__init__.py | 0 frappe/desk/page/wiki/wiki.js | 15 + frappe/desk/page/wiki/wiki.json | 19 + frappe/public/build.json | 3 + frappe/public/js/frappe/router.js | 4 + frappe/public/js/frappe/views/wiki.js | 426 + .../public/js/frappe/widgets/widget_group.js | 43 + frappe/public/js/frappe/wiki_blocks/blank.js | 111 + frappe/public/js/frappe/wiki_blocks/blocks.js | 23 + frappe/public/js/frappe/wiki_blocks/card.js | 155 + frappe/public/js/frappe/wiki_blocks/chart.js | 156 + .../public/js/frappe/wiki_blocks/paragraph.js | 210 + .../public/js/frappe/wiki_blocks/shortcut.js | 153 + .../js/frappe/wiki_blocks/spacing_tune.js | 554 + frappe/public/scss/desk/index.scss | 1 + frappe/public/scss/desk/wiki.scss | 154 + package.json | 5 + yarn.lock | 14973 ++++++++-------- 23 files changed, 9832 insertions(+), 7323 deletions(-) create mode 100644 frappe/desk/doctype/internal_wiki_page/__init__.py create mode 100644 frappe/desk/doctype/internal_wiki_page/internal_wiki_page.js create mode 100644 frappe/desk/doctype/internal_wiki_page/internal_wiki_page.json create mode 100644 frappe/desk/doctype/internal_wiki_page/internal_wiki_page.py create mode 100644 frappe/desk/doctype/internal_wiki_page/test_internal_wiki_page.py create mode 100644 frappe/desk/page/wiki/__init__.py create mode 100644 frappe/desk/page/wiki/wiki.js create mode 100644 frappe/desk/page/wiki/wiki.json create mode 100644 frappe/public/js/frappe/views/wiki.js create mode 100644 frappe/public/js/frappe/wiki_blocks/blank.js create mode 100644 frappe/public/js/frappe/wiki_blocks/blocks.js create mode 100644 frappe/public/js/frappe/wiki_blocks/card.js create mode 100644 frappe/public/js/frappe/wiki_blocks/chart.js create mode 100644 frappe/public/js/frappe/wiki_blocks/paragraph.js create mode 100644 frappe/public/js/frappe/wiki_blocks/shortcut.js create mode 100644 frappe/public/js/frappe/wiki_blocks/spacing_tune.js create mode 100644 frappe/public/scss/desk/wiki.scss diff --git a/frappe/desk/doctype/internal_wiki_page/__init__.py b/frappe/desk/doctype/internal_wiki_page/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/desk/doctype/internal_wiki_page/internal_wiki_page.js b/frappe/desk/doctype/internal_wiki_page/internal_wiki_page.js new file mode 100644 index 0000000000..ece4bd5080 --- /dev/null +++ b/frappe/desk/doctype/internal_wiki_page/internal_wiki_page.js @@ -0,0 +1,8 @@ +// Copyright (c) 2021, Frappe Technologies and contributors +// For license information, please see license.txt + +frappe.ui.form.on('Internal Wiki Page', { + // refresh: function(frm) { + + // } +}); diff --git a/frappe/desk/doctype/internal_wiki_page/internal_wiki_page.json b/frappe/desk/doctype/internal_wiki_page/internal_wiki_page.json new file mode 100644 index 0000000000..67180de25e --- /dev/null +++ b/frappe/desk/doctype/internal_wiki_page/internal_wiki_page.json @@ -0,0 +1,87 @@ +{ + "actions": [], + "autoname": "field:title", + "creation": "2021-05-02 14:44:26.490935", + "doctype": "DocType", + "editable_grid": 1, + "engine": "InnoDB", + "field_order": [ + "title", + "icon", + "parent_page", + "column_break_4", + "sequence_id", + "private", + "section_break_7", + "content" + ], + "fields": [ + { + "fieldname": "title", + "fieldtype": "Data", + "in_list_view": 1, + "label": "Title", + "reqd": 1, + "unique": 1 + }, + { + "fieldname": "icon", + "fieldtype": "Data", + "label": "Icon" + }, + { + "fieldname": "parent_page", + "fieldtype": "Data", + "label": "Parent Page" + }, + { + "fieldname": "column_break_4", + "fieldtype": "Column Break" + }, + { + "fieldname": "sequence_id", + "fieldtype": "Int", + "in_list_view": 1, + "label": "Sequence Id" + }, + { + "default": "0", + "fieldname": "private", + "fieldtype": "Check", + "label": "Private" + }, + { + "fieldname": "section_break_7", + "fieldtype": "Section Break" + }, + { + "fieldname": "content", + "fieldtype": "Long Text", + "label": "Content" + } + ], + "index_web_pages_for_search": 1, + "links": [], + "modified": "2021-05-02 16:06:35.033197", + "modified_by": "Administrator", + "module": "Desk", + "name": "Internal Wiki Page", + "owner": "Administrator", + "permissions": [ + { + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "System Manager", + "share": 1, + "write": 1 + } + ], + "sort_field": "modified", + "sort_order": "DESC", + "track_changes": 1 +} \ No newline at end of file diff --git a/frappe/desk/doctype/internal_wiki_page/internal_wiki_page.py b/frappe/desk/doctype/internal_wiki_page/internal_wiki_page.py new file mode 100644 index 0000000000..ea9a3a4dc5 --- /dev/null +++ b/frappe/desk/doctype/internal_wiki_page/internal_wiki_page.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2021, Frappe Technologies and contributors +# For license information, please see license.txt + +from __future__ import unicode_literals +import frappe, json +from frappe import _ +from frappe.model.document import Document + +class InternalWikiPage(Document): + + def before_insert(self): + if frappe.db.count('Internal Wiki Page') == 0: + self.sequence_id = 1 + else: + self.sequence_id = frappe.get_last_doc('Internal Wiki Page').sequence_id + 1 + +@frappe.whitelist() +def save_wiki_page(title, parent, blocks, save=True): + if save: + if not frappe.db.exists("Workspace", title): + wspace = frappe.new_doc('Workspace') + wspace.label = title + wspace.insert() + + doc = frappe.new_doc('Internal Wiki Page') + doc.title = title + doc.parent_page = parent + doc.content = blocks + doc.insert() + else: + doc = frappe.get_doc('Internal Wiki Page', title) + doc.content = blocks + doc.save() + + return doc.title + +@frappe.whitelist() +def get_page_content(page): + return frappe.db.get_value("Internal Wiki Page", page, "content") + +@frappe.whitelist() +def get_pages(): + return frappe.db.get_list('Internal Wiki Page', fields=['name', 'icon', 'private', 'parent_page', 'sequence_id'], + order_by="sequence_id asc") \ No newline at end of file diff --git a/frappe/desk/doctype/internal_wiki_page/test_internal_wiki_page.py b/frappe/desk/doctype/internal_wiki_page/test_internal_wiki_page.py new file mode 100644 index 0000000000..85623ad41a --- /dev/null +++ b/frappe/desk/doctype/internal_wiki_page/test_internal_wiki_page.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2021, Frappe Technologies and Contributors +# See license.txt +from __future__ import unicode_literals + +# import frappe +import unittest + +class TestInternalWikiPage(unittest.TestCase): + pass diff --git a/frappe/desk/page/wiki/__init__.py b/frappe/desk/page/wiki/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/desk/page/wiki/wiki.js b/frappe/desk/page/wiki/wiki.js new file mode 100644 index 0000000000..81ff2a7fa2 --- /dev/null +++ b/frappe/desk/page/wiki/wiki.js @@ -0,0 +1,15 @@ +frappe.provide('frappe.views') + +frappe.pages['wiki'].on_page_load = function(wrapper) { + frappe.ui.make_app_page({ + parent: wrapper, + name: "Wiki", + single_column: false, + }); + + frappe.wiki = new frappe.views.Wiki(wrapper); + + $(wrapper).bind('show', function () { + frappe.wiki.show(); + }); +} diff --git a/frappe/desk/page/wiki/wiki.json b/frappe/desk/page/wiki/wiki.json new file mode 100644 index 0000000000..f886264e1c --- /dev/null +++ b/frappe/desk/page/wiki/wiki.json @@ -0,0 +1,19 @@ +{ + "content": null, + "creation": "2021-05-02 14:50:05.327302", + "docstatus": 0, + "doctype": "Page", + "idx": 0, + "modified": "2021-05-02 14:50:05.327302", + "modified_by": "Administrator", + "module": "Desk", + "name": "wiki", + "owner": "Administrator", + "page_name": "wiki", + "roles": [], + "script": null, + "standard": "Yes", + "style": null, + "system_page": 0, + "title": "Wiki" +} \ No newline at end of file diff --git a/frappe/public/build.json b/frappe/public/build.json index 942871ee9b..4536e1d4bc 100755 --- a/frappe/public/build.json +++ b/frappe/public/build.json @@ -178,6 +178,7 @@ "public/js/frappe/views/breadcrumbs.js", "public/js/frappe/views/factory.js", "public/js/frappe/views/pageview.js", + "public/js/frappe/views/wiki.js", "public/js/frappe/ui/toolbar/awesome_bar.js", "public/js/frappe/ui/toolbar/energy_points_notifications.js", @@ -196,6 +197,8 @@ "public/js/frappe/widgets/widget_group.js", + "public/js/frappe/wiki_blocks/blocks.js", + "public/js/frappe/ui/sort_selector.html", "public/js/frappe/ui/sort_selector.js", diff --git a/frappe/public/js/frappe/router.js b/frappe/public/js/frappe/router.js index 5378294855..bf1f0c561f 100644 --- a/frappe/public/js/frappe/router.js +++ b/frappe/public/js/frappe/router.js @@ -119,6 +119,7 @@ frappe.router = { convert_to_standard_route(route) { // /app/settings = ["Workspaces", "Settings"] + // /app/wiki/accounting = ["wiki", "Accounting"] // /app/user = ["List", "User"] // /app/user/view/report = ["List", "User", "Report"] // /app/user/view/tree = ["Tree", "User"] @@ -129,6 +130,9 @@ frappe.router = { if (frappe.workspaces[route[0]]) { // workspace route = ['Workspaces', frappe.workspaces[route[0]].name]; + } else if (frappe.wiki_pages && frappe.wiki_pages[route[1]]) { + // wiki-pages + route = ['wiki', frappe.wiki_pages[route[1]].name]; } else if (this.routes[route[0]]) { // route route = this.set_doctype_route(route); diff --git a/frappe/public/js/frappe/views/wiki.js b/frappe/public/js/frappe/views/wiki.js new file mode 100644 index 0000000000..df62fe2039 --- /dev/null +++ b/frappe/public/js/frappe/views/wiki.js @@ -0,0 +1,426 @@ +import EditorJS from '@editorjs/editorjs'; +import Header from '@editorjs/header'; +import Checklist from '@editorjs/checklist'; +import List from '@editorjs/list'; +import Undo from 'editorjs-undo'; + +frappe.views.Wiki = class Wiki { + constructor(wrapper) { + this.wrapper = $(wrapper); + this.page = wrapper.page; + this.pages = {}; + this.sections = {}; + this.sidebar_items = {}; + this.sorted_sidebar_items = {} + this.tools = {} + this.isReadOnly = true; + this.prepare_container(); + this.setup_wiki_pages(); + } + + prepare_container() { + let list_sidebar = $(` + + `).appendTo(this.wrapper.find(".layout-side-section")); + this.sidebar = list_sidebar.find(".desk-sidebar"); + this.body = this.wrapper.find(".layout-main-section"); + // this.body.addClass("frappe-card"); + } + + setup_wiki_pages() { + this.get_pages().then(() => { + if(this.all_pages) { + frappe.wiki_pages = {}; + let root_pages = this.all_pages.filter(page => page.parent_page == '' || page.parent_page == null) + for (let page of this.all_pages || []) { + frappe.wiki_pages[frappe.router.slug(page.name)] = page; + } + frappe.router.route(); + this.make_sidebar(root_pages); + this.make_sidebar_sortable(); + } + }) + } + + make_sidebar_sortable() { + let me = this; + this.sidebar_sortable = Sortable.create(this.page.sidebar.find(".standard-sidebar-section").get(0), { + handle: ".standard-sidebar-item-container", + draggable: ".standard-sidebar-item-container", + animation: 150, + onEnd: function (evt){ + // let sb_items = me.all_pages.filter(page => page.parent_page == '' || page.parent_page == null) + // let startBlock = sb_items[evt.oldIndex]; + // let endBlock = sb_items[evt.newIndex]; + // startBlock.sequence_id = parseInt(me.sidebar.find('.standard-sidebar-item-container')[evt.oldIndex].getAttribute('item-sequence')); + // let oldName = me.sidebar.find('.standard-sidebar-item-container')[evt.oldIndex].getAttribute('item-name'); + // endBlock.sequence_id = parseInt(me.sidebar.find('.standard-sidebar-item-container')[evt.newIndex].getAttribute('item-sequence')); + // let newName = me.sidebar.find('.standard-sidebar-item-container')[evt.newIndex].getAttribute('item-name'); + // frappe.db.set_value('Internal Wiki Page', newName, {["sequence_id"]: startBlock.sequence_id}) + // frappe.db.set_value('Internal Wiki Page', oldName, {["sequence_id"]: endBlock.sequence_id}) + } + }); + } + + get_pages() { + return frappe.xcall("frappe.desk.doctype.internal_wiki_page.internal_wiki_page.get_pages").then(data => { + this.all_pages = data; + }); + } + + make_sidebar(items) { + if (this.sidebar.find('.standard-sidebar-section')[0]) { + this.sidebar.find('.standard-sidebar-section')[0].remove() + } + let sidebar_section = $(`
`); + + const get_sidebar_item = function (item) { + return $(` + + `); + }; + + const make_sidebar_category_item = item => { + if (item.name == this.get_page_to_show()) { + item.selected = true; + this.current_page_name = item.name; + } + + const get_child_item = function (item) { + return $(` + + `); + } + + const make_sidebar_child_item = item => { + let $child_item = get_child_item(item); + $child_item.appendTo(child_item_section) + this.sidebar_items[item.name] = $child_item; + } + + let $item = get_sidebar_item(item); + let drop_icon = $item.find('.drop-icon').get(0); + let child_item_section = $item.find('.sidebar-child-item').get(0); + if(this.all_pages.some(e => e.parent_page == item.name)) { + drop_icon.classList.remove('hidden'); + drop_icon.addEventListener('click', () => { + child_item_section.classList.toggle("hidden"); + }); + } + + let child_items = this.all_pages.filter(page => page.parent_page == item.name) + child_items.forEach(item => make_sidebar_child_item(item)); + + $item.appendTo(sidebar_section); + this.sidebar_items[item.name] = $item; + }; + + items.forEach(item => make_sidebar_category_item(item)); + + sidebar_section.appendTo(this.sidebar); + } + + show() { + if (!this.all_pages) { + // pages not yet loaded, call again after a bit + setTimeout(() => { + this.show(); + }, 500); + return; + } + let page = this.get_page_to_show(); + this.page.set_title(`${__(page)}`); + this.show_page(page); + this.get_content(page).then(() => { + this.get_data(page).then(() => { + if(this.content){ + this.tools = { + header: { + class: Header, + inlineToolbar: true + }, + paragraph: { + class: frappe.wiki_block.blocks['paragraph'], + inlineToolbar: true + }, + checklist: { + class: Checklist, + inlineToolbar: true, + }, + list: { + class: List, + inlineToolbar: true, + }, + chart: { + class: frappe.wiki_block.blocks['chart'], + config: { + page_data: this.page_data || [] + } + }, + card: { + class: frappe.wiki_block.blocks['card'], + config: { + page_data: this.page_data || [] + } + }, + shortcut: { + class: frappe.wiki_block.blocks['shortcut'], + config: { + page_data: this.page_data || [] + } + }, + blank: frappe.wiki_block.blocks['blank'], + spacingTune: frappe.wiki_block.tunes['spacing_tune'], + } + if(this.editor) { + this.editor.isReady.then(() => { + this.editor.configuration.tools.chart.config.page_data = this.page_data; + this.editor.configuration.tools.shortcut.config.page_data = this.page_data; + this.editor.configuration.tools.card.config.page_data = this.page_data; + this.editor.render({ + blocks: JSON.parse(this.content) || [] + }) + }) + } else { + this.initialize_editorjs(JSON.parse(this.content)); + } + } + }) + }) + } + + get_content(page) { + return frappe.xcall("frappe.desk.doctype.internal_wiki_page.internal_wiki_page.get_page_content", { + page: page + }).then(data => { + this.content = data; + }); + } + + get_data(page) { + return frappe.xcall("frappe.desk.desktop.get_desktop_page", { + page: page + }).then(data => { + this.page_data = data; + }); + } + + get_page_to_show() { + let default_page; + + if (localStorage.current_wiki_page) { + default_page = localStorage.current_wiki_page; + } else if (this.all_pages) { + default_page = this.all_pages[0].name; + } else { + default_page = "Home"; + } + + let page = frappe.get_route()[1] || default_page; + return page; + } + + show_page(page) { + if (this.current_page_name && this.pages[this.current_page_name]) { + this.pages[this.current_page_name].hide(); + } + + if (this.sidebar_items && this.sidebar_items[this.current_page_name]) { + this.sidebar_items[this.current_page_name][0].firstElementChild.classList.remove("selected"); + this.sidebar_items[page][0].firstElementChild.classList.add("selected"); + } + this.current_page_name = page; + localStorage.current_wiki_page = page; + + this.current_page = this.pages[page]; + + if (!this.body.find('#editorjs')[0]) { + this.$page = $(` +
+ `).appendTo(this.body); + } + + this.setup_actions(); + } + + setup_actions() { + this.page.clear_inner_toolbar(); + + this.page.set_secondary_action( + __("Customize"), + () => { + this.isReadOnly = false; + this.editor.readOnly.toggle(); + this.editor.isReady + .then(() => { + let me = this; + this.undo = new Undo({ editor: this.editor }); + this.undo.initialize({blocks: JSON.parse(this.content)}); + this.setup_customization_buttons(); + this.page_sortable = Sortable.create(this.page.main.find(".codex-editor__redactor").get(0), { + handle: ".ce-block", + animation: 150, + onEnd: function (evt){ + me.editor.blocks.move(evt.newIndex, evt.oldIndex); + }, + setData: function (dataTransfer, dragEl) { + //Do Nothing + } + }); + }) + }, + ); + + this.page.add_inner_button(__('Create Page'), () => { + this.initialize_new_page(); + }); + } + + setup_customization_buttons() { + this.page.clear_primary_action(); + this.page.clear_secondary_action(); + this.page.clear_inner_toolbar(); + + this.page.set_primary_action( + __("Save Customizations"), + () => { + this.page.clear_primary_action(); + this.page.clear_secondary_action(); + this.save_page(); + this.editor.readOnly.toggle(); + this.isReadOnly = true; + this.page_sortable.option("disabled", true); + }, + null, + __("Saving") + ); + + this.page.set_secondary_action( + __("Discard"), + () => { + this.page.clear_primary_action(); + this.page.clear_secondary_action(); + this.editor.readOnly.toggle(); + this.isReadOnly = true; + this.page_sortable.option("disabled", true); + this.reload(); + frappe.show_alert({ message: __("Customizations Discarded"), indicator: "info" }); + } + ); + } + + initialize_new_page() { + const d = new frappe.ui.Dialog({ + title: __('Set Title'), + fields: [ + { label: __('Title'), fieldtype: 'Data', fieldname: 'title'}, + { label: __('Parent'), fieldtype: 'Select', fieldname: 'parent', options: this.all_pages.map(pages => pages.name)} + ], + primary_action_label: __('Create'), + primary_action: (values) => { + d.hide(); + this.setup_customization_buttons(); + this.title = values.title; + this.parent = values.parent; + // const index = this.all_pages.findIndex(e => e.selected == true ) + // this.all_pages[index].selected = false; + // let item = {name: this.title, selected: true} + // this.make_sidebar([...this.all_pages, item], 'new') + this.editor.render({ + blocks: [ + { + type: "header", + data: { + text: this.title, + level: 2 + } + } + ] + }).then(() => { + if(this.editor.configuration.readOnly) { + this.isReadOnly = false; + this.editor.readOnly.toggle(); + } + this.dirty = false; + }) + } + }); + d.show(); + } + + initialize_editorjs(blocks) { + this.dirty = false; + const data = { + blocks: blocks || [] + } + this.editor = new EditorJS({ + tools: this.tools, + autofocus: false, + data, + tunes: ['spacingTune'], + onChange: () => { + this.dirty = true; + }, + readOnly: true, + }); + } + + save_page() { + frappe.dom.freeze(); + let save = true; + if (!this.title && this.current_page_name) { + this.title = this.current_page_name; + save = ''; + } + let me = this; + this.editor.save().then((outputData) => { + frappe.call({ + method: "frappe.desk.doctype.internal_wiki_page.internal_wiki_page.save_wiki_page", + args: { + title: me.title, + parent: me.parent || '', + blocks: JSON.stringify(outputData.blocks), + save: save + }, + callback: function(res) { + frappe.dom.unfreeze(); + if (res.message) { + frappe.show_alert({ message: __("Page Saved Successfully"), indicator: "green" }); + me.title = ''; + me.parent = ''; + me.reload(); + } + } + }); + }).catch((error) => { + console.log('Saving failed: ', error); + }); + } + + reload() { + this.setup_wiki_pages(); + this.dirty = false; + } +} diff --git a/frappe/public/js/frappe/widgets/widget_group.js b/frappe/public/js/frappe/widgets/widget_group.js index 20a8e14540..d1a5e3013c 100644 --- a/frappe/public/js/frappe/widgets/widget_group.js +++ b/frappe/public/js/frappe/widgets/widget_group.js @@ -186,4 +186,47 @@ export default class WidgetGroup { } } +export class SingleWidgetGroup { + constructor(opts) { + Object.assign(this, opts); + this.widgets_list = []; + this.widgets_dict = {}; + this.widget_order = []; + this.make(); + } + + make() { + this.add_widget(this.widgets); + } + + add_widget(widget) { + let widget_object = frappe.widget.make_widget({ + ...widget, + widget_type: this.type, + container: this.container, + height: this.height || null, + options: { + ...this.options, + on_delete: (name) => this.on_delete(name), + }, + }); + + this.widgets_list.push(widget_object); + this.widgets_dict[widget.name] = widget_object; + + return widget_object; + } + + customize() { + // if (!this.hidden) this.widget_area.show(); + this.widgets_list.forEach((wid) => { + wid.customize(this.options); + }); + + // this.options.allow_create && this.setup_new_widget(); + // this.options.allow_sorting && this.setup_sortable(); + } +} + frappe.widget.WidgetGroup = WidgetGroup; +frappe.widget.SingleWidgetGroup = SingleWidgetGroup; diff --git a/frappe/public/js/frappe/wiki_blocks/blank.js b/frappe/public/js/frappe/wiki_blocks/blank.js new file mode 100644 index 0000000000..fa1a950280 --- /dev/null +++ b/frappe/public/js/frappe/wiki_blocks/blank.js @@ -0,0 +1,111 @@ +export default class Blank { + static get toolbox() { + return { + title: 'Blank', + icon: '' + }; + } + + static get isReadOnlySupported() { + return true; + } + + constructor({data, api, config, readOnly}){ + this.data = data; + this.api = api; + this.config = config; + this.readOnly = readOnly; + this.col = this.data.col ? this.data.col : "12", + this.pt = this.data.pt ? this.data.pt : "0", + this.pr = this.data.pr ? this.data.pr : "0", + this.pb = this.data.pb ? this.data.pb : "0", + this.pl = this.data.pl ? this.data.pl : "0" + } + + render() { + this.wrapper = document.createElement('div'); + if (!this.readOnly) { + this.wrapper.innerText = 'Blank'; + this.wrapper.classList.add('widget', 'new-widget'); + this.wrapper.style.minHeight = 50 + 'px'; + } + return this.wrapper; + } + + save(blockContent) { + return { + col: this._getCol(), + pt: this._getPadding("t"), + pr: this._getPadding("r"), + pb: this._getPadding("b"), + pl: this._getPadding("l") + } + } + + rendered() { + var e = this.wrapper.parentNode.parentNode; + e.classList.add("col-" + this.col) + e.classList.add("pt-" + this.pt) + e.classList.add("pr-" + this.pr) + e.classList.add("pb-" + this.pb) + e.classList.add("pl-" + this.pl) + } + + _getCol() { + var e = 12, + t = "col-12", + n = this.wrapper.parentNode.parentNode, + r = new RegExp(/\bcol-.+?\b/, "g"); + if (n.className.match(r)) { + n.classList.forEach(function (e) { + e.match(r) && (t = e); + }); + var a = t.split("-"); + e = parseInt(a[1]); + } + return e; + } + + _getPadding() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l", + t = 0, + n = "p" + e + "-0", + r = this.wrapper.parentNode.parentNode, + a = new RegExp(/\pl-.+?\b/, "g"), + i = new RegExp(/\pr-.+?\b/, "g"), + o = new RegExp(/\pt-.+?\b/, "g"), + c = new RegExp(/\pb-.+?\b/, "g"); + if ("l" == e) { + if (r.className.match(a)) { + r.classList.forEach(function (e) { + e.match(a) && (n = e); + }); + var s = n.split("-"); + t = parseInt(s[1]); + } + } else if ("r" == e) { + if (r.className.match(i)) { + r.classList.forEach(function (e) { + e.match(i) && (n = e); + }); + var l = n.split("-"); + t = parseInt(l[1]); + } + } else if ("t" == e) { + if (r.className.match(o)) { + r.classList.forEach(function (e) { + e.match(o) && (n = e); + }); + var u = n.split("-"); + t = parseInt(u[1]); + } + } else if ("b" == e && r.className.match(c)) { + r.classList.forEach(function (e) { + e.match(c) && (n = e); + }); + var p = n.split("-"); + t = parseInt(p[1]); + } + return t; + } +} \ No newline at end of file diff --git a/frappe/public/js/frappe/wiki_blocks/blocks.js b/frappe/public/js/frappe/wiki_blocks/blocks.js new file mode 100644 index 0000000000..1b556eeaee --- /dev/null +++ b/frappe/public/js/frappe/wiki_blocks/blocks.js @@ -0,0 +1,23 @@ +// import blocks +import Paragraph from "../wiki_blocks/paragraph"; +import Card from "../wiki_blocks/card"; +import Chart from "../wiki_blocks/chart"; +import Shortcut from "../wiki_blocks/shortcut"; +import Blank from "../wiki_blocks/blank"; + +// import tunes +import SpacingTune from "../wiki_blocks/spacing_tune"; + +frappe.provide("frappe.wiki_block"); + +frappe.wiki_block.blocks = { + paragraph: Paragraph, + card: Card, + chart: Chart, + shortcut: Shortcut, + blank: Blank, +}; + +frappe.wiki_block.tunes = { + spacing_tune : SpacingTune +} \ No newline at end of file diff --git a/frappe/public/js/frappe/wiki_blocks/card.js b/frappe/public/js/frappe/wiki_blocks/card.js new file mode 100644 index 0000000000..12061e2d02 --- /dev/null +++ b/frappe/public/js/frappe/wiki_blocks/card.js @@ -0,0 +1,155 @@ +export default class Card { + static get toolbox() { + return { + title: 'Card', + icon: '' + }; + } + + static get isReadOnlySupported() { + return true; + } + + constructor({data, api, config, readOnly, block}){ + this.data = data; + this.api = api; + this.config = config; + this.readOnly = readOnly; + this.sections = {}; + this.col = this.data.col ? this.data.col : "12", + this.pt = this.data.pt ? this.data.pt : "0", + this.pr = this.data.pr ? this.data.pr : "0", + this.pb = this.data.pb ? this.data.pb : "0", + this.pl = this.data.pl ? this.data.pl : "0" + } + + render() { + let me = this; + this.wrapper = document.createElement('div'); + this._make_fieldgroup(this.wrapper, [{ + fieldtype: "Select", + label: "Card Name", + fieldname: "card_name", + options: this.config.page_data.cards.items.map(({ label }) => label), + change: function() { + if (this.value) { + me._make_cards(this.value) + } + } + }]); + if (this.data && this.data.card_name) { + this._make_cards(this.data.card_name) + } + return this.wrapper; + } + + save(blockContent) { + return { + card_name: blockContent.getAttribute('card_name'), + col: this._getCol(), + pt: this._getPadding("t"), + pr: this._getPadding("r"), + pb: this._getPadding("b"), + pl: this._getPadding("l") + } + } + + rendered() { + var e = this.wrapper.parentNode.parentNode; + e.classList.add("col-" + this.col) + e.classList.add("pt-" + this.pt) + e.classList.add("pr-" + this.pr) + e.classList.add("pb-" + this.pb) + e.classList.add("pl-" + this.pl) + } + + _getCol() { + var e = 12, + t = "col-12", + n = this.wrapper.parentNode.parentNode, + r = new RegExp(/\bcol-.+?\b/, "g"); + if (n.className.match(r)) { + n.classList.forEach(function (e) { + e.match(r) && (t = e); + }); + var a = t.split("-"); + e = parseInt(a[1]); + } + return e; + } + + _getPadding() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l", + t = 0, + n = "p" + e + "-0", + r = this.wrapper.parentNode.parentNode, + a = new RegExp(/\pl-.+?\b/, "g"), + i = new RegExp(/\pr-.+?\b/, "g"), + o = new RegExp(/\pt-.+?\b/, "g"), + c = new RegExp(/\pb-.+?\b/, "g"); + if ("l" == e) { + if (r.className.match(a)) { + r.classList.forEach(function (e) { + e.match(a) && (n = e); + }); + var s = n.split("-"); + t = parseInt(s[1]); + } + } else if ("r" == e) { + if (r.className.match(i)) { + r.classList.forEach(function (e) { + e.match(i) && (n = e); + }); + var l = n.split("-"); + t = parseInt(l[1]); + } + } else if ("t" == e) { + if (r.className.match(o)) { + r.classList.forEach(function (e) { + e.match(o) && (n = e); + }); + var u = n.split("-"); + t = parseInt(u[1]); + } + } else if ("b" == e && r.className.match(c)) { + r.classList.forEach(function (e) { + e.match(c) && (n = e); + }); + var p = n.split("-"); + t = parseInt(p[1]); + } + return t; + } + + _make_fieldgroup(parent, ddf_list) { + this.card_field = new frappe.ui.FieldGroup({ + "fields": ddf_list, + "parent": parent + }); + this.card_field.make(); + } + + _make_cards(card_name) { + let card = this.config.page_data.cards.items.find(obj => { + return obj.label == card_name + }); + this.wrapper.innerHTML = ''; + this.sections = {}; + let cards = new frappe.widget.SingleWidgetGroup({ + container: this.wrapper, + type: "links", + columns: 3, + options: { + allow_sorting: this.allow_customization, + allow_create: false, + allow_delete: false, + allow_hiding: this.allow_customization, + allow_edit: false, + }, + widgets: card + }); + + this.sections["cards"] = cards; + this.wrapper.setAttribute("card_name", card_name); + } +} \ No newline at end of file diff --git a/frappe/public/js/frappe/wiki_blocks/chart.js b/frappe/public/js/frappe/wiki_blocks/chart.js new file mode 100644 index 0000000000..054e8d1c12 --- /dev/null +++ b/frappe/public/js/frappe/wiki_blocks/chart.js @@ -0,0 +1,156 @@ +export default class Chart { + static get toolbox() { + return { + title: 'Chart', + icon: '' + }; + } + + static get isReadOnlySupported() { + return true; + } + + constructor({data, api, config, readOnly}){ + this.data = data; + this.api = api; + this.config = config; + this.readOnly = readOnly; + this.sections = {}; + this.col = this.data.col ? this.data.col : "12", + this.pt = this.data.pt ? this.data.pt : "0", + this.pr = this.data.pr ? this.data.pr : "0", + this.pb = this.data.pb ? this.data.pb : "0", + this.pl = this.data.pl ? this.data.pl : "0" + } + + render() { + let me = this; + this.wrapper = document.createElement('div'); + this._make_fieldgroup(this.wrapper, [{ + fieldtype: "Select", + label: "Chart Name", + fieldname: "chart_name", + options: this.config.page_data.charts.items.map(({ chart_name }) => chart_name), + change: function() { + if (this.value) { + me._make_charts(this.value) + } + } + }]); + if (this.data && this.data.chart_name) { + this._make_charts(this.data.chart_name) + } + return this.wrapper; + } + + save(blockContent) { + return { + chart_name: blockContent.getAttribute('chart_name'), + col: this._getCol(), + pt: this._getPadding("t"), + pr: this._getPadding("r"), + pb: this._getPadding("b"), + pl: this._getPadding("l") + } + } + + rendered() { + var e = this.wrapper.parentNode.parentNode; + e.classList.add("col-" + this.col) + e.classList.add("pt-" + this.pt) + e.classList.add("pr-" + this.pr) + e.classList.add("pb-" + this.pb) + e.classList.add("pl-" + this.pl) + } + + _getCol() { + var e = 12, + t = "col-12", + n = this.wrapper.parentNode.parentNode, + r = new RegExp(/\bcol-.+?\b/, "g"); + if (n.className.match(r)) { + n.classList.forEach(function (e) { + e.match(r) && (t = e); + }); + var a = t.split("-"); + e = parseInt(a[1]); + } + return e; + } + + _getPadding() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l", + t = 0, + n = "p" + e + "-0", + r = this.wrapper.parentNode.parentNode, + a = new RegExp(/\pl-.+?\b/, "g"), + i = new RegExp(/\pr-.+?\b/, "g"), + o = new RegExp(/\pt-.+?\b/, "g"), + c = new RegExp(/\pb-.+?\b/, "g"); + if ("l" == e) { + if (r.className.match(a)) { + r.classList.forEach(function (e) { + e.match(a) && (n = e); + }); + var s = n.split("-"); + t = parseInt(s[1]); + } + } else if ("r" == e) { + if (r.className.match(i)) { + r.classList.forEach(function (e) { + e.match(i) && (n = e); + }); + var l = n.split("-"); + t = parseInt(l[1]); + } + } else if ("t" == e) { + if (r.className.match(o)) { + r.classList.forEach(function (e) { + e.match(o) && (n = e); + }); + var u = n.split("-"); + t = parseInt(u[1]); + } + } else if ("b" == e && r.className.match(c)) { + r.classList.forEach(function (e) { + e.match(c) && (n = e); + }); + var p = n.split("-"); + t = parseInt(p[1]); + } + return t; + } + + _make_fieldgroup(parent, ddf_list) { + this.chart_field = new frappe.ui.FieldGroup({ + "fields": ddf_list, + "parent": parent + }); + this.chart_field.make(); + } + + _make_charts(chart_name) { + let chart = this.config.page_data.charts.items.find(obj => { + return obj.chart_name == chart_name + }); + this.wrapper.innerHTML = ''; + this.sections = {}; + this.sections["charts"] = new frappe.widget.SingleWidgetGroup({ + container: this.wrapper, + type: "chart", + columns: 1, + class_name: "widget-charts", + // hidden: Boolean(this.onboarding_widget), + options: { + allow_sorting: this.allow_customization, + allow_create: this.allow_customization, + allow_delete: this.allow_customization, + allow_hiding: false, + allow_edit: true, + max_widget_count: 2, + }, + widgets: chart + }); + this.wrapper.setAttribute("chart_name", chart_name) + } +} \ No newline at end of file diff --git a/frappe/public/js/frappe/wiki_blocks/paragraph.js b/frappe/public/js/frappe/wiki_blocks/paragraph.js new file mode 100644 index 0000000000..0cab2b9373 --- /dev/null +++ b/frappe/public/js/frappe/wiki_blocks/paragraph.js @@ -0,0 +1,210 @@ +export default class Paragraph { + + static get DEFAULT_PLACEHOLDER() { + return ''; + } + + constructor({data, config, api, readOnly}) { + this.api = api; + this.readOnly = readOnly; + + this._CSS = { + block: this.api.styles.block, + wrapper: 'ce-paragraph' + }; + + if (!this.readOnly) { + this.onKeyUp = this.onKeyUp.bind(this); + } + + this._placeholder = config.placeholder ? config.placeholder : Paragraph.DEFAULT_PLACEHOLDER; + this._data = {}; + this._element = this.drawView(); + this._preserveBlank = config.preserveBlank !== undefined ? config.preserveBlank : false; + + this.data = data; + this.col = this.data.col ? this.data.col : "12", + this.pt = this.data.pt ? this.data.pt : "0", + this.pr = this.data.pr ? this.data.pr : "0", + this.pb = this.data.pb ? this.data.pb : "0", + this.pl = this.data.pl ? this.data.pl : "0" + } + + onKeyUp(e) { + if (e.code !== 'Backspace' && e.code !== 'Delete') { + return; + } + + const {textContent} = this._element; + + if (textContent === '') { + this._element.innerHTML = ''; + } + } + + drawView() { + let div = document.createElement('DIV'); + + div.classList.add(this._CSS.wrapper, this._CSS.block, 'widget'); + div.contentEditable = false; + div.dataset.placeholder = this.api.i18n.t(this._placeholder); + + if (!this.readOnly) { + div.contentEditable = true; + div.addEventListener('keyup', this.onKeyUp); + } + return div; + } + + render() { + return this._element; + } + + merge(data) { + let newData = { + text : this.data.text + data.text + }; + + this.data = newData; + } + + validate(savedData) { + if (savedData.text.trim() === '' && !this._preserveBlank) { + return false; + } + + return true; + } + + save(toolsContent) { + return { + text: toolsContent.innerHTML, + col: this._getCol(), + pt: this._getPadding("t"), + pr: this._getPadding("r"), + pb: this._getPadding("b"), + pl: this._getPadding("l") + }; + } + + rendered() { + var e = this._element.parentNode.parentNode; + e.classList.add("col-" + this.col) + e.classList.add("pt-" + this.pt) + e.classList.add("pr-" + this.pr) + e.classList.add("pb-" + this.pb) + e.classList.add("pl-" + this.pl) + } + + _getCol() { + var e = 12, + t = "col-12", + n = this._element.parentNode.parentNode, + r = new RegExp(/\bcol-.+?\b/, "g"); + if (n.className.match(r)) { + n.classList.forEach(function (e) { + e.match(r) && (t = e); + }); + var a = t.split("-"); + e = parseInt(a[1]); + } + return e; + } + + _getPadding() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l", + t = 0, + n = "p" + e + "-0", + r = this._element.parentNode.parentNode, + a = new RegExp(/\pl-.+?\b/, "g"), + i = new RegExp(/\pr-.+?\b/, "g"), + o = new RegExp(/\pt-.+?\b/, "g"), + c = new RegExp(/\pb-.+?\b/, "g"); + if ("l" == e) { + if (r.className.match(a)) { + r.classList.forEach(function (e) { + e.match(a) && (n = e); + }); + var s = n.split("-"); + t = parseInt(s[1]); + } + } else if ("r" == e) { + if (r.className.match(i)) { + r.classList.forEach(function (e) { + e.match(i) && (n = e); + }); + var l = n.split("-"); + t = parseInt(l[1]); + } + } else if ("t" == e) { + if (r.className.match(o)) { + r.classList.forEach(function (e) { + e.match(o) && (n = e); + }); + var u = n.split("-"); + t = parseInt(u[1]); + } + } else if ("b" == e && r.className.match(c)) { + r.classList.forEach(function (e) { + e.match(c) && (n = e); + }); + var p = n.split("-"); + t = parseInt(p[1]); + } + return t; + } + + onPaste(event) { + const data = { + text: event.detail.data.innerHTML + }; + + this.data = data; + } + + static get conversionConfig() { + return { + export: 'text', // to convert Paragraph to other block, use 'text' property of saved data + import: 'text' // to covert other block's exported string to Paragraph, fill 'text' property of tool data + }; + } + + static get sanitize() { + return { + text: { + br: true, + } + }; + } + + static get isReadOnlySupported() { + return true; + } + + get data() { + let text = this._element.innerHTML; + + this._data.text = text; + + return this._data; + } + + set data(data) { + this._data = data || {}; + + this._element.innerHTML = this._data.text || ''; + } + + static get pasteConfig() { + return { + tags: [ 'P' ] + }; + } + + static get toolbox() { + return { + icon: '', + title: 'Text' + }; + } +} \ No newline at end of file diff --git a/frappe/public/js/frappe/wiki_blocks/shortcut.js b/frappe/public/js/frappe/wiki_blocks/shortcut.js new file mode 100644 index 0000000000..0cb8de6ef8 --- /dev/null +++ b/frappe/public/js/frappe/wiki_blocks/shortcut.js @@ -0,0 +1,153 @@ +export default class Shortcut { + static get toolbox() { + return { + title: 'Shortcut', + icon: '' + }; + } + + static get isReadOnlySupported() { + return true; + } + + constructor({data, api, config, readOnly}){ + this.data = data; + this.api = api; + this.config = config; + this.readOnly = readOnly; + this.sections = {}; + this.col = this.data.col ? this.data.col : "12", + this.pt = this.data.pt ? this.data.pt : "0", + this.pr = this.data.pr ? this.data.pr : "0", + this.pb = this.data.pb ? this.data.pb : "0", + this.pl = this.data.pl ? this.data.pl : "0" + } + + render() { + let me = this; + this.wrapper = document.createElement('div'); + this._make_fieldgroup(this.wrapper, [{ + fieldtype: "Select", + label: "Shortcut Name", + fieldname: "shortcut_name", + options: this.config.page_data.shortcuts.items.map(({ label }) => label), + change: function() { + if (this.value) { + me._make_shortcuts(this.value); + } + } + }]); + if (this.data && this.data.shortcut_name) { + this._make_shortcuts(this.data.shortcut_name) + } + return this.wrapper; + } + + save(blockContent) { + return { + shortcut_name: blockContent.getAttribute('shortcut_name'), + col: this._getCol(), + pt: this._getPadding("t"), + pr: this._getPadding("r"), + pb: this._getPadding("b"), + pl: this._getPadding("l") + } + } + + rendered() { + var e = this.wrapper.parentNode.parentNode; + e.classList.add("col-" + this.col) + e.classList.add("pt-" + this.pt) + e.classList.add("pr-" + this.pr) + e.classList.add("pb-" + this.pb) + e.classList.add("pl-" + this.pl) + } + + _getCol() { + var e = 12, + t = "col-12", + n = this.wrapper.parentNode.parentNode, + r = new RegExp(/\bcol-.+?\b/, "g"); + if (n.className.match(r)) { + n.classList.forEach(function (e) { + e.match(r) && (t = e); + }); + var a = t.split("-"); + e = parseInt(a[1]); + } + return e; + } + + _getPadding() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l", + t = 0, + n = "p" + e + "-0", + r = this.wrapper.parentNode.parentNode, + a = new RegExp(/\pl-.+?\b/, "g"), + i = new RegExp(/\pr-.+?\b/, "g"), + o = new RegExp(/\pt-.+?\b/, "g"), + c = new RegExp(/\pb-.+?\b/, "g"); + if ("l" == e) { + if (r.className.match(a)) { + r.classList.forEach(function (e) { + e.match(a) && (n = e); + }); + var s = n.split("-"); + t = parseInt(s[1]); + } + } else if ("r" == e) { + if (r.className.match(i)) { + r.classList.forEach(function (e) { + e.match(i) && (n = e); + }); + var l = n.split("-"); + t = parseInt(l[1]); + } + } else if ("t" == e) { + if (r.className.match(o)) { + r.classList.forEach(function (e) { + e.match(o) && (n = e); + }); + var u = n.split("-"); + t = parseInt(u[1]); + } + } else if ("b" == e && r.className.match(c)) { + r.classList.forEach(function (e) { + e.match(c) && (n = e); + }); + var p = n.split("-"); + t = parseInt(p[1]); + } + return t; + } + + _make_fieldgroup(parent, ddf_list) { + this.shortcut_field = new frappe.ui.FieldGroup({ + "fields": ddf_list, + "parent": parent + }); + this.shortcut_field.make(); + } + + _make_shortcuts(shortcut_name) { + let shortcut = this.config.page_data.shortcuts.items.find(obj => { + return obj.label == shortcut_name + }); + this.wrapper.innerHTML = ''; + this.sections = {}; + this.sections["shortcuts"] = new frappe.widget.SingleWidgetGroup({ + container: this.wrapper, + type: "shortcut", + columns: 3, + options: { + allow_sorting: this.allow_customization, + allow_create: this.allow_customization, + allow_delete: this.allow_customization, + allow_hiding: false, + allow_edit: true, + }, + widgets: shortcut + }); + this.wrapper.setAttribute("shortcut_name", shortcut_name); + } +} \ No newline at end of file diff --git a/frappe/public/js/frappe/wiki_blocks/spacing_tune.js b/frappe/public/js/frappe/wiki_blocks/spacing_tune.js new file mode 100644 index 0000000000..494ba2e97a --- /dev/null +++ b/frappe/public/js/frappe/wiki_blocks/spacing_tune.js @@ -0,0 +1,554 @@ +export default class SpacingTune { + static get isTune() { + return true; + } + + constructor({api, settings}) { + this.api = api; + this.settings = settings; + this.CSS = { + button: 'ce-settings__button', + wrapper: 'ce-tune-layout', + sidebar: 'cdx-settings-sidebar', + animation: 'wobble', + }; + this.data = { colWidth: 12, pl: 0, pr: 0, pt: 0, pb: 0 }; + this.wrapper = undefined; + this.sidebar = undefined; + } + + render() { + let me = this; + let layoutWrapper = document.createElement('div'); + layoutWrapper.classList.add(this.CSS.wrapper); + let decreaseWidthButton = document.createElement('div'); + decreaseWidthButton.classList.add(this.CSS.button); + let increaseWidthButton = document.createElement('div'); + increaseWidthButton.classList.add(this.CSS.button); + let paddingButton = document.createElement('div'); + paddingButton.classList.add(this.CSS.button); + + layoutWrapper.appendChild(paddingButton); + layoutWrapper.appendChild(decreaseWidthButton); + layoutWrapper.appendChild(increaseWidthButton); + + // paddingButton.appendChild($.svg('padding', 15, 15)); + paddingButton.innerHTML = ``; + this.api.listeners.on( + paddingButton, + 'click', + (event) => me.showPadding(event, paddingButton), + false + ); + + // decreaseWidthButton.appendChild($.svg('decrease-width', 15, 15)); + decreaseWidthButton.innerHTML = ``; + this.api.listeners.on( + decreaseWidthButton, + 'click', + (event) => me.decreaseWidth(event, decreaseWidthButton), + false + ); + + // increaseWidthButton.appendChild(); + increaseWidthButton.innerHTML = ``; + this.api.listeners.on( + increaseWidthButton, + 'click', + (event) => me.increaseWidth(event, increaseWidthButton), + false + ); + + this.wrapper = layoutWrapper; + return layoutWrapper; + } + + decreaseWidth(event, button) { + const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); + + if (currentBlockIndex < 0) { + return; + } + + let currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); + if (!currentBlock){ + return; + } + + let currentBlockElement = currentBlock.holder; + + // let block = this.api.blocks.getBlock(currentBlockElement); + let className = 'col-12'; + let colClass = new RegExp(/\bcol-.+?\b/, 'g'); + if (currentBlockElement.className.match(colClass)) { + currentBlockElement.classList.forEach( cn => { + if(cn.match(colClass)){ + className = cn; + } + }); + let parts = className.split('-'); + let width = parseInt(parts[1]); + if(width >= 2){ + currentBlockElement.classList.remove('col-'+width); + width = width - 1; + currentBlockElement.classList.add('col-'+width); + } + } + } + + increaseWidth(event, button) { + const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); + + if (currentBlockIndex < 0) { + return; + } + + const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); + if (!currentBlock){ + return; + } + + const currentBlockElement = currentBlock.holder; + + // let block = this.api.blocks.getBlock(currentBlockElement); + let className = 'col-12'; + const colClass = new RegExp(/\bcol-.+?\b/, 'g'); + if (currentBlockElement.className.match(colClass)) { + currentBlockElement.classList.forEach( cn => { + if(cn.match(colClass)){ + className = cn; + } + }); + let parts = className.split('-'); + let width = parseInt(parts[1]); + if(width <= 11){ + currentBlockElement.classList.remove('col-'+width); + width = width + 1; + currentBlockElement.classList.add('col-'+width); + } + } + } + + showPadding(event, button) { + let me = this; + if(button.classList.contains('cdx-settings-button--active')){ + this.sidebar.remove(); + button.classList.remove('cdx-settings-button--active'); + } else { + button.classList.add('cdx-settings-button--active'); + + let sidebarWrapper = document.createElement('div'); + sidebarWrapper.classList.add(this.CSS.sidebar); + + let paddingLeftCaption = document.createElement('button'); + paddingLeftCaption.classList.add(this.CSS.button, 'disabled'); + // paddingLeftCaption.appendChild($.svg('arrow-left', 10, 10)); + paddingLeftCaption.innerHTML = ``; + + let paddingRightCaption = document.createElement('button'); + paddingRightCaption.classList.add(this.CSS.button, 'disabled'); + // paddingRightCaption.appendChild($.svg('arrow-right', 10, 10)); + paddingRightCaption.innerHTML = ``; + + let paddingTopCaption = document.createElement('button'); + paddingTopCaption.classList.add(this.CSS.button, 'disabled'); + // paddingTopCaption.appendChild($.svg('arrow-up', 10, 10)); + paddingTopCaption.innerHTML = ``; + + let paddingBottomCaption = document.createElement('button'); + paddingBottomCaption.classList.add(this.CSS.button, 'disabled'); + // paddingBottomCaption.appendChild($.svg('arrow-down', 10, 10)); + paddingBottomCaption.innerHTML = ``; + + let increasePaddingLeft = document.createElement('button'); + increasePaddingLeft.classList.add(this.CSS.button); + + let decreasePaddingLeft = document.createElement('button'); + decreasePaddingLeft.classList.add(this.CSS.button); + + let increasePaddingRight = document.createElement('button'); + increasePaddingRight.classList.add(this.CSS.button); + + let decreasePaddingRight = document.createElement('button'); + decreasePaddingRight.classList.add(this.CSS.button); + + let increasePaddingTop = document.createElement('button'); + increasePaddingTop.classList.add(this.CSS.button); + + let decreasePaddingTop = document.createElement('button'); + decreasePaddingTop.classList.add(this.CSS.button); + + let increasePaddingBottom = document.createElement('button'); + increasePaddingBottom.classList.add(this.CSS.button); + + let decreasePaddingBottom = document.createElement('button'); + decreasePaddingBottom.classList.add(this.CSS.button); + + this.sidebar = sidebarWrapper; + + // Left Padding + sidebarWrapper.appendChild(paddingLeftCaption); + + // increasePaddingLeft.appendChild($.svg('plus', 15, 15)); + increasePaddingLeft.innerHTML = ``; + + this.api.listeners.on( + increasePaddingLeft, + 'click', + (event) => me.increasePaddingLeft(event, increasePaddingLeft), + false + ); + sidebarWrapper.appendChild(increasePaddingLeft); + + // decreasePaddingLeft.appendChild($.svg('minus', 15, 15)); + decreasePaddingLeft.innerHTML = ``; + + this.api.listeners.on( + decreasePaddingLeft, + 'click', + (event) => me.decreasePaddingLeft(event, decreasePaddingLeft), + false + ); + sidebarWrapper.appendChild(decreasePaddingLeft); + + // Right Padding + sidebarWrapper.appendChild(paddingRightCaption); + // increasePaddingRight.appendChild($.svg('plus', 15, 15)); + increasePaddingRight.innerHTML = ``; + + this.api.listeners.on( + increasePaddingRight, + 'click', + (event) => me.increasePaddingRight(event, increasePaddingRight), + false + ); + sidebarWrapper.appendChild(increasePaddingRight); + + // decreasePaddingRight.appendChild($.svg('minus', 15, 15)); + decreasePaddingRight.innerHTML = ``; + + this.api.listeners.on( + decreasePaddingRight, + 'click', + (event) => me.decreasePaddingRight(event, decreasePaddingRight), + false + ); + sidebarWrapper.appendChild(decreasePaddingRight); + + // Top Padding + sidebarWrapper.appendChild(paddingTopCaption); + // increasePaddingTop.appendChild($.svg('plus', 15, 15)); + increasePaddingTop.innerHTML = ``; + + this.api.listeners.on( + increasePaddingTop, + 'click', + (event) => me.increasePaddingTop(event, increasePaddingTop), + false + ); + sidebarWrapper.appendChild(increasePaddingTop); + + // decreasePaddingTop.appendChild($.svg('minus', 15, 15)); + decreasePaddingTop.innerHTML = ``; + + this.api.listeners.on( + decreasePaddingTop, + 'click', + (event) => me.decreasePaddingTop(event, decreasePaddingTop), + false + ); + sidebarWrapper.appendChild(decreasePaddingTop); + + // Bottom Padding + sidebarWrapper.appendChild(paddingBottomCaption); + // increasePaddingBottom.appendChild($.svg('plus', 15, 15)); + increasePaddingBottom.innerHTML = ``; + + this.api.listeners.on( + increasePaddingBottom, + 'click', + (event) => me.increasePaddingBottom(event, increasePaddingBottom), + false + ); + sidebarWrapper.appendChild(increasePaddingBottom); + + // decreasePaddingBottom.appendChild($.svg('minus', 15, 15)); + decreasePaddingBottom.innerHTML = ``; + + this.api.listeners.on( + decreasePaddingBottom, + 'click', + (event) => me.decreasePaddingBottom(event, decreasePaddingBottom), + false + ); + sidebarWrapper.appendChild(decreasePaddingBottom); + + this.wrapper.appendChild(sidebarWrapper); + } + } + + increasePaddingLeft(event, button) { + const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); + + if(currentBlockIndex < 0){ + return; + } + + const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); + if (!currentBlock){ + return; + } + + const currentBlockElement = currentBlock.holder; + + // let block = this.api.blocks.getBlock(currentBlockElement); + let className = 'pl-0'; + const paddingClass = new RegExp(/\pl-.+?\b/, 'g'); + if (currentBlockElement.className.match(paddingClass)) { + currentBlockElement.classList.forEach( cn => { + if(cn.match(paddingClass)){ + className = cn; + } + }); + let parts = className.split('-'); + let padding = parseInt(parts[1]); + if(padding <= 4){ + currentBlockElement.classList.remove('pl-'+padding); + padding = padding + 1; + currentBlockElement.classList.add('pl-'+padding); + } + } + + } + + decreasePaddingLeft(event, button) { + const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); + + if(currentBlockIndex < 0){ + return; + } + + const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); + if (!currentBlock){ + return; + } + + const currentBlockElement = currentBlock.holder; + + // let block = this.api.blocks.getBlock(currentBlockElement); + let className = 'pl-0'; + const paddingClass = new RegExp(/\pl-.+?\b/, 'g'); + if (currentBlockElement.className.match(paddingClass)) { + currentBlockElement.classList.forEach( cn => { + if(cn.match(paddingClass)){ + className = cn; + } + }); + let parts = className.split('-'); + let padding = parseInt(parts[1]); + if(padding >= 1){ + currentBlockElement.classList.remove('pl-'+padding); + padding = padding - 1; + currentBlockElement.classList.add('pl-'+padding); + } + } + } + + increasePaddingRight(event, button) { + const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); + + if(currentBlockIndex < 0){ + return; + } + + const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); + if (!currentBlock){ + return; + } + + const currentBlockElement = currentBlock.holder; + + // let block = this.api.blocks.getBlock(currentBlockElement); + let className = 'pr-0'; + const paddingClass = new RegExp(/\pr-.+?\b/, 'g'); + if (currentBlockElement.className.match(paddingClass)) { + currentBlockElement.classList.forEach( cn => { + if(cn.match(paddingClass)){ + className = cn; + } + }); + let parts = className.split('-'); + let padding = parseInt(parts[1]); + if(padding <= 4){ + currentBlockElement.classList.remove('pr-'+padding); + padding = padding + 1; + currentBlockElement.classList.add('pr-'+padding); + } + } + } + + decreasePaddingRight(event, button) { + const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); + + if(currentBlockIndex < 0){ + return; + } + + const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); + if (!currentBlock){ + return; + } + + const currentBlockElement = currentBlock.holder; + + // let block = this.api.blocks.getBlock(currentBlockElement); + let className = 'pr-0'; + const paddingClass = new RegExp(/\pr-.+?\b/, 'g'); + if (currentBlockElement.className.match(paddingClass)) { + currentBlockElement.classList.forEach( cn => { + if(cn.match(paddingClass)){ + className = cn; + } + }); + let parts = className.split('-'); + let padding = parseInt(parts[1]); + if(padding >= 1){ + currentBlockElement.classList.remove('pr-'+padding); + padding = padding - 1; + currentBlockElement.classList.add('pr-'+padding); + } + } + } + + increasePaddingTop(event, button) { + const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); + + if(currentBlockIndex < 0){ + return; + } + + const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); + if (!currentBlock){ + return; + } + + const currentBlockElement = currentBlock.holder; + + // let block = this.api.blocks.getBlock(currentBlockElement); + let className = 'pt-0'; + const paddingClass = new RegExp(/\pt-.+?\b/, 'g'); + if (currentBlockElement.className.match(paddingClass)) { + currentBlockElement.classList.forEach( cn => { + if(cn.match(paddingClass)){ + className = cn; + } + }); + let parts = className.split('-'); + let padding = parseInt(parts[1]); + if(padding <= 4){ + currentBlockElement.classList.remove('pt-'+padding); + padding = padding + 1; + currentBlockElement.classList.add('pt-'+padding); + } + } + } + + decreasePaddingTop(event, button) { + const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); + + if(currentBlockIndex < 0){ + return; + } + + const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); + if (!currentBlock){ + return; + } + + const currentBlockElement = currentBlock.holder; + + // let block = this.api.blocks.getBlock(currentBlockElement); + let className = 'pt-0'; + const paddingClass = new RegExp(/\pt-.+?\b/, 'g'); + if (currentBlockElement.className.match(paddingClass)) { + currentBlockElement.classList.forEach( cn => { + if(cn.match(paddingClass)){ + className = cn; + } + }); + let parts = className.split('-'); + let padding = parseInt(parts[1]); + if(padding >= 1){ + currentBlockElement.classList.remove('pt-'+padding); + padding = padding - 1; + currentBlockElement.classList.add('pt-'+padding); + } + } + } + + increasePaddingBottom(event, button) { + const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); + + if(currentBlockIndex < 0){ + return; + } + + const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); + if (!currentBlock){ + return; + } + + const currentBlockElement = currentBlock.holder; + + // let block = this.api.blocks.getBlock(currentBlockElement); + let className = 'pb-0'; + const paddingClass = new RegExp(/\pb-.+?\b/, 'g'); + if (currentBlockElement.className.match(paddingClass)) { + currentBlockElement.classList.forEach( cn => { + if(cn.match(paddingClass)){ + className = cn; + } + }); + let parts = className.split('-'); + let padding = parseInt(parts[1]); + if(padding <= 4){ + currentBlockElement.classList.remove('pb-'+padding); + padding = padding + 1; + currentBlockElement.classList.add('pb-'+padding); + } + } + } + + decreasePaddingBottom(event, button) { + const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); + + if(currentBlockIndex < 0){ + return; + } + + const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); + if (!currentBlock){ + return; + } + + const currentBlockElement = currentBlock.holder; + + // let block = this.api.blocks.getBlock(currentBlockElement); + let className = 'pb-0'; + const paddingClass = new RegExp(/\pb-.+?\b/, 'g'); + if (currentBlockElement.className.match(paddingClass)) { + currentBlockElement.classList.forEach( cn => { + if(cn.match(paddingClass)){ + className = cn; + } + }); + let parts = className.split('-'); + let padding = parseInt(parts[1]); + if(padding >= 1){ + currentBlockElement.classList.remove('pb-'+padding); + padding = padding - 1; + currentBlockElement.classList.add('pb-'+padding); + } + } + } +} \ No newline at end of file diff --git a/frappe/public/scss/desk/index.scss b/frappe/public/scss/desk/index.scss index d0d968df63..af62bb03eb 100644 --- a/frappe/public/scss/desk/index.scss +++ b/frappe/public/scss/desk/index.scss @@ -24,6 +24,7 @@ @import "notification"; @import "global_search"; @import "desktop"; +@import "wiki"; @import "../common/awesomeplete"; @import "sidebar"; @import "filters"; diff --git a/frappe/public/scss/desk/wiki.scss b/frappe/public/scss/desk/wiki.scss new file mode 100644 index 0000000000..a04fb1e501 --- /dev/null +++ b/frappe/public/scss/desk/wiki.scss @@ -0,0 +1,154 @@ +[data-page-route="wiki"] { + @media (min-width: map-get($grid-breakpoints, "lg")) { + .layout-main { + height: calc(100vh - var(--navbar-height) - var(--page-head-height) - 5px); + .layout-side-section, .layout-main-section-wrapper { + height: 100%; + overflow-y: auto; + } + .desk-sidebar { + margin-bottom: var(--margin-2xl); + } + } + } +} + +.ce-header { + padding: 0 !important; + margin-bottom: 0 !important; +} + +.codex-editor { + min-height: 630px; + + svg { + fill: none; + } + + .ce-toolbar { + svg { + fill: currentColor; + } + + .icon { + stroke: none; + width: fit-content; + } + } + + .ce-inline-tool, .ce-inline-toolbar__dropdown { + .icon { + fill: currentColor; + } + } + @media (min-width: 1199px) { + .ce-toolbar__content { + max-width: 930px; + } + } + @media (max-width: 995px) { + .ce-toolbar__content { + max-width: 760px; + } + } + + @media (max-width: 1199px) { + .ce-block.col-4 { + flex: 0 0 50%; + max-width: 50%; + } + } + + @media (max-width: 750px) { + .ce-block.col-4 { + flex: 0 0 100%; + max-width: 100%; + } + } + @media (max-width: 750px) { + .ce-block.col-6 { + flex: 0 0 100%; + max-width: 100%; + } + } + + div[card_name] { + height: inherit; + } + +} + +.codex-editor__redactor{ + display: flex; + flex-wrap: wrap; + flex-direction: row; + margin: 0px -7px; +} +.ce-block{ + width: 100%; + padding-left: 0; + padding-right: 0; +} +.cdx-settings-input{ + border: 1px solid rgba(201,201,204,.48); + -webkit-box-shadow: inset 0 1px 2px 0 rgba(35,44,72,.06); + box-shadow: inset 0 1px 2px 0 rgba(35,44,72,.06); + border-radius: 3px;padding: 3px 8px;outline: none; + width: 100%; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.cdx-small{ + font-size: .6rem +} +.ce-block__content { + max-width: 100%; + height: 100%; + padding: 7px; + + &> div { + height: 100%; + } +} + +.cdx-settings-button.disabled{ + pointer-events: none; + opacity: .5 +} +.cdx-settings-sidebar{ + position: absolute; + right: 100%; + top:0; + background: #fff; + width: 108px; + height: 145px; + box-shadow: 0 3px 15px -3px rgba(13,20,33,.13); + border-radius: 0 4px 4px 0;z-index: 0; +} + + +[data-page-route="wiki"] { + + .standard-sidebar-item { + justify-content: space-between; + } + + .sidebar-child-item-container { + margin-left: 10px; + + .standard-sidebar-item { + justify-content: start; + } + } + + .sidebar-item-label { + flex: 1; + } + + .item-anchor { + display: flex; + overflow: hidden; + flex: 1; + } + +} \ No newline at end of file diff --git a/package.json b/package.json index 928456578c..17f5a7b588 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,8 @@ }, "homepage": "https://frappeframework.com", "dependencies": { + "@editorjs/editorjs": "^2.20.0", + "@editorjs/header": "^2.6.1", "ace-builds": "^1.4.8", "air-datepicker": "github:frappe/air-datepicker", "autoprefixer": "^9.8.6", @@ -54,8 +56,11 @@ "vue-router": "^2.0.0" }, "devDependencies": { + "@editorjs/checklist": "^1.3.0", + "@editorjs/list": "^1.6.2", "babel-runtime": "^6.26.0", "chalk": "^2.3.2", + "editorjs-undo": "^0.1.5", "graphlib": "^2.1.8", "less": "^3.11.1", "rollup": "^1.2.2", diff --git a/yarn.lock b/yarn.lock index fbd567debf..8d0b04c622 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,123 +3,155 @@ "@babel/code-frame@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" - integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== + "integrity" "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==" + "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz" + "version" "7.0.0" dependencies: "@babel/highlight" "^7.0.0" "@babel/highlight@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" - integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== + "integrity" "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==" + "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz" + "version" "7.0.0" dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" + "chalk" "^2.0.0" + "esutils" "^2.0.2" + "js-tokens" "^4.0.0" "@babel/runtime@^7.0.0-beta.46": - version "7.3.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.4.tgz#73d12ba819e365fcf7fd152aed56d6df97d21c83" - integrity sha512-IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g== + "integrity" "sha512-IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g==" + "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.4.tgz" + "version" "7.3.4" dependencies: - regenerator-runtime "^0.12.0" + "regenerator-runtime" "^0.12.0" "@dabh/diagnostics@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@dabh/diagnostics/-/diagnostics-2.0.2.tgz#290d08f7b381b8f94607dc8f471a12c675f9db31" - integrity sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q== + "integrity" "sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==" + "resolved" "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz" + "version" "2.0.2" dependencies: - colorspace "1.1.x" - enabled "2.0.x" - kuler "^2.0.0" + "colorspace" "1.1.x" + "enabled" "2.0.x" + "kuler" "^2.0.0" "@deepcode/dcignore@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@deepcode/dcignore/-/dcignore-1.0.2.tgz#39e4a3df7dde8811925330506e4bb3fbf3c288d8" - integrity sha512-DPgxtHuJwBORpqRkPXzzOT+uoPRVJmaN7LR+pmeL6DQM90kj6G6GFUH1i/YpRH8NbML8ZGEDwB9f9u4UwD2pzg== + "integrity" "sha512-DPgxtHuJwBORpqRkPXzzOT+uoPRVJmaN7LR+pmeL6DQM90kj6G6GFUH1i/YpRH8NbML8ZGEDwB9f9u4UwD2pzg==" + "resolved" "https://registry.npmjs.org/@deepcode/dcignore/-/dcignore-1.0.2.tgz" + "version" "1.0.2" + +"@editorjs/checklist@^1.3.0": + "integrity" "sha512-087oW0oOIE5HX8llj4Eap/reFDFw8VCLlp6GU0E9GEp7f3zy2aV6KdFR+6dbYhZ50w7tSnkMpCAcSq1NXJeB4Q==" + "resolved" "https://registry.npmjs.org/@editorjs/checklist/-/checklist-1.3.0.tgz" + "version" "1.3.0" + +"@editorjs/editorjs@^2.20.0": + "integrity" "sha512-e6DWi8bMypFhovq9R6cefaDWVfrlVU++Q7ABp79+MxZIuC/SKAW5EtxBbKPL22H/Mc3bJIhZCxOqEl70HBh2yw==" + "resolved" "https://registry.npmjs.org/@editorjs/editorjs/-/editorjs-2.20.0.tgz" + "version" "2.20.0" + dependencies: + "codex-notifier" "^1.1.2" + "codex-tooltip" "^1.0.1" + +"@editorjs/header@^2.6.1": + "integrity" "sha512-EsnyVFv5uThpU9tbQ/dUPFCQoa/sBFy2n+9tN3wOXJGx7sjea4fdcacJ2UYhO+7pCgZ+aSgmMOyGLYHUFbchvA==" + "resolved" "https://registry.npmjs.org/@editorjs/header/-/header-2.6.1.tgz" + "version" "2.6.1" + +"@editorjs/list@^1.6.2": + "integrity" "sha512-OxowV0yuE11G01czYM1dEQlz1F37ehX0ak5vAbZ9ncSXrPh0fDRw/fBxTY654FlmrsQ40UFom3owSG++tLvVGw==" + "resolved" "https://registry.npmjs.org/@editorjs/list/-/list-1.6.2.tgz" + "version" "1.6.2" "@nodelib/fs.scandir@2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" - integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== + "integrity" "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz" + "version" "2.1.4" dependencies: "@nodelib/fs.stat" "2.0.4" - run-parallel "^1.1.9" + "run-parallel" "^1.1.9" -"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" - integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.4": + "integrity" "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz" + "version" "2.0.4" "@nodelib/fs.walk@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" - integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== + "integrity" "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz" + "version" "1.2.6" dependencies: "@nodelib/fs.scandir" "2.1.4" - fastq "^1.6.0" + "fastq" "^1.6.0" "@octetstream/promisify@2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@octetstream/promisify/-/promisify-2.0.2.tgz#29ac3bd7aefba646db670227f895d812c1a19615" - integrity sha512-7XHoRB61hxsz8lBQrjC1tq/3OEIgpvGWg6DKAdwi7WRzruwkmsdwmOoUXbU4Dtd4RSOMDwed0SkP3y8UlMt1Bg== + "integrity" "sha512-7XHoRB61hxsz8lBQrjC1tq/3OEIgpvGWg6DKAdwi7WRzruwkmsdwmOoUXbU4Dtd4RSOMDwed0SkP3y8UlMt1Bg==" + "resolved" "https://registry.npmjs.org/@octetstream/promisify/-/promisify-2.0.2.tgz" + "version" "2.0.2" "@open-policy-agent/opa-wasm@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@open-policy-agent/opa-wasm/-/opa-wasm-1.2.0.tgz#481b766093f70b00efefbee1e4192f375fd34ca2" - integrity sha512-CtUBTnzvDrT0NASa8IuGQTxFGgt2vxbLnMYuTA+uDFxOcA4uK4mGFgrhHJtxUZnWHiwemOvKKSY3BMCo7qiAsQ== + "integrity" "sha512-CtUBTnzvDrT0NASa8IuGQTxFGgt2vxbLnMYuTA+uDFxOcA4uK4mGFgrhHJtxUZnWHiwemOvKKSY3BMCo7qiAsQ==" + "resolved" "https://registry.npmjs.org/@open-policy-agent/opa-wasm/-/opa-wasm-1.2.0.tgz" + "version" "1.2.0" dependencies: - sprintf-js "^1.1.2" - utf8 "^3.0.0" + "sprintf-js" "^1.1.2" + "utf8" "^3.0.0" "@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" - integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== + "integrity" "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + "resolved" "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" + "version" "0.14.0" "@sindresorhus/is@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-2.1.1.tgz#ceff6a28a5b4867c2dd4a1ba513de278ccbe8bb1" - integrity sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg== + "integrity" "sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==" + "resolved" "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.1.tgz" + "version" "2.1.1" -"@snyk/cli-interface@2.11.0", "@snyk/cli-interface@^2.11.0": - version "2.11.0" - resolved "https://registry.yarnpkg.com/@snyk/cli-interface/-/cli-interface-2.11.0.tgz#9df68c8cd54de5dff69f0ab797a188541d9c8965" - integrity sha512-T3xfDqrEFKclHGdJx4/5+D5F7e76/99f33guE4RTlVITBhy7VVnjz4t/NDr3UYqcC0MgAmiC4bSVYHnlshuwJw== +"@snyk/cli-interface@^2.0.3": + "integrity" "sha512-jmZyxVHqzYU1GfdnWCGdd68WY/lAzpPVyqalHazPj4tFJehrSfEFc82RMTYAMgXEJuvFRFIwhsvXh3sWUhIQmg==" + "resolved" "https://registry.npmjs.org/@snyk/cli-interface/-/cli-interface-2.3.2.tgz" + "version" "2.3.2" + dependencies: + "tslib" "^1.9.3" + +"@snyk/cli-interface@^2.11.0", "@snyk/cli-interface@2.11.0": + "integrity" "sha512-T3xfDqrEFKclHGdJx4/5+D5F7e76/99f33guE4RTlVITBhy7VVnjz4t/NDr3UYqcC0MgAmiC4bSVYHnlshuwJw==" + "resolved" "https://registry.npmjs.org/@snyk/cli-interface/-/cli-interface-2.11.0.tgz" + "version" "2.11.0" dependencies: "@types/graphlib" "^2" -"@snyk/cli-interface@^2.0.3": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@snyk/cli-interface/-/cli-interface-2.3.2.tgz#e93afa82de15b912e657f1ba86f9d7963983e594" - integrity sha512-jmZyxVHqzYU1GfdnWCGdd68WY/lAzpPVyqalHazPj4tFJehrSfEFc82RMTYAMgXEJuvFRFIwhsvXh3sWUhIQmg== - dependencies: - tslib "^1.9.3" - -"@snyk/cli-interface@^2.9.1", "@snyk/cli-interface@^2.9.2": - version "2.9.2" - resolved "https://registry.yarnpkg.com/@snyk/cli-interface/-/cli-interface-2.9.2.tgz#defbeafd5fa7fa5ab1c39d57f1d379b2fbfc9860" - integrity sha512-C64bGtcQbh7941l7qgXFJ+FJIZdQtBHkPhKfGtUlCCMbC0FK0oaUmp6d7YPQxT4dEnkQdtlBT/eA2F6qIKbEng== +"@snyk/cli-interface@^2.9.1": + "integrity" "sha512-C64bGtcQbh7941l7qgXFJ+FJIZdQtBHkPhKfGtUlCCMbC0FK0oaUmp6d7YPQxT4dEnkQdtlBT/eA2F6qIKbEng==" + "resolved" "https://registry.npmjs.org/@snyk/cli-interface/-/cli-interface-2.9.2.tgz" + "version" "2.9.2" dependencies: "@snyk/dep-graph" "1.19.4" "@types/graphlib" "^2.1.7" - tslib "^1.9.3" + "tslib" "^1.9.3" + +"@snyk/cli-interface@^2.9.2": + "integrity" "sha512-C64bGtcQbh7941l7qgXFJ+FJIZdQtBHkPhKfGtUlCCMbC0FK0oaUmp6d7YPQxT4dEnkQdtlBT/eA2F6qIKbEng==" + "resolved" "https://registry.npmjs.org/@snyk/cli-interface/-/cli-interface-2.9.2.tgz" + "version" "2.9.2" + dependencies: + "@snyk/dep-graph" "1.19.4" + "@types/graphlib" "^2.1.7" + "tslib" "^1.9.3" "@snyk/cocoapods-lockfile-parser@3.6.2": - version "3.6.2" - resolved "https://registry.yarnpkg.com/@snyk/cocoapods-lockfile-parser/-/cocoapods-lockfile-parser-3.6.2.tgz#803ae9466f408c48ba7c5a8ec51b9dbac6f633b3" - integrity sha512-ca2JKOnSRzYHJkhOB9gYmdRZHmd02b/uBd/S0D5W+L9nIMS7sUBV5jfhKwVgrYPIpVNIc0XCI9rxK4TfkQRpiA== + "integrity" "sha512-ca2JKOnSRzYHJkhOB9gYmdRZHmd02b/uBd/S0D5W+L9nIMS7sUBV5jfhKwVgrYPIpVNIc0XCI9rxK4TfkQRpiA==" + "resolved" "https://registry.npmjs.org/@snyk/cocoapods-lockfile-parser/-/cocoapods-lockfile-parser-3.6.2.tgz" + "version" "3.6.2" dependencies: "@snyk/dep-graph" "^1.23.1" "@types/js-yaml" "^3.12.1" - js-yaml "^3.13.1" - tslib "^1.10.0" + "js-yaml" "^3.13.1" + "tslib" "^1.10.0" "@snyk/code-client@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@snyk/code-client/-/code-client-3.4.0.tgz#7741abef6dcf5dfc50a1a0538918972360c5a1e7" - integrity sha512-RY2IftAiWB7tp36Mcq7WiEwqoD8A/mqrD6N7oDWTxBOIqsH0t4djo/UibiWDJotaffO9aXXndOf3iZ/kTt+Rdg== + "integrity" "sha512-RY2IftAiWB7tp36Mcq7WiEwqoD8A/mqrD6N7oDWTxBOIqsH0t4djo/UibiWDJotaffO9aXXndOf3iZ/kTt+Rdg==" + "resolved" "https://registry.npmjs.org/@snyk/code-client/-/code-client-3.4.0.tgz" + "version" "3.4.0" dependencies: "@deepcode/dcignore" "^1.0.2" "@snyk/fast-glob" "^3.2.6-patch" @@ -130,273 +162,285 @@ "@types/micromatch" "^4.0.1" "@types/sarif" "^2.1.3" "@types/uuid" "^8.3.0" - axios "^0.21.1" - ignore "^5.1.8" - lodash.chunk "^4.2.0" - lodash.omit "^4.5.0" - lodash.union "^4.6.0" - micromatch "^4.0.2" - queue "^6.0.1" - uuid "^8.3.2" + "axios" "^0.21.1" + "ignore" "^5.1.8" + "lodash.chunk" "^4.2.0" + "lodash.omit" "^4.5.0" + "lodash.union" "^4.6.0" + "micromatch" "^4.0.2" + "queue" "^6.0.1" + "uuid" "^8.3.2" "@snyk/composer-lockfile-parser@^1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@snyk/composer-lockfile-parser/-/composer-lockfile-parser-1.4.1.tgz#2f7c93ad367520322b16d9490a208fec08445e0e" - integrity sha512-wNANv235j95NFsQuODIXCiQZ9kcyg9fz92Kg1zoGvaP3kN/ma7fgCnvQL/dyml6iouQJR5aZovjhrrfEFoKtiQ== + "integrity" "sha512-wNANv235j95NFsQuODIXCiQZ9kcyg9fz92Kg1zoGvaP3kN/ma7fgCnvQL/dyml6iouQJR5aZovjhrrfEFoKtiQ==" + "resolved" "https://registry.npmjs.org/@snyk/composer-lockfile-parser/-/composer-lockfile-parser-1.4.1.tgz" + "version" "1.4.1" dependencies: - lodash.findkey "^4.6.0" - lodash.get "^4.4.2" - lodash.invert "^4.3.0" - lodash.isempty "^4.4.0" + "lodash.findkey" "^4.6.0" + "lodash.get" "^4.4.2" + "lodash.invert" "^4.3.0" + "lodash.isempty" "^4.4.0" -"@snyk/dep-graph@1.19.4", "@snyk/dep-graph@^1.19.3": - version "1.19.4" - resolved "https://registry.yarnpkg.com/@snyk/dep-graph/-/dep-graph-1.19.4.tgz#d156c482bfdfba7505f1cf3e8a80b86dd9f45383" - integrity sha512-h3MMhjVm3BuIruwpDBqnMowKOG9viwr3TJHdIxTHulWKWSsPTTW1AAP3/RaK+UBp1y/Ua9yzeHncKIrzBdT5Nw== +"@snyk/dep-graph@^1.19.3": + "integrity" "sha512-h3MMhjVm3BuIruwpDBqnMowKOG9viwr3TJHdIxTHulWKWSsPTTW1AAP3/RaK+UBp1y/Ua9yzeHncKIrzBdT5Nw==" + "resolved" "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.19.4.tgz" + "version" "1.19.4" dependencies: - graphlib "^2.1.8" - lodash.isequal "^4.5.0" - object-hash "^2.0.3" - semver "^6.0.0" - source-map-support "^0.5.19" - tslib "^1.13.0" + "graphlib" "^2.1.8" + "lodash.isequal" "^4.5.0" + "object-hash" "^2.0.3" + "semver" "^6.0.0" + "source-map-support" "^0.5.19" + "tslib" "^1.13.0" -"@snyk/dep-graph@^1.21.0", "@snyk/dep-graph@^1.23.0", "@snyk/dep-graph@^1.23.1", "@snyk/dep-graph@^1.27.1", "@snyk/dep-graph@^1.28.0": - version "1.28.0" - resolved "https://registry.yarnpkg.com/@snyk/dep-graph/-/dep-graph-1.28.0.tgz#d68c0576cb3562c6e819ca8a8c7ac29ee11d9776" - integrity sha512-Oup9nAvb558jdNvbZah/vaBtOtCcizkdeS+OBQeBIqIffyer4mc4juSn4b1SFjCpu7AG7piio8Lj8k1B9ps6Tg== +"@snyk/dep-graph@^1", "@snyk/dep-graph@^1.21.0", "@snyk/dep-graph@^1.23.0", "@snyk/dep-graph@^1.23.1", "@snyk/dep-graph@^1.27.1", "@snyk/dep-graph@^1.28.0": + "integrity" "sha512-Oup9nAvb558jdNvbZah/vaBtOtCcizkdeS+OBQeBIqIffyer4mc4juSn4b1SFjCpu7AG7piio8Lj8k1B9ps6Tg==" + "resolved" "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.28.0.tgz" + "version" "1.28.0" dependencies: - event-loop-spinner "^2.1.0" - lodash.clone "^4.5.0" - lodash.constant "^3.0.0" - lodash.filter "^4.6.0" - lodash.foreach "^4.5.0" - lodash.isempty "^4.4.0" - lodash.isequal "^4.5.0" - lodash.isfunction "^3.0.9" - lodash.isundefined "^3.0.1" - lodash.keys "^4.2.0" - lodash.map "^4.6.0" - lodash.reduce "^4.6.0" - lodash.size "^4.2.0" - lodash.transform "^4.6.0" - lodash.union "^4.6.0" - lodash.values "^4.3.0" - object-hash "^2.0.3" - semver "^7.0.0" - tslib "^1.13.0" + "event-loop-spinner" "^2.1.0" + "lodash.clone" "^4.5.0" + "lodash.constant" "^3.0.0" + "lodash.filter" "^4.6.0" + "lodash.foreach" "^4.5.0" + "lodash.isempty" "^4.4.0" + "lodash.isequal" "^4.5.0" + "lodash.isfunction" "^3.0.9" + "lodash.isundefined" "^3.0.1" + "lodash.keys" "^4.2.0" + "lodash.map" "^4.6.0" + "lodash.reduce" "^4.6.0" + "lodash.size" "^4.2.0" + "lodash.transform" "^4.6.0" + "lodash.union" "^4.6.0" + "lodash.values" "^4.3.0" + "object-hash" "^2.0.3" + "semver" "^7.0.0" + "tslib" "^1.13.0" + +"@snyk/dep-graph@1.19.4": + "integrity" "sha512-h3MMhjVm3BuIruwpDBqnMowKOG9viwr3TJHdIxTHulWKWSsPTTW1AAP3/RaK+UBp1y/Ua9yzeHncKIrzBdT5Nw==" + "resolved" "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.19.4.tgz" + "version" "1.19.4" + dependencies: + "graphlib" "^2.1.8" + "lodash.isequal" "^4.5.0" + "object-hash" "^2.0.3" + "semver" "^6.0.0" + "source-map-support" "^0.5.19" + "tslib" "^1.13.0" "@snyk/docker-registry-v2-client@1.13.9": - version "1.13.9" - resolved "https://registry.yarnpkg.com/@snyk/docker-registry-v2-client/-/docker-registry-v2-client-1.13.9.tgz#54c2e3071de58fc6fc12c5fef5eaeae174ecda12" - integrity sha512-DIFLEhr8m1GrAwsLGInJmpcQMacjuhf3jcbpQTR+LeMvZA9IuKq+B7kqw2O2FzMiHMZmUb5z+tV+BR7+IUHkFQ== + "integrity" "sha512-DIFLEhr8m1GrAwsLGInJmpcQMacjuhf3jcbpQTR+LeMvZA9IuKq+B7kqw2O2FzMiHMZmUb5z+tV+BR7+IUHkFQ==" + "resolved" "https://registry.npmjs.org/@snyk/docker-registry-v2-client/-/docker-registry-v2-client-1.13.9.tgz" + "version" "1.13.9" dependencies: - needle "^2.5.0" - parse-link-header "^1.0.1" - tslib "^1.10.0" + "needle" "^2.5.0" + "parse-link-header" "^1.0.1" + "tslib" "^1.10.0" "@snyk/fast-glob@^3.2.6-patch": - version "3.2.6-patch" - resolved "https://registry.yarnpkg.com/@snyk/fast-glob/-/fast-glob-3.2.6-patch.tgz#a0866bedb17f95255e4050dad08daeaff0f4caa8" - integrity sha512-E/Pfdze/WFfxwyuTFcfhQN1SwyUsc43yuCoW63RVBCaxTD6OzhVD2Pvc/Sy7BjiWUfmelzyKkIBpoow8zZX7Zg== + "integrity" "sha512-E/Pfdze/WFfxwyuTFcfhQN1SwyUsc43yuCoW63RVBCaxTD6OzhVD2Pvc/Sy7BjiWUfmelzyKkIBpoow8zZX7Zg==" + "resolved" "https://registry.npmjs.org/@snyk/fast-glob/-/fast-glob-3.2.6-patch.tgz" + "version" "3.2.6-patch" dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" "@snyk/glob-parent" "^5.1.2-patch.1" - merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" + "merge2" "^1.3.0" + "micromatch" "^4.0.2" + "picomatch" "^2.2.1" "@snyk/fix@1.518.0": - version "1.518.0" - resolved "https://registry.yarnpkg.com/@snyk/fix/-/fix-1.518.0.tgz#8af97a17da737739b1f31fe2d2129c99fcb574ed" - integrity sha512-Cwh0wU8SxZgx1+qRgcGkMctNx9F6UCdUJYcCvKaYJNDEYQwpQat4nsLZsJeODYNx7Byh0ZnPrqakUck4qFrPvA== + "integrity" "sha512-Cwh0wU8SxZgx1+qRgcGkMctNx9F6UCdUJYcCvKaYJNDEYQwpQat4nsLZsJeODYNx7Byh0ZnPrqakUck4qFrPvA==" + "resolved" "https://registry.npmjs.org/@snyk/fix/-/fix-1.518.0.tgz" + "version" "1.518.0" dependencies: "@snyk/dep-graph" "^1.21.0" - chalk "4.1.0" - debug "^4.3.1" - micromatch "4.0.2" - ora "5.3.0" - p-map "^4.0.0" - strip-ansi "6.0.0" + "chalk" "4.1.0" + "debug" "^4.3.1" + "micromatch" "4.0.2" + "ora" "5.3.0" + "p-map" "^4.0.0" + "strip-ansi" "6.0.0" "@snyk/gemfile@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@snyk/gemfile/-/gemfile-1.2.0.tgz#919857944973cce74c650e5428aaf11bcd5c0457" - integrity sha512-nI7ELxukf7pT4/VraL4iabtNNMz8mUo7EXlqCFld8O5z6mIMLX9llps24iPpaIZOwArkY3FWA+4t+ixyvtTSIA== + "integrity" "sha512-nI7ELxukf7pT4/VraL4iabtNNMz8mUo7EXlqCFld8O5z6mIMLX9llps24iPpaIZOwArkY3FWA+4t+ixyvtTSIA==" + "resolved" "https://registry.npmjs.org/@snyk/gemfile/-/gemfile-1.2.0.tgz" + "version" "1.2.0" "@snyk/glob-parent@^5.1.2-patch.1": - version "5.1.2-patch.1" - resolved "https://registry.yarnpkg.com/@snyk/glob-parent/-/glob-parent-5.1.2-patch.1.tgz#87733b4ab282043fa7915200bc94cb391df6d44f" - integrity sha512-OkUPdHgxIWKAAzceG1nraNA0kgI+eS0I9wph8tll9UL0slD2mIWSj4mAqroGovaEXm8nHedoUfuDRGEb6wnzCQ== + "integrity" "sha512-OkUPdHgxIWKAAzceG1nraNA0kgI+eS0I9wph8tll9UL0slD2mIWSj4mAqroGovaEXm8nHedoUfuDRGEb6wnzCQ==" + "resolved" "https://registry.npmjs.org/@snyk/glob-parent/-/glob-parent-5.1.2-patch.1.tgz" + "version" "5.1.2-patch.1" dependencies: - is-glob "^4.0.1" + "is-glob" "^4.0.1" -"@snyk/graphlib@2.1.9-patch.3", "@snyk/graphlib@^2.1.9-patch.3": - version "2.1.9-patch.3" - resolved "https://registry.yarnpkg.com/@snyk/graphlib/-/graphlib-2.1.9-patch.3.tgz#b8edb2335af1978db7f3cb1f28f5d562960acf23" - integrity sha512-bBY9b9ulfLj0v2Eer0yFYa3syVeIxVKl2EpxSrsVeT4mjA0CltZyHsF0JjoaGXP27nItTdJS5uVsj1NA+3aE+Q== +"@snyk/graphlib@^2.1.9-patch.3", "@snyk/graphlib@2.1.9-patch.3": + "integrity" "sha512-bBY9b9ulfLj0v2Eer0yFYa3syVeIxVKl2EpxSrsVeT4mjA0CltZyHsF0JjoaGXP27nItTdJS5uVsj1NA+3aE+Q==" + "resolved" "https://registry.npmjs.org/@snyk/graphlib/-/graphlib-2.1.9-patch.3.tgz" + "version" "2.1.9-patch.3" dependencies: - lodash.clone "^4.5.0" - lodash.constant "^3.0.0" - lodash.filter "^4.6.0" - lodash.foreach "^4.5.0" - lodash.has "^4.5.2" - lodash.isempty "^4.4.0" - lodash.isfunction "^3.0.9" - lodash.isundefined "^3.0.1" - lodash.keys "^4.2.0" - lodash.map "^4.6.0" - lodash.reduce "^4.6.0" - lodash.size "^4.2.0" - lodash.transform "^4.6.0" - lodash.union "^4.6.0" - lodash.values "^4.3.0" + "lodash.clone" "^4.5.0" + "lodash.constant" "^3.0.0" + "lodash.filter" "^4.6.0" + "lodash.foreach" "^4.5.0" + "lodash.has" "^4.5.2" + "lodash.isempty" "^4.4.0" + "lodash.isfunction" "^3.0.9" + "lodash.isundefined" "^3.0.1" + "lodash.keys" "^4.2.0" + "lodash.map" "^4.6.0" + "lodash.reduce" "^4.6.0" + "lodash.size" "^4.2.0" + "lodash.transform" "^4.6.0" + "lodash.union" "^4.6.0" + "lodash.values" "^4.3.0" "@snyk/inquirer@^7.3.3-patch": - version "7.3.3-patch" - resolved "https://registry.yarnpkg.com/@snyk/inquirer/-/inquirer-7.3.3-patch.tgz#ef84d531724c53b755e8dd454e1a3c2ccdcfc0bf" - integrity sha512-aWiQSOacH2lOpJ1ard9ErABcH4tdJogdr+mg1U67iZJOPO9n2gFgAwz1TQJDyPkv4/A5mh4hT2rg03Uq+KBn2Q== + "integrity" "sha512-aWiQSOacH2lOpJ1ard9ErABcH4tdJogdr+mg1U67iZJOPO9n2gFgAwz1TQJDyPkv4/A5mh4hT2rg03Uq+KBn2Q==" + "resolved" "https://registry.npmjs.org/@snyk/inquirer/-/inquirer-7.3.3-patch.tgz" + "version" "7.3.3-patch" dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash.assign "^4.2.0" - lodash.assignin "^4.2.0" - lodash.clone "^4.5.0" - lodash.defaults "^4.2.0" - lodash.filter "^4.6.0" - lodash.find "^4.6.0" - lodash.findindex "^4.6.0" - lodash.flatten "^4.4.0" - lodash.isboolean "^3.0.3" - lodash.isfunction "^3.0.9" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.last "^3.0.0" - lodash.map "^4.6.0" - lodash.omit "^4.5.0" - lodash.set "^4.3.2" - lodash.sum "^4.0.2" - lodash.uniq "^4.5.0" - mute-stream "0.0.8" - run-async "^2.4.0" - rxjs "^6.6.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" + "ansi-escapes" "^4.2.1" + "chalk" "^4.1.0" + "cli-cursor" "^3.1.0" + "cli-width" "^3.0.0" + "external-editor" "^3.0.3" + "figures" "^3.0.0" + "lodash.assign" "^4.2.0" + "lodash.assignin" "^4.2.0" + "lodash.clone" "^4.5.0" + "lodash.defaults" "^4.2.0" + "lodash.filter" "^4.6.0" + "lodash.find" "^4.6.0" + "lodash.findindex" "^4.6.0" + "lodash.flatten" "^4.4.0" + "lodash.isboolean" "^3.0.3" + "lodash.isfunction" "^3.0.9" + "lodash.isnumber" "^3.0.3" + "lodash.isplainobject" "^4.0.6" + "lodash.isstring" "^4.0.1" + "lodash.last" "^3.0.0" + "lodash.map" "^4.6.0" + "lodash.omit" "^4.5.0" + "lodash.set" "^4.3.2" + "lodash.sum" "^4.0.2" + "lodash.uniq" "^4.5.0" + "mute-stream" "0.0.8" + "run-async" "^2.4.0" + "rxjs" "^6.6.0" + "string-width" "^4.1.0" + "strip-ansi" "^6.0.0" + "through" "^2.3.6" "@snyk/java-call-graph-builder@1.19.1": - version "1.19.1" - resolved "https://registry.yarnpkg.com/@snyk/java-call-graph-builder/-/java-call-graph-builder-1.19.1.tgz#1d579d782df3bb5f9d5171cc35180596cd90aa8b" - integrity sha512-bxjHef5Qm3pNc+BrFlxMudmSSbOjA395ZqBddc+dvsFHoHeyNbiY56Y1JSGUlTgjRM+PKNPBiCuELTSMaROeZg== + "integrity" "sha512-bxjHef5Qm3pNc+BrFlxMudmSSbOjA395ZqBddc+dvsFHoHeyNbiY56Y1JSGUlTgjRM+PKNPBiCuELTSMaROeZg==" + "resolved" "https://registry.npmjs.org/@snyk/java-call-graph-builder/-/java-call-graph-builder-1.19.1.tgz" + "version" "1.19.1" dependencies: "@snyk/graphlib" "2.1.9-patch.3" - ci-info "^2.0.0" - debug "^4.1.1" - glob "^7.1.6" - jszip "^3.2.2" - needle "^2.3.3" - progress "^2.0.3" - snyk-config "^4.0.0-rc.2" - source-map-support "^0.5.7" - temp-dir "^2.0.0" - tmp "^0.2.1" - tslib "^1.9.3" - xml-js "^1.6.11" + "ci-info" "^2.0.0" + "debug" "^4.1.1" + "glob" "^7.1.6" + "jszip" "^3.2.2" + "needle" "^2.3.3" + "progress" "^2.0.3" + "snyk-config" "^4.0.0-rc.2" + "source-map-support" "^0.5.7" + "temp-dir" "^2.0.0" + "tmp" "^0.2.1" + "tslib" "^1.9.3" + "xml-js" "^1.6.11" "@snyk/java-call-graph-builder@1.20.0": - version "1.20.0" - resolved "https://registry.yarnpkg.com/@snyk/java-call-graph-builder/-/java-call-graph-builder-1.20.0.tgz#ffca734cf7ce276a69277963149358190eaac3e5" - integrity sha512-NX8bpIu7oG5cuSSm6WvtxqcCuJs2gRjtKhtuSeF1p5TYXyESs3FXQ0nHjfY90LiyTTc+PW/UBq6SKbBA6bCBww== + "integrity" "sha512-NX8bpIu7oG5cuSSm6WvtxqcCuJs2gRjtKhtuSeF1p5TYXyESs3FXQ0nHjfY90LiyTTc+PW/UBq6SKbBA6bCBww==" + "resolved" "https://registry.npmjs.org/@snyk/java-call-graph-builder/-/java-call-graph-builder-1.20.0.tgz" + "version" "1.20.0" dependencies: "@snyk/graphlib" "2.1.9-patch.3" - ci-info "^2.0.0" - debug "^4.1.1" - glob "^7.1.6" - jszip "^3.2.2" - needle "^2.3.3" - progress "^2.0.3" - snyk-config "^4.0.0-rc.2" - source-map-support "^0.5.7" - temp-dir "^2.0.0" - tmp "^0.2.1" - tslib "^1.9.3" - xml-js "^1.6.11" + "ci-info" "^2.0.0" + "debug" "^4.1.1" + "glob" "^7.1.6" + "jszip" "^3.2.2" + "needle" "^2.3.3" + "progress" "^2.0.3" + "snyk-config" "^4.0.0-rc.2" + "source-map-support" "^0.5.7" + "temp-dir" "^2.0.0" + "tmp" "^0.2.1" + "tslib" "^1.9.3" + "xml-js" "^1.6.11" "@snyk/mix-parser@^1.1.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@snyk/mix-parser/-/mix-parser-1.1.1.tgz#3493222b4e3d84a6fb56bce5238922a532a81191" - integrity sha512-KmX4Le+1M01m6kM2UeDColzMZctrSqoMGajqcRHR3dLpCyHE3nzZzPeOWjbUVgjQlTX07oQvq9udSJGZJ/+Gdg== + "integrity" "sha512-KmX4Le+1M01m6kM2UeDColzMZctrSqoMGajqcRHR3dLpCyHE3nzZzPeOWjbUVgjQlTX07oQvq9udSJGZJ/+Gdg==" + "resolved" "https://registry.npmjs.org/@snyk/mix-parser/-/mix-parser-1.1.1.tgz" + "version" "1.1.1" dependencies: "@snyk/dep-graph" "^1.28.0" - tslib "^2.0.0" + "tslib" "^2.0.0" "@snyk/rpm-parser@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@snyk/rpm-parser/-/rpm-parser-2.0.0.tgz#4ded7fa4b0a8efca7699359e4ca7a79bfbe38bc1" - integrity sha512-bWjQY5Xk3TcfVpeo8M5BhhSUEdPr2P19AWW13CHPu6sFZkckLWEcjQycnBsVD6RBmxGXecJ1YNui8dq6soHoYQ== + "integrity" "sha512-bWjQY5Xk3TcfVpeo8M5BhhSUEdPr2P19AWW13CHPu6sFZkckLWEcjQycnBsVD6RBmxGXecJ1YNui8dq6soHoYQ==" + "resolved" "https://registry.npmjs.org/@snyk/rpm-parser/-/rpm-parser-2.0.0.tgz" + "version" "2.0.0" dependencies: - event-loop-spinner "^2.0.0" + "event-loop-spinner" "^2.0.0" "@snyk/snyk-cocoapods-plugin@2.5.2": - version "2.5.2" - resolved "https://registry.yarnpkg.com/@snyk/snyk-cocoapods-plugin/-/snyk-cocoapods-plugin-2.5.2.tgz#cd724fcd637cb3af76187bf7254819b6079489f6" - integrity sha512-WHhnwyoGOhjFOjBXqUfszD84SErrtjHjium/4xFbqKpEE+yuwxs8OwV/S29BtxhYiGtjpD1azv5QtH30VUMl0A== + "integrity" "sha512-WHhnwyoGOhjFOjBXqUfszD84SErrtjHjium/4xFbqKpEE+yuwxs8OwV/S29BtxhYiGtjpD1azv5QtH30VUMl0A==" + "resolved" "https://registry.npmjs.org/@snyk/snyk-cocoapods-plugin/-/snyk-cocoapods-plugin-2.5.2.tgz" + "version" "2.5.2" dependencies: "@snyk/cli-interface" "^2.11.0" "@snyk/cocoapods-lockfile-parser" "3.6.2" "@snyk/dep-graph" "^1.23.1" - source-map-support "^0.5.7" - tslib "^2.0.0" + "source-map-support" "^0.5.7" + "tslib" "^2.0.0" "@snyk/snyk-docker-pull@3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@snyk/snyk-docker-pull/-/snyk-docker-pull-3.2.3.tgz#9743ea624098c7abd0f95c438c76067530494f4b" - integrity sha512-hiFiSmWGLc2tOI7FfgIhVdFzO2f69im8O6p3OV4xEZ/Ss1l58vwtqudItoswsk7wj/azRlgfBW8wGu2MjoudQg== + "integrity" "sha512-hiFiSmWGLc2tOI7FfgIhVdFzO2f69im8O6p3OV4xEZ/Ss1l58vwtqudItoswsk7wj/azRlgfBW8wGu2MjoudQg==" + "resolved" "https://registry.npmjs.org/@snyk/snyk-docker-pull/-/snyk-docker-pull-3.2.3.tgz" + "version" "3.2.3" dependencies: "@snyk/docker-registry-v2-client" "1.13.9" - child-process "^1.0.2" - tar-stream "^2.1.2" - tmp "^0.1.0" + "child-process" "^1.0.2" + "tar-stream" "^2.1.2" + "tmp" "^0.1.0" "@snyk/snyk-hex-plugin@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@snyk/snyk-hex-plugin/-/snyk-hex-plugin-1.0.0.tgz#617c91b5c19a6ccbb3a9a1a87d9e87b84621bdb3" - integrity sha512-ZydVdZ5kDpPDoehQnNHN3wZ6c470k5DPLJtWMoyfzlnCU2+y1rsUEdn4yhttn60RPx3JiLGwmckeDvZw8BqnGQ== + "integrity" "sha512-ZydVdZ5kDpPDoehQnNHN3wZ6c470k5DPLJtWMoyfzlnCU2+y1rsUEdn4yhttn60RPx3JiLGwmckeDvZw8BqnGQ==" + "resolved" "https://registry.npmjs.org/@snyk/snyk-hex-plugin/-/snyk-hex-plugin-1.0.0.tgz" + "version" "1.0.0" dependencies: "@snyk/dep-graph" "^1.28.0" "@snyk/mix-parser" "^1.1.0" - debug "^4.3.1" - tslib "^2.0.0" + "debug" "^4.3.1" + "tslib" "^2.0.0" "@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" - integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== + "integrity" "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==" + "resolved" "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz" + "version" "1.1.2" dependencies: - defer-to-connect "^1.0.1" + "defer-to-connect" "^1.0.1" "@szmarczak/http-timer@^4.0.5": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.5.tgz#bfbd50211e9dfa51ba07da58a14cdfd333205152" - integrity sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ== + "integrity" "sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==" + "resolved" "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.5.tgz" + "version" "4.0.5" dependencies: - defer-to-connect "^2.0.0" + "defer-to-connect" "^2.0.0" "@types/braces@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/braces/-/braces-3.0.0.tgz#7da1c0d44ff1c7eb660a36ec078ea61ba7eb42cb" - integrity sha512-TbH79tcyi9FHwbyboOKeRachRq63mSuWYXOflsNO9ZyE5ClQ/JaozNKl+aWUq87qPNsXasXxi2AbgfwIJ+8GQw== + "integrity" "sha512-TbH79tcyi9FHwbyboOKeRachRq63mSuWYXOflsNO9ZyE5ClQ/JaozNKl+aWUq87qPNsXasXxi2AbgfwIJ+8GQw==" + "resolved" "https://registry.npmjs.org/@types/braces/-/braces-3.0.0.tgz" + "version" "3.0.0" "@types/cacheable-request@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.1.tgz#5d22f3dded1fd3a84c0bbeb5039a7419c2c91976" - integrity sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ== + "integrity" "sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==" + "resolved" "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz" + "version" "6.0.1" dependencies: "@types/http-cache-semantics" "*" "@types/keyv" "*" @@ -404,6780 +448,7001 @@ "@types/responselike" "*" "@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== + "integrity" "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" + "resolved" "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz" + "version" "1.1.1" "@types/debug@^4.1.4": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" - integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== + "integrity" "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==" + "resolved" "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz" + "version" "4.1.5" "@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + "integrity" "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + "resolved" "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" + "version" "0.0.39" "@types/flat-cache@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/flat-cache/-/flat-cache-2.0.0.tgz#64e5d3b426c392b603a208a55bdcc7d920ce6e57" - integrity sha512-fHeEsm9hvmZ+QHpw6Fkvf19KIhuqnYLU6vtWLjd5BsMd/qVi7iTkMioDZl0mQmfNRA1A6NwvhrSRNr9hGYZGww== + "integrity" "sha512-fHeEsm9hvmZ+QHpw6Fkvf19KIhuqnYLU6vtWLjd5BsMd/qVi7iTkMioDZl0mQmfNRA1A6NwvhrSRNr9hGYZGww==" + "resolved" "https://registry.npmjs.org/@types/flat-cache/-/flat-cache-2.0.0.tgz" + "version" "2.0.0" "@types/graphlib@^2", "@types/graphlib@^2.1.7": - version "2.1.7" - resolved "https://registry.yarnpkg.com/@types/graphlib/-/graphlib-2.1.7.tgz#e6a47a4f43511f5bad30058a669ce5ce93bfd823" - integrity sha512-K7T1n6U2HbTYu+SFHlBjz/RH74OA2D/zF1qlzn8uXbvB4uRg7knOM85ugS2bbXI1TXMh7rLqk4OVRwIwEBaixg== + "integrity" "sha512-K7T1n6U2HbTYu+SFHlBjz/RH74OA2D/zF1qlzn8uXbvB4uRg7knOM85ugS2bbXI1TXMh7rLqk4OVRwIwEBaixg==" + "resolved" "https://registry.npmjs.org/@types/graphlib/-/graphlib-2.1.7.tgz" + "version" "2.1.7" "@types/http-cache-semantics@*": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz#9140779736aa2655635ee756e2467d787cfe8a2a" - integrity sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A== + "integrity" "sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==" + "resolved" "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz" + "version" "4.0.0" "@types/js-yaml@^3.12.1": - version "3.12.2" - resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.12.2.tgz#a35a1809c33a68200fb6403d1ad708363c56470a" - integrity sha512-0CFu/g4mDSNkodVwWijdlr8jH7RoplRWNgovjFLEZeT+QEbbZXjBmCe3HwaWheAlCbHwomTwzZoSedeOycABug== + "integrity" "sha512-0CFu/g4mDSNkodVwWijdlr8jH7RoplRWNgovjFLEZeT+QEbbZXjBmCe3HwaWheAlCbHwomTwzZoSedeOycABug==" + "resolved" "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.2.tgz" + "version" "3.12.2" "@types/keyv@*": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.1.tgz#e45a45324fca9dab716ab1230ee249c9fb52cfa7" - integrity sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw== + "integrity" "sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==" + "resolved" "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.1.tgz" + "version" "3.1.1" dependencies: "@types/node" "*" "@types/lodash.chunk@^4.2.6": - version "4.2.6" - resolved "https://registry.yarnpkg.com/@types/lodash.chunk/-/lodash.chunk-4.2.6.tgz#9d35f05360b0298715d7f3d9efb34dd4f77e5d2a" - integrity sha512-SPlusB7jxXyGcTXYcUdWr7WmhArO/rmTq54VN88iKMxGUhyg79I4Q8n4riGn3kjaTjOJrVlHhxgX/d7woak5BQ== + "integrity" "sha512-SPlusB7jxXyGcTXYcUdWr7WmhArO/rmTq54VN88iKMxGUhyg79I4Q8n4riGn3kjaTjOJrVlHhxgX/d7woak5BQ==" + "resolved" "https://registry.npmjs.org/@types/lodash.chunk/-/lodash.chunk-4.2.6.tgz" + "version" "4.2.6" dependencies: "@types/lodash" "*" "@types/lodash.omit@^4.5.6": - version "4.5.6" - resolved "https://registry.yarnpkg.com/@types/lodash.omit/-/lodash.omit-4.5.6.tgz#f2a9518259e481a48ff7ec423420fa8fd58933e2" - integrity sha512-KXPpOSNX2h0DAG2w7ajpk7TXvWF28ZHs5nJhOJyP0BQHkehgr948RVsToItMme6oi0XJkp19CbuNXkIX8FiBlQ== + "integrity" "sha512-KXPpOSNX2h0DAG2w7ajpk7TXvWF28ZHs5nJhOJyP0BQHkehgr948RVsToItMme6oi0XJkp19CbuNXkIX8FiBlQ==" + "resolved" "https://registry.npmjs.org/@types/lodash.omit/-/lodash.omit-4.5.6.tgz" + "version" "4.5.6" dependencies: "@types/lodash" "*" "@types/lodash.union@^4.6.6": - version "4.6.6" - resolved "https://registry.yarnpkg.com/@types/lodash.union/-/lodash.union-4.6.6.tgz#2f77f2088326ed147819e9e384182b99aae8d4b0" - integrity sha512-Wu0ZEVNcyCz8eAn6TlUbYWZoGbH9E+iOHxAZbwUoCEXdUiy6qpcz5o44mMXViM4vlPLLCPlkAubEP1gokoSZaw== + "integrity" "sha512-Wu0ZEVNcyCz8eAn6TlUbYWZoGbH9E+iOHxAZbwUoCEXdUiy6qpcz5o44mMXViM4vlPLLCPlkAubEP1gokoSZaw==" + "resolved" "https://registry.npmjs.org/@types/lodash.union/-/lodash.union-4.6.6.tgz" + "version" "4.6.6" dependencies: "@types/lodash" "*" "@types/lodash@*": - version "4.14.168" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.168.tgz#fe24632e79b7ade3f132891afff86caa5e5ce008" - integrity sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q== + "integrity" "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==" + "resolved" "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz" + "version" "4.14.168" "@types/micromatch@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/micromatch/-/micromatch-4.0.1.tgz#9381449dd659fc3823fd2a4190ceacc985083bc7" - integrity sha512-my6fLBvpY70KattTNzYOK6KU1oR1+UCz9ug/JbcF5UrEmeCt9P7DV2t7L8+t18mMPINqGQCE4O8PLOPbI84gxw== + "integrity" "sha512-my6fLBvpY70KattTNzYOK6KU1oR1+UCz9ug/JbcF5UrEmeCt9P7DV2t7L8+t18mMPINqGQCE4O8PLOPbI84gxw==" + "resolved" "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.1.tgz" + "version" "4.0.1" dependencies: "@types/braces" "*" "@types/node@*": - version "13.7.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-13.7.4.tgz#76c3cb3a12909510f52e5dc04a6298cdf9504ffd" - integrity sha512-oVeL12C6gQS/GAExndigSaLxTrKpQPxewx9bOcwfvJiJge4rr7wNaph4J+ns5hrmIV2as5qxqN8YKthn9qh0jw== + "integrity" "sha512-oVeL12C6gQS/GAExndigSaLxTrKpQPxewx9bOcwfvJiJge4rr7wNaph4J+ns5hrmIV2as5qxqN8YKthn9qh0jw==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-13.7.4.tgz" + "version" "13.7.4" "@types/node@^11.9.5": - version "11.10.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-11.10.4.tgz#3f5fc4f0f322805f009e00ab35a2ff3d6b778e42" - integrity sha512-wa09itaLE8L705aXd8F80jnFpxz3Y1/KRHfKsYL2bPc0XF+wEWu8sR9n5bmeu8Ba1N9z2GRNzm/YdHcghLkLKg== + "integrity" "sha512-wa09itaLE8L705aXd8F80jnFpxz3Y1/KRHfKsYL2bPc0XF+wEWu8sR9n5bmeu8Ba1N9z2GRNzm/YdHcghLkLKg==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-11.10.4.tgz" + "version" "11.10.4" "@types/q@^1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.1.tgz#48fd98c1561fe718b61733daed46ff115b496e18" - integrity sha512-eqz8c/0kwNi/OEHQfvIuJVLTst3in0e7uTKeuY+WL/zfKn0xVujOTp42bS/vUUokhK5P2BppLd9JXMOMHcgbjA== + "integrity" "sha512-eqz8c/0kwNi/OEHQfvIuJVLTst3in0e7uTKeuY+WL/zfKn0xVujOTp42bS/vUUokhK5P2BppLd9JXMOMHcgbjA==" + "resolved" "https://registry.npmjs.org/@types/q/-/q-1.5.1.tgz" + "version" "1.5.1" "@types/responselike@*", "@types/responselike@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" - integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== + "integrity" "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==" + "resolved" "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz" + "version" "1.0.0" dependencies: "@types/node" "*" "@types/sarif@^2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@types/sarif/-/sarif-2.1.3.tgz#1f9c16033f1461536ac014284920350109614c02" - integrity sha512-zf+EoIplTkQW2TV2mwtJtlI0g540Z3Rs9tX9JqRAtyjnDCqkP+eMTgWCj3PGNbQpi+WXAjvC3Ou/dvvX2sLK4w== + "integrity" "sha512-zf+EoIplTkQW2TV2mwtJtlI0g540Z3Rs9tX9JqRAtyjnDCqkP+eMTgWCj3PGNbQpi+WXAjvC3Ou/dvvX2sLK4w==" + "resolved" "https://registry.npmjs.org/@types/sarif/-/sarif-2.1.3.tgz" + "version" "2.1.3" "@types/uuid@^8.3.0": - version "8.3.0" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.0.tgz#215c231dff736d5ba92410e6d602050cce7e273f" - integrity sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ== + "integrity" "sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ==" + "resolved" "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.0.tgz" + "version" "8.3.0" "@vue/component-compiler-utils@^1.2.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-1.3.1.tgz#686f0b913d59590ae327b2a1cb4b6d9b931bbe0e" - integrity sha512-IyjJW6ToMitgAhp3xh22QiEW8JvHfLyzlyY/J+GjJ71miod9tNsy6xT2ckm/VirlhPMfeM43kgYZe34jhmmzpw== + "integrity" "sha512-IyjJW6ToMitgAhp3xh22QiEW8JvHfLyzlyY/J+GjJ71miod9tNsy6xT2ckm/VirlhPMfeM43kgYZe34jhmmzpw==" + "resolved" "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-1.3.1.tgz" + "version" "1.3.1" dependencies: - consolidate "^0.15.1" - hash-sum "^1.0.2" - lru-cache "^4.1.2" - merge-source-map "^1.1.0" - postcss "^6.0.20" - postcss-selector-parser "^3.1.1" - prettier "^1.13.0" - source-map "^0.5.6" - vue-template-es2015-compiler "^1.6.0" + "consolidate" "^0.15.1" + "hash-sum" "^1.0.2" + "lru-cache" "^4.1.2" + "merge-source-map" "^1.1.0" + "postcss" "^6.0.20" + "postcss-selector-parser" "^3.1.1" + "prettier" "^1.13.0" + "source-map" "^0.5.6" + "vue-template-es2015-compiler" "^1.6.0" "@vue/component-compiler-utils@^2.1.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-2.6.0.tgz#aa46d2a6f7647440b0b8932434d22f12371e543b" - integrity sha512-IHjxt7LsOFYc0DkTncB7OXJL7UzwOLPPQCfEUNyxL2qt+tF12THV+EO33O1G2Uk4feMSWua3iD39Itszx0f0bw== + "integrity" "sha512-IHjxt7LsOFYc0DkTncB7OXJL7UzwOLPPQCfEUNyxL2qt+tF12THV+EO33O1G2Uk4feMSWua3iD39Itszx0f0bw==" + "resolved" "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-2.6.0.tgz" + "version" "2.6.0" dependencies: - consolidate "^0.15.1" - hash-sum "^1.0.2" - lru-cache "^4.1.2" - merge-source-map "^1.1.0" - postcss "^7.0.14" - postcss-selector-parser "^5.0.0" - prettier "1.16.3" - source-map "~0.6.1" - vue-template-es2015-compiler "^1.9.0" + "consolidate" "^0.15.1" + "hash-sum" "^1.0.2" + "lru-cache" "^4.1.2" + "merge-source-map" "^1.1.0" + "postcss" "^7.0.14" + "postcss-selector-parser" "^5.0.0" + "prettier" "1.16.3" + "source-map" "~0.6.1" + "vue-template-es2015-compiler" "^1.9.0" "@vue/component-compiler@^3.3.2": - version "3.6.0" - resolved "https://registry.yarnpkg.com/@vue/component-compiler/-/component-compiler-3.6.0.tgz#8db313e50eaa2903cef5aac68c37a09364dba79d" - integrity sha512-NIA0vmOI4zbtJAn69iZls8IJ8VxmguswAuiUdu8TcR+YYTYzntfw290HUCSFjzAdRg+FUWZv8r+wc3TzJ/IjwA== + "integrity" "sha512-NIA0vmOI4zbtJAn69iZls8IJ8VxmguswAuiUdu8TcR+YYTYzntfw290HUCSFjzAdRg+FUWZv8r+wc3TzJ/IjwA==" + "resolved" "https://registry.npmjs.org/@vue/component-compiler/-/component-compiler-3.6.0.tgz" + "version" "3.6.0" dependencies: "@vue/component-compiler-utils" "^2.1.0" - clean-css "^4.1.11" - hash-sum "^1.0.2" - postcss-modules-sync "^1.0.0" - source-map "0.6.*" + "clean-css" "^4.1.11" + "hash-sum" "^1.0.2" + "postcss-modules-sync" "^1.0.0" + "source-map" "0.6.*" "@yarnpkg/lockfile@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" - integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== + "integrity" "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" + "resolved" "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz" + "version" "1.1.0" -abbrev@1, abbrev@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== +"abbrev@^1.1.1", "abbrev@1": + "integrity" "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "resolved" "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" + "version" "1.1.1" -accepts@~1.3.4, accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== +"accepts@~1.3.4", "accepts@~1.3.7": + "integrity" "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==" + "resolved" "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz" + "version" "1.3.7" dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" + "mime-types" "~2.1.24" + "negotiator" "0.6.2" -ace-builds@^1.4.8: - version "1.4.8" - resolved "https://registry.yarnpkg.com/ace-builds/-/ace-builds-1.4.8.tgz#d14be41d30294a2a12581f0bcfee4b696481ffdd" - integrity sha512-8ZVAxwyCGAxQX8mOp9imSXH0hoSPkGfy8igJy+WO/7axL30saRhKgg1XPACSmxxPA7nfHVwM+ShWXT+vKsNuFg== +"ace-builds@^1.4.8": + "integrity" "sha512-8ZVAxwyCGAxQX8mOp9imSXH0hoSPkGfy8igJy+WO/7axL30saRhKgg1XPACSmxxPA7nfHVwM+ShWXT+vKsNuFg==" + "resolved" "https://registry.npmjs.org/ace-builds/-/ace-builds-1.4.8.tgz" + "version" "1.4.8" -acorn@^5.2.1: - version "5.7.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" - integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== +"acorn@^5.2.1": + "integrity" "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz" + "version" "5.7.4" -acorn@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" - integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA== +"acorn@^6.1.1": + "integrity" "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" + "version" "6.4.2" -after@0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" - integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8= +"after@0.8.2": + "integrity" "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" + "resolved" "https://registry.npmjs.org/after/-/after-0.8.2.tgz" + "version" "0.8.2" -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== +"aggregate-error@^3.0.0": + "integrity" "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==" + "resolved" "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" + "version" "3.1.0" dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" + "clean-stack" "^2.0.0" + "indent-string" "^4.0.0" "air-datepicker@github:frappe/air-datepicker": - version "2.2.3" - resolved "https://codeload.github.com/frappe/air-datepicker/tar.gz/ed37b94d95c68d8544357e330be0c89d044a3eea" + "resolved" "git+ssh://git@github.com/frappe/air-datepicker.git#ed37b94d95c68d8544357e330be0c89d044a3eea" + "version" "2.2.3" dependencies: - jquery ">=2.0.0 <4.0.0" + "jquery" ">=2.0.0 <4.0.0" -ajv@^6.12.3: - version "6.12.5" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.5.tgz#19b0e8bae8f476e5ba666300387775fb1a00a4da" - integrity sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag== +"ajv@^6.12.3": + "integrity" "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz" + "version" "6.12.5" 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" + "fast-deep-equal" "^3.1.1" + "fast-json-stable-stringify" "^2.0.0" + "json-schema-traverse" "^0.4.1" + "uri-js" "^4.2.2" -alphanum-sort@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= +"alphanum-sort@^1.0.0": + "integrity" "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + "resolved" "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz" + "version" "1.0.2" -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= +"amdefine@>=0.0.4": + "integrity" "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + "resolved" "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz" + "version" "1.0.1" -ansi-align@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" - integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== +"ansi-align@^3.0.0": + "integrity" "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==" + "resolved" "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz" + "version" "3.0.0" dependencies: - string-width "^3.0.0" + "string-width" "^3.0.0" -ansi-escapes@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - -ansi-escapes@^4.2.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== +"ansi-escapes@^4.2.1": + "integrity" "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==" + "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz" + "version" "4.3.1" dependencies: - type-fest "^0.11.0" + "type-fest" "^0.11.0" -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= +"ansi-escapes@3.2.0": + "integrity" "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz" + "version" "3.2.0" -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= +"ansi-regex@^2.0.0": + "integrity" "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" + "version" "2.1.1" -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== +"ansi-regex@^3.0.0": + "integrity" "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" + "version" "3.0.0" -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== +"ansi-regex@^4.1.0": + "integrity" "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz" + "version" "4.1.0" -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= +"ansi-regex@^5.0.0": + "integrity" "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz" + "version" "5.0.0" -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== +"ansi-styles@^2.2.1": + "integrity" "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" + "version" "2.2.1" + +"ansi-styles@^3.2.0", "ansi-styles@^3.2.1": + "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + "version" "3.2.1" dependencies: - color-convert "^1.9.0" + "color-convert" "^1.9.0" -ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== +"ansi-styles@^4.1.0": + "integrity" "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz" + "version" "4.2.1" dependencies: "@types/color-name" "^1.1.1" - color-convert "^2.0.1" + "color-convert" "^2.0.1" -ansicolors@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" - integrity sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk= +"ansicolors@^0.3.2": + "integrity" "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=" + "resolved" "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz" + "version" "0.3.2" -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== +"aproba@^1.0.3": + "integrity" "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "resolved" "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz" + "version" "1.2.0" -archy@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= +"archy@^1.0.0": + "integrity" "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" + "resolved" "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" + "version" "1.0.0" -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== +"are-we-there-yet@~1.1.2": + "integrity" "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==" + "resolved" "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz" + "version" "1.1.5" dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" + "delegates" "^1.0.0" + "readable-stream" "^2.0.6" -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== +"argparse@^1.0.7": + "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" + "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + "version" "1.0.10" dependencies: - sprintf-js "~1.0.2" + "sprintf-js" "~1.0.2" -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= +"arr-diff@^4.0.0": + "integrity" "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + "resolved" "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" + "version" "4.0.0" -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== +"arr-flatten@^1.1.0": + "integrity" "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + "resolved" "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" + "version" "1.1.0" -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= +"arr-union@^3.1.0": + "integrity" "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + "resolved" "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" + "version" "3.1.0" -array-filter@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" - integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= +"array-filter@^1.0.0": + "integrity" "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=" + "resolved" "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz" + "version" "1.0.0" -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= +"array-find-index@^1.0.1": + "integrity" "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" + "resolved" "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" + "version" "1.0.2" -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= +"array-flatten@1.1.1": + "integrity" "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + "version" "1.1.1" -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= +"array-unique@^0.3.2": + "integrity" "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + "resolved" "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" + "version" "0.3.2" -arraybuffer.slice@~0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" - integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog== +"arraybuffer.slice@~0.0.7": + "integrity" "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" + "resolved" "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz" + "version" "0.0.7" -asap@~2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= +"asap@~2.0.3": + "integrity" "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + "resolved" "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + "version" "2.0.6" -asn1@~0.2.0, asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== +"asn1@~0.2.0", "asn1@~0.2.3": + "integrity" "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==" + "resolved" "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz" + "version" "0.2.4" dependencies: - safer-buffer "~2.1.0" + "safer-buffer" "~2.1.0" -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= +"assert-plus@^1.0.0", "assert-plus@1.0.0": + "integrity" "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "resolved" "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + "version" "1.0.0" -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= +"assign-symbols@^1.0.0": + "integrity" "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + "resolved" "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" + "version" "1.0.0" -async-array-reduce@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/async-array-reduce/-/async-array-reduce-0.2.1.tgz#c8be010a2b5cd00dea96c81116034693dfdd82d1" - integrity sha1-yL4BCitc0A3qlsgRFgNGk9/dgtE= +"async-array-reduce@^0.2.1": + "integrity" "sha1-yL4BCitc0A3qlsgRFgNGk9/dgtE=" + "resolved" "https://registry.npmjs.org/async-array-reduce/-/async-array-reduce-0.2.1.tgz" + "version" "0.2.1" -async-foreach@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" - integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= +"async-foreach@^0.1.3": + "integrity" "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=" + "resolved" "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz" + "version" "0.1.3" -async@^2.6.1: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== +"async@^2.6.1": + "integrity" "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==" + "resolved" "https://registry.npmjs.org/async/-/async-2.6.3.tgz" + "version" "2.6.3" dependencies: - lodash "^4.17.14" + "lodash" "^4.17.14" -async@^3.1.0, async@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" - integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== +"async@^3.1.0", "async@^3.2.0": + "integrity" "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" + "resolved" "https://registry.npmjs.org/async/-/async-3.2.0.tgz" + "version" "3.2.0" -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= +"asynckit@^0.4.0": + "integrity" "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + "version" "0.4.0" -atob@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== +"atob@^2.1.1": + "integrity" "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + "resolved" "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" + "version" "2.1.2" -autoprefixer@^9.8.6: - version "9.8.6" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" - integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== +"autoprefixer@^9.8.6": + "integrity" "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==" + "resolved" "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz" + "version" "9.8.6" dependencies: - browserslist "^4.12.0" - caniuse-lite "^1.0.30001109" - colorette "^1.2.1" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^7.0.32" - postcss-value-parser "^4.1.0" + "browserslist" "^4.12.0" + "caniuse-lite" "^1.0.30001109" + "colorette" "^1.2.1" + "normalize-range" "^0.1.2" + "num2fraction" "^1.2.2" + "postcss" "^7.0.32" + "postcss-value-parser" "^4.1.0" -available-typed-arrays@^1.0.0, available-typed-arrays@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz#6b098ca9d8039079ee3f77f7b783c4480ba513f5" - integrity sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ== +"available-typed-arrays@^1.0.0", "available-typed-arrays@^1.0.2": + "integrity" "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==" + "resolved" "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz" + "version" "1.0.2" dependencies: - array-filter "^1.0.0" + "array-filter" "^1.0.0" -awesomplete@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/awesomplete/-/awesomplete-1.1.5.tgz#1b2b5dd106d3955595619c03da472a1dc0faf0af" - integrity sha512-UFw1mPW8NaSECDSTC36HbAOTpF9JK2wBUJcNn4MSvlNtK7SZ9N72gB+ajHtA6D1abYXRcszZnBA4nHBwvFwzHw== +"awesomplete@^1.1.5": + "integrity" "sha512-UFw1mPW8NaSECDSTC36HbAOTpF9JK2wBUJcNn4MSvlNtK7SZ9N72gB+ajHtA6D1abYXRcszZnBA4nHBwvFwzHw==" + "resolved" "https://registry.npmjs.org/awesomplete/-/awesomplete-1.1.5.tgz" + "version" "1.1.5" -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= +"aws-sign2@~0.7.0": + "integrity" "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + "resolved" "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" + "version" "0.7.0" -aws4@^1.8.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" - integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA== +"aws4@^1.8.0": + "integrity" "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==" + "resolved" "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz" + "version" "1.10.1" -axios@^0.21.1: - version "0.21.1" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" - integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== +"axios@^0.21.1": + "integrity" "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==" + "resolved" "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz" + "version" "0.21.1" dependencies: - follow-redirects "^1.10.0" + "follow-redirects" "^1.10.0" -babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= +"babel-runtime@^6.26.0": + "integrity" "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=" + "resolved" "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz" + "version" "6.26.0" dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" + "core-js" "^2.4.0" + "regenerator-runtime" "^0.11.0" -backo2@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" - integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= +"backo2@1.0.2": + "integrity" "sha1-MasayLEpNjRj41s+u2n038+6eUc=" + "resolved" "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz" + "version" "1.0.2" -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= +"balanced-match@^1.0.0": + "integrity" "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" + "version" "1.0.0" -base64-arraybuffer@0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" - integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg= - -base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== - -base64id@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" - integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== +"base@^0.11.1": + "integrity" "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==" + "resolved" "https://registry.npmjs.org/base/-/base-0.11.2.tgz" + "version" "0.11.2" 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" + "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" -bcrypt-pbkdf@^1.0.0, bcrypt-pbkdf@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= +"base64-arraybuffer@0.1.5": + "integrity" "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" + "resolved" "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz" + "version" "0.1.5" + +"base64-js@^1.0.2": + "integrity" "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz" + "version" "1.3.1" + +"base64id@2.0.0": + "integrity" "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" + "resolved" "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz" + "version" "2.0.0" + +"bcrypt-pbkdf@^1.0.0", "bcrypt-pbkdf@^1.0.2": + "integrity" "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=" + "resolved" "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" + "version" "1.0.2" dependencies: - tweetnacl "^0.14.3" + "tweetnacl" "^0.14.3" -big.js@^3.1.3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" - integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== +"big.js@^3.1.3": + "integrity" "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" + "resolved" "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz" + "version" "3.2.0" -bl@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/bl/-/bl-3.0.1.tgz#1cbb439299609e419b5a74d7fce2f8b37d8e5c6f" - integrity sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ== +"bl@^3.0.0": + "integrity" "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==" + "resolved" "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz" + "version" "3.0.1" dependencies: - readable-stream "^3.0.1" + "readable-stream" "^3.0.1" -bl@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.2.tgz#52b71e9088515d0606d9dd9cc7aa48dc1f98e73a" - integrity sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ== +"bl@^4.0.1": + "integrity" "sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ==" + "resolved" "https://registry.npmjs.org/bl/-/bl-4.0.2.tgz" + "version" "4.0.2" dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" + "buffer" "^5.5.0" + "inherits" "^2.0.4" + "readable-stream" "^3.4.0" -bl@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== +"bl@^4.0.3": + "integrity" "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" + "resolved" "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" + "version" "4.1.0" dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" + "buffer" "^5.5.0" + "inherits" "^2.0.4" + "readable-stream" "^3.4.0" -blob@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" - integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig== +"blob@0.0.5": + "integrity" "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==" + "resolved" "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz" + "version" "0.0.5" -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= +"block-stream@*": + "integrity" "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=" + "resolved" "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz" + "version" "0.0.9" dependencies: - inherits "~2.0.0" + "inherits" "~2.0.0" -bluebird@^3.1.1: - version "3.5.3" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" - integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw== +"bluebird@^3.1.1": + "integrity" "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==" + "resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz" + "version" "3.5.3" -body-parser@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" - integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== +"body-parser@1.19.0": + "integrity" "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==" + "resolved" "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz" + "version" "1.19.0" dependencies: - bytes "3.1.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.7.2" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.7.0" - raw-body "2.4.0" - type-is "~1.6.17" + "bytes" "3.1.0" + "content-type" "~1.0.4" + "debug" "2.6.9" + "depd" "~1.1.2" + "http-errors" "1.7.2" + "iconv-lite" "0.4.24" + "on-finished" "~2.3.0" + "qs" "6.7.0" + "raw-body" "2.4.0" + "type-is" "~1.6.17" -boolbase@^1.0.0, boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= +"boolbase@^1.0.0", "boolbase@~1.0.0": + "integrity" "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + "resolved" "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + "version" "1.0.0" -boolean@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.0.3.tgz#0fee0c9813b66bef25a8a6a904bb46736d05f024" - integrity sha512-EqrTKXQX6Z3A2nRmMEIlAIfjQOgFnVO2nqZGpbcsPnYGWBwpFqzlrozU1dy+S2iqfYDLh26ef4KrgTxu9xQrxA== +"boolean@^3.0.1": + "integrity" "sha512-EqrTKXQX6Z3A2nRmMEIlAIfjQOgFnVO2nqZGpbcsPnYGWBwpFqzlrozU1dy+S2iqfYDLh26ef4KrgTxu9xQrxA==" + "resolved" "https://registry.npmjs.org/boolean/-/boolean-3.0.3.tgz" + "version" "3.0.3" -bootstrap@4: - version "4.5.0" - resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.5.0.tgz#97d9dbcb5a8972f8722c9962483543b907d9b9ec" - integrity sha512-Z93QoXvodoVslA+PWNdk23Hze4RBYIkpb5h8I2HY2Tu2h7A0LpAgLcyrhrSUyo2/Oxm2l1fRZPs1e5hnxnliXA== +"bootstrap@4": + "integrity" "sha512-Z93QoXvodoVslA+PWNdk23Hze4RBYIkpb5h8I2HY2Tu2h7A0LpAgLcyrhrSUyo2/Oxm2l1fRZPs1e5hnxnliXA==" + "resolved" "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.0.tgz" + "version" "4.5.0" -boxen@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" - integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ== +"boxen@^4.2.0": + "integrity" "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==" + "resolved" "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz" + "version" "4.2.0" dependencies: - ansi-align "^3.0.0" - camelcase "^5.3.1" - chalk "^3.0.0" - cli-boxes "^2.2.0" - string-width "^4.1.0" - term-size "^2.1.0" - type-fest "^0.8.1" - widest-line "^3.1.0" + "ansi-align" "^3.0.0" + "camelcase" "^5.3.1" + "chalk" "^3.0.0" + "cli-boxes" "^2.2.0" + "string-width" "^4.1.0" + "term-size" "^2.1.0" + "type-fest" "^0.8.1" + "widest-line" "^3.1.0" -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== +"brace-expansion@^1.1.7": + "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" + "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + "version" "1.1.11" dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" + "balanced-match" "^1.0.0" + "concat-map" "0.0.1" -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== +"braces@^2.3.1": + "integrity" "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==" + "resolved" "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" + "version" "2.3.2" 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" + "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" -braces@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== +"braces@^3.0.1": + "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" + "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + "version" "3.0.2" dependencies: - fill-range "^7.0.1" + "fill-range" "^7.0.1" -browser-stdout@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== +"browser-stdout@1.3.1": + "integrity" "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + "resolved" "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz" + "version" "1.3.1" -browserify-zlib@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" - integrity sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0= +"browserify-zlib@^0.1.4": + "integrity" "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=" + "resolved" "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz" + "version" "0.1.4" dependencies: - pako "~0.2.0" + "pako" "~0.2.0" -browserslist@^4.0.0: - version "4.4.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.4.2.tgz#6ea8a74d6464bb0bd549105f659b41197d8f0ba2" - integrity sha512-ISS/AIAiHERJ3d45Fz0AVYKkgcy+F/eJHzKEvv1j0wwKGKD9T3BrwKr/5g45L+Y4XIK5PlTqefHciRFcfE1Jxg== +"browserslist@^4.0.0": + "integrity" "sha512-ISS/AIAiHERJ3d45Fz0AVYKkgcy+F/eJHzKEvv1j0wwKGKD9T3BrwKr/5g45L+Y4XIK5PlTqefHciRFcfE1Jxg==" + "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.4.2.tgz" + "version" "4.4.2" dependencies: - caniuse-lite "^1.0.30000939" - electron-to-chromium "^1.3.113" - node-releases "^1.1.8" + "caniuse-lite" "^1.0.30000939" + "electron-to-chromium" "^1.3.113" + "node-releases" "^1.1.8" -browserslist@^4.12.0: - version "4.14.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.0.tgz#2908951abfe4ec98737b72f34c3bcedc8d43b000" - integrity sha512-pUsXKAF2lVwhmtpeA3LJrZ76jXuusrNyhduuQs7CDFf9foT4Y38aQOserd2lMe5DSSrjf3fx34oHwryuvxAUgQ== +"browserslist@^4.12.0": + "integrity" "sha512-pUsXKAF2lVwhmtpeA3LJrZ76jXuusrNyhduuQs7CDFf9foT4Y38aQOserd2lMe5DSSrjf3fx34oHwryuvxAUgQ==" + "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.14.0.tgz" + "version" "4.14.0" dependencies: - caniuse-lite "^1.0.30001111" - electron-to-chromium "^1.3.523" - escalade "^3.0.2" - node-releases "^1.1.60" + "caniuse-lite" "^1.0.30001111" + "electron-to-chromium" "^1.3.523" + "escalade" "^3.0.2" + "node-releases" "^1.1.60" -buble@^0.19.6: - version "0.19.6" - resolved "https://registry.yarnpkg.com/buble/-/buble-0.19.6.tgz#915909b6bd5b11ee03b1c885ec914a8b974d34d3" - integrity sha512-9kViM6nJA1Q548Jrd06x0geh+BG2ru2+RMDkIHHgJY/8AcyCs34lTHwra9BX7YdPrZXd5aarkpr/SY8bmPgPdg== +"buble@^0.19.6": + "integrity" "sha512-9kViM6nJA1Q548Jrd06x0geh+BG2ru2+RMDkIHHgJY/8AcyCs34lTHwra9BX7YdPrZXd5aarkpr/SY8bmPgPdg==" + "resolved" "https://registry.npmjs.org/buble/-/buble-0.19.6.tgz" + "version" "0.19.6" dependencies: - chalk "^2.4.1" - magic-string "^0.25.1" - minimist "^1.2.0" - os-homedir "^1.0.1" - regexpu-core "^4.2.0" - vlq "^1.0.0" + "chalk" "^2.4.1" + "magic-string" "^0.25.1" + "minimist" "^1.2.0" + "os-homedir" "^1.0.1" + "regexpu-core" "^4.2.0" + "vlq" "^1.0.0" -buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= +"buffer-crc32@~0.2.3": + "integrity" "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + "resolved" "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" + "version" "0.2.13" -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== +"buffer-from@^1.0.0": + "integrity" "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" + "version" "1.1.1" -buffer@^5.5.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" - integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== +"buffer@^5.5.0": + "integrity" "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==" + "resolved" "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz" + "version" "5.6.0" dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" + "base64-js" "^1.0.2" + "ieee754" "^1.1.4" -builtin-modules@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.0.0.tgz#1e587d44b006620d90286cc7a9238bbc6129cab1" - integrity sha512-hMIeU4K2ilbXV6Uv93ZZ0Avg/M91RaKXucQ+4me2Do1txxBDyDZWCBa5bJSLqoNTRpXTLwEzIk1KmloenDDjhg== +"builtin-modules@^3.0.0": + "integrity" "sha512-hMIeU4K2ilbXV6Uv93ZZ0Avg/M91RaKXucQ+4me2Do1txxBDyDZWCBa5bJSLqoNTRpXTLwEzIk1KmloenDDjhg==" + "resolved" "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.0.0.tgz" + "version" "3.0.0" -bytes@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== +"bytes@3.1.0": + "integrity" "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz" + "version" "3.1.0" -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== +"cache-base@^1.0.1": + "integrity" "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==" + "resolved" "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" + "version" "1.0.1" 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" + "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" -cacheable-lookup@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.3.tgz#049fdc59dffdd4fc285e8f4f82936591bd59fec3" - integrity sha512-W+JBqF9SWe18A72XFzN/V/CULFzPm7sBXzzR6ekkE+3tLG72wFZrBiBZhrZuDoYexop4PHJVdFAKb/Nj9+tm9w== +"cacheable-lookup@^5.0.3": + "integrity" "sha512-W+JBqF9SWe18A72XFzN/V/CULFzPm7sBXzzR6ekkE+3tLG72wFZrBiBZhrZuDoYexop4PHJVdFAKb/Nj9+tm9w==" + "resolved" "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.3.tgz" + "version" "5.0.3" -cacheable-request@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" - integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== +"cacheable-request@^6.0.0": + "integrity" "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==" + "resolved" "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz" + "version" "6.1.0" dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^3.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^1.0.2" + "clone-response" "^1.0.2" + "get-stream" "^5.1.0" + "http-cache-semantics" "^4.0.0" + "keyv" "^3.0.0" + "lowercase-keys" "^2.0.0" + "normalize-url" "^4.1.0" + "responselike" "^1.0.2" -cacheable-request@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.1.tgz#062031c2856232782ed694a257fa35da93942a58" - integrity sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw== +"cacheable-request@^7.0.1": + "integrity" "sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==" + "resolved" "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.1.tgz" + "version" "7.0.1" dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^4.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^2.0.0" + "clone-response" "^1.0.2" + "get-stream" "^5.1.0" + "http-cache-semantics" "^4.0.0" + "keyv" "^4.0.0" + "lowercase-keys" "^2.0.0" + "normalize-url" "^4.1.0" + "responselike" "^2.0.0" -caller-callsite@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" - integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= +"caller-callsite@^2.0.0": + "integrity" "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=" + "resolved" "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz" + "version" "2.0.0" dependencies: - callsites "^2.0.0" + "callsites" "^2.0.0" -caller-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" - integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= +"caller-path@^2.0.0": + "integrity" "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=" + "resolved" "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz" + "version" "2.0.0" dependencies: - caller-callsite "^2.0.0" + "caller-callsite" "^2.0.0" -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= +"callsites@^2.0.0": + "integrity" "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + "resolved" "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz" + "version" "2.0.0" -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= +"camelcase-keys@^2.0.0": + "integrity" "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=" + "resolved" "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz" + "version" "2.1.0" dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" + "camelcase" "^2.0.0" + "map-obj" "^1.0.0" -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= +"camelcase@^2.0.0": + "integrity" "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz" + "version" "2.1.1" -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== +"camelcase@^5.0.0", "camelcase@^5.3.1": + "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + "version" "5.3.1" -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== +"caniuse-api@^3.0.0": + "integrity" "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==" + "resolved" "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" + "version" "3.0.0" dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" + "browserslist" "^4.0.0" + "caniuse-lite" "^1.0.0" + "lodash.memoize" "^4.1.2" + "lodash.uniq" "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000939, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001111: - version "1.0.30001191" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001191.tgz" - integrity sha512-xJJqzyd+7GCJXkcoBiQ1GuxEiOBCLQ0aVW9HMekifZsAVGdj5eJ4mFB9fEhSHipq9IOk/QXFJUiIr9lZT+EsGw== +"caniuse-lite@^1.0.0", "caniuse-lite@^1.0.30000939", "caniuse-lite@^1.0.30001109", "caniuse-lite@^1.0.30001111": + "integrity" "sha512-xJJqzyd+7GCJXkcoBiQ1GuxEiOBCLQ0aVW9HMekifZsAVGdj5eJ4mFB9fEhSHipq9IOk/QXFJUiIr9lZT+EsGw==" + "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001191.tgz" + "version" "1.0.30001191" -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= +"caseless@~0.12.0": + "integrity" "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "resolved" "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" + "version" "0.12.0" -chalk@4.1.0, chalk@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== +"chalk@^1.1.1": + "integrity" "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + "version" "1.1.3" dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" + "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" -chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= +"chalk@^1.1.3": + "integrity" "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + "version" "1.1.3" 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" + "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" -chalk@^2.0.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== +"chalk@^2.0.0", "chalk@^2.3.2", "chalk@^2.4.1", "chalk@^2.4.2": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== +"chalk@^3.0.0": + "integrity" "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" + "version" "3.0.0" dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -child-process@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/child-process/-/child-process-1.0.2.tgz#98974dc7ed1ee4c6229f8e305fa7313a6885a7f2" - integrity sha1-mJdNx+0e5MYin44wX6cxOmiFp/I= - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== +"chalk@^4.1.0": + "integrity" "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz" + "version" "4.1.0" dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" -clean-css@^4.1.11: - version "4.2.1" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" - integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g== +"chalk@4.1.0": + "integrity" "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz" + "version" "4.1.0" dependencies: - source-map "~0.6.0" + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== +"chardet@^0.7.0": + "integrity" "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + "resolved" "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" + "version" "0.7.0" -cli-boxes@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" - integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== +"child-process@^1.0.2": + "integrity" "sha1-mJdNx+0e5MYin44wX6cxOmiFp/I=" + "resolved" "https://registry.npmjs.org/child-process/-/child-process-1.0.2.tgz" + "version" "1.0.2" -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== +"chownr@^2.0.0": + "integrity" "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + "resolved" "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" + "version" "2.0.0" + +"ci-info@^2.0.0": + "integrity" "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" + "version" "2.0.0" + +"class-utils@^0.3.5": + "integrity" "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==" + "resolved" "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" + "version" "0.3.6" dependencies: - restore-cursor "^3.1.0" + "arr-union" "^3.1.0" + "define-property" "^0.2.5" + "isobject" "^3.0.0" + "static-extend" "^0.1.1" -cli-spinner@0.2.10: - version "0.2.10" - resolved "https://registry.yarnpkg.com/cli-spinner/-/cli-spinner-0.2.10.tgz#f7d617a36f5c47a7bc6353c697fc9338ff782a47" - integrity sha512-U0sSQ+JJvSLi1pAYuJykwiA8Dsr15uHEy85iCJ6A+0DjVxivr3d+N2Wjvodeg89uP5K6TswFkKBfAD7B3YSn/Q== - -cli-spinners@^2.5.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.0.tgz#36c7dc98fb6a9a76bd6238ec3f77e2425627e939" - integrity sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q== - -cli-width@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" - integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== - -cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== +"clean-css@^4.1.11": + "integrity" "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==" + "resolved" "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz" + "version" "4.2.1" dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" + "source-map" "~0.6.0" -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== +"clean-stack@^2.0.0": + "integrity" "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + "resolved" "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" + "version" "2.2.0" + +"cli-boxes@^2.2.0": + "integrity" "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==" + "resolved" "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz" + "version" "2.2.0" + +"cli-cursor@^3.1.0": + "integrity" "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" + "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" + "version" "3.1.0" dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" + "restore-cursor" "^3.1.0" -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" - integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= +"cli-spinner@0.2.10": + "integrity" "sha512-U0sSQ+JJvSLi1pAYuJykwiA8Dsr15uHEy85iCJ6A+0DjVxivr3d+N2Wjvodeg89uP5K6TswFkKBfAD7B3YSn/Q==" + "resolved" "https://registry.npmjs.org/cli-spinner/-/cli-spinner-0.2.10.tgz" + "version" "0.2.10" -clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= +"cli-spinners@^2.5.0": + "integrity" "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==" + "resolved" "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz" + "version" "2.6.0" + +"cli-width@^3.0.0": + "integrity" "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" + "resolved" "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" + "version" "3.0.0" + +"cliui@^4.0.0": + "integrity" "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==" + "resolved" "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz" + "version" "4.1.0" dependencies: - mimic-response "^1.0.0" + "string-width" "^2.1.1" + "strip-ansi" "^4.0.0" + "wrap-ansi" "^2.0.0" -clone-stats@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" - integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= - -clone@^2.1.1, clone@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - -cloneable-readable@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" - integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== +"cliui@^5.0.0": + "integrity" "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==" + "resolved" "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz" + "version" "5.0.0" dependencies: - inherits "^2.0.1" - process-nextick-args "^2.0.0" - readable-stream "^2.3.5" + "string-width" "^3.1.0" + "strip-ansi" "^5.2.0" + "wrap-ansi" "^5.1.0" -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== +"clone-buffer@^1.0.0": + "integrity" "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=" + "resolved" "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz" + "version" "1.0.0" + +"clone-response@^1.0.2": + "integrity" "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=" + "resolved" "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "mimic-response" "^1.0.0" + +"clone-stats@^1.0.0": + "integrity" "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=" + "resolved" "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz" + "version" "1.0.0" + +"clone@^1.0.2": + "integrity" "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + "resolved" "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" + "version" "1.0.4" + +"clone@^2.1.1", "clone@^2.1.2": + "integrity" "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + "resolved" "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" + "version" "2.1.2" + +"cloneable-readable@^1.0.0": + "integrity" "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==" + "resolved" "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "inherits" "^2.0.1" + "process-nextick-args" "^2.0.0" + "readable-stream" "^2.3.5" + +"coa@^2.0.2": + "integrity" "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==" + "resolved" "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz" + "version" "2.0.2" dependencies: "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0, color-convert@^1.9.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^1.5.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" - integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@3.0.x: - version "3.0.0" - resolved "https://registry.yarnpkg.com/color/-/color-3.0.0.tgz#d920b4328d534a3ac8295d68f7bd4ba6c427be9a" - integrity sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w== - dependencies: - color-convert "^1.9.1" - color-string "^1.5.2" - -color@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.0.tgz#d8e9fb096732875774c84bf922815df0308d0ffc" - integrity sha512-CwyopLkuRYO5ei2EpzpIh6LqJMt6Mt+jZhO5VI5f/wJLZriXQE32/SSqzmrh+QB+AZT81Cj8yv+7zwToW8ahZg== - dependencies: - color-convert "^1.9.1" - color-string "^1.5.2" - -colorette@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" - integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== - -colors@^1.2.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - -colorspace@1.1.x: - version "1.1.2" - resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.2.tgz#e0128950d082b86a2168580796a0aa5d6c68d8c5" - integrity sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ== - dependencies: - color "3.0.x" - text-hex "1.0.x" - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@2.15.1: - version "2.15.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" - integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag== - -commander@^2.19.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" - integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== - -component-bind@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" - integrity sha1-AMYIq33Nk4l8AAllGx06jh5zu9E= - -component-emitter@1.2.1, component-emitter@^1.2.0, component-emitter@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= - -component-emitter@~1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -component-inherit@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" - integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM= - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -concat-with-sourcemaps@^1.0.5: - version "1.1.0" - resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" - integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg== - dependencies: - source-map "^0.6.1" - -configstore@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" - integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== - dependencies: - dot-prop "^5.2.0" - graceful-fs "^4.1.2" - make-dir "^3.0.0" - unique-string "^2.0.0" - write-file-atomic "^3.0.0" - xdg-basedir "^4.0.0" - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -consolidate@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" - integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== - dependencies: - bluebird "^3.1.1" - -content-disposition@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== - dependencies: - safe-buffer "5.1.2" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= - -cookie@0.4.0, cookie@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" - integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== - -cookie@~0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" - integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== - -cookiejar@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c" - integrity sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA== - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-js@^2.4.0: - version "2.6.11" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" - integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== - -core-js@^3.6.5: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" - integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA== - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cosmiconfig@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc" - integrity sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ== - dependencies: - is-directory "^0.3.1" - js-yaml "^3.9.0" - parse-json "^4.0.0" - require-from-string "^2.0.1" - -cosmiconfig@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.1.0.tgz#6c5c35e97f37f985061cdf653f114784231185cf" - integrity sha512-kCNPvthka8gvLtzAxQXvWo4FxqRB+ftRZyPZNuab5ngvM9Y7yw7hbEysglptLgpkGX9nAOKTBVkHUAe8xtYR6Q== - dependencies: - import-fresh "^2.0.0" - is-directory "^0.3.1" - js-yaml "^3.9.0" - lodash.get "^4.4.2" - parse-json "^4.0.0" - -cross-spawn@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" - integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI= - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - 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" - -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - -css-color-names@0.0.4, css-color-names@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" - integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= - -css-declaration-sorter@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" - integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== - dependencies: - postcss "^7.0.1" - timsort "^0.3.0" - -css-modules-loader-core@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz#5908668294a1becd261ae0a4ce21b0b551f21d16" - integrity sha1-WQhmgpShvs0mGuCkziGwtVHyHRY= - dependencies: - icss-replace-symbols "1.1.0" - postcss "6.0.1" - postcss-modules-extract-imports "1.1.0" - postcss-modules-local-by-default "1.2.0" - postcss-modules-scope "1.1.0" - postcss-modules-values "1.3.0" - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== - -css-select@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.0.2.tgz#ab4386cec9e1f668855564b17c3733b43b2a5ede" - integrity sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ== - dependencies: - boolbase "^1.0.0" - css-what "^2.1.2" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-selector-parser@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/css-selector-parser/-/css-selector-parser-1.4.1.tgz#03f9cb8a81c3e5ab2c51684557d5aaf6d2569759" - integrity sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g== - -css-selector-tokenizer@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d" - integrity sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA== - dependencies: - cssesc "^0.1.0" - fastparse "^1.1.1" - regexpu-core "^1.0.0" - -css-tree@1.0.0-alpha.28: - version "1.0.0-alpha.28" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.28.tgz#8e8968190d886c9477bc8d61e96f61af3f7ffa7f" - integrity sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w== - dependencies: - mdn-data "~1.1.0" - source-map "^0.5.3" - -css-tree@1.0.0-alpha.29: - version "1.0.0-alpha.29" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" - integrity sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg== - dependencies: - mdn-data "~1.1.0" - source-map "^0.5.3" - -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" - integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - -css-tree@1.0.0-alpha.39: - version "1.0.0-alpha.39" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb" - integrity sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA== - dependencies: - mdn-data "2.0.6" - source-map "^0.6.1" - -css-unit-converter@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" - integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY= - -css-url-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/css-url-regex/-/css-url-regex-1.1.0.tgz#83834230cc9f74c457de59eebd1543feeb83b7ec" - integrity sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w= - -css-what@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" - integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== - -cssesc@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" - integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q= - -cssesc@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" - integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== - -cssmin@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/cssmin/-/cssmin-0.4.3.tgz#c9194077e0ebdacd691d5f59015b9d819f38d015" - integrity sha1-yRlAd+Dr2s1pHV9ZAVudgZ840BU= - -cssnano-preset-default@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" - integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== - dependencies: - css-declaration-sorter "^4.0.1" - cssnano-util-raw-cache "^4.0.1" - postcss "^7.0.0" - postcss-calc "^7.0.1" - postcss-colormin "^4.0.3" - postcss-convert-values "^4.0.1" - postcss-discard-comments "^4.0.2" - postcss-discard-duplicates "^4.0.2" - postcss-discard-empty "^4.0.1" - postcss-discard-overridden "^4.0.1" - postcss-merge-longhand "^4.0.11" - postcss-merge-rules "^4.0.3" - postcss-minify-font-values "^4.0.2" - postcss-minify-gradients "^4.0.2" - postcss-minify-params "^4.0.2" - postcss-minify-selectors "^4.0.2" - postcss-normalize-charset "^4.0.1" - postcss-normalize-display-values "^4.0.2" - postcss-normalize-positions "^4.0.2" - postcss-normalize-repeat-style "^4.0.2" - postcss-normalize-string "^4.0.2" - postcss-normalize-timing-functions "^4.0.2" - postcss-normalize-unicode "^4.0.1" - postcss-normalize-url "^4.0.1" - postcss-normalize-whitespace "^4.0.2" - postcss-ordered-values "^4.1.2" - postcss-reduce-initial "^4.0.3" - postcss-reduce-transforms "^4.0.2" - postcss-svgo "^4.0.2" - postcss-unique-selectors "^4.0.1" - -cssnano-util-get-arguments@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" - integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= - -cssnano-util-get-match@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" - integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= - -cssnano-util-raw-cache@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" - integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== - dependencies: - postcss "^7.0.0" - -cssnano-util-same-parent@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" - integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== - -cssnano@^4.1.10, cssnano@^4.1.8: - version "4.1.10" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" - integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== - dependencies: - cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.7" - is-resolvable "^1.0.0" - postcss "^7.0.0" - -csso@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b" - integrity sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg== - dependencies: - css-tree "1.0.0-alpha.29" - -csso@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903" - integrity sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ== - dependencies: - css-tree "1.0.0-alpha.39" - -cssom@^0.3.4: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= - dependencies: - array-find-index "^1.0.1" - -custom-event-polyfill@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz#9bc993ddda937c1a30ccd335614c6c58c4f87aee" - integrity sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w== - -cwise-compiler@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/cwise-compiler/-/cwise-compiler-1.1.3.tgz#f4d667410e850d3a313a7d2db7b1e505bb034cc5" - integrity sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU= - dependencies: - uniq "^1.0.0" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-uri-to-buffer@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-0.0.3.tgz#18ae979a6a0ca994b0625853916d2662bbae0b1a" - integrity sha1-GK6XmmoMqZSwYlhTkW0mYruuCxo= - -dateformat@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" - integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== - -de-indent@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" - integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= - -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@3.1.0, debug@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -debug@^3.0.1: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^3.1.0, debug@^3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -debug@^4.1.1, debug@~4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - -debug@^4.2.0, debug@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - -decamelize@^1.1.2, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= - dependencies: - mimic-response "^1.0.0" - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - -deep-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= - -deep-equal@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.0.3.tgz#cad1c15277ad78a5c01c49c2dee0f54de8a6a7b0" - integrity sha512-Spqdl4H+ky45I9ByyJtXteOm9CaIrPmnIPmOhrkKGNYWeDgCvJ8jNYVCTjChxW4FqGuZnLHADc8EKRMX6+CgvA== - dependencies: - es-abstract "^1.17.5" - es-get-iterator "^1.1.0" - is-arguments "^1.0.4" - is-date-object "^1.0.2" - is-regex "^1.0.5" - isarray "^2.0.5" - object-is "^1.1.2" - object-keys "^1.1.1" - object.assign "^4.1.0" - regexp.prototype.flags "^1.3.0" - side-channel "^1.0.2" - which-boxed-primitive "^1.0.1" - which-collection "^1.0.1" - which-typed-array "^1.1.2" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -defaults@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= - dependencies: - clone "^1.0.2" - -defer-to-connect@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" - integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== - -defer-to-connect@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.0.tgz#83d6b199db041593ac84d781b5222308ccf4c2c1" - integrity sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg== - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -denque@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/denque/-/denque-1.5.0.tgz#773de0686ff2d8ec2ff92914316a47b73b1c73de" - integrity sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ== - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -detect-node@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.5.tgz#9d270aa7eaa5af0b72c4c9d9b814e7f4ce738b79" - integrity sha512-qi86tE6hRcFHy8jI1m2VG+LaPUR1LhqDa5G8tVjuUXmOrpuAgqsA1pN0+ldgr3aKUH+QLI9hCY/OcRYisERejw== - -diff@3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -docker-modem@2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/docker-modem/-/docker-modem-2.1.3.tgz#15432225f63db02eb5de4bb9a621b7293e5f264d" - integrity sha512-cwaRptBmYZwu/FyhGcqBm2MzXA77W2/E6eVkpOZVDk6PkI9Bjj84xPrXiHMA+OWjzNy+DFjgKh8Q+1hMR7/OHg== - dependencies: - debug "^4.1.1" - readable-stream "^3.5.0" - split-ca "^1.0.1" - ssh2 "^0.8.7" - -dockerfile-ast@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dockerfile-ast/-/dockerfile-ast-0.2.0.tgz#13cc4a6fe3aea30a4104622b30f49a0fe3a5c038" - integrity sha512-iQyp12k1A4tF3sEfLAq2wfFPKdpoiGTJeuiu2Y1bdEqIZu0DfSSL2zm0fk7a/UHeQkngnYaRRGuON+C+2LO1Fw== - dependencies: - vscode-languageserver-types "^3.16.0" - -dom-serializer@0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" - integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== - dependencies: - domelementtype "^1.3.0" - entities "^1.1.1" - -domelementtype@1, domelementtype@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - -dot-prop@^4.1.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4" - integrity sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ== - dependencies: - is-obj "^1.0.0" - -dot-prop@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" - integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== - dependencies: - is-obj "^2.0.0" - -dotnet-deps-parser@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/dotnet-deps-parser/-/dotnet-deps-parser-5.0.0.tgz#5115c442cbefea59e4fb9f9ed8fa4863a0f3186d" - integrity sha512-1l9K4UnQQHSfKgeHeLrxnB53AidCZqPyf9dkRL4/fZl8//NPiiDD43zHtgylw8DHlO7gvM8+O5a0UPHesNYZKw== - dependencies: - lodash.isempty "^4.4.0" - lodash.set "^4.3.2" - lodash.uniq "^4.5.0" - source-map-support "^0.5.7" - tslib "^1.10.0" - xml2js "0.4.23" - -driver.js@^0.9.8: - version "0.9.8" - resolved "https://registry.yarnpkg.com/driver.js/-/driver.js-0.9.8.tgz#4b327f4537b1c9b9fb19419de86174be821ae32a" - integrity sha512-bczjyKdX6XmFyCDkwtRmlaORDwfBk1xXmRO0CAe5VwNQTM98aWaG2LAIiIdTe53iV/B7W5lXlIy2xYtf0JRb7Q== - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - -duplexify@^3.5.0, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -electron-to-chromium@^1.3.113: - version "1.3.113" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz#b1ccf619df7295aea17bc6951dc689632629e4a9" - integrity sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g== - -electron-to-chromium@^1.3.523: - version "1.3.551" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.551.tgz#a94d243a4ca90705189bd4a5eca4e0f56b745a4f" - integrity sha512-11qcm2xvf2kqeFO5EIejaBx5cKXsW1quAyv3VctCMYwofnyVZLs97y6LCekss3/ghQpr7PYkSO3uId5FmxZsdw== - -elfy@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/elfy/-/elfy-1.0.0.tgz#7a1c86af7d41e0a568cbb4a3fa5b685648d9efcd" - integrity sha512-4Kp3AA94jC085IJox+qnvrZ3PudqTi4gQNvIoTZfJJ9IqkRuCoqP60vCVYlIg00c5aYusi5Wjh2bf0cHYt+6gQ== - dependencies: - endian-reader "^0.3.0" - -email-validator@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/email-validator/-/email-validator-2.0.4.tgz#b8dfaa5d0dae28f1b03c95881d904d4e40bfe7ed" - integrity sha512-gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ== - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - -enabled@2.0.x: - version "2.0.0" - resolved "https://registry.yarnpkg.com/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2" - integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - -end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -endian-reader@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/endian-reader/-/endian-reader-0.3.0.tgz#84eca436b80aed0d0639c47291338b932efe50a0" - integrity sha1-hOykNrgK7Q0GOcRykTOLky7+UKA= - -engine.io-client@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.5.0.tgz#fc1b4d9616288ce4f2daf06dcf612413dec941c7" - integrity sha512-12wPRfMrugVw/DNyJk34GQ5vIVArEcVMXWugQGGuw2XxUSztFNmJggZmv8IZlLyEdnpO1QB9LkcjeWewO2vxtA== - dependencies: - component-emitter "~1.3.0" - component-inherit "0.0.3" - debug "~3.1.0" - engine.io-parser "~2.2.0" - has-cors "1.1.0" - indexof "0.0.1" - parseqs "0.0.6" - parseuri "0.0.6" - ws "~7.4.2" - xmlhttprequest-ssl "~1.5.4" - yeast "0.1.2" - -engine.io-parser@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.2.0.tgz#312c4894f57d52a02b420868da7b5c1c84af80ed" - integrity sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w== - dependencies: - after "0.8.2" - arraybuffer.slice "~0.0.7" - base64-arraybuffer "0.1.5" - blob "0.0.5" - has-binary2 "~1.0.2" - -engine.io@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.5.0.tgz#9d6b985c8a39b1fe87cd91eb014de0552259821b" - integrity sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA== - dependencies: - accepts "~1.3.4" - base64id "2.0.0" - cookie "~0.4.1" - debug "~4.1.0" - engine.io-parser "~2.2.0" - ws "~7.4.2" - -entities@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== - -errno@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.12.0, es-abstract@^1.5.1: - version "1.13.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" - integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== - dependencies: - es-to-primitive "^1.2.0" - function-bind "^1.1.1" - has "^1.0.3" - is-callable "^1.1.4" - is-regex "^1.0.4" - object-keys "^1.0.12" - -es-abstract@^1.17.0-next.1, es-abstract@^1.17.4, es-abstract@^1.17.5: - version "1.17.5" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" - integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== - dependencies: - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.1.5" - is-regex "^1.0.5" - object-inspect "^1.7.0" - object-keys "^1.1.1" - object.assign "^4.1.0" - string.prototype.trimleft "^2.1.1" - string.prototype.trimright "^2.1.1" - -es-get-iterator@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.0.tgz#bb98ad9d6d63b31aacdc8f89d5d0ee57bcb5b4c8" - integrity sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ== - dependencies: - es-abstract "^1.17.4" - has-symbols "^1.0.1" - is-arguments "^1.0.4" - is-map "^2.0.1" - is-set "^2.0.1" - is-string "^1.0.5" - isarray "^2.0.5" - -es-to-primitive@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es6-error@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" - integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== - -es6-promise@^4.0.3: - version "4.2.8" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - -escalade@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4" - integrity sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ== - -escape-goat@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" - integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -estree-walker@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39" - integrity sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig== - -estree-walker@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.0.tgz#5d865327c44a618dde5699f763891ae31f257dae" - integrity sha512-peq1RfVAVzr3PU/jL31RaOjUKLoZJpObQWJJ+LgfcxDUifyLZ1RjPQZTl0pzj2uJ45b7A7XpyppXvxdEqzo4rw== - -esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - -event-loop-spinner@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/event-loop-spinner/-/event-loop-spinner-2.0.0.tgz#3aa949264a7d80be45d6cb782ab5e97ffc87b9e1" - integrity sha512-1y4j/Mhttr8ordvHkbDsGzGrlQaSYJoXD/3YKUxiOXIk7myEn9UPfybEk/lLtrcU3D4QvCNmVUxVQaPtvAIaUw== - dependencies: - tslib "^1.10.0" - -event-loop-spinner@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/event-loop-spinner/-/event-loop-spinner-2.1.0.tgz#75f501d585105c6d57f174073b39af1b6b3a1567" - integrity sha512-RJ10wL8/F9AlfBgRCvYctJIXSb9XkVmSCK3GGUvPD3dJrvTjDeDT0tmhcbEC6I2NEjNM9xD38HQJ4F/f/gb4VQ== - dependencies: - tslib "^2.1.0" - -eventemitter3@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-2.0.3.tgz#b5e1079b59fb5e1ba2771c0a993be060a58c99ba" - integrity sha1-teEHm1n7XhuidxwKmTvgYKWMmbo= - -eventemitter3@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" - integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - 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" - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - 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" - -expand-tilde@^2.0.0, expand-tilde@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" - integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= - dependencies: - homedir-polyfill "^1.0.1" - -express@^4.17.1: - version "4.17.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" - integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== - dependencies: - accepts "~1.3.7" - array-flatten "1.1.1" - body-parser "1.19.0" - content-disposition "0.5.3" - content-type "~1.0.4" - cookie "0.4.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.2" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "~1.1.2" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.5" - qs "6.7.0" - range-parser "~1.2.1" - safe-buffer "5.1.2" - send "0.17.1" - serve-static "1.14.1" - setprototypeof "1.1.1" - statuses "~1.5.0" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@^3.0.0, extend@^3.0.2, extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - 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" - -extract-zip@^1.6.5: - version "1.7.0" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" - integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== - dependencies: - concat-stream "^1.6.2" - debug "^2.6.9" - mkdirp "^0.5.4" - yauzl "^2.10.0" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154" - integrity sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig== - -fast-diff@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-safe-stringify@^2.0.4: - version "2.0.7" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743" - integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA== - -fastparse@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" - integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== - -fastq@^1.6.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" - integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== - dependencies: - reusify "^1.0.4" - -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= - dependencies: - pend "~1.2.0" - -fecha@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.0.tgz#3ffb6395453e3f3efff850404f0a59b6747f5f41" - integrity sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg== - -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -fn.name@1.x.x: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc" - integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== - -follow-redirects@^1.10.0: - version "1.13.3" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.3.tgz#e5598ad50174c1bc4e872301e82ac2cd97f90267" - integrity sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA== - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@^2.3.1, form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -formidable@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.1.tgz#70fb7ca0290ee6ff961090415f4b3df3d2082659" - integrity sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg== - -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -frappe-charts@^2.0.0-rc13: - version "2.0.0-rc13" - resolved "https://registry.yarnpkg.com/frappe-charts/-/frappe-charts-2.0.0-rc13.tgz#fdb251d7ae311c41e38f90a3ae108070ec6b9072" - integrity sha512-Bv7IfllIrjRbKWHn5b769dOSenqdBixAr6m5kurf8ZUOJSLOgK4HOXItJ7BA8n9PvviH9/k5DaloisjLM2Bm1w== - -frappe-datatable@^1.15.3: - version "1.15.3" - resolved "https://registry.yarnpkg.com/frappe-datatable/-/frappe-datatable-1.15.3.tgz#1737e9aebfd363ffadffced71a3534c40e350223" - integrity sha512-tUE3pNbxCMX0HPKvwurLBPRAOAdS0gNo1+MpoyFSqXI7b7sp6/TCBRht6qu1Luw+VyIzBtXkJdnnqU+Uoy8iow== - dependencies: - hyperlist "^1.0.0-beta" - lodash "^4.17.5" - sortablejs "^1.7.0" - -frappe-gantt@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/frappe-gantt/-/frappe-gantt-0.5.0.tgz#4dc7aa125f318efea64b4ae0e38f67a720238c1d" - integrity sha512-RAskVuBmnTcPJXh87oVhYmnNGy/9lvZlLHGui8QFB8yRBuUjzpZoZfZ+hKmDtBDmWNrE2/LRta06W5WmhTzzWQ== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs-extra@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" - integrity sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA= - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fstream@^1.0.0, fstream@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" - integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -fuse.js@^3.4.6: - version "3.4.6" - resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.4.6.tgz#545c3411fed88bf2e27c457cab6e73e7af697a45" - integrity sha512-H6aJY4UpLFwxj1+5nAvufom5b2BT2v45P1MkPvdGIK8fWjQx/7o6tTT1+ALV0yawQvbmvCF0ufl2et8eJ7v7Cg== - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -gaze@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" - integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== - dependencies: - globule "^1.0.0" - -generic-names@^1.0.2, generic-names@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-1.0.3.tgz#2d786a121aee508876796939e8e3bff836c20917" - integrity sha1-LXhqEhruUIh2eWk56OO/+DbCCRc= - dependencies: - loader-utils "^0.2.16" - -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== - -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-pixels@^3.2.3: - version "3.3.2" - resolved "https://registry.yarnpkg.com/get-pixels/-/get-pixels-3.3.2.tgz#3f62fb8811932c69f262bba07cba72b692b4ff03" - integrity sha512-6ar+8yPxRd1pskEcl2GSEu1La0+xYRjjnkby6AYiRDDwZ0tJbPQmHnSeH9fGLskT8kvR0OukVgtZLcsENF9YKQ== - dependencies: - data-uri-to-buffer "0.0.3" - jpeg-js "^0.3.2" - mime-types "^2.0.1" - ndarray "^1.0.13" - ndarray-pack "^1.1.1" - node-bitmap "0.0.1" - omggif "^1.0.5" - parse-data-uri "^0.2.0" - pngjs "^3.3.3" - request "^2.44.0" - through "^2.3.4" - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= - -get-stream@^4.0.0, get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -gl-mat2@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gl-mat2/-/gl-mat2-1.0.1.tgz#142505730a5c2fe1e9f25d9ece3d0d6cc2710a30" - integrity sha1-FCUFcwpcL+Hp8l2ezj0NbMJxCjA= - -gl-vec2@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/gl-vec2/-/gl-vec2-1.3.0.tgz#83d472ed46034de8e09cbc857123fb6c81c51199" - integrity sha512-YiqaAuNsheWmUV0Sa8k94kBB0D6RWjwZztyO+trEYS8KzJ6OQB/4686gdrf59wld4hHFIvaxynO3nRxpk1Ij/A== - -gl-vec3@^1.0.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/gl-vec3/-/gl-vec3-1.1.3.tgz#a47c62f918774a06cbed1b65bcd0288ecbb03826" - integrity sha512-jduKUqT0SGH02l8Yl+mV1yVsDfYgQAJyXGxkJQGyxPLHRiW25DwVIRPt6uvhrEMHftJfqhqKthRcyZqNEl9Xdw== - -glob@7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.6, glob@~7.1.1: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-agent@^2.1.12: - version "2.1.12" - resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-2.1.12.tgz#e4ae3812b731a9e81cbf825f9377ef450a8e4195" - integrity sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg== - dependencies: - boolean "^3.0.1" - core-js "^3.6.5" - es6-error "^4.1.1" - matcher "^3.0.0" - roarr "^2.15.3" - semver "^7.3.2" - serialize-error "^7.0.1" - -global-dirs@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.0.1.tgz#acdf3bb6685bcd55cb35e8a052266569e9469201" - integrity sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A== - dependencies: - ini "^1.3.5" - -global-modules@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" - integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== - dependencies: - global-prefix "^1.0.1" - is-windows "^1.0.1" - resolve-dir "^1.0.0" - -global-prefix@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" - integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= - dependencies: - expand-tilde "^2.0.2" - homedir-polyfill "^1.0.1" - ini "^1.3.4" - is-windows "^1.0.1" - which "^1.2.14" - -globalthis@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.2.tgz#2a235d34f4d8036219f7e34929b5de9e18166b8b" - integrity sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ== - dependencies: - define-properties "^1.1.3" - -globule@^1.0.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4" - integrity sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA== - dependencies: - glob "~7.1.1" - lodash "~4.17.10" - minimatch "~3.0.2" - -got@11.4.0: - version "11.4.0" - resolved "https://registry.yarnpkg.com/got/-/got-11.4.0.tgz#1f0910310572af4efcc6890e1dacd7affb710b39" - integrity sha512-XysJZuZNVpaQ37Oo2LV90MIkPeYITehyy1A0QzO1JwOXm8EWuEf9eeGk2XuHePvLEGnm9AVOI37bHwD6KYyBtg== + "chalk" "^2.4.1" + "q" "^1.1.2" + +"code-point-at@^1.0.0": + "integrity" "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "resolved" "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" + "version" "1.1.0" + +"codex-notifier@^1.1.2": + "integrity" "sha512-DCp6xe/LGueJ1N5sXEwcBc3r3PyVkEEDNWCVigfvywAkeXcZMk9K41a31tkEFBW0Ptlwji6/JlAb49E3Yrxbtg==" + "resolved" "https://registry.npmjs.org/codex-notifier/-/codex-notifier-1.1.2.tgz" + "version" "1.1.2" + +"codex-tooltip@^1.0.1": + "integrity" "sha512-oC+Bu5X/zyhbPydgMSLWKoM/+vkJMqaLWu3Dt/jZgXS3MWK23INwC5DMBrVXZSufAFk0i0SUni38k9rLMyZn/w==" + "resolved" "https://registry.npmjs.org/codex-tooltip/-/codex-tooltip-1.0.2.tgz" + "version" "1.0.2" + +"collection-visit@^1.0.0": + "integrity" "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=" + "resolved" "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "map-visit" "^1.0.0" + "object-visit" "^1.0.0" + +"color-convert@^1.9.0", "color-convert@^1.9.1": + "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + "version" "1.9.3" + dependencies: + "color-name" "1.1.3" + +"color-convert@^2.0.1": + "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "color-name" "~1.1.4" + +"color-name@^1.0.0", "color-name@~1.1.4": + "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + "version" "1.1.4" + +"color-name@1.1.3": + "integrity" "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + "version" "1.1.3" + +"color-string@^1.5.2": + "integrity" "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==" + "resolved" "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz" + "version" "1.5.3" + dependencies: + "color-name" "^1.0.0" + "simple-swizzle" "^0.2.2" + +"color@^3.0.0": + "integrity" "sha512-CwyopLkuRYO5ei2EpzpIh6LqJMt6Mt+jZhO5VI5f/wJLZriXQE32/SSqzmrh+QB+AZT81Cj8yv+7zwToW8ahZg==" + "resolved" "https://registry.npmjs.org/color/-/color-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "color-convert" "^1.9.1" + "color-string" "^1.5.2" + +"color@3.0.x": + "integrity" "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==" + "resolved" "https://registry.npmjs.org/color/-/color-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "color-convert" "^1.9.1" + "color-string" "^1.5.2" + +"colorette@^1.2.1": + "integrity" "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" + "resolved" "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz" + "version" "1.2.1" + +"colors@^1.2.1": + "integrity" "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + "resolved" "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" + "version" "1.4.0" + +"colorspace@1.1.x": + "integrity" "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==" + "resolved" "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "color" "3.0.x" + "text-hex" "1.0.x" + +"combined-stream@^1.0.6", "combined-stream@~1.0.6": + "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" + "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + "version" "1.0.8" + dependencies: + "delayed-stream" "~1.0.0" + +"commander@^2.19.0": + "integrity" "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" + "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz" + "version" "2.20.0" + +"commander@2.15.1": + "integrity" "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" + "resolved" "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz" + "version" "2.15.1" + +"component-bind@1.0.0": + "integrity" "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" + "resolved" "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz" + "version" "1.0.0" + +"component-emitter@^1.2.0", "component-emitter@^1.2.1", "component-emitter@1.2.1": + "integrity" "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + "resolved" "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz" + "version" "1.2.1" + +"component-emitter@~1.3.0": + "integrity" "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + "resolved" "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" + "version" "1.3.0" + +"component-inherit@0.0.3": + "integrity" "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" + "resolved" "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz" + "version" "0.0.3" + +"concat-map@0.0.1": + "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + "version" "0.0.1" + +"concat-stream@^1.6.2": + "integrity" "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==" + "resolved" "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" + "version" "1.6.2" + dependencies: + "buffer-from" "^1.0.0" + "inherits" "^2.0.3" + "readable-stream" "^2.2.2" + "typedarray" "^0.0.6" + +"concat-with-sourcemaps@^1.0.5": + "integrity" "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==" + "resolved" "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "source-map" "^0.6.1" + +"configstore@^5.0.1": + "integrity" "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==" + "resolved" "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "dot-prop" "^5.2.0" + "graceful-fs" "^4.1.2" + "make-dir" "^3.0.0" + "unique-string" "^2.0.0" + "write-file-atomic" "^3.0.0" + "xdg-basedir" "^4.0.0" + +"console-control-strings@^1.0.0", "console-control-strings@~1.1.0": + "integrity" "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "resolved" "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" + "version" "1.1.0" + +"consolidate@^0.15.1": + "integrity" "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==" + "resolved" "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz" + "version" "0.15.1" + dependencies: + "bluebird" "^3.1.1" + +"content-disposition@0.5.3": + "integrity" "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==" + "resolved" "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz" + "version" "0.5.3" + dependencies: + "safe-buffer" "5.1.2" + +"content-type@~1.0.4": + "integrity" "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + "resolved" "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" + "version" "1.0.4" + +"cookie-signature@1.0.6": + "integrity" "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + "resolved" "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + "version" "1.0.6" + +"cookie@^0.4.0", "cookie@0.4.0": + "integrity" "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz" + "version" "0.4.0" + +"cookie@~0.4.1": + "integrity" "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" + "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz" + "version" "0.4.1" + +"cookiejar@^2.1.0": + "integrity" "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" + "resolved" "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz" + "version" "2.1.2" + +"copy-descriptor@^0.1.0": + "integrity" "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + "resolved" "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" + "version" "0.1.1" + +"core-js@^2.4.0": + "integrity" "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + "resolved" "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz" + "version" "2.6.11" + +"core-js@^3.6.5": + "integrity" "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" + "resolved" "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz" + "version" "3.6.5" + +"core-util-is@~1.0.0", "core-util-is@1.0.2": + "integrity" "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + "version" "1.0.2" + +"cosmiconfig@^4.0.0": + "integrity" "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==" + "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "is-directory" "^0.3.1" + "js-yaml" "^3.9.0" + "parse-json" "^4.0.0" + "require-from-string" "^2.0.1" + +"cosmiconfig@^5.0.0": + "integrity" "sha512-kCNPvthka8gvLtzAxQXvWo4FxqRB+ftRZyPZNuab5ngvM9Y7yw7hbEysglptLgpkGX9nAOKTBVkHUAe8xtYR6Q==" + "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "import-fresh" "^2.0.0" + "is-directory" "^0.3.1" + "js-yaml" "^3.9.0" + "lodash.get" "^4.4.2" + "parse-json" "^4.0.0" + +"cross-spawn@^3.0.0": + "integrity" "sha1-ElYDfsufDF9549bvE14wdwGEuYI=" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "lru-cache" "^4.0.1" + "which" "^1.2.9" + +"cross-spawn@^6.0.0": + "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" + "version" "6.0.5" + dependencies: + "nice-try" "^1.0.4" + "path-key" "^2.0.1" + "semver" "^5.5.0" + "shebang-command" "^1.2.0" + "which" "^1.2.9" + +"crypto-random-string@^2.0.0": + "integrity" "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + "resolved" "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" + "version" "2.0.0" + +"css-color-names@^0.0.4", "css-color-names@0.0.4": + "integrity" "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" + "resolved" "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz" + "version" "0.0.4" + +"css-declaration-sorter@^4.0.1": + "integrity" "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==" + "resolved" "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "postcss" "^7.0.1" + "timsort" "^0.3.0" + +"css-modules-loader-core@^1.1.0": + "integrity" "sha1-WQhmgpShvs0mGuCkziGwtVHyHRY=" + "resolved" "https://registry.npmjs.org/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "icss-replace-symbols" "1.1.0" + "postcss" "6.0.1" + "postcss-modules-extract-imports" "1.1.0" + "postcss-modules-local-by-default" "1.2.0" + "postcss-modules-scope" "1.1.0" + "postcss-modules-values" "1.3.0" + +"css-select-base-adapter@^0.1.1": + "integrity" "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + "resolved" "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz" + "version" "0.1.1" + +"css-select@^2.0.0": + "integrity" "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==" + "resolved" "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "boolbase" "^1.0.0" + "css-what" "^2.1.2" + "domutils" "^1.7.0" + "nth-check" "^1.0.2" + +"css-selector-parser@^1.3.0": + "integrity" "sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==" + "resolved" "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-1.4.1.tgz" + "version" "1.4.1" + +"css-selector-tokenizer@^0.7.0": + "integrity" "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==" + "resolved" "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz" + "version" "0.7.1" + dependencies: + "cssesc" "^0.1.0" + "fastparse" "^1.1.1" + "regexpu-core" "^1.0.0" + +"css-tree@1.0.0-alpha.28": + "integrity" "sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w==" + "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.28.tgz" + "version" "1.0.0-alpha.28" + dependencies: + "mdn-data" "~1.1.0" + "source-map" "^0.5.3" + +"css-tree@1.0.0-alpha.29": + "integrity" "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==" + "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz" + "version" "1.0.0-alpha.29" + dependencies: + "mdn-data" "~1.1.0" + "source-map" "^0.5.3" + +"css-tree@1.0.0-alpha.37": + "integrity" "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==" + "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" + "version" "1.0.0-alpha.37" + dependencies: + "mdn-data" "2.0.4" + "source-map" "^0.6.1" + +"css-tree@1.0.0-alpha.39": + "integrity" "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==" + "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz" + "version" "1.0.0-alpha.39" + dependencies: + "mdn-data" "2.0.6" + "source-map" "^0.6.1" + +"css-unit-converter@^1.1.1": + "integrity" "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=" + "resolved" "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz" + "version" "1.1.1" + +"css-url-regex@^1.1.0": + "integrity" "sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w=" + "resolved" "https://registry.npmjs.org/css-url-regex/-/css-url-regex-1.1.0.tgz" + "version" "1.1.0" + +"css-what@^2.1.2": + "integrity" "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" + "resolved" "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz" + "version" "2.1.3" + +"cssesc@^0.1.0": + "integrity" "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=" + "resolved" "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz" + "version" "0.1.0" + +"cssesc@^2.0.0": + "integrity" "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + "resolved" "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz" + "version" "2.0.0" + +"cssmin@^0.4.3": + "integrity" "sha1-yRlAd+Dr2s1pHV9ZAVudgZ840BU=" + "resolved" "https://registry.npmjs.org/cssmin/-/cssmin-0.4.3.tgz" + "version" "0.4.3" + +"cssnano-preset-default@^4.0.7": + "integrity" "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==" + "resolved" "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz" + "version" "4.0.7" + dependencies: + "css-declaration-sorter" "^4.0.1" + "cssnano-util-raw-cache" "^4.0.1" + "postcss" "^7.0.0" + "postcss-calc" "^7.0.1" + "postcss-colormin" "^4.0.3" + "postcss-convert-values" "^4.0.1" + "postcss-discard-comments" "^4.0.2" + "postcss-discard-duplicates" "^4.0.2" + "postcss-discard-empty" "^4.0.1" + "postcss-discard-overridden" "^4.0.1" + "postcss-merge-longhand" "^4.0.11" + "postcss-merge-rules" "^4.0.3" + "postcss-minify-font-values" "^4.0.2" + "postcss-minify-gradients" "^4.0.2" + "postcss-minify-params" "^4.0.2" + "postcss-minify-selectors" "^4.0.2" + "postcss-normalize-charset" "^4.0.1" + "postcss-normalize-display-values" "^4.0.2" + "postcss-normalize-positions" "^4.0.2" + "postcss-normalize-repeat-style" "^4.0.2" + "postcss-normalize-string" "^4.0.2" + "postcss-normalize-timing-functions" "^4.0.2" + "postcss-normalize-unicode" "^4.0.1" + "postcss-normalize-url" "^4.0.1" + "postcss-normalize-whitespace" "^4.0.2" + "postcss-ordered-values" "^4.1.2" + "postcss-reduce-initial" "^4.0.3" + "postcss-reduce-transforms" "^4.0.2" + "postcss-svgo" "^4.0.2" + "postcss-unique-selectors" "^4.0.1" + +"cssnano-util-get-arguments@^4.0.0": + "integrity" "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=" + "resolved" "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz" + "version" "4.0.0" + +"cssnano-util-get-match@^4.0.0": + "integrity" "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=" + "resolved" "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz" + "version" "4.0.0" + +"cssnano-util-raw-cache@^4.0.1": + "integrity" "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==" + "resolved" "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "postcss" "^7.0.0" + +"cssnano-util-same-parent@^4.0.0": + "integrity" "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==" + "resolved" "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz" + "version" "4.0.1" + +"cssnano@^4.1.10", "cssnano@^4.1.8": + "integrity" "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==" + "resolved" "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz" + "version" "4.1.10" + dependencies: + "cosmiconfig" "^5.0.0" + "cssnano-preset-default" "^4.0.7" + "is-resolvable" "^1.0.0" + "postcss" "^7.0.0" + +"csso@^3.5.1": + "integrity" "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==" + "resolved" "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz" + "version" "3.5.1" + dependencies: + "css-tree" "1.0.0-alpha.29" + +"csso@^4.0.2": + "integrity" "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==" + "resolved" "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "css-tree" "1.0.0-alpha.39" + +"cssom@^0.3.4": + "integrity" "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + "resolved" "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" + "version" "0.3.8" + +"currently-unhandled@^0.4.1": + "integrity" "sha1-mI3zP+qxke95mmE2nddsF635V+o=" + "resolved" "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz" + "version" "0.4.1" + dependencies: + "array-find-index" "^1.0.1" + +"custom-event-polyfill@^1.0.7": + "integrity" "sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w==" + "resolved" "https://registry.npmjs.org/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz" + "version" "1.0.7" + +"cwise-compiler@^1.1.2": + "integrity" "sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=" + "resolved" "https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "uniq" "^1.0.0" + +"dashdash@^1.12.0": + "integrity" "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=" + "resolved" "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" + "version" "1.14.1" + dependencies: + "assert-plus" "^1.0.0" + +"data-uri-to-buffer@0.0.3": + "integrity" "sha1-GK6XmmoMqZSwYlhTkW0mYruuCxo=" + "resolved" "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-0.0.3.tgz" + "version" "0.0.3" + +"dateformat@^3.0.3": + "integrity" "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==" + "resolved" "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz" + "version" "3.0.3" + +"de-indent@^1.0.2": + "integrity" "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=" + "resolved" "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz" + "version" "1.0.2" + +"debug@^2.2.0": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^2.3.3": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^2.6.0": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^2.6.9": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^3.0.1": + "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + "version" "3.2.7" + dependencies: + "ms" "^2.1.1" + +"debug@^3.1.0": + "integrity" "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz" + "version" "3.2.6" + dependencies: + "ms" "^2.1.1" + +"debug@^3.2.6": + "integrity" "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz" + "version" "3.2.6" + dependencies: + "ms" "^2.1.1" + +"debug@^4.1.1", "debug@~4.1.0": + "integrity" "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==" + "resolved" "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz" + "version" "4.1.1" + dependencies: + "ms" "^2.1.1" + +"debug@^4.2.0": + "integrity" "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" + "version" "4.3.1" + dependencies: + "ms" "2.1.2" + +"debug@^4.3.1": + "integrity" "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" + "version" "4.3.1" + dependencies: + "ms" "2.1.2" + +"debug@~3.1.0": + "integrity" "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==" + "resolved" "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "ms" "2.0.0" + +"debug@2.6.9": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@3.1.0": + "integrity" "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==" + "resolved" "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "ms" "2.0.0" + +"decamelize@^1.1.2", "decamelize@^1.2.0": + "integrity" "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + "version" "1.2.0" + +"decode-uri-component@^0.2.0": + "integrity" "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "resolved" "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" + "version" "0.2.0" + +"decompress-response@^3.3.0": + "integrity" "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=" + "resolved" "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "mimic-response" "^1.0.0" + +"decompress-response@^6.0.0": + "integrity" "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==" + "resolved" "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "mimic-response" "^3.1.0" + +"deep-equal@^1.0.1": + "integrity" "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" + "resolved" "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz" + "version" "1.0.1" + +"deep-equal@^2.0.2": + "integrity" "sha512-Spqdl4H+ky45I9ByyJtXteOm9CaIrPmnIPmOhrkKGNYWeDgCvJ8jNYVCTjChxW4FqGuZnLHADc8EKRMX6+CgvA==" + "resolved" "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.3.tgz" + "version" "2.0.3" + dependencies: + "es-abstract" "^1.17.5" + "es-get-iterator" "^1.1.0" + "is-arguments" "^1.0.4" + "is-date-object" "^1.0.2" + "is-regex" "^1.0.5" + "isarray" "^2.0.5" + "object-is" "^1.1.2" + "object-keys" "^1.1.1" + "object.assign" "^4.1.0" + "regexp.prototype.flags" "^1.3.0" + "side-channel" "^1.0.2" + "which-boxed-primitive" "^1.0.1" + "which-collection" "^1.0.1" + "which-typed-array" "^1.1.2" + +"deep-extend@^0.6.0": + "integrity" "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + "resolved" "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" + "version" "0.6.0" + +"defaults@^1.0.3": + "integrity" "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=" + "resolved" "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "clone" "^1.0.2" + +"defer-to-connect@^1.0.1": + "integrity" "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + "resolved" "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz" + "version" "1.1.3" + +"defer-to-connect@^2.0.0": + "integrity" "sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg==" + "resolved" "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.0.tgz" + "version" "2.0.0" + +"define-properties@^1.1.2", "define-properties@^1.1.3": + "integrity" "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==" + "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "object-keys" "^1.0.12" + +"define-property@^0.2.5": + "integrity" "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=" + "resolved" "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" + "version" "0.2.5" + dependencies: + "is-descriptor" "^0.1.0" + +"define-property@^1.0.0": + "integrity" "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=" + "resolved" "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "is-descriptor" "^1.0.0" + +"define-property@^2.0.2": + "integrity" "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==" + "resolved" "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "is-descriptor" "^1.0.2" + "isobject" "^3.0.1" + +"delayed-stream@~1.0.0": + "integrity" "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + "version" "1.0.0" + +"delegates@^1.0.0": + "integrity" "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + "resolved" "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" + "version" "1.0.0" + +"denque@^1.5.0": + "integrity" "sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==" + "resolved" "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz" + "version" "1.5.0" + +"depd@~1.1.2": + "integrity" "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + "resolved" "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" + "version" "1.1.2" + +"destroy@~1.0.4": + "integrity" "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "resolved" "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" + "version" "1.0.4" + +"detect-node@^2.0.4": + "integrity" "sha512-qi86tE6hRcFHy8jI1m2VG+LaPUR1LhqDa5G8tVjuUXmOrpuAgqsA1pN0+ldgr3aKUH+QLI9hCY/OcRYisERejw==" + "resolved" "https://registry.npmjs.org/detect-node/-/detect-node-2.0.5.tgz" + "version" "2.0.5" + +"diff@^4.0.1": + "integrity" "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + "resolved" "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" + "version" "4.0.2" + +"diff@3.5.0": + "integrity" "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" + "resolved" "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz" + "version" "3.5.0" + +"docker-modem@2.1.3": + "integrity" "sha512-cwaRptBmYZwu/FyhGcqBm2MzXA77W2/E6eVkpOZVDk6PkI9Bjj84xPrXiHMA+OWjzNy+DFjgKh8Q+1hMR7/OHg==" + "resolved" "https://registry.npmjs.org/docker-modem/-/docker-modem-2.1.3.tgz" + "version" "2.1.3" + dependencies: + "debug" "^4.1.1" + "readable-stream" "^3.5.0" + "split-ca" "^1.0.1" + "ssh2" "^0.8.7" + +"dockerfile-ast@0.2.0": + "integrity" "sha512-iQyp12k1A4tF3sEfLAq2wfFPKdpoiGTJeuiu2Y1bdEqIZu0DfSSL2zm0fk7a/UHeQkngnYaRRGuON+C+2LO1Fw==" + "resolved" "https://registry.npmjs.org/dockerfile-ast/-/dockerfile-ast-0.2.0.tgz" + "version" "0.2.0" + dependencies: + "vscode-languageserver-types" "^3.16.0" + +"dom-serializer@0": + "integrity" "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==" + "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz" + "version" "0.1.1" + dependencies: + "domelementtype" "^1.3.0" + "entities" "^1.1.1" + +"domelementtype@^1.3.0", "domelementtype@1": + "integrity" "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + "resolved" "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" + "version" "1.3.1" + +"domutils@^1.7.0": + "integrity" "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==" + "resolved" "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" + "version" "1.7.0" + dependencies: + "dom-serializer" "0" + "domelementtype" "1" + +"dot-prop@^4.1.1": + "integrity" "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==" + "resolved" "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz" + "version" "4.2.1" + dependencies: + "is-obj" "^1.0.0" + +"dot-prop@^5.2.0": + "integrity" "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==" + "resolved" "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "is-obj" "^2.0.0" + +"dotnet-deps-parser@5.0.0": + "integrity" "sha512-1l9K4UnQQHSfKgeHeLrxnB53AidCZqPyf9dkRL4/fZl8//NPiiDD43zHtgylw8DHlO7gvM8+O5a0UPHesNYZKw==" + "resolved" "https://registry.npmjs.org/dotnet-deps-parser/-/dotnet-deps-parser-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "lodash.isempty" "^4.4.0" + "lodash.set" "^4.3.2" + "lodash.uniq" "^4.5.0" + "source-map-support" "^0.5.7" + "tslib" "^1.10.0" + "xml2js" "0.4.23" + +"driver.js@^0.9.8": + "integrity" "sha512-bczjyKdX6XmFyCDkwtRmlaORDwfBk1xXmRO0CAe5VwNQTM98aWaG2LAIiIdTe53iV/B7W5lXlIy2xYtf0JRb7Q==" + "resolved" "https://registry.npmjs.org/driver.js/-/driver.js-0.9.8.tgz" + "version" "0.9.8" + +"duplexer3@^0.1.4": + "integrity" "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + "resolved" "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz" + "version" "0.1.4" + +"duplexify@^3.5.0", "duplexify@^3.6.0": + "integrity" "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==" + "resolved" "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz" + "version" "3.7.1" + dependencies: + "end-of-stream" "^1.0.0" + "inherits" "^2.0.1" + "readable-stream" "^2.0.0" + "stream-shift" "^1.0.0" + +"ecc-jsbn@~0.1.1": + "integrity" "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=" + "resolved" "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" + "version" "0.1.2" + dependencies: + "jsbn" "~0.1.0" + "safer-buffer" "^2.1.0" + +"editorjs-undo@^0.1.5": + "integrity" "sha512-+qRmTe7Asn9KrsYHMCtNQi6rCBa+qrinJx/p7/Hj8K62HFzhMEuy7aMRbADd/KqcV2AsPVzgCj3PMHPmb6ZAkA==" + "resolved" "https://registry.npmjs.org/editorjs-undo/-/editorjs-undo-0.1.5.tgz" + "version" "0.1.5" + +"ee-first@1.1.1": + "integrity" "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "resolved" "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + "version" "1.1.1" + +"electron-to-chromium@^1.3.113": + "integrity" "sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g==" + "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz" + "version" "1.3.113" + +"electron-to-chromium@^1.3.523": + "integrity" "sha512-11qcm2xvf2kqeFO5EIejaBx5cKXsW1quAyv3VctCMYwofnyVZLs97y6LCekss3/ghQpr7PYkSO3uId5FmxZsdw==" + "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.551.tgz" + "version" "1.3.551" + +"elfy@^1.0.0": + "integrity" "sha512-4Kp3AA94jC085IJox+qnvrZ3PudqTi4gQNvIoTZfJJ9IqkRuCoqP60vCVYlIg00c5aYusi5Wjh2bf0cHYt+6gQ==" + "resolved" "https://registry.npmjs.org/elfy/-/elfy-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "endian-reader" "^0.3.0" + +"email-validator@^2.0.4": + "integrity" "sha512-gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ==" + "resolved" "https://registry.npmjs.org/email-validator/-/email-validator-2.0.4.tgz" + "version" "2.0.4" + +"emoji-regex@^7.0.1": + "integrity" "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" + "version" "7.0.3" + +"emoji-regex@^8.0.0": + "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + "version" "8.0.0" + +"emojis-list@^2.0.0": + "integrity" "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + "resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz" + "version" "2.1.0" + +"enabled@2.0.x": + "integrity" "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" + "resolved" "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz" + "version" "2.0.0" + +"encodeurl@~1.0.2": + "integrity" "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + "resolved" "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + "version" "1.0.2" + +"end-of-stream@^1.0.0", "end-of-stream@^1.1.0", "end-of-stream@^1.4.1": + "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" + "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + "version" "1.4.4" + dependencies: + "once" "^1.4.0" + +"endian-reader@^0.3.0": + "integrity" "sha1-hOykNrgK7Q0GOcRykTOLky7+UKA=" + "resolved" "https://registry.npmjs.org/endian-reader/-/endian-reader-0.3.0.tgz" + "version" "0.3.0" + +"engine.io-client@~3.5.0": + "integrity" "sha512-12wPRfMrugVw/DNyJk34GQ5vIVArEcVMXWugQGGuw2XxUSztFNmJggZmv8IZlLyEdnpO1QB9LkcjeWewO2vxtA==" + "resolved" "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.0.tgz" + "version" "3.5.0" + dependencies: + "component-emitter" "~1.3.0" + "component-inherit" "0.0.3" + "debug" "~3.1.0" + "engine.io-parser" "~2.2.0" + "has-cors" "1.1.0" + "indexof" "0.0.1" + "parseqs" "0.0.6" + "parseuri" "0.0.6" + "ws" "~7.4.2" + "xmlhttprequest-ssl" "~1.5.4" + "yeast" "0.1.2" + +"engine.io-parser@~2.2.0": + "integrity" "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==" + "resolved" "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "after" "0.8.2" + "arraybuffer.slice" "~0.0.7" + "base64-arraybuffer" "0.1.5" + "blob" "0.0.5" + "has-binary2" "~1.0.2" + +"engine.io@~3.5.0": + "integrity" "sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==" + "resolved" "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz" + "version" "3.5.0" + dependencies: + "accepts" "~1.3.4" + "base64id" "2.0.0" + "cookie" "~0.4.1" + "debug" "~4.1.0" + "engine.io-parser" "~2.2.0" + "ws" "~7.4.2" + +"entities@^1.1.1": + "integrity" "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + "resolved" "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz" + "version" "1.1.2" + +"errno@^0.1.1": + "integrity" "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==" + "resolved" "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz" + "version" "0.1.7" + dependencies: + "prr" "~1.0.1" + +"error-ex@^1.2.0", "error-ex@^1.3.1": + "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" + "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "is-arrayish" "^0.2.1" + +"es-abstract@^1.12.0": + "integrity" "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==" + "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz" + "version" "1.13.0" + dependencies: + "es-to-primitive" "^1.2.0" + "function-bind" "^1.1.1" + "has" "^1.0.3" + "is-callable" "^1.1.4" + "is-regex" "^1.0.4" + "object-keys" "^1.0.12" + +"es-abstract@^1.17.0-next.1", "es-abstract@^1.17.4", "es-abstract@^1.17.5": + "integrity" "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==" + "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz" + "version" "1.17.5" + dependencies: + "es-to-primitive" "^1.2.1" + "function-bind" "^1.1.1" + "has" "^1.0.3" + "has-symbols" "^1.0.1" + "is-callable" "^1.1.5" + "is-regex" "^1.0.5" + "object-inspect" "^1.7.0" + "object-keys" "^1.1.1" + "object.assign" "^4.1.0" + "string.prototype.trimleft" "^2.1.1" + "string.prototype.trimright" "^2.1.1" + +"es-abstract@^1.5.1": + "integrity" "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==" + "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz" + "version" "1.13.0" + dependencies: + "es-to-primitive" "^1.2.0" + "function-bind" "^1.1.1" + "has" "^1.0.3" + "is-callable" "^1.1.4" + "is-regex" "^1.0.4" + "object-keys" "^1.0.12" + +"es-get-iterator@^1.1.0": + "integrity" "sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ==" + "resolved" "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "es-abstract" "^1.17.4" + "has-symbols" "^1.0.1" + "is-arguments" "^1.0.4" + "is-map" "^2.0.1" + "is-set" "^2.0.1" + "is-string" "^1.0.5" + "isarray" "^2.0.5" + +"es-to-primitive@^1.2.0": + "integrity" "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==" + "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "is-callable" "^1.1.4" + "is-date-object" "^1.0.1" + "is-symbol" "^1.0.2" + +"es-to-primitive@^1.2.1": + "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==" + "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + "version" "1.2.1" + dependencies: + "is-callable" "^1.1.4" + "is-date-object" "^1.0.1" + "is-symbol" "^1.0.2" + +"es6-error@^4.1.1": + "integrity" "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" + "resolved" "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz" + "version" "4.1.1" + +"es6-promise@^4.0.3": + "integrity" "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + "resolved" "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" + "version" "4.2.8" + +"escalade@^3.0.2": + "integrity" "sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ==" + "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.0.2.tgz" + "version" "3.0.2" + +"escape-goat@^2.0.0": + "integrity" "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" + "resolved" "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz" + "version" "2.1.1" + +"escape-html@~1.0.3": + "integrity" "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + "resolved" "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + "version" "1.0.3" + +"escape-string-regexp@^1.0.2", "escape-string-regexp@^1.0.5", "escape-string-regexp@1.0.5": + "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + "version" "1.0.5" + +"escape-string-regexp@^4.0.0": + "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + "version" "4.0.0" + +"esprima@^4.0.0": + "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + "version" "4.0.1" + +"estree-walker@^0.5.0": + "integrity" "sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==" + "resolved" "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz" + "version" "0.5.2" + +"estree-walker@^0.6.0": + "integrity" "sha512-peq1RfVAVzr3PU/jL31RaOjUKLoZJpObQWJJ+LgfcxDUifyLZ1RjPQZTl0pzj2uJ45b7A7XpyppXvxdEqzo4rw==" + "resolved" "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.0.tgz" + "version" "0.6.0" + +"esutils@^2.0.2": + "integrity" "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz" + "version" "2.0.2" + +"etag@~1.8.1": + "integrity" "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + "resolved" "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + "version" "1.8.1" + +"event-loop-spinner@^2.0.0": + "integrity" "sha512-1y4j/Mhttr8ordvHkbDsGzGrlQaSYJoXD/3YKUxiOXIk7myEn9UPfybEk/lLtrcU3D4QvCNmVUxVQaPtvAIaUw==" + "resolved" "https://registry.npmjs.org/event-loop-spinner/-/event-loop-spinner-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "tslib" "^1.10.0" + +"event-loop-spinner@^2.1.0": + "integrity" "sha512-RJ10wL8/F9AlfBgRCvYctJIXSb9XkVmSCK3GGUvPD3dJrvTjDeDT0tmhcbEC6I2NEjNM9xD38HQJ4F/f/gb4VQ==" + "resolved" "https://registry.npmjs.org/event-loop-spinner/-/event-loop-spinner-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "tslib" "^2.1.0" + +"eventemitter3@^2.0.3": + "integrity" "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + "resolved" "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz" + "version" "2.0.3" + +"eventemitter3@^4.0.0": + "integrity" "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==" + "resolved" "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz" + "version" "4.0.4" + +"execa@^1.0.0": + "integrity" "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==" + "resolved" "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz" + "version" "1.0.0" + 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" + +"expand-brackets@^2.1.4": + "integrity" "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=" + "resolved" "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" + "version" "2.1.4" + 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" + +"expand-tilde@^2.0.0", "expand-tilde@^2.0.2": + "integrity" "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=" + "resolved" "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "homedir-polyfill" "^1.0.1" + +"express@^4.17.1": + "integrity" "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==" + "resolved" "https://registry.npmjs.org/express/-/express-4.17.1.tgz" + "version" "4.17.1" + dependencies: + "accepts" "~1.3.7" + "array-flatten" "1.1.1" + "body-parser" "1.19.0" + "content-disposition" "0.5.3" + "content-type" "~1.0.4" + "cookie" "0.4.0" + "cookie-signature" "1.0.6" + "debug" "2.6.9" + "depd" "~1.1.2" + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "etag" "~1.8.1" + "finalhandler" "~1.1.2" + "fresh" "0.5.2" + "merge-descriptors" "1.0.1" + "methods" "~1.1.2" + "on-finished" "~2.3.0" + "parseurl" "~1.3.3" + "path-to-regexp" "0.1.7" + "proxy-addr" "~2.0.5" + "qs" "6.7.0" + "range-parser" "~1.2.1" + "safe-buffer" "5.1.2" + "send" "0.17.1" + "serve-static" "1.14.1" + "setprototypeof" "1.1.1" + "statuses" "~1.5.0" + "type-is" "~1.6.18" + "utils-merge" "1.0.1" + "vary" "~1.1.2" + +"extend-shallow@^2.0.1": + "integrity" "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "is-extendable" "^0.1.0" + +"extend-shallow@^3.0.0": + "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "assign-symbols" "^1.0.0" + "is-extendable" "^1.0.1" + +"extend-shallow@^3.0.2": + "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "assign-symbols" "^1.0.0" + "is-extendable" "^1.0.1" + +"extend@^3.0.0", "extend@^3.0.2", "extend@~3.0.2": + "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + "version" "3.0.2" + +"external-editor@^3.0.3": + "integrity" "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==" + "resolved" "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "chardet" "^0.7.0" + "iconv-lite" "^0.4.24" + "tmp" "^0.0.33" + +"extglob@^2.0.4": + "integrity" "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==" + "resolved" "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" + "version" "2.0.4" + 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" + +"extract-zip@^1.6.5": + "integrity" "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==" + "resolved" "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz" + "version" "1.7.0" + dependencies: + "concat-stream" "^1.6.2" + "debug" "^2.6.9" + "mkdirp" "^0.5.4" + "yauzl" "^2.10.0" + +"extsprintf@^1.2.0": + "integrity" "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=" + "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz" + "version" "1.4.0" + +"extsprintf@1.3.0": + "integrity" "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" + "version" "1.3.0" + +"fast-deep-equal@^2.0.1": + "integrity" "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz" + "version" "2.0.1" + +"fast-deep-equal@^3.1.1": + "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + "version" "3.1.3" + +"fast-diff@1.1.2": + "integrity" "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==" + "resolved" "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz" + "version" "1.1.2" + +"fast-diff@1.2.0": + "integrity" "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==" + "resolved" "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" + "version" "1.2.0" + +"fast-json-stable-stringify@^2.0.0": + "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + "version" "2.1.0" + +"fast-safe-stringify@^2.0.4": + "integrity" "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" + "resolved" "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz" + "version" "2.0.7" + +"fastparse@^1.1.1": + "integrity" "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" + "resolved" "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz" + "version" "1.1.2" + +"fastq@^1.6.0": + "integrity" "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==" + "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz" + "version" "1.11.0" + dependencies: + "reusify" "^1.0.4" + +"fd-slicer@~1.1.0": + "integrity" "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=" + "resolved" "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "pend" "~1.2.0" + +"fecha@^4.2.0": + "integrity" "sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg==" + "resolved" "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz" + "version" "4.2.0" + +"figures@^3.0.0": + "integrity" "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" + "resolved" "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" + "version" "3.2.0" + dependencies: + "escape-string-regexp" "^1.0.5" + +"fill-range@^4.0.0": + "integrity" "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=" + "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "extend-shallow" "^2.0.1" + "is-number" "^3.0.0" + "repeat-string" "^1.6.1" + "to-regex-range" "^2.1.0" + +"fill-range@^7.0.1": + "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" + "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "to-regex-range" "^5.0.1" + +"finalhandler@~1.1.2": + "integrity" "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==" + "resolved" "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "debug" "2.6.9" + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "on-finished" "~2.3.0" + "parseurl" "~1.3.3" + "statuses" "~1.5.0" + "unpipe" "~1.0.0" + +"find-up@^1.0.0": + "integrity" "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "path-exists" "^2.0.0" + "pinkie-promise" "^2.0.0" + +"find-up@^3.0.0": + "integrity" "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "locate-path" "^3.0.0" + +"fn.name@1.x.x": + "integrity" "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" + "resolved" "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz" + "version" "1.1.0" + +"follow-redirects@^1.10.0": + "integrity" "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==" + "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz" + "version" "1.13.3" + +"for-in@^1.0.2": + "integrity" "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + "resolved" "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" + "version" "1.0.2" + +"foreach@^2.0.5": + "integrity" "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + "resolved" "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz" + "version" "2.0.5" + +"forever-agent@~0.6.1": + "integrity" "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "resolved" "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + "version" "0.6.1" + +"form-data@^2.3.1", "form-data@~2.3.2": + "integrity" "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==" + "resolved" "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" + "version" "2.3.3" + dependencies: + "asynckit" "^0.4.0" + "combined-stream" "^1.0.6" + "mime-types" "^2.1.12" + +"formidable@^1.2.0": + "integrity" "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==" + "resolved" "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz" + "version" "1.2.1" + +"forwarded@~0.1.2": + "integrity" "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + "resolved" "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz" + "version" "0.1.2" + +"fragment-cache@^0.2.1": + "integrity" "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=" + "resolved" "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" + "version" "0.2.1" + dependencies: + "map-cache" "^0.2.2" + +"frappe-charts@^2.0.0-rc13": + "integrity" "sha512-Bv7IfllIrjRbKWHn5b769dOSenqdBixAr6m5kurf8ZUOJSLOgK4HOXItJ7BA8n9PvviH9/k5DaloisjLM2Bm1w==" + "resolved" "https://registry.npmjs.org/frappe-charts/-/frappe-charts-2.0.0-rc13.tgz" + "version" "2.0.0-rc13" + +"frappe-datatable@^1.15.3": + "integrity" "sha512-tUE3pNbxCMX0HPKvwurLBPRAOAdS0gNo1+MpoyFSqXI7b7sp6/TCBRht6qu1Luw+VyIzBtXkJdnnqU+Uoy8iow==" + "resolved" "https://registry.npmjs.org/frappe-datatable/-/frappe-datatable-1.15.3.tgz" + "version" "1.15.3" + dependencies: + "hyperlist" "^1.0.0-beta" + "lodash" "^4.17.5" + "sortablejs" "^1.7.0" + +"frappe-gantt@^0.5.0": + "integrity" "sha512-RAskVuBmnTcPJXh87oVhYmnNGy/9lvZlLHGui8QFB8yRBuUjzpZoZfZ+hKmDtBDmWNrE2/LRta06W5WmhTzzWQ==" + "resolved" "https://registry.npmjs.org/frappe-gantt/-/frappe-gantt-0.5.0.tgz" + "version" "0.5.0" + +"fresh@0.5.2": + "integrity" "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + "resolved" "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" + "version" "0.5.2" + +"fs-constants@^1.0.0": + "integrity" "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + "resolved" "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" + "version" "1.0.0" + +"fs-extra@^1.0.0": + "integrity" "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=" + "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "graceful-fs" "^4.1.2" + "jsonfile" "^2.1.0" + "klaw" "^1.0.0" + +"fs-minipass@^2.0.0": + "integrity" "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==" + "resolved" "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "minipass" "^3.0.0" + +"fs.realpath@^1.0.0": + "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + "version" "1.0.0" + +"fstream@^1.0.0", "fstream@^1.0.12": + "integrity" "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==" + "resolved" "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz" + "version" "1.0.12" + dependencies: + "graceful-fs" "^4.1.2" + "inherits" "~2.0.0" + "mkdirp" ">=0.5 0" + "rimraf" "2" + +"function-bind@^1.1.1": + "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + "version" "1.1.1" + +"fuse.js@^3.4.6": + "integrity" "sha512-H6aJY4UpLFwxj1+5nAvufom5b2BT2v45P1MkPvdGIK8fWjQx/7o6tTT1+ALV0yawQvbmvCF0ufl2et8eJ7v7Cg==" + "resolved" "https://registry.npmjs.org/fuse.js/-/fuse.js-3.4.6.tgz" + "version" "3.4.6" + +"gauge@~2.7.3": + "integrity" "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=" + "resolved" "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz" + "version" "2.7.4" + dependencies: + "aproba" "^1.0.3" + "console-control-strings" "^1.0.0" + "has-unicode" "^2.0.0" + "object-assign" "^4.1.0" + "signal-exit" "^3.0.0" + "string-width" "^1.0.1" + "strip-ansi" "^3.0.1" + "wide-align" "^1.1.0" + +"gaze@^1.0.0": + "integrity" "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==" + "resolved" "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "globule" "^1.0.0" + +"generic-names@^1.0.2", "generic-names@^1.0.3": + "integrity" "sha1-LXhqEhruUIh2eWk56OO/+DbCCRc=" + "resolved" "https://registry.npmjs.org/generic-names/-/generic-names-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "loader-utils" "^0.2.16" + +"get-caller-file@^1.0.1": + "integrity" "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz" + "version" "1.0.3" + +"get-caller-file@^2.0.1": + "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + "version" "2.0.5" + +"get-pixels@^3.2.3": + "integrity" "sha512-6ar+8yPxRd1pskEcl2GSEu1La0+xYRjjnkby6AYiRDDwZ0tJbPQmHnSeH9fGLskT8kvR0OukVgtZLcsENF9YKQ==" + "resolved" "https://registry.npmjs.org/get-pixels/-/get-pixels-3.3.2.tgz" + "version" "3.3.2" + dependencies: + "data-uri-to-buffer" "0.0.3" + "jpeg-js" "^0.3.2" + "mime-types" "^2.0.1" + "ndarray" "^1.0.13" + "ndarray-pack" "^1.1.1" + "node-bitmap" "0.0.1" + "omggif" "^1.0.5" + "parse-data-uri" "^0.2.0" + "pngjs" "^3.3.3" + "request" "^2.44.0" + "through" "^2.3.4" + +"get-stdin@^4.0.1": + "integrity" "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + "resolved" "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" + "version" "4.0.1" + +"get-stream@^4.0.0", "get-stream@^4.1.0": + "integrity" "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "pump" "^3.0.0" + +"get-stream@^5.1.0": + "integrity" "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "pump" "^3.0.0" + +"get-value@^2.0.3", "get-value@^2.0.6": + "integrity" "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + "resolved" "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" + "version" "2.0.6" + +"getpass@^0.1.1": + "integrity" "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=" + "resolved" "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" + "version" "0.1.7" + dependencies: + "assert-plus" "^1.0.0" + +"gl-mat2@^1.0.0": + "integrity" "sha1-FCUFcwpcL+Hp8l2ezj0NbMJxCjA=" + "resolved" "https://registry.npmjs.org/gl-mat2/-/gl-mat2-1.0.1.tgz" + "version" "1.0.1" + +"gl-vec2@^1.0.0": + "integrity" "sha512-YiqaAuNsheWmUV0Sa8k94kBB0D6RWjwZztyO+trEYS8KzJ6OQB/4686gdrf59wld4hHFIvaxynO3nRxpk1Ij/A==" + "resolved" "https://registry.npmjs.org/gl-vec2/-/gl-vec2-1.3.0.tgz" + "version" "1.3.0" + +"gl-vec3@^1.0.3": + "integrity" "sha512-jduKUqT0SGH02l8Yl+mV1yVsDfYgQAJyXGxkJQGyxPLHRiW25DwVIRPt6uvhrEMHftJfqhqKthRcyZqNEl9Xdw==" + "resolved" "https://registry.npmjs.org/gl-vec3/-/gl-vec3-1.1.3.tgz" + "version" "1.1.3" + +"glob@^7.0.0", "glob@^7.0.3", "glob@^7.1.2", "glob@^7.1.3", "glob@^7.1.6", "glob@~7.1.1": + "integrity" "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==" + "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" + "version" "7.1.6" + dependencies: + "fs.realpath" "^1.0.0" + "inflight" "^1.0.4" + "inherits" "2" + "minimatch" "^3.0.4" + "once" "^1.3.0" + "path-is-absolute" "^1.0.0" + +"glob@7.1.2": + "integrity" "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==" + "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz" + "version" "7.1.2" + dependencies: + "fs.realpath" "^1.0.0" + "inflight" "^1.0.4" + "inherits" "2" + "minimatch" "^3.0.4" + "once" "^1.3.0" + "path-is-absolute" "^1.0.0" + +"global-agent@^2.1.12": + "integrity" "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==" + "resolved" "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz" + "version" "2.1.12" + dependencies: + "boolean" "^3.0.1" + "core-js" "^3.6.5" + "es6-error" "^4.1.1" + "matcher" "^3.0.0" + "roarr" "^2.15.3" + "semver" "^7.3.2" + "serialize-error" "^7.0.1" + +"global-dirs@^2.0.1": + "integrity" "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==" + "resolved" "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "ini" "^1.3.5" + +"global-modules@^1.0.0": + "integrity" "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==" + "resolved" "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "global-prefix" "^1.0.1" + "is-windows" "^1.0.1" + "resolve-dir" "^1.0.0" + +"global-prefix@^1.0.1": + "integrity" "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=" + "resolved" "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "expand-tilde" "^2.0.2" + "homedir-polyfill" "^1.0.1" + "ini" "^1.3.4" + "is-windows" "^1.0.1" + "which" "^1.2.14" + +"globalthis@^1.0.1": + "integrity" "sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==" + "resolved" "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "define-properties" "^1.1.3" + +"globule@^1.0.0": + "integrity" "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==" + "resolved" "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "glob" "~7.1.1" + "lodash" "~4.17.10" + "minimatch" "~3.0.2" + +"got@^9.6.0": + "integrity" "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==" + "resolved" "https://registry.npmjs.org/got/-/got-9.6.0.tgz" + "version" "9.6.0" + dependencies: + "@sindresorhus/is" "^0.14.0" + "@szmarczak/http-timer" "^1.1.2" + "cacheable-request" "^6.0.0" + "decompress-response" "^3.3.0" + "duplexer3" "^0.1.4" + "get-stream" "^4.1.0" + "lowercase-keys" "^1.0.1" + "mimic-response" "^1.0.1" + "p-cancelable" "^1.0.0" + "to-readable-stream" "^1.0.0" + "url-parse-lax" "^3.0.0" + +"got@11.4.0": + "integrity" "sha512-XysJZuZNVpaQ37Oo2LV90MIkPeYITehyy1A0QzO1JwOXm8EWuEf9eeGk2XuHePvLEGnm9AVOI37bHwD6KYyBtg==" + "resolved" "https://registry.npmjs.org/got/-/got-11.4.0.tgz" + "version" "11.4.0" dependencies: "@sindresorhus/is" "^2.1.1" "@szmarczak/http-timer" "^4.0.5" "@types/cacheable-request" "^6.0.1" "@types/responselike" "^1.0.0" - cacheable-lookup "^5.0.3" - cacheable-request "^7.0.1" - decompress-response "^6.0.0" - http2-wrapper "^1.0.0-beta.4.5" - lowercase-keys "^2.0.0" - p-cancelable "^2.0.0" - responselike "^2.0.0" + "cacheable-lookup" "^5.0.3" + "cacheable-request" "^7.0.1" + "decompress-response" "^6.0.0" + "http2-wrapper" "^1.0.0-beta.4.5" + "lowercase-keys" "^2.0.0" + "p-cancelable" "^2.0.0" + "responselike" "^2.0.0" -got@^9.6.0: - version "9.6.0" - resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" - integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== +"graceful-fs@^4.1.2", "graceful-fs@^4.1.6", "graceful-fs@^4.1.9": + "integrity" "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz" + "version" "4.2.4" + +"graphlib@^2.1.8": + "integrity" "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==" + "resolved" "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz" + "version" "2.1.8" dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - cacheable-request "^6.0.0" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^4.1.0" - lowercase-keys "^1.0.1" - mimic-response "^1.0.1" - p-cancelable "^1.0.0" - to-readable-stream "^1.0.0" - url-parse-lax "^3.0.0" + "lodash" "^4.17.15" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== +"growl@1.10.5": + "integrity" "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + "resolved" "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz" + "version" "1.10.5" -graphlib@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.8.tgz#5761d414737870084c92ec7b5dbcb0592c9d35da" - integrity sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A== +"gunzip-maybe@^1.4.2": + "integrity" "sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==" + "resolved" "https://registry.npmjs.org/gunzip-maybe/-/gunzip-maybe-1.4.2.tgz" + "version" "1.4.2" dependencies: - lodash "^4.17.15" + "browserify-zlib" "^0.1.4" + "is-deflate" "^1.0.0" + "is-gzip" "^1.0.0" + "peek-stream" "^1.1.0" + "pumpify" "^1.3.3" + "through2" "^2.0.3" -growl@1.10.5: - version "1.10.5" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" - integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== +"har-schema@^2.0.0": + "integrity" "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "resolved" "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" + "version" "2.0.0" -gunzip-maybe@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/gunzip-maybe/-/gunzip-maybe-1.4.2.tgz#b913564ae3be0eda6f3de36464837a9cd94b98ac" - integrity sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw== +"har-validator@~5.1.0", "har-validator@~5.1.3": + "integrity" "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==" + "resolved" "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" + "version" "5.1.5" dependencies: - browserify-zlib "^0.1.4" - is-deflate "^1.0.0" - is-gzip "^1.0.0" - peek-stream "^1.1.0" - pumpify "^1.3.3" - through2 "^2.0.3" + "ajv" "^6.12.3" + "har-schema" "^2.0.0" -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.0, har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== +"has-ansi@^2.0.0": + "integrity" "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=" + "resolved" "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" + "version" "2.0.0" dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" + "ansi-regex" "^2.0.0" -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= +"has-binary2@~1.0.2": + "integrity" "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==" + "resolved" "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz" + "version" "1.0.3" dependencies: - ansi-regex "^2.0.0" + "isarray" "2.0.1" -has-binary2@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d" - integrity sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw== +"has-cors@1.1.0": + "integrity" "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" + "resolved" "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz" + "version" "1.1.0" + +"has-flag@^1.0.0": + "integrity" "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz" + "version" "1.0.0" + +"has-flag@^3.0.0": + "integrity" "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + "version" "3.0.0" + +"has-flag@^4.0.0": + "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + "version" "4.0.0" + +"has-glob@^1.0.0": + "integrity" "sha1-mqqe7b/7G6OZCnsAEPtnjuAIEgc=" + "resolved" "https://registry.npmjs.org/has-glob/-/has-glob-1.0.0.tgz" + "version" "1.0.0" dependencies: - isarray "2.0.1" + "is-glob" "^3.0.0" -has-cors@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" - integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk= +"has-symbols@^1.0.0": + "integrity" "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" + "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz" + "version" "1.0.0" -has-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" - integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= +"has-symbols@^1.0.1": + "integrity" "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz" + "version" "1.0.1" -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= +"has-unicode@^2.0.0": + "integrity" "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + "resolved" "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" + "version" "2.0.1" -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-glob/-/has-glob-1.0.0.tgz#9aaa9eedbffb1ba3990a7b0010fb678ee0081207" - integrity sha1-mqqe7b/7G6OZCnsAEPtnjuAIEgc= +"has-value@^0.3.1": + "integrity" "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=" + "resolved" "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" + "version" "0.3.1" dependencies: - is-glob "^3.0.0" + "get-value" "^2.0.3" + "has-values" "^0.1.4" + "isobject" "^2.0.0" -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= - -has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= +"has-value@^1.0.0": + "integrity" "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=" + "resolved" "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" + "version" "1.0.0" dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" + "get-value" "^2.0.6" + "has-values" "^1.0.0" + "isobject" "^3.0.0" -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= +"has-values@^0.1.4": + "integrity" "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + "resolved" "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" + "version" "0.1.4" + +"has-values@^1.0.0": + "integrity" "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=" + "resolved" "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" + "version" "1.0.0" dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" + "is-number" "^3.0.0" + "kind-of" "^4.0.0" -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= +"has-yarn@^2.1.0": + "integrity" "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" + "resolved" "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz" + "version" "2.1.0" -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= +"has@^1.0.0", "has@^1.0.1", "has@^1.0.3": + "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" + "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + "version" "1.0.3" dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" + "function-bind" "^1.1.1" -has-yarn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" - integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== +"hash-sum@^1.0.2": + "integrity" "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=" + "resolved" "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz" + "version" "1.0.2" -has@^1.0.0, has@^1.0.1, has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== +"hasha@^2.2.0": + "integrity" "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=" + "resolved" "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz" + "version" "2.2.0" dependencies: - function-bind "^1.1.1" + "is-stream" "^1.0.1" + "pinkie-promise" "^2.0.0" -hash-sum@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" - integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= - -hasha@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/hasha/-/hasha-2.2.0.tgz#78d7cbfc1e6d66303fe79837365984517b2f6ee1" - integrity sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE= +"hcl-to-json@^0.1.1": + "integrity" "sha512-sj1RPsdgX/ilBGZGnyjbSHQbRe20hyA6VDXYBGJedHSCdwSWkr/7tr85N7FGeM7KvBjIQX7Gl897bo0Ug73Z/A==" + "resolved" "https://registry.npmjs.org/hcl-to-json/-/hcl-to-json-0.1.1.tgz" + "version" "0.1.1" dependencies: - is-stream "^1.0.1" - pinkie-promise "^2.0.0" + "debug" "^3.0.1" + "lodash.get" "^4.4.2" + "lodash.set" "^4.3.2" -hcl-to-json@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/hcl-to-json/-/hcl-to-json-0.1.1.tgz#39674aa2a5a4d2b4c2b6762c8196af4af4f12903" - integrity sha512-sj1RPsdgX/ilBGZGnyjbSHQbRe20hyA6VDXYBGJedHSCdwSWkr/7tr85N7FGeM7KvBjIQX7Gl897bo0Ug73Z/A== +"he@^1.1.0": + "integrity" "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + "resolved" "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + "version" "1.2.0" + +"he@1.1.1": + "integrity" "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" + "resolved" "https://registry.npmjs.org/he/-/he-1.1.1.tgz" + "version" "1.1.1" + +"hex-color-regex@^1.1.0": + "integrity" "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" + "resolved" "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz" + "version" "1.1.0" + +"highlight.js@^10.4.1": + "integrity" "sha512-yR5lWvNz7c85OhVAEAeFhVCc/GV4C30Fjzc/rCP0aCWzc1UUOPUk55dK/qdwTZHBvMZo+eZ2jpk62ndX/xMFlg==" + "resolved" "https://registry.npmjs.org/highlight.js/-/highlight.js-10.4.1.tgz" + "version" "10.4.1" + +"homedir-polyfill@^1.0.1": + "integrity" "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==" + "resolved" "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz" + "version" "1.0.3" dependencies: - debug "^3.0.1" - lodash.get "^4.4.2" - lodash.set "^4.3.2" + "parse-passwd" "^1.0.0" -he@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" - integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0= +"hosted-git-info@^2.1.4": + "integrity" "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==" + "resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz" + "version" "2.8.8" -he@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hex-color-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" - integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== - -highlight.js@^10.4.1: - version "10.4.1" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.4.1.tgz#d48fbcf4a9971c4361b3f95f302747afe19dbad0" - integrity sha512-yR5lWvNz7c85OhVAEAeFhVCc/GV4C30Fjzc/rCP0aCWzc1UUOPUk55dK/qdwTZHBvMZo+eZ2jpk62ndX/xMFlg== - -homedir-polyfill@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" - integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== +"hosted-git-info@^3.0.4": + "integrity" "sha512-i4dpK6xj9BIpVOTboXIlKG9+8HMKggcrMX7WA24xZtKwX0TPelq/rbaS5rCKeNX8sJXZJGdSxpnEGtta+wismQ==" + "resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.5.tgz" + "version" "3.0.5" dependencies: - parse-passwd "^1.0.0" + "lru-cache" "^6.0.0" -hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== - -hosted-git-info@^3.0.4: - version "3.0.5" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.5.tgz#bea87905ef7317442e8df3087faa3c842397df03" - integrity sha512-i4dpK6xj9BIpVOTboXIlKG9+8HMKggcrMX7WA24xZtKwX0TPelq/rbaS5rCKeNX8sJXZJGdSxpnEGtta+wismQ== +"hosted-git-info@^3.0.7": + "integrity" "sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ==" + "resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.7.tgz" + "version" "3.0.7" dependencies: - lru-cache "^6.0.0" + "lru-cache" "^6.0.0" -hosted-git-info@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.7.tgz#a30727385ea85acfcee94e0aad9e368c792e036c" - integrity sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ== +"hsl-regex@^1.0.0": + "integrity" "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" + "resolved" "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz" + "version" "1.0.0" + +"hsla-regex@^1.0.0": + "integrity" "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" + "resolved" "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz" + "version" "1.0.0" + +"html-comment-regex@^1.1.0": + "integrity" "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" + "resolved" "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz" + "version" "1.1.2" + +"http-cache-semantics@^4.0.0": + "integrity" "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + "resolved" "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz" + "version" "4.1.0" + +"http-errors@~1.7.2": + "integrity" "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==" + "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz" + "version" "1.7.3" dependencies: - lru-cache "^6.0.0" + "depd" "~1.1.2" + "inherits" "2.0.4" + "setprototypeof" "1.1.1" + "statuses" ">= 1.5.0 < 2" + "toidentifier" "1.0.0" -hsl-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" - integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= - -hsla-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" - integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= - -html-comment-regex@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" - integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== - -http-cache-semantics@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== - -http-errors@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== +"http-errors@1.7.2": + "integrity" "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==" + "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz" + "version" "1.7.2" dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" + "depd" "~1.1.2" + "inherits" "2.0.3" + "setprototypeof" "1.1.1" + "statuses" ">= 1.5.0 < 2" + "toidentifier" "1.0.0" -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== +"http-signature@~1.2.0": + "integrity" "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=" + "resolved" "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" + "version" "1.2.0" dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" + "assert-plus" "^1.0.0" + "jsprim" "^1.2.2" + "sshpk" "^1.7.0" -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= +"http2-wrapper@^1.0.0-beta.4.5": + "integrity" "sha512-xYz9goEyBnC8XwXDTuC/MZ6t+MrKVQZOk4s7+PaDkwIsQd8IwqvM+0M6bA/2lvG8GHXcPdf+MejTUeO2LCPCeQ==" + "resolved" "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.0-beta.5.2.tgz" + "version" "1.0.0-beta.5.2" dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" + "quick-lru" "^5.1.1" + "resolve-alpn" "^1.0.0" -http2-wrapper@^1.0.0-beta.4.5: - version "1.0.0-beta.5.2" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.0-beta.5.2.tgz#8b923deb90144aea65cf834b016a340fc98556f3" - integrity sha512-xYz9goEyBnC8XwXDTuC/MZ6t+MrKVQZOk4s7+PaDkwIsQd8IwqvM+0M6bA/2lvG8GHXcPdf+MejTUeO2LCPCeQ== +"hyperlist@^1.0.0-beta": + "integrity" "sha1-LLvXf0SYwuzCkLfzxnRbPwKIJH4=" + "resolved" "https://registry.npmjs.org/hyperlist/-/hyperlist-1.0.0-beta.tgz" + "version" "1.0.0-beta" + +"iconv-lite@^0.4.24", "iconv-lite@^0.4.4", "iconv-lite@0.4.24": + "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" + "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + "version" "0.4.24" dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.0.0" + "safer-buffer" ">= 2.1.2 < 3" -hyperlist@^1.0.0-beta: - version "1.0.0-beta" - resolved "https://registry.yarnpkg.com/hyperlist/-/hyperlist-1.0.0-beta.tgz#2cbbd77f4498c2ecc290b7f3c6745b3f0288247e" - integrity sha1-LLvXf0SYwuzCkLfzxnRbPwKIJH4= +"icss-replace-symbols@^1.0.2", "icss-replace-symbols@^1.1.0", "icss-replace-symbols@1.1.0": + "integrity" "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" + "resolved" "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz" + "version" "1.1.0" -iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== +"ieee754@^1.1.4": + "integrity" "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + "resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz" + "version" "1.1.13" + +"ignore@^5.1.8": + "integrity" "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" + "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz" + "version" "5.1.8" + +"image-size@~0.5.0": + "integrity" "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=" + "resolved" "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz" + "version" "0.5.5" + +"immediate@~3.0.5": + "integrity" "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + "resolved" "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" + "version" "3.0.6" + +"import-cwd@^2.0.0", "import-cwd@^2.1.0": + "integrity" "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=" + "resolved" "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz" + "version" "2.1.0" dependencies: - safer-buffer ">= 2.1.2 < 3" + "import-from" "^2.1.0" -icss-replace-symbols@1.1.0, icss-replace-symbols@^1.0.2, icss-replace-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" - integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= - -ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -ignore@^5.1.8: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -image-size@~0.5.0: - version "0.5.5" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" - integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= - -immediate@~3.0.5: - version "3.0.6" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" - integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= - -import-cwd@^2.0.0, import-cwd@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" - integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= +"import-fresh@^2.0.0": + "integrity" "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=" + "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz" + "version" "2.0.0" dependencies: - import-from "^2.1.0" + "caller-path" "^2.0.0" + "resolve-from" "^3.0.0" -import-fresh@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" - integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= +"import-from@^2.1.0": + "integrity" "sha1-M1238qev/VOqpHHUuAId7ja387E=" + "resolved" "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz" + "version" "2.1.0" dependencies: - caller-path "^2.0.0" - resolve-from "^3.0.0" + "resolve-from" "^3.0.0" -import-from@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" - integrity sha1-M1238qev/VOqpHHUuAId7ja387E= +"import-lazy@^2.1.0": + "integrity" "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" + "resolved" "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz" + "version" "2.1.0" + +"imurmurhash@^0.1.4": + "integrity" "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + "version" "0.1.4" + +"in-publish@^2.0.0": + "integrity" "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==" + "resolved" "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz" + "version" "2.0.1" + +"indent-string@^2.1.0": + "integrity" "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=" + "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz" + "version" "2.1.0" dependencies: - resolve-from "^3.0.0" + "repeating" "^2.0.0" -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= +"indent-string@^4.0.0": + "integrity" "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + "version" "4.0.0" -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= +"indexes-of@^1.0.1": + "integrity" "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + "resolved" "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz" + "version" "1.0.1" -in-publish@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c" - integrity sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ== +"indexof@0.0.1": + "integrity" "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + "resolved" "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz" + "version" "0.0.1" -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= +"inflight@^1.0.4": + "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" + "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + "version" "1.0.6" dependencies: - repeating "^2.0.0" + "once" "^1.3.0" + "wrappy" "1" -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== +"inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.0", "inherits@~2.0.3", "inherits@2", "inherits@2.0.4": + "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + "version" "2.0.4" -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= +"inherits@2.0.3": + "integrity" "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + "version" "2.0.3" -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= +"ini@^1.3.4", "ini@^1.3.5", "ini@~1.3.0": + "integrity" "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + "version" "1.3.8" -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= +"invert-kv@^2.0.0": + "integrity" "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" + "resolved" "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz" + "version" "2.0.0" + +"iota-array@^1.0.0": + "integrity" "sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=" + "resolved" "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz" + "version" "1.0.0" + +"ipaddr.js@1.9.1": + "integrity" "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + "resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + "version" "1.9.1" + +"is-absolute-url@^2.0.0": + "integrity" "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" + "resolved" "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz" + "version" "2.1.0" + +"is-accessor-descriptor@^0.1.6": + "integrity" "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=" + "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" + "version" "0.1.6" dependencies: - once "^1.3.0" - wrappy "1" + "kind-of" "^3.0.2" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -invert-kv@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== - -iota-array@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/iota-array/-/iota-array-1.0.0.tgz#81ef57fe5d05814cd58c2483632a99c30a0e8087" - integrity sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc= - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-absolute-url@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" - integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= +"is-accessor-descriptor@^1.0.0": + "integrity" "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==" + "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" + "version" "1.0.0" dependencies: - kind-of "^3.0.2" + "kind-of" "^6.0.0" -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== +"is-arguments@^1.0.4": + "integrity" "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" + "resolved" "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz" + "version" "1.0.4" + +"is-arrayish@^0.2.1": + "integrity" "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + "version" "0.2.1" + +"is-arrayish@^0.3.1": + "integrity" "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" + "version" "0.3.2" + +"is-bigint@^1.0.0": + "integrity" "sha512-t5mGUXC/xRheCK431ylNiSkGGpBp8bHENBcENTkDT6ppwPzEVxNGZRvgvmOEfbWkFhA7D2GEuE2mmQTr78sl2g==" + "resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.0.tgz" + "version" "1.0.0" + +"is-boolean-object@^1.0.0": + "integrity" "sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ==" + "resolved" "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.1.tgz" + "version" "1.0.1" + +"is-buffer@^1.0.2", "is-buffer@^1.1.5": + "integrity" "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" + "version" "1.1.6" + +"is-callable@^1.1.4": + "integrity" "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" + "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz" + "version" "1.1.4" + +"is-callable@^1.1.5": + "integrity" "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==" + "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz" + "version" "1.2.0" + +"is-ci@^2.0.0": + "integrity" "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==" + "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" + "version" "2.0.0" dependencies: - kind-of "^6.0.0" + "ci-info" "^2.0.0" -is-arguments@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" - integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-bigint@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.0.tgz#73da8c33208d00f130e9b5e15d23eac9215601c4" - integrity sha512-t5mGUXC/xRheCK431ylNiSkGGpBp8bHENBcENTkDT6ppwPzEVxNGZRvgvmOEfbWkFhA7D2GEuE2mmQTr78sl2g== - -is-boolean-object@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.1.tgz#10edc0900dd127697a92f6f9807c7617d68ac48e" - integrity sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ== - -is-buffer@^1.0.2, is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== - -is-callable@^1.1.5: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" - integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== +"is-color-stop@^1.0.0": + "integrity" "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=" + "resolved" "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz" + "version" "1.1.0" dependencies: - ci-info "^2.0.0" + "css-color-names" "^0.0.4" + "hex-color-regex" "^1.1.0" + "hsl-regex" "^1.0.0" + "hsla-regex" "^1.0.0" + "rgb-regex" "^1.0.1" + "rgba-regex" "^1.0.0" -is-color-stop@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" - integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= +"is-data-descriptor@^0.1.4": + "integrity" "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=" + "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" + "version" "0.1.4" dependencies: - css-color-names "^0.0.4" - hex-color-regex "^1.1.0" - hsl-regex "^1.0.0" - hsla-regex "^1.0.0" - rgb-regex "^1.0.1" - rgba-regex "^1.0.0" + "kind-of" "^3.0.2" -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= +"is-data-descriptor@^1.0.0": + "integrity" "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==" + "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" + "version" "1.0.0" dependencies: - kind-of "^3.0.2" + "kind-of" "^6.0.0" -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== +"is-date-object@^1.0.1": + "integrity" "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz" + "version" "1.0.1" + +"is-date-object@^1.0.2": + "integrity" "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" + "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz" + "version" "1.0.2" + +"is-deflate@^1.0.0": + "integrity" "sha1-yGKQHDwWH7CdrHzcfnhPgOmPLxQ=" + "resolved" "https://registry.npmjs.org/is-deflate/-/is-deflate-1.0.0.tgz" + "version" "1.0.0" + +"is-descriptor@^0.1.0": + "integrity" "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==" + "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" + "version" "0.1.6" dependencies: - kind-of "^6.0.0" + "is-accessor-descriptor" "^0.1.6" + "is-data-descriptor" "^0.1.4" + "kind-of" "^5.0.0" -is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= - -is-date-object@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== - -is-deflate@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-deflate/-/is-deflate-1.0.0.tgz#c862901c3c161fb09dac7cdc7e784f80e98f2f14" - integrity sha1-yGKQHDwWH7CdrHzcfnhPgOmPLxQ= - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== +"is-descriptor@^1.0.0", "is-descriptor@^1.0.2": + "integrity" "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==" + "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" + "version" "1.0.2" dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" + "is-accessor-descriptor" "^1.0.0" + "is-data-descriptor" "^1.0.0" + "kind-of" "^6.0.2" -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== +"is-directory@^0.3.1": + "integrity" "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + "resolved" "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz" + "version" "0.3.1" + +"is-docker@^2.0.0": + "integrity" "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==" + "resolved" "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz" + "version" "2.0.0" + +"is-extendable@^0.1.0", "is-extendable@^0.1.1": + "integrity" "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + "version" "0.1.1" + +"is-extendable@^1.0.1": + "integrity" "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==" + "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" + "version" "1.0.1" dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" + "is-plain-object" "^2.0.4" -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= +"is-extglob@^2.1.0", "is-extglob@^2.1.1": + "integrity" "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + "version" "2.1.1" -is-docker@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b" - integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ== +"is-finite@^1.0.0": + "integrity" "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" + "resolved" "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz" + "version" "1.1.0" -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== +"is-fullwidth-code-point@^1.0.0": + "integrity" "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" + "version" "1.0.0" dependencies: - is-plain-object "^2.0.4" + "number-is-nan" "^1.0.0" -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= +"is-fullwidth-code-point@^2.0.0": + "integrity" "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" + "version" "2.0.0" -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" - integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== +"is-fullwidth-code-point@^3.0.0": + "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + "version" "3.0.0" -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= +"is-glob@^3.0.0": + "integrity" "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=" + "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" + "version" "3.1.0" dependencies: - number-is-nan "^1.0.0" + "is-extglob" "^2.1.0" -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= +"is-glob@^4.0.1": + "integrity" "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==" + "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" + "version" "4.0.1" dependencies: - is-extglob "^2.1.0" + "is-extglob" "^2.1.1" -is-glob@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== +"is-gzip@^1.0.0": + "integrity" "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=" + "resolved" "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz" + "version" "1.0.0" + +"is-installed-globally@^0.3.1": + "integrity" "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==" + "resolved" "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz" + "version" "0.3.2" dependencies: - is-extglob "^2.1.1" + "global-dirs" "^2.0.1" + "is-path-inside" "^3.0.1" -is-gzip@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83" - integrity sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM= +"is-interactive@^1.0.0": + "integrity" "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" + "resolved" "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" + "version" "1.0.0" -is-installed-globally@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" - integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== +"is-map@^2.0.1": + "integrity" "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==" + "resolved" "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz" + "version" "2.0.1" + +"is-module@^1.0.0": + "integrity" "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=" + "resolved" "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz" + "version" "1.0.0" + +"is-npm@^4.0.0": + "integrity" "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==" + "resolved" "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz" + "version" "4.0.0" + +"is-number-object@^1.0.3": + "integrity" "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==" + "resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz" + "version" "1.0.4" + +"is-number@^3.0.0": + "integrity" "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=" + "resolved" "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" + "version" "3.0.0" dependencies: - global-dirs "^2.0.1" - is-path-inside "^3.0.1" + "kind-of" "^3.0.2" -is-interactive@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" - integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== +"is-number@^7.0.0": + "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + "version" "7.0.0" -is-map@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1" - integrity sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw== +"is-obj@^1.0.0": + "integrity" "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" + "version" "1.0.1" -is-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" - integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= +"is-obj@^2.0.0": + "integrity" "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" + "version" "2.0.0" -is-npm@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" - integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== +"is-path-inside@^3.0.1": + "integrity" "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==" + "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz" + "version" "3.0.2" -is-number-object@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" - integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= +"is-plain-object@^2.0.3", "is-plain-object@^2.0.4": + "integrity" "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" + "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + "version" "2.0.4" dependencies: - kind-of "^3.0.2" + "isobject" "^3.0.1" -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-path-inside@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" - integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== - -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== +"is-regex@^1.0.4": + "integrity" "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=" + "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz" + "version" "1.0.4" dependencies: - isobject "^3.0.1" + "has" "^1.0.1" -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= +"is-regex@^1.0.5": + "integrity" "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==" + "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz" + "version" "1.1.0" dependencies: - has "^1.0.1" + "has-symbols" "^1.0.1" -is-regex@^1.0.5: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff" - integrity sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw== +"is-resolvable@^1.0.0": + "integrity" "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" + "resolved" "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz" + "version" "1.1.0" + +"is-set@^2.0.1": + "integrity" "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==" + "resolved" "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz" + "version" "2.0.1" + +"is-stream@^1.0.1", "is-stream@^1.1.0": + "integrity" "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + "version" "1.1.0" + +"is-stream@^2.0.0": + "integrity" "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz" + "version" "2.0.0" + +"is-string@^1.0.4", "is-string@^1.0.5": + "integrity" "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" + "resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz" + "version" "1.0.5" + +"is-svg@^3.0.0": + "integrity" "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==" + "resolved" "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz" + "version" "3.0.0" dependencies: - has-symbols "^1.0.1" + "html-comment-regex" "^1.1.0" -is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== - -is-set@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.1.tgz#d1604afdab1724986d30091575f54945da7e5f43" - integrity sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA== - -is-stream@^1.0.1, is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-string@^1.0.4, is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== - -is-svg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" - integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== +"is-symbol@^1.0.2": + "integrity" "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==" + "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz" + "version" "1.0.2" dependencies: - html-comment-regex "^1.1.0" + "has-symbols" "^1.0.0" -is-symbol@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== +"is-typed-array@^1.1.3": + "integrity" "sha512-BSYUBOK/HJibQ30wWkWold5txYwMUXQct9YHAQJr8fSwvZoiglcqB0pd7vEN23+Tsi9IUEjztdOSzl4qLVYGTQ==" + "resolved" "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.3.tgz" + "version" "1.1.3" dependencies: - has-symbols "^1.0.0" + "available-typed-arrays" "^1.0.0" + "es-abstract" "^1.17.4" + "foreach" "^2.0.5" + "has-symbols" "^1.0.1" -is-typed-array@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.3.tgz#a4ff5a5e672e1a55f99c7f54e59597af5c1df04d" - integrity sha512-BSYUBOK/HJibQ30wWkWold5txYwMUXQct9YHAQJr8fSwvZoiglcqB0pd7vEN23+Tsi9IUEjztdOSzl4qLVYGTQ== +"is-typedarray@^1.0.0", "is-typedarray@~1.0.0": + "integrity" "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + "version" "1.0.0" + +"is-unicode-supported@^0.1.0": + "integrity" "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" + "resolved" "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" + "version" "0.1.0" + +"is-utf8@^0.2.0": + "integrity" "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + "resolved" "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" + "version" "0.2.1" + +"is-valid-glob@^1.0.0": + "integrity" "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=" + "resolved" "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz" + "version" "1.0.0" + +"is-weakmap@^2.0.1": + "integrity" "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" + "resolved" "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz" + "version" "2.0.1" + +"is-weakset@^2.0.1": + "integrity" "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==" + "resolved" "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz" + "version" "2.0.1" + +"is-windows@^1.0.1", "is-windows@^1.0.2": + "integrity" "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + "resolved" "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" + "version" "1.0.2" + +"is-wsl@^2.1.1": + "integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" + "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + "version" "2.2.0" dependencies: - available-typed-arrays "^1.0.0" - es-abstract "^1.17.4" - foreach "^2.0.5" - has-symbols "^1.0.1" + "is-docker" "^2.0.0" -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +"is-yarn-global@^0.3.0": + "integrity" "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" + "resolved" "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz" + "version" "0.3.0" -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== +"isarray@^2.0.5": + "integrity" "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + "version" "2.0.5" -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= +"isarray@~1.0.0": + "integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + "version" "1.0.0" -is-valid-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" - integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= +"isarray@1.0.0": + "integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + "version" "1.0.0" -is-weakmap@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" - integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== +"isarray@2.0.1": + "integrity" "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz" + "version" "2.0.1" -is-weakset@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.1.tgz#e9a0af88dbd751589f5e50d80f4c98b780884f83" - integrity sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw== +"isexe@^2.0.0": + "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + "version" "2.0.0" -is-windows@^1.0.1, is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== +"isobject@^2.0.0": + "integrity" "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=" + "resolved" "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" + "version" "2.1.0" dependencies: - is-docker "^2.0.0" + "isarray" "1.0.0" -is-yarn-global@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" - integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== +"isobject@^3.0.0", "isobject@^3.0.1": + "integrity" "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + "version" "3.0.1" -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= +"isstream@~0.1.2": + "integrity" "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "resolved" "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + "version" "0.1.2" -isarray@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" - integrity sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4= - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= +"jest-worker@^24.0.0": + "integrity" "sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ==" + "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-24.6.0.tgz" + "version" "24.6.0" dependencies: - isarray "1.0.0" + "merge-stream" "^1.0.1" + "supports-color" "^6.1.0" -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= +"jpeg-js@^0.3.2": + "integrity" "sha512-MUj2XlMB8kpe+8DJUGH/3UJm4XpI8XEgZQ+CiHDeyrGoKPdW/8FJv6ku+3UiYm5Fz3CWaL+iXmD8Q4Ap6aC1Jw==" + "resolved" "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.3.6.tgz" + "version" "0.3.6" -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= +"jquery@>=2.0.0 <4.0.0", "jquery@1.9.1 - 3": + "integrity" "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" + "resolved" "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz" + "version" "3.6.0" -jest-worker@^24.0.0: - version "24.6.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3" - integrity sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ== +"js-base64@^2.1.8": + "integrity" "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + "resolved" "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz" + "version" "2.6.4" + +"js-base64@^2.1.9": + "integrity" "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==" + "resolved" "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz" + "version" "2.5.1" + +"js-sha256@^0.9.0": + "integrity" "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==" + "resolved" "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz" + "version" "0.9.0" + +"js-tokens@^4.0.0": + "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + "version" "4.0.0" + +"js-yaml@^3.12.0", "js-yaml@^3.13.1", "js-yaml@^3.9.0": + "integrity" "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz" + "version" "3.14.0" dependencies: - merge-stream "^1.0.1" - supports-color "^6.1.0" + "argparse" "^1.0.7" + "esprima" "^4.0.0" -jpeg-js@^0.3.2: - version "0.3.6" - resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.3.6.tgz#c40382aac9506e7d1f2d856eb02f6c7b2a98b37c" - integrity sha512-MUj2XlMB8kpe+8DJUGH/3UJm4XpI8XEgZQ+CiHDeyrGoKPdW/8FJv6ku+3UiYm5Fz3CWaL+iXmD8Q4Ap6aC1Jw== +"jsbarcode@^3.9.0": + "integrity" "sha512-/ozCd7wsa+VIHo9sUc03HneVEQrH7cVWfJolUT/WOW1m8mJ2e3iYZje6C9X3LFHdczlesqFHRpxLtbVsNtjyow==" + "resolved" "https://registry.npmjs.org/jsbarcode/-/jsbarcode-3.11.0.tgz" + "version" "3.11.0" -"jquery@>=2.0.0 <4.0.0": - version "3.4.1" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz#714f1f8d9dde4bdfa55764ba37ef214630d80ef2" - integrity sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw== +"jsbn@~0.1.0": + "integrity" "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + "resolved" "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" + "version" "0.1.1" -js-base64@^2.1.8: - version "2.6.4" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" - integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== +"jsesc@~0.5.0": + "integrity" "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + "version" "0.5.0" -js-base64@^2.1.9: - version "2.5.1" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121" - integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw== +"json-buffer@3.0.0": + "integrity" "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + "resolved" "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" + "version" "3.0.0" -js-sha256@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966" - integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA== +"json-buffer@3.0.1": + "integrity" "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + "resolved" "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + "version" "3.0.1" -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== +"json-parse-better-errors@^1.0.1": + "integrity" "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "resolved" "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" + "version" "1.0.2" -js-yaml@^3.12.0, js-yaml@^3.13.1, js-yaml@^3.9.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" +"json-schema-traverse@^0.4.1": + "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + "version" "0.4.1" -jsbarcode@^3.9.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/jsbarcode/-/jsbarcode-3.11.0.tgz#20623e008b101ef45d0cce9c8022cdf49be28547" - integrity sha512-/ozCd7wsa+VIHo9sUc03HneVEQrH7cVWfJolUT/WOW1m8mJ2e3iYZje6C9X3LFHdczlesqFHRpxLtbVsNtjyow== +"json-schema@0.2.3": + "integrity" "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" + "version" "0.2.3" -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= +"json-stringify-safe@^5.0.1", "json-stringify-safe@~5.0.1": + "integrity" "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "resolved" "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + "version" "5.0.1" -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= +"json5@^0.5.0": + "integrity" "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + "resolved" "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz" + "version" "0.5.1" -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= - -jsonfile@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" - integrity sha1-NzaitCi4e72gzIO1P6PWM6NcKug= +"jsonfile@^2.1.0": + "integrity" "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=" + "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz" + "version" "2.4.0" optionalDependencies: - graceful-fs "^4.1.6" + "graceful-fs" "^4.1.6" -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= +"jsprim@^1.2.2": + "integrity" "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=" + "resolved" "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz" + "version" "1.4.1" dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" + "assert-plus" "1.0.0" + "extsprintf" "1.3.0" + "json-schema" "0.2.3" + "verror" "1.10.0" -jszip@3.4.0, jszip@^3.2.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.4.0.tgz#1a69421fa5f0bb9bc222a46bca88182fba075350" - integrity sha512-gZAOYuPl4EhPTXT0GjhI3o+ZAz3su6EhLrKUoAivcKqyqC7laS5JEv4XWZND9BgcDcF83vI85yGbDmDR6UhrIg== +"jszip@^3.2.2", "jszip@3.4.0": + "integrity" "sha512-gZAOYuPl4EhPTXT0GjhI3o+ZAz3su6EhLrKUoAivcKqyqC7laS5JEv4XWZND9BgcDcF83vI85yGbDmDR6UhrIg==" + "resolved" "https://registry.npmjs.org/jszip/-/jszip-3.4.0.tgz" + "version" "3.4.0" dependencies: - lie "~3.3.0" - pako "~1.0.2" - readable-stream "~2.3.6" - set-immediate-shim "~1.0.1" + "lie" "~3.3.0" + "pako" "~1.0.2" + "readable-stream" "~2.3.6" + "set-immediate-shim" "~1.0.1" -kew@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/kew/-/kew-0.7.0.tgz#79d93d2d33363d6fdd2970b335d9141ad591d79b" - integrity sha1-edk9LTM2PW/dKXCzNdkUGtWR15s= +"kew@^0.7.0": + "integrity" "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=" + "resolved" "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz" + "version" "0.7.0" -keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" - integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== +"keyv@^3.0.0": + "integrity" "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==" + "resolved" "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" + "version" "3.1.0" dependencies: - json-buffer "3.0.0" + "json-buffer" "3.0.0" -keyv@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.1.tgz#9fe703cb4a94d6d11729d320af033307efd02ee6" - integrity sha512-xz6Jv6oNkbhrFCvCP7HQa8AaII8y8LRpoSm661NOKLr4uHuBwhX4epXrPQgF3+xdJnN4Esm5X0xwY4bOlALOtw== +"keyv@^4.0.0": + "integrity" "sha512-xz6Jv6oNkbhrFCvCP7HQa8AaII8y8LRpoSm661NOKLr4uHuBwhX4epXrPQgF3+xdJnN4Esm5X0xwY4bOlALOtw==" + "resolved" "https://registry.npmjs.org/keyv/-/keyv-4.0.1.tgz" + "version" "4.0.1" dependencies: - json-buffer "3.0.1" + "json-buffer" "3.0.1" -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= +"kind-of@^3.0.2", "kind-of@^3.0.3", "kind-of@^3.2.0": + "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + "version" "3.2.2" dependencies: - is-buffer "^1.1.5" + "is-buffer" "^1.1.5" -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= +"kind-of@^4.0.0": + "integrity" "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" + "version" "4.0.0" dependencies: - is-buffer "^1.1.5" + "is-buffer" "^1.1.5" -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== +"kind-of@^5.0.0": + "integrity" "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" + "version" "5.1.0" -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== +"kind-of@^6.0.0": + "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + "version" "6.0.3" -klaw@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" - integrity sha1-QIhDO0azsbolnXh4XY6W9zugJDk= +"kind-of@^6.0.2": + "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + "version" "6.0.3" + +"klaw@^1.0.0": + "integrity" "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=" + "resolved" "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz" + "version" "1.3.1" optionalDependencies: - graceful-fs "^4.1.9" + "graceful-fs" "^4.1.9" -kuler@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3" - integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A== +"kuler@^2.0.0": + "integrity" "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" + "resolved" "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz" + "version" "2.0.0" -latest-version@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" - integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== +"latest-version@^5.0.0": + "integrity" "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==" + "resolved" "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz" + "version" "5.1.0" dependencies: - package-json "^6.3.0" + "package-json" "^6.3.0" -lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== +"lcid@^2.0.0": + "integrity" "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==" + "resolved" "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz" + "version" "2.0.0" dependencies: - invert-kv "^2.0.0" + "invert-kv" "^2.0.0" -less@^3.11.1: - version "3.11.1" - resolved "https://registry.yarnpkg.com/less/-/less-3.11.1.tgz#c6bf08e39e02404fe6b307a3dfffafdc55bd36e2" - integrity sha512-tlWX341RECuTOvoDIvtFqXsKj072hm3+9ymRBe76/mD6O5ZZecnlAOVDlWAleF2+aohFrxNidXhv2773f6kY7g== +"less@^3.11.1": + "integrity" "sha512-tlWX341RECuTOvoDIvtFqXsKj072hm3+9ymRBe76/mD6O5ZZecnlAOVDlWAleF2+aohFrxNidXhv2773f6kY7g==" + "resolved" "https://registry.npmjs.org/less/-/less-3.11.1.tgz" + "version" "3.11.1" dependencies: - clone "^2.1.2" - tslib "^1.10.0" + "clone" "^2.1.2" + "tslib" "^1.10.0" optionalDependencies: - errno "^0.1.1" - graceful-fs "^4.1.2" - image-size "~0.5.0" - mime "^1.4.1" - mkdirp "^0.5.0" - promise "^7.1.1" - request "^2.83.0" - source-map "~0.6.0" + "errno" "^0.1.1" + "graceful-fs" "^4.1.2" + "image-size" "~0.5.0" + "mime" "^1.4.1" + "mkdirp" "^0.5.0" + "promise" "^7.1.1" + "request" "^2.83.0" + "source-map" "~0.6.0" -lie@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" - integrity sha1-mkNrLMd0bKWd56QfpGmz77dr2H4= +"lie@~3.3.0": + "integrity" "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==" + "resolved" "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz" + "version" "3.3.0" dependencies: - immediate "~3.0.5" + "immediate" "~3.0.5" -lie@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" - integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== +"lie@3.1.1": + "integrity" "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=" + "resolved" "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz" + "version" "3.1.1" dependencies: - immediate "~3.0.5" + "immediate" "~3.0.5" -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= +"load-json-file@^1.0.0": + "integrity" "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=" + "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" + "version" "1.1.0" 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" + "graceful-fs" "^4.1.2" + "parse-json" "^2.2.0" + "pify" "^2.0.0" + "pinkie-promise" "^2.0.0" + "strip-bom" "^2.0.0" -loader-utils@^0.2.16: - version "0.2.17" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" - integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= +"loader-utils@^0.2.16": + "integrity" "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=" + "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz" + "version" "0.2.17" dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - object-assign "^4.0.1" + "big.js" "^3.1.3" + "emojis-list" "^2.0.0" + "json5" "^0.5.0" + "object-assign" "^4.0.1" -loadjs@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/loadjs/-/loadjs-4.2.0.tgz#2a0336376397a6a43edf98c9ec3229ddd5abb6f6" - integrity sha512-AgQGZisAlTPbTEzrHPb6q+NYBMD+DP9uvGSIjSUM5uG+0jG15cb8axWpxuOIqrmQjn6scaaH8JwloiP27b2KXA== +"loadjs@^4.2.0": + "integrity" "sha512-AgQGZisAlTPbTEzrHPb6q+NYBMD+DP9uvGSIjSUM5uG+0jG15cb8axWpxuOIqrmQjn6scaaH8JwloiP27b2KXA==" + "resolved" "https://registry.npmjs.org/loadjs/-/loadjs-4.2.0.tgz" + "version" "4.2.0" -localforage@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.9.0.tgz#f3e4d32a8300b362b4634cc4e066d9d00d2f09d1" - integrity sha512-rR1oyNrKulpe+VM9cYmcFn6tsHuokyVHFaCM3+osEmxaHTbEk8oQu6eGDfS6DQLWi/N67XRmB8ECG37OES368g== +"localforage@^1.9.0": + "integrity" "sha512-rR1oyNrKulpe+VM9cYmcFn6tsHuokyVHFaCM3+osEmxaHTbEk8oQu6eGDfS6DQLWi/N67XRmB8ECG37OES368g==" + "resolved" "https://registry.npmjs.org/localforage/-/localforage-1.9.0.tgz" + "version" "1.9.0" dependencies: - lie "3.1.1" + "lie" "3.1.1" -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== +"locate-path@^3.0.0": + "integrity" "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" + "version" "3.0.0" dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" + "p-locate" "^3.0.0" + "path-exists" "^3.0.0" -lodash._arraymap@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._arraymap/-/lodash._arraymap-3.0.0.tgz#1a8fd0f4c0df4b61dea076d717cdc97f0a3c3e66" - integrity sha1-Go/Q9MDfS2HeoHbXF83Jfwo8PmY= +"lodash._arraymap@^3.0.0": + "integrity" "sha1-Go/Q9MDfS2HeoHbXF83Jfwo8PmY=" + "resolved" "https://registry.npmjs.org/lodash._arraymap/-/lodash._arraymap-3.0.0.tgz" + "version" "3.0.0" -lodash._basecallback@^3.0.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/lodash._basecallback/-/lodash._basecallback-3.3.1.tgz#b7b2bb43dc2160424a21ccf26c57e443772a8e27" - integrity sha1-t7K7Q9whYEJKIczybFfkQ3cqjic= +"lodash._basecallback@^3.0.0": + "integrity" "sha1-t7K7Q9whYEJKIczybFfkQ3cqjic=" + "resolved" "https://registry.npmjs.org/lodash._basecallback/-/lodash._basecallback-3.3.1.tgz" + "version" "3.3.1" dependencies: - lodash._baseisequal "^3.0.0" - lodash._bindcallback "^3.0.0" - lodash.isarray "^3.0.0" - lodash.pairs "^3.0.0" + "lodash._baseisequal" "^3.0.0" + "lodash._bindcallback" "^3.0.0" + "lodash.isarray" "^3.0.0" + "lodash.pairs" "^3.0.0" -lodash._baseeach@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/lodash._baseeach/-/lodash._baseeach-3.0.4.tgz#cf8706572ca144e8d9d75227c990da982f932af3" - integrity sha1-z4cGVyyhROjZ11InyZDamC+TKvM= +"lodash._baseeach@^3.0.0": + "integrity" "sha1-z4cGVyyhROjZ11InyZDamC+TKvM=" + "resolved" "https://registry.npmjs.org/lodash._baseeach/-/lodash._baseeach-3.0.4.tgz" + "version" "3.0.4" dependencies: - lodash.keys "^3.0.0" + "lodash.keys" "^3.0.0" -lodash._baseget@^3.0.0: - version "3.7.2" - resolved "https://registry.yarnpkg.com/lodash._baseget/-/lodash._baseget-3.7.2.tgz#1b6ae1d5facf3c25532350a13c1197cb8bb674f4" - integrity sha1-G2rh1frPPCVTI1ChPBGXy4u2dPQ= +"lodash._baseget@^3.0.0": + "integrity" "sha1-G2rh1frPPCVTI1ChPBGXy4u2dPQ=" + "resolved" "https://registry.npmjs.org/lodash._baseget/-/lodash._baseget-3.7.2.tgz" + "version" "3.7.2" -lodash._baseisequal@^3.0.0: - version "3.0.7" - resolved "https://registry.yarnpkg.com/lodash._baseisequal/-/lodash._baseisequal-3.0.7.tgz#d8025f76339d29342767dcc887ce5cb95a5b51f1" - integrity sha1-2AJfdjOdKTQnZ9zIh85cuVpbUfE= +"lodash._baseisequal@^3.0.0": + "integrity" "sha1-2AJfdjOdKTQnZ9zIh85cuVpbUfE=" + "resolved" "https://registry.npmjs.org/lodash._baseisequal/-/lodash._baseisequal-3.0.7.tgz" + "version" "3.0.7" dependencies: - lodash.isarray "^3.0.0" - lodash.istypedarray "^3.0.0" - lodash.keys "^3.0.0" + "lodash.isarray" "^3.0.0" + "lodash.istypedarray" "^3.0.0" + "lodash.keys" "^3.0.0" -lodash._bindcallback@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" - integrity sha1-5THCdkTPi1epnhftlbNcdIeJOS4= +"lodash._bindcallback@^3.0.0": + "integrity" "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=" + "resolved" "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz" + "version" "3.0.1" -lodash._getnative@^3.0.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" - integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= +"lodash._getnative@^3.0.0": + "integrity" "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" + "resolved" "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz" + "version" "3.9.1" -lodash._topath@^3.0.0: - version "3.8.1" - resolved "https://registry.yarnpkg.com/lodash._topath/-/lodash._topath-3.8.1.tgz#3ec5e2606014f4cb97f755fe6914edd8bfc00eac" - integrity sha1-PsXiYGAU9MuX91X+aRTt2L/ADqw= +"lodash._topath@^3.0.0": + "integrity" "sha1-PsXiYGAU9MuX91X+aRTt2L/ADqw=" + "resolved" "https://registry.npmjs.org/lodash._topath/-/lodash._topath-3.8.1.tgz" + "version" "3.8.1" dependencies: - lodash.isarray "^3.0.0" + "lodash.isarray" "^3.0.0" -lodash.assign@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" - integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc= +"lodash.assign@^4.2.0": + "integrity" "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" + "resolved" "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz" + "version" "4.2.0" -lodash.assignin@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2" - integrity sha1-uo31+4QesKPoBEIysOJjqNxqKKI= +"lodash.assignin@^4.2.0": + "integrity" "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" + "resolved" "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz" + "version" "4.2.0" -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" - integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= +"lodash.camelcase@^4.3.0": + "integrity" "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + "resolved" "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" + "version" "4.3.0" -lodash.chunk@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.chunk/-/lodash.chunk-4.2.0.tgz#66e5ce1f76ed27b4303d8c6512e8d1216e8106bc" - integrity sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw= +"lodash.chunk@^4.2.0": + "integrity" "sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw=" + "resolved" "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz" + "version" "4.2.0" -lodash.clone@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clone/-/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6" - integrity sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y= +"lodash.clone@^4.5.0": + "integrity" "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" + "resolved" "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz" + "version" "4.5.0" -lodash.clonedeep@^4.3.0, lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= +"lodash.clonedeep@^4.3.0", "lodash.clonedeep@^4.5.0": + "integrity" "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + "resolved" "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" + "version" "4.5.0" -lodash.constant@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash.constant/-/lodash.constant-3.0.0.tgz#bfe05cce7e515b3128925d6362138420bd624910" - integrity sha1-v+Bczn5RWzEokl1jYhOEIL1iSRA= +"lodash.constant@^3.0.0": + "integrity" "sha1-v+Bczn5RWzEokl1jYhOEIL1iSRA=" + "resolved" "https://registry.npmjs.org/lodash.constant/-/lodash.constant-3.0.0.tgz" + "version" "3.0.0" -lodash.defaults@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" - integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= +"lodash.defaults@^4.2.0": + "integrity" "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + "resolved" "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz" + "version" "4.2.0" -lodash.endswith@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09" - integrity sha1-/tWawXOO0+I27dcGTsRWRIs3vAk= +"lodash.endswith@^4.2.1": + "integrity" "sha1-/tWawXOO0+I27dcGTsRWRIs3vAk=" + "resolved" "https://registry.npmjs.org/lodash.endswith/-/lodash.endswith-4.2.1.tgz" + "version" "4.2.1" -lodash.filter@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" - integrity sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4= +"lodash.filter@^4.6.0": + "integrity" "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" + "resolved" "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz" + "version" "4.6.0" -lodash.find@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" - integrity sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E= +"lodash.find@^4.6.0": + "integrity" "sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=" + "resolved" "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz" + "version" "4.6.0" -lodash.findindex@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.findindex/-/lodash.findindex-4.6.0.tgz#a3245dee61fb9b6e0624b535125624bb69c11106" - integrity sha1-oyRd7mH7m24GJLU1ElYku2nBEQY= +"lodash.findindex@^4.6.0": + "integrity" "sha1-oyRd7mH7m24GJLU1ElYku2nBEQY=" + "resolved" "https://registry.npmjs.org/lodash.findindex/-/lodash.findindex-4.6.0.tgz" + "version" "4.6.0" -lodash.findkey@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.findkey/-/lodash.findkey-4.6.0.tgz#83058e903b51cbb759d09ccf546dea3ea39c4718" - integrity sha1-gwWOkDtRy7dZ0JzPVG3qPqOcRxg= +"lodash.findkey@^4.6.0": + "integrity" "sha1-gwWOkDtRy7dZ0JzPVG3qPqOcRxg=" + "resolved" "https://registry.npmjs.org/lodash.findkey/-/lodash.findkey-4.6.0.tgz" + "version" "4.6.0" -lodash.flatmap@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz#ef8cbf408f6e48268663345305c6acc0b778702e" - integrity sha1-74y/QI9uSCaGYzRTBcaswLd4cC4= +"lodash.flatmap@^4.5.0": + "integrity" "sha1-74y/QI9uSCaGYzRTBcaswLd4cC4=" + "resolved" "https://registry.npmjs.org/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz" + "version" "4.5.0" -lodash.flatten@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= +"lodash.flatten@^4.4.0": + "integrity" "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + "resolved" "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz" + "version" "4.4.0" -lodash.flattendeep@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" - integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= +"lodash.flattendeep@^4.4.0": + "integrity" "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=" + "resolved" "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz" + "version" "4.4.0" -lodash.foreach@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" - integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= +"lodash.foreach@^4.5.0": + "integrity" "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" + "resolved" "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz" + "version" "4.5.0" -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= +"lodash.get@^4.4.2": + "integrity" "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" + "resolved" "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" + "version" "4.4.2" -lodash.groupby@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.groupby/-/lodash.groupby-4.6.0.tgz#0b08a1dcf68397c397855c3239783832df7403d1" - integrity sha1-Cwih3PaDl8OXhVwyOXg4Mt90A9E= +"lodash.groupby@^4.6.0": + "integrity" "sha1-Cwih3PaDl8OXhVwyOXg4Mt90A9E=" + "resolved" "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz" + "version" "4.6.0" -lodash.has@^4.5.2: - version "4.5.2" - resolved "https://registry.yarnpkg.com/lodash.has/-/lodash.has-4.5.2.tgz#d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862" - integrity sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI= +"lodash.has@^4.5.2": + "integrity" "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=" + "resolved" "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz" + "version" "4.5.2" -lodash.invert@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.invert/-/lodash.invert-4.3.0.tgz#8ffe20d4b616f56bea8f1aa0c6ebd80dcf742aee" - integrity sha1-j/4g1LYW9WvqjxqgxuvYDc90Ku4= +"lodash.invert@^4.3.0": + "integrity" "sha1-j/4g1LYW9WvqjxqgxuvYDc90Ku4=" + "resolved" "https://registry.npmjs.org/lodash.invert/-/lodash.invert-4.3.0.tgz" + "version" "4.3.0" -lodash.isarguments@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo= +"lodash.isarguments@^3.0.0": + "integrity" "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" + "resolved" "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz" + "version" "3.1.0" -lodash.isarray@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" - integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U= +"lodash.isarray@^3.0.0": + "integrity" "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" + "resolved" "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz" + "version" "3.0.4" -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" - integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= +"lodash.isboolean@^3.0.3": + "integrity" "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + "resolved" "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz" + "version" "3.0.3" -lodash.isempty@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" - integrity sha1-b4bL7di+TsmHvpqvM8loTbGzHn4= +"lodash.isempty@^4.4.0": + "integrity" "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4=" + "resolved" "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz" + "version" "4.4.0" -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= +"lodash.isequal@^4.5.0": + "integrity" "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + "resolved" "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz" + "version" "4.5.0" -lodash.isfunction@^3.0.9: - version "3.0.9" - resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" - integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== +"lodash.isfunction@^3.0.9": + "integrity" "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==" + "resolved" "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz" + "version" "3.0.9" -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" - integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= +"lodash.isnumber@^3.0.3": + "integrity" "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + "resolved" "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz" + "version" "3.0.3" -lodash.isobject@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz#3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d" - integrity sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0= +"lodash.isobject@^3.0.2": + "integrity" "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=" + "resolved" "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz" + "version" "3.0.2" -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= +"lodash.isplainobject@^4.0.6": + "integrity" "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "resolved" "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" + "version" "4.0.6" -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= +"lodash.isstring@^4.0.1": + "integrity" "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + "resolved" "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz" + "version" "4.0.1" -lodash.istypedarray@^3.0.0: - version "3.0.6" - resolved "https://registry.yarnpkg.com/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz#c9a477498607501d8e8494d283b87c39281cef62" - integrity sha1-yaR3SYYHUB2OhJTSg7h8OSgc72I= +"lodash.istypedarray@^3.0.0": + "integrity" "sha1-yaR3SYYHUB2OhJTSg7h8OSgc72I=" + "resolved" "https://registry.npmjs.org/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz" + "version" "3.0.6" -lodash.isundefined@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash.isundefined/-/lodash.isundefined-3.0.1.tgz#23ef3d9535565203a66cefd5b830f848911afb48" - integrity sha1-I+89lTVWUgOmbO/VuDD4SJEa+0g= +"lodash.isundefined@^3.0.1": + "integrity" "sha1-I+89lTVWUgOmbO/VuDD4SJEa+0g=" + "resolved" "https://registry.npmjs.org/lodash.isundefined/-/lodash.isundefined-3.0.1.tgz" + "version" "3.0.1" -lodash.keys@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" - integrity sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo= +"lodash.keys@^3.0.0": + "integrity" "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=" + "resolved" "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz" + "version" "3.1.2" dependencies: - lodash._getnative "^3.0.0" - lodash.isarguments "^3.0.0" - lodash.isarray "^3.0.0" + "lodash._getnative" "^3.0.0" + "lodash.isarguments" "^3.0.0" + "lodash.isarray" "^3.0.0" -lodash.keys@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-4.2.0.tgz#a08602ac12e4fb83f91fc1fb7a360a4d9ba35205" - integrity sha1-oIYCrBLk+4P5H8H7ejYKTZujUgU= +"lodash.keys@^4.2.0": + "integrity" "sha1-oIYCrBLk+4P5H8H7ejYKTZujUgU=" + "resolved" "https://registry.npmjs.org/lodash.keys/-/lodash.keys-4.2.0.tgz" + "version" "4.2.0" -lodash.last@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash.last/-/lodash.last-3.0.0.tgz#242f663112dd4c6e63728c60a3c909d1bdadbd4c" - integrity sha1-JC9mMRLdTG5jcoxgo8kJ0b2tvUw= +"lodash.last@^3.0.0": + "integrity" "sha1-JC9mMRLdTG5jcoxgo8kJ0b2tvUw=" + "resolved" "https://registry.npmjs.org/lodash.last/-/lodash.last-3.0.0.tgz" + "version" "3.0.0" -lodash.map@^3.0.0: - version "3.1.4" - resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-3.1.4.tgz#b483acd1b786c5c7b492c495f7b5266229bc00c2" - integrity sha1-tIOs0beGxce0ksSV97UmYim8AMI= +"lodash.map@^3.0.0": + "integrity" "sha1-tIOs0beGxce0ksSV97UmYim8AMI=" + "resolved" "https://registry.npmjs.org/lodash.map/-/lodash.map-3.1.4.tgz" + "version" "3.1.4" dependencies: - lodash._arraymap "^3.0.0" - lodash._basecallback "^3.0.0" - lodash._baseeach "^3.0.0" - lodash.isarray "^3.0.0" - lodash.keys "^3.0.0" + "lodash._arraymap" "^3.0.0" + "lodash._basecallback" "^3.0.0" + "lodash._baseeach" "^3.0.0" + "lodash.isarray" "^3.0.0" + "lodash.keys" "^3.0.0" -lodash.map@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" - integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= +"lodash.map@^4.6.0": + "integrity" "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + "resolved" "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz" + "version" "4.6.0" -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= +"lodash.memoize@^4.1.2": + "integrity" "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + "version" "4.1.2" -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +"lodash.merge@^4.6.2": + "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + "version" "4.6.2" -lodash.omit@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" - integrity sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA= +"lodash.omit@^4.5.0": + "integrity" "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=" + "resolved" "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz" + "version" "4.5.0" -lodash.orderby@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.orderby/-/lodash.orderby-4.6.0.tgz#e697f04ce5d78522f54d9338b32b81a3393e4eb3" - integrity sha1-5pfwTOXXhSL1TZM4syuBozk+TrM= +"lodash.orderby@^4.6.0": + "integrity" "sha1-5pfwTOXXhSL1TZM4syuBozk+TrM=" + "resolved" "https://registry.npmjs.org/lodash.orderby/-/lodash.orderby-4.6.0.tgz" + "version" "4.6.0" -lodash.pairs@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash.pairs/-/lodash.pairs-3.0.1.tgz#bbe08d5786eeeaa09a15c91ebf0dcb7d2be326a9" - integrity sha1-u+CNV4bu6qCaFckevw3LfSvjJqk= +"lodash.pairs@^3.0.0": + "integrity" "sha1-u+CNV4bu6qCaFckevw3LfSvjJqk=" + "resolved" "https://registry.npmjs.org/lodash.pairs/-/lodash.pairs-3.0.1.tgz" + "version" "3.0.1" dependencies: - lodash.keys "^3.0.0" + "lodash.keys" "^3.0.0" -lodash.pluck@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash.pluck/-/lodash.pluck-3.1.2.tgz#b347f0374c0169f0eeb04d672d89cec8632c2231" - integrity sha1-s0fwN0wBafDusE1nLYnOyGMsIjE= +"lodash.pluck@^3.1.2": + "integrity" "sha1-s0fwN0wBafDusE1nLYnOyGMsIjE=" + "resolved" "https://registry.npmjs.org/lodash.pluck/-/lodash.pluck-3.1.2.tgz" + "version" "3.1.2" dependencies: - lodash._baseget "^3.0.0" - lodash._topath "^3.0.0" - lodash.isarray "^3.0.0" - lodash.map "^3.0.0" + "lodash._baseget" "^3.0.0" + "lodash._topath" "^3.0.0" + "lodash.isarray" "^3.0.0" + "lodash.map" "^3.0.0" -lodash.reduce@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b" - integrity sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs= +"lodash.reduce@^4.6.0": + "integrity" "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" + "resolved" "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz" + "version" "4.6.0" -lodash.set@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" - integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= +"lodash.set@^4.3.2": + "integrity" "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=" + "resolved" "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz" + "version" "4.3.2" -lodash.size@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.size/-/lodash.size-4.2.0.tgz#71fe75ed3eabdb2bcb73a1b0b4f51c392ee27b86" - integrity sha1-cf517T6r2yvLc6GwtPUcOS7ie4Y= +"lodash.size@^4.2.0": + "integrity" "sha1-cf517T6r2yvLc6GwtPUcOS7ie4Y=" + "resolved" "https://registry.npmjs.org/lodash.size/-/lodash.size-4.2.0.tgz" + "version" "4.2.0" -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= +"lodash.sortby@^4.7.0": + "integrity" "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + "resolved" "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" + "version" "4.7.0" -lodash.sum@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/lodash.sum/-/lodash.sum-4.0.2.tgz#ad90e397965d803d4f1ff7aa5b2d0197f3b4637b" - integrity sha1-rZDjl5ZdgD1PH/eqWy0Bl/O0Y3s= +"lodash.sum@^4.0.2": + "integrity" "sha1-rZDjl5ZdgD1PH/eqWy0Bl/O0Y3s=" + "resolved" "https://registry.npmjs.org/lodash.sum/-/lodash.sum-4.0.2.tgz" + "version" "4.0.2" -lodash.topairs@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.topairs/-/lodash.topairs-4.3.0.tgz#3b6deaa37d60fb116713c46c5f17ea190ec48d64" - integrity sha1-O23qo31g+xFnE8RsXxfqGQ7EjWQ= +"lodash.topairs@^4.3.0": + "integrity" "sha1-O23qo31g+xFnE8RsXxfqGQ7EjWQ=" + "resolved" "https://registry.npmjs.org/lodash.topairs/-/lodash.topairs-4.3.0.tgz" + "version" "4.3.0" -lodash.transform@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.transform/-/lodash.transform-4.6.0.tgz#12306422f63324aed8483d3f38332b5f670547a0" - integrity sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A= +"lodash.transform@^4.6.0": + "integrity" "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=" + "resolved" "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz" + "version" "4.6.0" -lodash.union@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" - integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg= +"lodash.union@^4.6.0": + "integrity" "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=" + "resolved" "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz" + "version" "4.6.0" -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= +"lodash.uniq@^4.5.0": + "integrity" "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + "resolved" "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + "version" "4.5.0" -lodash.upperfirst@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" - integrity sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984= +"lodash.upperfirst@^4.3.1": + "integrity" "sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984=" + "resolved" "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz" + "version" "4.3.1" -lodash.values@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-4.3.0.tgz#a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347" - integrity sha1-o6bCsOvsxcLLocF+bmIP6BtT00c= +"lodash.values@^4.3.0": + "integrity" "sha1-o6bCsOvsxcLLocF+bmIP6BtT00c=" + "resolved" "https://registry.npmjs.org/lodash.values/-/lodash.values-4.3.0.tgz" + "version" "4.3.0" -lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5, lodash@~4.17.10: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== +"lodash@^4.0.0", "lodash@^4.17.11", "lodash@^4.17.14", "lodash@^4.17.15", "lodash@^4.17.4", "lodash@^4.17.5", "lodash@~4.17.10": + "integrity" "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz" + "version" "4.17.20" -log-symbols@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== +"log-symbols@^4.0.0": + "integrity" "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==" + "resolved" "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" + "version" "4.1.0" dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" + "chalk" "^4.1.0" + "is-unicode-supported" "^0.1.0" -logform@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/logform/-/logform-2.2.0.tgz#40f036d19161fc76b68ab50fdc7fe495544492f2" - integrity sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg== +"logform@^2.2.0": + "integrity" "sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==" + "resolved" "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz" + "version" "2.2.0" dependencies: - colors "^1.2.1" - fast-safe-stringify "^2.0.4" - fecha "^4.2.0" - ms "^2.1.1" - triple-beam "^1.3.0" + "colors" "^1.2.1" + "fast-safe-stringify" "^2.0.4" + "fecha" "^4.2.0" + "ms" "^2.1.1" + "triple-beam" "^1.3.0" -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= +"loud-rejection@^1.0.0": + "integrity" "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=" + "resolved" "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz" + "version" "1.6.0" dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" + "currently-unhandled" "^0.4.1" + "signal-exit" "^3.0.0" -lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== +"lowercase-keys@^1.0.0", "lowercase-keys@^1.0.1": + "integrity" "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" + "version" "1.0.1" -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== +"lowercase-keys@^2.0.0": + "integrity" "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" + "version" "2.0.0" -lru-cache@^4.0.0, lru-cache@^4.0.1, lru-cache@^4.1.2: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== +"lru-cache@^4.0.0", "lru-cache@^4.0.1", "lru-cache@^4.1.2": + "integrity" "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz" + "version" "4.1.5" dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" + "pseudomap" "^1.0.2" + "yallist" "^2.1.2" -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== +"lru-cache@^5.1.1": + "integrity" "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + "version" "5.1.1" dependencies: - yallist "^3.0.2" + "yallist" "^3.0.2" -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== +"lru-cache@^6.0.0": + "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + "version" "6.0.0" dependencies: - yallist "^4.0.0" + "yallist" "^4.0.0" -macos-release@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f" - integrity sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA== +"macos-release@^2.2.0": + "integrity" "sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA==" + "resolved" "https://registry.npmjs.org/macos-release/-/macos-release-2.3.0.tgz" + "version" "2.3.0" -magic-string@^0.22.4: - version "0.22.5" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" - integrity sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w== +"magic-string@^0.22.4": + "integrity" "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==" + "resolved" "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz" + "version" "0.22.5" dependencies: - vlq "^0.2.2" + "vlq" "^0.2.2" -magic-string@^0.25.1: - version "0.25.2" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.2.tgz#139c3a729515ec55e96e69e82a11fe890a293ad9" - integrity sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg== +"magic-string@^0.25.1": + "integrity" "sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==" + "resolved" "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz" + "version" "0.25.2" dependencies: - sourcemap-codec "^1.4.4" + "sourcemap-codec" "^1.4.4" -make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== +"make-dir@^3.0.0": + "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + "version" "3.1.0" dependencies: - semver "^6.0.0" + "semver" "^6.0.0" -map-age-cleaner@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== +"map-age-cleaner@^0.1.1": + "integrity" "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==" + "resolved" "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz" + "version" "0.1.3" dependencies: - p-defer "^1.0.0" + "p-defer" "^1.0.0" -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= +"map-cache@^0.2.2": + "integrity" "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + "resolved" "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" + "version" "0.2.2" -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= +"map-obj@^1.0.0", "map-obj@^1.0.1": + "integrity" "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + "resolved" "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" + "version" "1.0.1" -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= +"map-visit@^1.0.0": + "integrity" "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=" + "resolved" "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" + "version" "1.0.0" dependencies: - object-visit "^1.0.0" + "object-visit" "^1.0.0" -matched@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/matched/-/matched-1.0.2.tgz#1d95d77dd5f1b5075a9e94acde5462ffd85f317a" - integrity sha512-7ivM1jFZVTOOS77QsR+TtYHH0ecdLclMkqbf5qiJdX2RorqfhsL65QHySPZgDE0ZjHoh+mQUNHTanNXIlzXd0Q== +"matched@^1.0.2": + "integrity" "sha512-7ivM1jFZVTOOS77QsR+TtYHH0ecdLclMkqbf5qiJdX2RorqfhsL65QHySPZgDE0ZjHoh+mQUNHTanNXIlzXd0Q==" + "resolved" "https://registry.npmjs.org/matched/-/matched-1.0.2.tgz" + "version" "1.0.2" dependencies: - arr-union "^3.1.0" - async-array-reduce "^0.2.1" - glob "^7.1.2" - has-glob "^1.0.0" - is-valid-glob "^1.0.0" - resolve-dir "^1.0.0" + "arr-union" "^3.1.0" + "async-array-reduce" "^0.2.1" + "glob" "^7.1.2" + "has-glob" "^1.0.0" + "is-valid-glob" "^1.0.0" + "resolve-dir" "^1.0.0" -matcher@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca" - integrity sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng== +"matcher@^3.0.0": + "integrity" "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==" + "resolved" "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz" + "version" "3.0.0" dependencies: - escape-string-regexp "^4.0.0" + "escape-string-regexp" "^4.0.0" -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== +"mdn-data@~1.1.0": + "integrity" "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==" + "resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz" + "version" "1.1.4" -mdn-data@2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978" - integrity sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA== +"mdn-data@2.0.4": + "integrity" "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + "resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz" + "version" "2.0.4" -mdn-data@~1.1.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" - integrity sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA== +"mdn-data@2.0.6": + "integrity" "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==" + "resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz" + "version" "2.0.6" -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= +"media-typer@0.3.0": + "integrity" "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + "resolved" "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + "version" "0.3.0" -mem@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" - integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== +"mem@^4.0.0": + "integrity" "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==" + "resolved" "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz" + "version" "4.3.0" dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^2.0.0" - p-is-promise "^2.0.0" + "map-age-cleaner" "^0.1.1" + "mimic-fn" "^2.0.0" + "p-is-promise" "^2.0.0" -meow@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= +"meow@^3.7.0": + "integrity" "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=" + "resolved" "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz" + "version" "3.7.0" 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" + "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" -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= +"merge-descriptors@1.0.1": + "integrity" "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + "resolved" "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + "version" "1.0.1" -merge-source-map@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" - integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== +"merge-source-map@^1.1.0": + "integrity" "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==" + "resolved" "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz" + "version" "1.1.0" dependencies: - source-map "^0.6.1" + "source-map" "^0.6.1" -merge-stream@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" - integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= +"merge-stream@^1.0.1": + "integrity" "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=" + "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz" + "version" "1.0.1" dependencies: - readable-stream "^2.0.1" + "readable-stream" "^2.0.1" -merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== +"merge2@^1.3.0": + "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + "version" "1.4.1" -methods@^1.1.1, methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= +"methods@^1.1.1", "methods@~1.1.2": + "integrity" "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + "resolved" "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + "version" "1.1.2" -micromatch@4.0.2, micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== +"micromatch@^3.1.10": + "integrity" "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" + "version" "3.1.10" dependencies: - braces "^3.0.1" - picomatch "^2.0.5" + "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" -micromatch@^3.1.10: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== +"micromatch@^4.0.2", "micromatch@4.0.2": + "integrity" "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz" + "version" "4.0.2" 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" + "braces" "^3.0.1" + "picomatch" "^2.0.5" -mime-db@1.40.0: - version "1.40.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" - integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== +"mime-db@1.40.0": + "integrity" "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz" + "version" "1.40.0" -mime-db@1.43.0: - version "1.43.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" - integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ== +"mime-db@1.43.0": + "integrity" "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz" + "version" "1.43.0" -mime-db@1.44.0: - version "1.44.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== +"mime-db@1.44.0": + "integrity" "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz" + "version" "1.44.0" -mime-types@^2.0.1: - version "2.1.24" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" - integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== +"mime-types@^2.0.1": + "integrity" "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz" + "version" "2.1.24" dependencies: - mime-db "1.40.0" + "mime-db" "1.40.0" -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== +"mime-types@^2.1.12", "mime-types@~2.1.19": + "integrity" "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz" + "version" "2.1.27" dependencies: - mime-db "1.44.0" + "mime-db" "1.44.0" -mime-types@~2.1.24: - version "2.1.26" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" - integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ== +"mime-types@~2.1.24": + "integrity" "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz" + "version" "2.1.26" dependencies: - mime-db "1.43.0" + "mime-db" "1.43.0" -mime@1.6.0, mime@^1.4.1: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== +"mime@^1.4.1", "mime@1.6.0": + "integrity" "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + "resolved" "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + "version" "1.6.0" -mimic-fn@^2.0.0, mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +"mimic-fn@^2.0.0", "mimic-fn@^2.1.0": + "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + "version" "2.1.0" -mimic-response@^1.0.0, mimic-response@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== +"mimic-response@^1.0.0", "mimic-response@^1.0.1": + "integrity" "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + "resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" + "version" "1.0.1" -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== +"mimic-response@^3.1.0": + "integrity" "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + "resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" + "version" "3.1.0" -minimatch@3.0.4, minimatch@^3.0.4, minimatch@~3.0.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== +"minimatch@^3.0.4", "minimatch@~3.0.2", "minimatch@3.0.4": + "integrity" "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" + "version" "3.0.4" dependencies: - brace-expansion "^1.1.7" + "brace-expansion" "^1.1.7" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= +"minimist@^1.1.3", "minimist@^1.2.5": + "integrity" "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" + "version" "1.2.5" -minimist@^1.1.3, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +"minimist@^1.2.0": + "integrity" "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" + "version" "1.2.0" -minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= +"minimist@0.0.8": + "integrity" "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "resolved" "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + "version" "0.0.8" -minipass@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" - integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== +"minipass@^3.0.0": + "integrity" "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==" + "resolved" "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz" + "version" "3.1.3" dependencies: - yallist "^4.0.0" + "yallist" "^4.0.0" -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== +"minizlib@^2.1.1": + "integrity" "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==" + "resolved" "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" + "version" "2.1.2" dependencies: - minipass "^3.0.0" - yallist "^4.0.0" + "minipass" "^3.0.0" + "yallist" "^4.0.0" -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== +"mixin-deep@^1.2.0": + "integrity" "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==" + "resolved" "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" + "version" "1.3.2" dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" + "for-in" "^1.0.2" + "is-extendable" "^1.0.1" -mkdirp@0.5.1, mkdirp@~0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= +"mkdirp@^0.5.0", "mkdirp@^0.5.1", "mkdirp@^0.5.4", "mkdirp@>=0.5 0": + "integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" + "version" "0.5.5" dependencies: - minimist "0.0.8" + "minimist" "^1.2.5" -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.4: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== +"mkdirp@^1.0.3": + "integrity" "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + "version" "1.0.4" + +"mkdirp@^1.0.4": + "integrity" "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + "version" "1.0.4" + +"mkdirp@~0.5.1": + "integrity" "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" + "version" "0.5.1" dependencies: - minimist "^1.2.5" + "minimist" "0.0.8" -mkdirp@^1.0.3, mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mocha@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" - integrity sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ== +"mkdirp@0.5.1": + "integrity" "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" + "version" "0.5.1" dependencies: - browser-stdout "1.3.1" - commander "2.15.1" - debug "3.1.0" - diff "3.5.0" - escape-string-regexp "1.0.5" - glob "7.1.2" - growl "1.10.5" - he "1.1.1" - minimatch "3.0.4" - mkdirp "0.5.1" - supports-color "5.4.0" + "minimist" "0.0.8" -moment-timezone@^0.5.28: - version "0.5.28" - resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.28.tgz#f093d789d091ed7b055d82aa81a82467f72e4338" - integrity sha512-TDJkZvAyKIVWg5EtVqRzU97w0Rb0YVbfpqyjgu6GwXCAohVRqwZjf4fOzDE6p1Ch98Sro/8hQQi65WDXW5STPw== +"mocha@^5.2.0": + "integrity" "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==" + "resolved" "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz" + "version" "5.2.0" dependencies: - moment ">= 2.9.0" + "browser-stdout" "1.3.1" + "commander" "2.15.1" + "debug" "3.1.0" + "diff" "3.5.0" + "escape-string-regexp" "1.0.5" + "glob" "7.1.2" + "growl" "1.10.5" + "he" "1.1.1" + "minimatch" "3.0.4" + "mkdirp" "0.5.1" + "supports-color" "5.4.0" -"moment@>= 2.9.0", moment@^2.20.1: - version "2.24.0" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" - integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -ms@2.1.2, ms@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -mustache@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/mustache/-/mustache-3.2.1.tgz#89e78a9d207d78f2799b1e95764a25bf71a28322" - integrity sha512-RERvMFdLpaFfSRIEe632yDm5nsd0SDKn8hGmcUwswnyiE5mtdZLDybtHAz6hjJhawokF0hXvGLtx9mrQfm6FkA== - -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -nan@^2.13.2: - version "2.14.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" - integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== +"moment-timezone@^0.5.28": + "integrity" "sha512-TDJkZvAyKIVWg5EtVqRzU97w0Rb0YVbfpqyjgu6GwXCAohVRqwZjf4fOzDE6p1Ch98Sro/8hQQi65WDXW5STPw==" + "resolved" "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.28.tgz" + "version" "0.5.28" 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" + "moment" ">= 2.9.0" -ndarray-linear-interpolate@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ndarray-linear-interpolate/-/ndarray-linear-interpolate-1.0.0.tgz#78bc92b85b9abc15b6e67ee65828f9e2137ae72b" - integrity sha1-eLySuFuavBW25n7mWCj54hN65ys= +"moment@^2.20.1", "moment@>= 2.9.0": + "integrity" "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + "resolved" "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz" + "version" "2.24.0" -ndarray-pack@^1.1.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ndarray-pack/-/ndarray-pack-1.2.1.tgz#8caebeaaa24d5ecf70ff86020637977da8ee585a" - integrity sha1-jK6+qqJNXs9w/4YCBjeXfajuWFo= +"ms@^2.1.1", "ms@2.1.2": + "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + "version" "2.1.2" + +"ms@2.0.0": + "integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + "version" "2.0.0" + +"ms@2.1.1": + "integrity" "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz" + "version" "2.1.1" + +"mustache@^3.0.0": + "integrity" "sha512-RERvMFdLpaFfSRIEe632yDm5nsd0SDKn8hGmcUwswnyiE5mtdZLDybtHAz6hjJhawokF0hXvGLtx9mrQfm6FkA==" + "resolved" "https://registry.npmjs.org/mustache/-/mustache-3.2.1.tgz" + "version" "3.2.1" + +"mute-stream@0.0.8": + "integrity" "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + "resolved" "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" + "version" "0.0.8" + +"nan@^2.13.2": + "integrity" "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==" + "resolved" "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz" + "version" "2.14.1" + +"nanomatch@^1.2.9": + "integrity" "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==" + "resolved" "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" + "version" "1.2.13" dependencies: - cwise-compiler "^1.1.2" - ndarray "^1.0.13" + "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" -ndarray@^1.0.13, ndarray@^1.0.18: - version "1.0.18" - resolved "https://registry.yarnpkg.com/ndarray/-/ndarray-1.0.18.tgz#b60d3a73224ec555d0faa79711e502448fd3f793" - integrity sha1-tg06cyJOxVXQ+qeXEeUCRI/T95M= +"ndarray-linear-interpolate@^1.0.0": + "integrity" "sha1-eLySuFuavBW25n7mWCj54hN65ys=" + "resolved" "https://registry.npmjs.org/ndarray-linear-interpolate/-/ndarray-linear-interpolate-1.0.0.tgz" + "version" "1.0.0" + +"ndarray-pack@^1.1.1": + "integrity" "sha1-jK6+qqJNXs9w/4YCBjeXfajuWFo=" + "resolved" "https://registry.npmjs.org/ndarray-pack/-/ndarray-pack-1.2.1.tgz" + "version" "1.2.1" dependencies: - iota-array "^1.0.0" - is-buffer "^1.0.2" + "cwise-compiler" "^1.1.2" + "ndarray" "^1.0.13" -needle@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.6.0.tgz#24dbb55f2509e2324b4a99d61f413982013ccdbe" - integrity sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg== +"ndarray@^1.0.13", "ndarray@^1.0.18": + "integrity" "sha1-tg06cyJOxVXQ+qeXEeUCRI/T95M=" + "resolved" "https://registry.npmjs.org/ndarray/-/ndarray-1.0.18.tgz" + "version" "1.0.18" dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" + "iota-array" "^1.0.0" + "is-buffer" "^1.0.2" -needle@^2.3.3: - version "2.4.1" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.1.tgz#14af48732463d7475696f937626b1b993247a56a" - integrity sha512-x/gi6ijr4B7fwl6WYL9FwlCvRQKGlUNvnceho8wxkwXqN8jvVmmmATTmZPRRG7b/yC1eode26C2HO9jl78Du9g== +"needle@^2.3.3": + "integrity" "sha512-x/gi6ijr4B7fwl6WYL9FwlCvRQKGlUNvnceho8wxkwXqN8jvVmmmATTmZPRRG7b/yC1eode26C2HO9jl78Du9g==" + "resolved" "https://registry.npmjs.org/needle/-/needle-2.4.1.tgz" + "version" "2.4.1" dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" + "debug" "^3.2.6" + "iconv-lite" "^0.4.4" + "sax" "^1.2.4" -needle@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.5.0.tgz#e6fc4b3cc6c25caed7554bd613a5cf0bac8c31c0" - integrity sha512-o/qITSDR0JCyCKEQ1/1bnUXMmznxabbwi/Y4WwJElf+evwJNFNwIDMCCt5IigFVxgeGBJESLohGtIS9gEzo1fA== +"needle@^2.5.0": + "integrity" "sha512-o/qITSDR0JCyCKEQ1/1bnUXMmznxabbwi/Y4WwJElf+evwJNFNwIDMCCt5IigFVxgeGBJESLohGtIS9gEzo1fA==" + "resolved" "https://registry.npmjs.org/needle/-/needle-2.5.0.tgz" + "version" "2.5.0" dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" + "debug" "^3.2.6" + "iconv-lite" "^0.4.4" + "sax" "^1.2.4" -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-bitmap@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/node-bitmap/-/node-bitmap-0.0.1.tgz#180eac7003e0c707618ef31368f62f84b2a69091" - integrity sha1-GA6scAPgxwdhjvMTaPYvhLKmkJE= - -node-gyp@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" - integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== +"needle@2.6.0": + "integrity" "sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==" + "resolved" "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz" + "version" "2.6.0" dependencies: - fstream "^1.0.0" - glob "^7.0.3" - graceful-fs "^4.1.2" - mkdirp "^0.5.0" - nopt "2 || 3" - npmlog "0 || 1 || 2 || 3 || 4" - osenv "0" - request "^2.87.0" - rimraf "2" - semver "~5.3.0" - tar "^2.0.0" - which "1" + "debug" "^3.2.6" + "iconv-lite" "^0.4.4" + "sax" "^1.2.4" -node-releases@^1.1.60: - version "1.1.60" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084" - integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA== +"negotiator@0.6.2": + "integrity" "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz" + "version" "0.6.2" -node-releases@^1.1.8: - version "1.1.9" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.9.tgz#70d0985ec4bf7de9f08fc481f5dae111889ca482" - integrity sha512-oic3GT4OtbWWKfRolz5Syw0Xus0KRFxeorLNj0s93ofX6PWyuzKjsiGxsCtWktBwwmTF6DdRRf2KreGqeOk5KA== +"nice-try@^1.0.4": + "integrity" "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + "resolved" "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" + "version" "1.0.5" + +"node-bitmap@0.0.1": + "integrity" "sha1-GA6scAPgxwdhjvMTaPYvhLKmkJE=" + "resolved" "https://registry.npmjs.org/node-bitmap/-/node-bitmap-0.0.1.tgz" + "version" "0.0.1" + +"node-gyp@^3.8.0": + "integrity" "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==" + "resolved" "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz" + "version" "3.8.0" dependencies: - semver "^5.3.0" + "fstream" "^1.0.0" + "glob" "^7.0.3" + "graceful-fs" "^4.1.2" + "mkdirp" "^0.5.0" + "nopt" "2 || 3" + "npmlog" "0 || 1 || 2 || 3 || 4" + "osenv" "0" + "request" "^2.87.0" + "rimraf" "2" + "semver" "~5.3.0" + "tar" "^2.0.0" + "which" "1" -node-sass@^4.14.1: - version "4.14.1" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5" - integrity sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g== +"node-releases@^1.1.60": + "integrity" "sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA==" + "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-1.1.60.tgz" + "version" "1.1.60" + +"node-releases@^1.1.8": + "integrity" "sha512-oic3GT4OtbWWKfRolz5Syw0Xus0KRFxeorLNj0s93ofX6PWyuzKjsiGxsCtWktBwwmTF6DdRRf2KreGqeOk5KA==" + "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-1.1.9.tgz" + "version" "1.1.9" dependencies: - async-foreach "^0.1.3" - chalk "^1.1.1" - cross-spawn "^3.0.0" - gaze "^1.0.0" - get-stdin "^4.0.1" - glob "^7.0.3" - in-publish "^2.0.0" - lodash "^4.17.15" - meow "^3.7.0" - mkdirp "^0.5.1" - nan "^2.13.2" - node-gyp "^3.8.0" - npmlog "^4.0.0" - request "^2.88.0" - sass-graph "2.2.5" - stdout-stream "^1.4.0" + "semver" "^5.3.0" + +"node-sass@^4.14.1": + "integrity" "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==" + "resolved" "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz" + "version" "4.14.1" + dependencies: + "async-foreach" "^0.1.3" + "chalk" "^1.1.1" + "cross-spawn" "^3.0.0" + "gaze" "^1.0.0" + "get-stdin" "^4.0.1" + "glob" "^7.0.3" + "in-publish" "^2.0.0" + "lodash" "^4.17.15" + "meow" "^3.7.0" + "mkdirp" "^0.5.1" + "nan" "^2.13.2" + "node-gyp" "^3.8.0" + "npmlog" "^4.0.0" + "request" "^2.88.0" + "sass-graph" "2.2.5" + "stdout-stream" "^1.4.0" "true-case-path" "^1.0.2" +"nopt@~1.0.10": + "integrity" "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=" + "resolved" "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz" + "version" "1.0.10" + dependencies: + "abbrev" "1" + "nopt@2 || 3": - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= - dependencies: - abbrev "1" - -nopt@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" - integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= - dependencies: - abbrev "1" - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - 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" - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= - -normalize-url@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== - -normalize-url@^4.1.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" - integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -nth-check@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-hash@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.0.3.tgz#d12db044e03cd2ca3d77c0570d87225b02e1e6ea" - integrity sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg== - -object-inspect@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" - integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== - -object-is@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" - integrity sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -object-keys@^1.0.11, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-keys@^1.0.12: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.0.tgz#11bd22348dd2e096a045ab06f6c85bcc340fa032" - integrity sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - -object.getownpropertydescriptors@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" - integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" - integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.12.0" - function-bind "^1.1.1" - has "^1.0.3" - -omggif@^1.0.5: - version "1.0.10" - resolved "https://registry.yarnpkg.com/omggif/-/omggif-1.0.10.tgz#ddaaf90d4a42f532e9e7cb3a95ecdd47f17c7b19" - integrity sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw== - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -one-time@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/one-time/-/one-time-1.0.0.tgz#e06bc174aed214ed58edede573b433bbf827cb45" - integrity sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g== - dependencies: - fn.name "1.x.x" - -onetime@^5.1.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -open@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/open/-/open-7.0.3.tgz#db551a1af9c7ab4c7af664139930826138531c48" - integrity sha512-sP2ru2v0P290WFfv49Ap8MF6PkzGNnGlAwHweB4WR4mr5d2d0woiCluUeJ218w7/+PmoBy9JmYgD5A4mLcWOFA== - dependencies: - is-docker "^2.0.0" - is-wsl "^2.1.1" - -ora@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-5.3.0.tgz#fb832899d3a1372fe71c8b2c534bbfe74961bb6f" - integrity sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g== - dependencies: - bl "^4.0.3" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-spinners "^2.5.0" - is-interactive "^1.0.0" - log-symbols "^4.0.0" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - -os-homedir@^1.0.0, os-homedir@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - -os-locale@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== - dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" - -os-name@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801" - integrity sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg== - dependencies: - macos-release "^2.2.0" - windows-release "^3.1.0" - -os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -osenv@0: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" - integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== - -p-cancelable@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.0.0.tgz#4a3740f5bdaf5ed5d7c3e34882c6fb5d6b266a6e" - integrity sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg== - -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-is-promise@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" - integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== - -p-limit@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-map@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-queue@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-2.4.2.tgz#03609826682b743be9a22dba25051bd46724fc34" - integrity sha512-n8/y+yDJwBjoLQe1GSJbbaYQLTI7QHNZI2+rpmCDbe++WLf9HC3gf6iqj5yfPAV71W4UF3ql5W1+UBPXoXTxng== - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -package-json@^6.3.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" - integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== - dependencies: - got "^9.6.0" - registry-auth-token "^4.0.0" - registry-url "^5.0.0" - semver "^6.2.0" - -pako@~0.2.0: - version "0.2.9" - resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" - integrity sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU= - -pako@~1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -parchment@2.0.0-dev.2: - version "2.0.0-dev.2" - resolved "https://registry.yarnpkg.com/parchment/-/parchment-2.0.0-dev.2.tgz#9d6fe57b3721317bd1c481ea38ffa9b287d496b8" - integrity sha512-4fgRny4pPISoML08Zp7poi52Dff3E2G1ORTi2D/acJ/RiROdDAMDB6VcQNfBcmehrX5Wixp6dxh6JjLyE5yUNQ== - -parchment@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/parchment/-/parchment-1.1.4.tgz#aeded7ab938fe921d4c34bc339ce1168bc2ffde5" - integrity sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg== - -parse-data-uri@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/parse-data-uri/-/parse-data-uri-0.2.0.tgz#bf04d851dd5c87b0ab238e5d01ace494b604b4c9" - integrity sha1-vwTYUd1ch7CrI45dAazklLYEtMk= - dependencies: - data-uri-to-buffer "0.0.3" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-link-header@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-link-header/-/parse-link-header-1.0.1.tgz#bedfe0d2118aeb84be75e7b025419ec8a61140a7" - integrity sha1-vt/g0hGK64S+deewJUGeyKYRQKc= - dependencies: - xtend "~4.0.1" - -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= - -parseqs@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.6.tgz#8e4bb5a19d1cdc844a08ac974d34e273afa670d5" - integrity sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w== - -parseuri@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.6.tgz#e1496e829e3ac2ff47f39a4dd044b32823c4a25a" - integrity sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow== - -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -peek-stream@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/peek-stream/-/peek-stream-1.1.3.tgz#3b35d84b7ccbbd262fff31dc10da56856ead6d67" - integrity sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA== - dependencies: - buffer-from "^1.0.0" - duplexify "^3.5.0" - through2 "^2.0.3" - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -phantomjs-prebuilt@^2.1.16: - version "2.1.16" - resolved "https://registry.yarnpkg.com/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz#efd212a4a3966d3647684ea8ba788549be2aefef" - integrity sha1-79ISpKOWbTZHaE6ouniFSb4q7+8= - dependencies: - es6-promise "^4.0.3" - extract-zip "^1.6.5" - fs-extra "^1.0.0" - hasha "^2.2.0" - kew "^0.7.0" - progress "^1.1.8" - request "^2.81.0" - request-progress "^2.0.1" - which "^1.2.10" - -picomatch@^2.0.5, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -plyr@^3.6.2: - version "3.6.2" - resolved "https://registry.yarnpkg.com/plyr/-/plyr-3.6.2.tgz#5a55b608acd161262de1cc75ca843aa64355a051" - integrity sha512-CjAhRDtzyGqMRte9Phj4FsZFegS9VxW60boOhQsAnZHuiFG3yVBRcodWsGZ79GuXHHelc4DxMHO+z0QggY+9qQ== - dependencies: - core-js "^3.6.5" - custom-event-polyfill "^1.0.7" - loadjs "^4.2.0" - rangetouch "^2.0.1" - url-polyfill "^1.1.8" - -pngjs@^3.3.3: - version "3.4.0" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" - integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss-calc@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz#36d77bab023b0ecbb9789d84dcb23c4941145436" - integrity sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ== - dependencies: - css-unit-converter "^1.1.1" - postcss "^7.0.5" - postcss-selector-parser "^5.0.0-rc.4" - postcss-value-parser "^3.3.1" - -postcss-colormin@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" - integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== - dependencies: - browserslist "^4.0.0" - color "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-convert-values@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" - integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-discard-comments@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" - integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== - dependencies: - postcss "^7.0.0" - -postcss-discard-duplicates@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" - integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== - dependencies: - postcss "^7.0.0" - -postcss-discard-empty@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" - integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== - dependencies: - postcss "^7.0.0" - -postcss-discard-overridden@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" - integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== - dependencies: - postcss "^7.0.0" - -postcss-load-config@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.0.0.tgz#f1312ddbf5912cd747177083c5ef7a19d62ee484" - integrity sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ== - dependencies: - cosmiconfig "^4.0.0" - import-cwd "^2.0.0" - -postcss-merge-longhand@^4.0.11: - version "4.0.11" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" - integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== - dependencies: - css-color-names "0.0.4" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - stylehacks "^4.0.0" - -postcss-merge-rules@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" - integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - cssnano-util-same-parent "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - vendors "^1.0.0" - -postcss-minify-font-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" - integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-gradients@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" - integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - is-color-stop "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-params@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" - integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== - dependencies: - alphanum-sort "^1.0.0" - browserslist "^4.0.0" - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - uniqs "^2.0.0" - -postcss-minify-selectors@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" - integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== - dependencies: - alphanum-sort "^1.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -postcss-modules-extract-imports@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz#b614c9720be6816eaee35fb3a5faa1dba6a05ddb" - integrity sha1-thTJcgvmgW6u41+zpfqh26agXds= - dependencies: - postcss "^6.0.1" - -postcss-modules-local-by-default@1.2.0, postcss-modules-local-by-default@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" - integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk= - dependencies: - css-selector-tokenizer "^0.7.0" - postcss "^6.0.1" - -postcss-modules-scope@1.1.0, postcss-modules-scope@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" - integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A= - dependencies: - css-selector-tokenizer "^0.7.0" - postcss "^6.0.1" - -postcss-modules-sync@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-sync/-/postcss-modules-sync-1.0.0.tgz#619a719cf78dd16a4834135140b324cf77334be1" - integrity sha1-YZpxnPeN0WpINBNRQLMkz3czS+E= - dependencies: - generic-names "^1.0.2" - icss-replace-symbols "^1.0.2" - postcss "^5.2.5" - postcss-modules-local-by-default "^1.1.1" - postcss-modules-scope "^1.0.2" - string-hash "^1.1.0" - -postcss-modules-values@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" - integrity sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA= - dependencies: - icss-replace-symbols "^1.1.0" - postcss "^6.0.1" - -postcss-modules@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-1.4.1.tgz#8aa35bd3461db67e27377a7ce770d77b654a84ef" - integrity sha512-btTrbK+Xc3NBuYF8TPBjCMRSp5h6NoQ1iVZ6WiDQENIze6KIYCSf0+UFQuV3yJ7gRHA+4AAtF8i2jRvUpbBMMg== - dependencies: - css-modules-loader-core "^1.1.0" - generic-names "^1.0.3" - lodash.camelcase "^4.3.0" - postcss "^7.0.1" - string-hash "^1.1.1" - -postcss-normalize-charset@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" - integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== - dependencies: - postcss "^7.0.0" - -postcss-normalize-display-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" - integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-positions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" - integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== - dependencies: - cssnano-util-get-arguments "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-repeat-style@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" - integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-string@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" - integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== - dependencies: - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-timing-functions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" - integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-unicode@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" - integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-url@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" - integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== - dependencies: - is-absolute-url "^2.0.0" - normalize-url "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-whitespace@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" - integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-ordered-values@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" - integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== - dependencies: - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-reduce-initial@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" - integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - -postcss-reduce-transforms@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" - integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== - dependencies: - cssnano-util-get-match "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-selector-parser@^3.0.0, postcss-selector-parser@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" - integrity sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU= - dependencies: - dot-prop "^4.1.1" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^5.0.0, postcss-selector-parser@^5.0.0-rc.4: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" - integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== - dependencies: - cssesc "^2.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-svgo@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" - integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== - dependencies: - is-svg "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - svgo "^1.0.0" - -postcss-unique-selectors@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" - integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== - dependencies: - alphanum-sort "^1.0.0" - postcss "^7.0.0" - uniqs "^2.0.0" - -postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== - -postcss-value-parser@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" - integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== - -postcss@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.1.tgz#000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2" - integrity sha1-AA29H47vIXqjaLmiEsX8QLKo8/I= - dependencies: - chalk "^1.1.3" - source-map "^0.5.6" - supports-color "^3.2.3" - -postcss@^5.2.5: - version "5.2.18" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" - integrity sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg== - dependencies: - chalk "^1.1.3" - js-base64 "^2.1.9" - source-map "^0.5.6" - supports-color "^3.2.3" - -postcss@^6.0.1, postcss@^6.0.20, postcss@^6.0.22: - version "6.0.23" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" - integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== - dependencies: - chalk "^2.4.1" - source-map "^0.6.1" - supports-color "^5.4.0" - -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.5: - version "7.0.14" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5" - integrity sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^7.0.32: - version "7.0.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" - integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= - -prettier@1.16.3: - version "1.16.3" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.3.tgz#8c62168453badef702f34b45b6ee899574a6a65d" - integrity sha512-kn/GU6SMRYPxUakNXhpP0EedT/KmaPzr0H5lIsDogrykbaxOpOfAFfk5XA7DZrJyMAv1wlMV3CPcZruGXVVUZw== - -prettier@^1.13.0: - version "1.16.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.4.tgz#73e37e73e018ad2db9c76742e2647e21790c9717" - integrity sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g== - -prettysize@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/prettysize/-/prettysize-1.1.0.tgz#c6c52f87161ff172ea435f375f99831dd9a97bb0" - integrity sha512-U5Noa+FYV1dGkICyLJz8IWlDUehPF4Bk9tZRO8YqPhLA9EoiHuFqtnpWY2mvMjHh5eOLo82HipeLn4RIiSsGqQ== - -process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -progress@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" - integrity sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74= - -progress@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-fs@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/promise-fs/-/promise-fs-2.1.1.tgz#0b725a592c165ff16157d1f13640ba390637e557" - integrity sha512-43p7e4QzAQ3w6eyN0+gbBL7jXiZFWLWYITg9wIObqkBySu/a5K1EDcQ/S6UyB/bmiZWDA4NjTbcopKLTaKcGSw== + "integrity" "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=" + "resolved" "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz" + "version" "3.0.6" + dependencies: + "abbrev" "1" + +"normalize-package-data@^2.3.2", "normalize-package-data@^2.3.4": + "integrity" "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==" + "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" + "version" "2.5.0" + dependencies: + "hosted-git-info" "^2.1.4" + "resolve" "^1.10.0" + "semver" "2 || 3 || 4 || 5" + "validate-npm-package-license" "^3.0.1" + +"normalize-range@^0.1.2": + "integrity" "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" + "resolved" "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + "version" "0.1.2" + +"normalize-url@^3.0.0": + "integrity" "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" + "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz" + "version" "3.3.0" + +"normalize-url@^4.1.0": + "integrity" "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz" + "version" "4.5.0" + +"npm-run-path@^2.0.0": + "integrity" "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=" + "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "path-key" "^2.0.0" + +"npmlog@^4.0.0", "npmlog@0 || 1 || 2 || 3 || 4": + "integrity" "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==" + "resolved" "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "are-we-there-yet" "~1.1.2" + "console-control-strings" "~1.1.0" + "gauge" "~2.7.3" + "set-blocking" "~2.0.0" + +"nth-check@^1.0.2": + "integrity" "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==" + "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "boolbase" "~1.0.0" + +"num2fraction@^1.2.2": + "integrity" "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" + "resolved" "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz" + "version" "1.2.2" + +"number-is-nan@^1.0.0": + "integrity" "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "resolved" "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" + "version" "1.0.1" + +"oauth-sign@~0.9.0": + "integrity" "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + "resolved" "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" + "version" "0.9.0" + +"object-assign@^4.0.1", "object-assign@^4.1.0": + "integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + "version" "4.1.1" + +"object-copy@^0.1.0": + "integrity" "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=" + "resolved" "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" + "version" "0.1.0" + dependencies: + "copy-descriptor" "^0.1.0" + "define-property" "^0.2.5" + "kind-of" "^3.0.3" + +"object-hash@^2.0.3": + "integrity" "sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg==" + "resolved" "https://registry.npmjs.org/object-hash/-/object-hash-2.0.3.tgz" + "version" "2.0.3" + +"object-inspect@^1.7.0": + "integrity" "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" + "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz" + "version" "1.7.0" + +"object-is@^1.1.2": + "integrity" "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==" + "resolved" "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "define-properties" "^1.1.3" + "es-abstract" "^1.17.5" + +"object-keys@^1.0.11", "object-keys@^1.1.1": + "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + "version" "1.1.1" + +"object-keys@^1.0.12": + "integrity" "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==" + "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz" + "version" "1.1.0" + +"object-visit@^1.0.0": + "integrity" "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=" + "resolved" "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "isobject" "^3.0.0" + +"object.assign@^4.1.0": + "integrity" "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==" + "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "define-properties" "^1.1.2" + "function-bind" "^1.1.1" + "has-symbols" "^1.0.0" + "object-keys" "^1.0.11" + +"object.getownpropertydescriptors@^2.0.3": + "integrity" "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=" + "resolved" "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz" + "version" "2.0.3" + dependencies: + "define-properties" "^1.1.2" + "es-abstract" "^1.5.1" + +"object.pick@^1.3.0": + "integrity" "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=" + "resolved" "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "isobject" "^3.0.1" + +"object.values@^1.1.0": + "integrity" "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==" + "resolved" "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "define-properties" "^1.1.3" + "es-abstract" "^1.12.0" + "function-bind" "^1.1.1" + "has" "^1.0.3" + +"omggif@^1.0.5": + "integrity" "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==" + "resolved" "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz" + "version" "1.0.10" + +"on-finished@~2.3.0": + "integrity" "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=" + "resolved" "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "ee-first" "1.1.1" + +"once@^1.3.0", "once@^1.3.1", "once@^1.4.0": + "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" + "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "wrappy" "1" + +"one-time@^1.0.0": + "integrity" "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==" + "resolved" "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "fn.name" "1.x.x" + +"onetime@^5.1.0": + "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" + "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "mimic-fn" "^2.1.0" + +"open@^7.0.3": + "integrity" "sha512-sP2ru2v0P290WFfv49Ap8MF6PkzGNnGlAwHweB4WR4mr5d2d0woiCluUeJ218w7/+PmoBy9JmYgD5A4mLcWOFA==" + "resolved" "https://registry.npmjs.org/open/-/open-7.0.3.tgz" + "version" "7.0.3" + dependencies: + "is-docker" "^2.0.0" + "is-wsl" "^2.1.1" + +"ora@5.3.0": + "integrity" "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==" + "resolved" "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz" + "version" "5.3.0" + dependencies: + "bl" "^4.0.3" + "chalk" "^4.1.0" + "cli-cursor" "^3.1.0" + "cli-spinners" "^2.5.0" + "is-interactive" "^1.0.0" + "log-symbols" "^4.0.0" + "strip-ansi" "^6.0.0" + "wcwidth" "^1.0.1" + +"os-homedir@^1.0.0", "os-homedir@^1.0.1": + "integrity" "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + "resolved" "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" + "version" "1.0.2" + +"os-locale@^3.0.0": + "integrity" "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==" + "resolved" "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "execa" "^1.0.0" + "lcid" "^2.0.0" + "mem" "^4.0.0" + +"os-name@^3.0.0": + "integrity" "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==" + "resolved" "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "macos-release" "^2.2.0" + "windows-release" "^3.1.0" + +"os-tmpdir@^1.0.0", "os-tmpdir@~1.0.2": + "integrity" "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "resolved" "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" + "version" "1.0.2" + +"osenv@0": + "integrity" "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==" + "resolved" "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz" + "version" "0.1.5" + dependencies: + "os-homedir" "^1.0.0" + "os-tmpdir" "^1.0.0" + +"p-cancelable@^1.0.0": + "integrity" "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + "resolved" "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" + "version" "1.1.0" + +"p-cancelable@^2.0.0": + "integrity" "sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==" + "resolved" "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz" + "version" "2.0.0" + +"p-defer@^1.0.0": + "integrity" "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" + "resolved" "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz" + "version" "1.0.0" + +"p-finally@^1.0.0": + "integrity" "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + "resolved" "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" + "version" "1.0.0" + +"p-is-promise@^2.0.0": + "integrity" "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" + "resolved" "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz" + "version" "2.1.0" + +"p-limit@^2.0.0": + "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "p-try" "^2.0.0" + +"p-locate@^3.0.0": + "integrity" "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "p-limit" "^2.0.0" + +"p-map@^4.0.0": + "integrity" "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==" + "resolved" "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "aggregate-error" "^3.0.0" + +"p-map@2.1.0": + "integrity" "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" + "resolved" "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz" + "version" "2.1.0" + +"p-queue@^2.4.2": + "integrity" "sha512-n8/y+yDJwBjoLQe1GSJbbaYQLTI7QHNZI2+rpmCDbe++WLf9HC3gf6iqj5yfPAV71W4UF3ql5W1+UBPXoXTxng==" + "resolved" "https://registry.npmjs.org/p-queue/-/p-queue-2.4.2.tgz" + "version" "2.4.2" + +"p-try@^2.0.0": + "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + "version" "2.2.0" + +"package-json@^6.3.0": + "integrity" "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==" + "resolved" "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz" + "version" "6.5.0" + dependencies: + "got" "^9.6.0" + "registry-auth-token" "^4.0.0" + "registry-url" "^5.0.0" + "semver" "^6.2.0" + +"pako@~0.2.0": + "integrity" "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + "resolved" "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz" + "version" "0.2.9" + +"pako@~1.0.2": + "integrity" "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + "resolved" "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" + "version" "1.0.11" + +"parchment@^1.1.4": + "integrity" "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==" + "resolved" "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz" + "version" "1.1.4" + +"parchment@2.0.0-dev.2": + "integrity" "sha512-4fgRny4pPISoML08Zp7poi52Dff3E2G1ORTi2D/acJ/RiROdDAMDB6VcQNfBcmehrX5Wixp6dxh6JjLyE5yUNQ==" + "resolved" "https://registry.npmjs.org/parchment/-/parchment-2.0.0-dev.2.tgz" + "version" "2.0.0-dev.2" + +"parse-data-uri@^0.2.0": + "integrity" "sha1-vwTYUd1ch7CrI45dAazklLYEtMk=" + "resolved" "https://registry.npmjs.org/parse-data-uri/-/parse-data-uri-0.2.0.tgz" + "version" "0.2.0" + dependencies: + "data-uri-to-buffer" "0.0.3" + +"parse-json@^2.2.0": + "integrity" "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "error-ex" "^1.2.0" + +"parse-json@^4.0.0": + "integrity" "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "error-ex" "^1.3.1" + "json-parse-better-errors" "^1.0.1" + +"parse-link-header@^1.0.1": + "integrity" "sha1-vt/g0hGK64S+deewJUGeyKYRQKc=" + "resolved" "https://registry.npmjs.org/parse-link-header/-/parse-link-header-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "xtend" "~4.0.1" + +"parse-passwd@^1.0.0": + "integrity" "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" + "resolved" "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz" + "version" "1.0.0" + +"parseqs@0.0.6": + "integrity" "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==" + "resolved" "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz" + "version" "0.0.6" + +"parseuri@0.0.6": + "integrity" "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==" + "resolved" "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz" + "version" "0.0.6" + +"parseurl@~1.3.3": + "integrity" "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + "resolved" "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + "version" "1.3.3" + +"pascalcase@^0.1.1": + "integrity" "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + "resolved" "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" + "version" "0.1.1" + +"path-exists@^2.0.0": + "integrity" "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=" + "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "pinkie-promise" "^2.0.0" + +"path-exists@^3.0.0": + "integrity" "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + "version" "3.0.0" + +"path-is-absolute@^1.0.0": + "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + "version" "1.0.1" + +"path-key@^2.0.0", "path-key@^2.0.1": + "integrity" "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + "resolved" "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" + "version" "2.0.1" + +"path-parse@^1.0.6": + "integrity" "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz" + "version" "1.0.6" + +"path-to-regexp@0.1.7": + "integrity" "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + "version" "0.1.7" + +"path-type@^1.0.0": + "integrity" "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=" + "resolved" "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "graceful-fs" "^4.1.2" + "pify" "^2.0.0" + "pinkie-promise" "^2.0.0" + +"peek-stream@^1.1.0": + "integrity" "sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==" + "resolved" "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "buffer-from" "^1.0.0" + "duplexify" "^3.5.0" + "through2" "^2.0.3" + +"pend@~1.2.0": + "integrity" "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + "resolved" "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" + "version" "1.2.0" + +"performance-now@^2.1.0": + "integrity" "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "resolved" "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" + "version" "2.1.0" + +"phantomjs-prebuilt@^2.1.16": + "integrity" "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=" + "resolved" "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz" + "version" "2.1.16" + dependencies: + "es6-promise" "^4.0.3" + "extract-zip" "^1.6.5" + "fs-extra" "^1.0.0" + "hasha" "^2.2.0" + "kew" "^0.7.0" + "progress" "^1.1.8" + "request" "^2.81.0" + "request-progress" "^2.0.1" + "which" "^1.2.10" + +"picomatch@^2.0.5", "picomatch@^2.2.1": + "integrity" "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz" + "version" "2.2.2" + +"pify@^2.0.0": + "integrity" "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "resolved" "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + "version" "2.3.0" + +"pify@^3.0.0": + "integrity" "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "resolved" "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" + "version" "3.0.0" + +"pinkie-promise@^2.0.0": + "integrity" "sha1-ITXW36ejWMBprJsXh3YogihFD/o=" + "resolved" "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "pinkie" "^2.0.0" + +"pinkie@^2.0.0": + "integrity" "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + "resolved" "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + "version" "2.0.4" + +"plyr@^3.6.2": + "integrity" "sha512-CjAhRDtzyGqMRte9Phj4FsZFegS9VxW60boOhQsAnZHuiFG3yVBRcodWsGZ79GuXHHelc4DxMHO+z0QggY+9qQ==" + "resolved" "https://registry.npmjs.org/plyr/-/plyr-3.6.2.tgz" + "version" "3.6.2" + dependencies: + "core-js" "^3.6.5" + "custom-event-polyfill" "^1.0.7" + "loadjs" "^4.2.0" + "rangetouch" "^2.0.1" + "url-polyfill" "^1.1.8" + +"pngjs@^3.3.3": + "integrity" "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==" + "resolved" "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz" + "version" "3.4.0" + +"popper.js@^1.16.0": + "integrity" "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" + "resolved" "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz" + "version" "1.16.1" + +"posix-character-classes@^0.1.0": + "integrity" "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + "resolved" "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" + "version" "0.1.1" + +"postcss-calc@^7.0.1": + "integrity" "sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ==" + "resolved" "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "css-unit-converter" "^1.1.1" + "postcss" "^7.0.5" + "postcss-selector-parser" "^5.0.0-rc.4" + "postcss-value-parser" "^3.3.1" + +"postcss-colormin@^4.0.3": + "integrity" "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==" + "resolved" "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "browserslist" "^4.0.0" + "color" "^3.0.0" + "has" "^1.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-convert-values@^4.0.1": + "integrity" "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==" + "resolved" "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-discard-comments@^4.0.2": + "integrity" "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==" + "resolved" "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "postcss" "^7.0.0" + +"postcss-discard-duplicates@^4.0.2": + "integrity" "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==" + "resolved" "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "postcss" "^7.0.0" + +"postcss-discard-empty@^4.0.1": + "integrity" "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==" + "resolved" "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "postcss" "^7.0.0" + +"postcss-discard-overridden@^4.0.1": + "integrity" "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==" + "resolved" "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "postcss" "^7.0.0" + +"postcss-load-config@^2.0.0": + "integrity" "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==" + "resolved" "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "cosmiconfig" "^4.0.0" + "import-cwd" "^2.0.0" + +"postcss-merge-longhand@^4.0.11": + "integrity" "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==" + "resolved" "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz" + "version" "4.0.11" + dependencies: + "css-color-names" "0.0.4" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + "stylehacks" "^4.0.0" + +"postcss-merge-rules@^4.0.3": + "integrity" "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==" + "resolved" "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "browserslist" "^4.0.0" + "caniuse-api" "^3.0.0" + "cssnano-util-same-parent" "^4.0.0" + "postcss" "^7.0.0" + "postcss-selector-parser" "^3.0.0" + "vendors" "^1.0.0" + +"postcss-minify-font-values@^4.0.2": + "integrity" "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==" + "resolved" "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-minify-gradients@^4.0.2": + "integrity" "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==" + "resolved" "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "cssnano-util-get-arguments" "^4.0.0" + "is-color-stop" "^1.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-minify-params@^4.0.2": + "integrity" "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==" + "resolved" "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "alphanum-sort" "^1.0.0" + "browserslist" "^4.0.0" + "cssnano-util-get-arguments" "^4.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + "uniqs" "^2.0.0" + +"postcss-minify-selectors@^4.0.2": + "integrity" "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==" + "resolved" "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "alphanum-sort" "^1.0.0" + "has" "^1.0.0" + "postcss" "^7.0.0" + "postcss-selector-parser" "^3.0.0" + +"postcss-modules-extract-imports@1.1.0": + "integrity" "sha1-thTJcgvmgW6u41+zpfqh26agXds=" + "resolved" "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "postcss" "^6.0.1" + +"postcss-modules-local-by-default@^1.1.1", "postcss-modules-local-by-default@1.2.0": + "integrity" "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=" + "resolved" "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "css-selector-tokenizer" "^0.7.0" + "postcss" "^6.0.1" + +"postcss-modules-scope@^1.0.2", "postcss-modules-scope@1.1.0": + "integrity" "sha1-1upkmUx5+XtipytCb75gVqGUu5A=" + "resolved" "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "css-selector-tokenizer" "^0.7.0" + "postcss" "^6.0.1" + +"postcss-modules-sync@^1.0.0": + "integrity" "sha1-YZpxnPeN0WpINBNRQLMkz3czS+E=" + "resolved" "https://registry.npmjs.org/postcss-modules-sync/-/postcss-modules-sync-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "generic-names" "^1.0.2" + "icss-replace-symbols" "^1.0.2" + "postcss" "^5.2.5" + "postcss-modules-local-by-default" "^1.1.1" + "postcss-modules-scope" "^1.0.2" + "string-hash" "^1.1.0" + +"postcss-modules-values@1.3.0": + "integrity" "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=" + "resolved" "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "icss-replace-symbols" "^1.1.0" + "postcss" "^6.0.1" + +"postcss-modules@^1.4.1": + "integrity" "sha512-btTrbK+Xc3NBuYF8TPBjCMRSp5h6NoQ1iVZ6WiDQENIze6KIYCSf0+UFQuV3yJ7gRHA+4AAtF8i2jRvUpbBMMg==" + "resolved" "https://registry.npmjs.org/postcss-modules/-/postcss-modules-1.4.1.tgz" + "version" "1.4.1" + dependencies: + "css-modules-loader-core" "^1.1.0" + "generic-names" "^1.0.3" + "lodash.camelcase" "^4.3.0" + "postcss" "^7.0.1" + "string-hash" "^1.1.1" + +"postcss-normalize-charset@^4.0.1": + "integrity" "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==" + "resolved" "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "postcss" "^7.0.0" + +"postcss-normalize-display-values@^4.0.2": + "integrity" "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==" + "resolved" "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "cssnano-util-get-match" "^4.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-normalize-positions@^4.0.2": + "integrity" "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==" + "resolved" "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "cssnano-util-get-arguments" "^4.0.0" + "has" "^1.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-normalize-repeat-style@^4.0.2": + "integrity" "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==" + "resolved" "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "cssnano-util-get-arguments" "^4.0.0" + "cssnano-util-get-match" "^4.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-normalize-string@^4.0.2": + "integrity" "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==" + "resolved" "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "has" "^1.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-normalize-timing-functions@^4.0.2": + "integrity" "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==" + "resolved" "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "cssnano-util-get-match" "^4.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-normalize-unicode@^4.0.1": + "integrity" "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==" + "resolved" "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "browserslist" "^4.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-normalize-url@^4.0.1": + "integrity" "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==" + "resolved" "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "is-absolute-url" "^2.0.0" + "normalize-url" "^3.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-normalize-whitespace@^4.0.2": + "integrity" "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==" + "resolved" "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-ordered-values@^4.1.2": + "integrity" "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==" + "resolved" "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "cssnano-util-get-arguments" "^4.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-reduce-initial@^4.0.3": + "integrity" "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==" + "resolved" "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "browserslist" "^4.0.0" + "caniuse-api" "^3.0.0" + "has" "^1.0.0" + "postcss" "^7.0.0" + +"postcss-reduce-transforms@^4.0.2": + "integrity" "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==" + "resolved" "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "cssnano-util-get-match" "^4.0.0" + "has" "^1.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + +"postcss-selector-parser@^3.0.0", "postcss-selector-parser@^3.1.1": + "integrity" "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=" + "resolved" "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "dot-prop" "^4.1.1" + "indexes-of" "^1.0.1" + "uniq" "^1.0.1" + +"postcss-selector-parser@^5.0.0-rc.4": + "integrity" "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==" + "resolved" "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "cssesc" "^2.0.0" + "indexes-of" "^1.0.1" + "uniq" "^1.0.1" + +"postcss-selector-parser@^5.0.0": + "integrity" "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==" + "resolved" "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "cssesc" "^2.0.0" + "indexes-of" "^1.0.1" + "uniq" "^1.0.1" + +"postcss-svgo@^4.0.2": + "integrity" "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==" + "resolved" "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "is-svg" "^3.0.0" + "postcss" "^7.0.0" + "postcss-value-parser" "^3.0.0" + "svgo" "^1.0.0" + +"postcss-unique-selectors@^4.0.1": + "integrity" "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==" + "resolved" "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "alphanum-sort" "^1.0.0" + "postcss" "^7.0.0" + "uniqs" "^2.0.0" + +"postcss-value-parser@^3.0.0", "postcss-value-parser@^3.3.1": + "integrity" "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + "resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz" + "version" "3.3.1" + +"postcss-value-parser@^4.1.0": + "integrity" "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" + "resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz" + "version" "4.1.0" + +"postcss@^5.2.5": + "integrity" "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz" + "version" "5.2.18" + dependencies: + "chalk" "^1.1.3" + "js-base64" "^2.1.9" + "source-map" "^0.5.6" + "supports-color" "^3.2.3" + +"postcss@^6.0.1": + "integrity" "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz" + "version" "6.0.23" + dependencies: + "chalk" "^2.4.1" + "source-map" "^0.6.1" + "supports-color" "^5.4.0" + +"postcss@^6.0.20": + "integrity" "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz" + "version" "6.0.23" + dependencies: + "chalk" "^2.4.1" + "source-map" "^0.6.1" + "supports-color" "^5.4.0" + +"postcss@^6.0.22", "postcss@>=6.0": + "integrity" "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz" + "version" "6.0.23" + dependencies: + "chalk" "^2.4.1" + "source-map" "^0.6.1" + "supports-color" "^5.4.0" + +"postcss@^7.0.0", "postcss@^7.0.1", "postcss@^7.0.14", "postcss@^7.0.5": + "integrity" "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz" + "version" "7.0.14" + dependencies: + "chalk" "^2.4.2" + "source-map" "^0.6.1" + "supports-color" "^6.1.0" + +"postcss@^7.0.32": + "integrity" "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz" + "version" "7.0.32" + dependencies: + "chalk" "^2.4.2" + "source-map" "^0.6.1" + "supports-color" "^6.1.0" + +"postcss@6.0.1": + "integrity" "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "chalk" "^1.1.3" + "source-map" "^0.5.6" + "supports-color" "^3.2.3" + +"prepend-http@^2.0.0": + "integrity" "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + "resolved" "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" + "version" "2.0.0" + +"prettier@^1.13.0": + "integrity" "sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g==" + "resolved" "https://registry.npmjs.org/prettier/-/prettier-1.16.4.tgz" + "version" "1.16.4" + +"prettier@1.16.3": + "integrity" "sha512-kn/GU6SMRYPxUakNXhpP0EedT/KmaPzr0H5lIsDogrykbaxOpOfAFfk5XA7DZrJyMAv1wlMV3CPcZruGXVVUZw==" + "resolved" "https://registry.npmjs.org/prettier/-/prettier-1.16.3.tgz" + "version" "1.16.3" + +"prettysize@^1.1.0": + "integrity" "sha512-U5Noa+FYV1dGkICyLJz8IWlDUehPF4Bk9tZRO8YqPhLA9EoiHuFqtnpWY2mvMjHh5eOLo82HipeLn4RIiSsGqQ==" + "resolved" "https://registry.npmjs.org/prettysize/-/prettysize-1.1.0.tgz" + "version" "1.1.0" + +"process-nextick-args@^2.0.0", "process-nextick-args@~2.0.0": + "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + "version" "2.0.1" + +"progress@^1.1.8": + "integrity" "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=" + "resolved" "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz" + "version" "1.1.8" + +"progress@^2.0.3": + "integrity" "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + "resolved" "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" + "version" "2.0.3" + +"promise-fs@^2.1.1": + "integrity" "sha512-43p7e4QzAQ3w6eyN0+gbBL7jXiZFWLWYITg9wIObqkBySu/a5K1EDcQ/S6UyB/bmiZWDA4NjTbcopKLTaKcGSw==" + "resolved" "https://registry.npmjs.org/promise-fs/-/promise-fs-2.1.1.tgz" + "version" "2.1.1" dependencies: "@octetstream/promisify" "2.0.2" -promise-queue@^2.2.5: - version "2.2.5" - resolved "https://registry.yarnpkg.com/promise-queue/-/promise-queue-2.2.5.tgz#2f6f5f7c0f6d08109e967659c79b88a9ed5e93b4" - integrity sha1-L29ffA9tCBCelnZZx5uIqe1ek7Q= +"promise-queue@^2.2.5": + "integrity" "sha1-L29ffA9tCBCelnZZx5uIqe1ek7Q=" + "resolved" "https://registry.npmjs.org/promise-queue/-/promise-queue-2.2.5.tgz" + "version" "2.2.5" -promise.series@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/promise.series/-/promise.series-0.2.0.tgz#2cc7ebe959fc3a6619c04ab4dbdc9e452d864bbd" - integrity sha1-LMfr6Vn8OmYZwEq029yeRS2GS70= +"promise.series@^0.2.0": + "integrity" "sha1-LMfr6Vn8OmYZwEq029yeRS2GS70=" + "resolved" "https://registry.npmjs.org/promise.series/-/promise.series-0.2.0.tgz" + "version" "0.2.0" -"promise@>=3.2 <8", promise@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== +"promise@^7.1.1", "promise@>=3.2 <8": + "integrity" "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==" + "resolved" "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" + "version" "7.3.1" dependencies: - asap "~2.0.3" + "asap" "~2.0.3" -proxy-addr@~2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" - integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== +"proxy-addr@~2.0.5": + "integrity" "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==" + "resolved" "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz" + "version" "2.0.6" dependencies: - forwarded "~0.1.2" - ipaddr.js "1.9.1" + "forwarded" "~0.1.2" + "ipaddr.js" "1.9.1" -proxy-from-env@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" - integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4= +"proxy-from-env@^1.0.0": + "integrity" "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=" + "resolved" "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz" + "version" "1.0.0" -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= +"prr@~1.0.1": + "integrity" "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + "resolved" "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" + "version" "1.0.1" -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= +"pseudomap@^1.0.2": + "integrity" "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + "resolved" "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" + "version" "1.0.2" -psl@^1.1.24, psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== +"psl@^1.1.24", "psl@^1.1.28": + "integrity" "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + "resolved" "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz" + "version" "1.8.0" -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== +"pump@^2.0.0": + "integrity" "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==" + "resolved" "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz" + "version" "2.0.1" dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" + "end-of-stream" "^1.1.0" + "once" "^1.3.1" -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== +"pump@^3.0.0": + "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" + "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + "version" "3.0.0" dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" + "end-of-stream" "^1.1.0" + "once" "^1.3.1" -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== +"pumpify@^1.3.3": + "integrity" "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==" + "resolved" "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz" + "version" "1.5.1" dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" + "duplexify" "^3.6.0" + "inherits" "^2.0.3" + "pump" "^2.0.0" -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= +"punycode@^1.4.1": + "integrity" "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + "version" "1.4.1" -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== +"punycode@^2.1.0", "punycode@^2.1.1": + "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" + "version" "2.1.1" -pupa@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.0.1.tgz#dbdc9ff48ffbea4a26a069b6f9f7abb051008726" - integrity sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA== +"pupa@^2.0.1": + "integrity" "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==" + "resolved" "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz" + "version" "2.0.1" dependencies: - escape-goat "^2.0.0" + "escape-goat" "^2.0.0" -q@^1.1.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= +"q@^1.1.2": + "integrity" "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + "resolved" "https://registry.npmjs.org/q/-/q-1.5.1.tgz" + "version" "1.5.1" -qs@6.7.0, qs@^6.5.1: - version "6.7.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" - integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== +"qs@^6.5.1", "qs@6.7.0": + "integrity" "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + "resolved" "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz" + "version" "6.7.0" -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== +"qs@~6.5.2": + "integrity" "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "resolved" "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz" + "version" "6.5.2" -quagga@^0.12.1: - version "0.12.1" - resolved "https://registry.yarnpkg.com/quagga/-/quagga-0.12.1.tgz#6f48c56ed992dc5fdeb90dbee7069c2e1cdde8b7" - integrity sha1-b0jFbtmS3F/euQ2+5wacLhzd6Lc= +"quagga@^0.12.1": + "integrity" "sha1-b0jFbtmS3F/euQ2+5wacLhzd6Lc=" + "resolved" "https://registry.npmjs.org/quagga/-/quagga-0.12.1.tgz" + "version" "0.12.1" dependencies: - get-pixels "^3.2.3" - gl-mat2 "^1.0.0" - gl-vec2 "^1.0.0" - gl-vec3 "^1.0.3" - lodash "^4.17.4" - ndarray "^1.0.18" - ndarray-linear-interpolate "^1.0.0" + "get-pixels" "^3.2.3" + "gl-mat2" "^1.0.0" + "gl-vec2" "^1.0.0" + "gl-vec3" "^1.0.3" + "lodash" "^4.17.4" + "ndarray" "^1.0.18" + "ndarray-linear-interpolate" "^1.0.0" -querystring@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= +"querystring@^0.2.0": + "integrity" "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "resolved" "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" + "version" "0.2.0" -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== +"queue-microtask@^1.2.2": + "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + "version" "1.2.3" -queue@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65" - integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== +"queue@^6.0.1": + "integrity" "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==" + "resolved" "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz" + "version" "6.0.2" dependencies: - inherits "~2.0.3" + "inherits" "~2.0.3" -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== +"quick-lru@^5.1.1": + "integrity" "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" + "resolved" "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" + "version" "5.1.1" -quill-delta@4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/quill-delta/-/quill-delta-4.2.1.tgz#ad4f191cdf3be5079c5dc3991b9603a5cc0db69a" - integrity sha512-Y2nksOj6Q+4hizre8n0dml76vLNGK4/y86EoI1d7rv6EL1bx7DPDYRmqQMPu1UqFQO/uQuVHQ3fOmm4ZSzWrfA== +"quill-delta@^3.6.2": + "integrity" "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==" + "resolved" "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz" + "version" "3.6.3" dependencies: - deep-equal "^1.0.1" - extend "^3.0.2" - fast-diff "1.2.0" + "deep-equal" "^1.0.1" + "extend" "^3.0.2" + "fast-diff" "1.1.2" -quill-delta@^3.6.2: - version "3.6.3" - resolved "https://registry.yarnpkg.com/quill-delta/-/quill-delta-3.6.3.tgz#b19fd2b89412301c60e1ff213d8d860eac0f1032" - integrity sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg== +"quill-delta@4.2.1": + "integrity" "sha512-Y2nksOj6Q+4hizre8n0dml76vLNGK4/y86EoI1d7rv6EL1bx7DPDYRmqQMPu1UqFQO/uQuVHQ3fOmm4ZSzWrfA==" + "resolved" "https://registry.npmjs.org/quill-delta/-/quill-delta-4.2.1.tgz" + "version" "4.2.1" dependencies: - deep-equal "^1.0.1" - extend "^3.0.2" - fast-diff "1.1.2" + "deep-equal" "^1.0.1" + "extend" "^3.0.2" + "fast-diff" "1.2.0" -quill-image-resize@^3.0.9: - version "3.0.9" - resolved "https://registry.yarnpkg.com/quill-image-resize/-/quill-image-resize-3.0.9.tgz#5677fb6257560bff951153ddbdb836758e49f804" - integrity sha512-5Dk0nixhbFsCwSWtPU9qqqtfM2gURfaP+pbBhQvAoMJoF4p99xbAibfAI3gsZJkbWUodoK2iAPf1V5oTSpv9ww== +"quill-image-resize@^3.0.9": + "integrity" "sha512-5Dk0nixhbFsCwSWtPU9qqqtfM2gURfaP+pbBhQvAoMJoF4p99xbAibfAI3gsZJkbWUodoK2iAPf1V5oTSpv9ww==" + "resolved" "https://registry.npmjs.org/quill-image-resize/-/quill-image-resize-3.0.9.tgz" + "version" "3.0.9" dependencies: - lodash "^4.17.4" - quill "^1.2.2" - raw-loader "^0.5.1" + "lodash" "^4.17.4" + "quill" "^1.2.2" + "raw-loader" "^0.5.1" -quill@2.0.0-dev.4: - version "2.0.0-dev.4" - resolved "https://registry.yarnpkg.com/quill/-/quill-2.0.0-dev.4.tgz#130e38efe7a16b3766d767d750c8aacc038945e7" - integrity sha512-9WmMVCEIhf3lDdhzl+i+GBDeDl0BFi65waC4Im8Y4HudEJ9kEEb1lciAz9A8pcDmLMjiMbvz84lNt/U5OBS8Vg== +"quill@^1.2.2": + "integrity" "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==" + "resolved" "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz" + "version" "1.3.7" dependencies: - clone "^2.1.2" - deep-equal "^2.0.2" - eventemitter3 "^4.0.0" - extend "^3.0.2" - parchment "2.0.0-dev.2" - quill-delta "4.2.1" + "clone" "^2.1.1" + "deep-equal" "^1.0.1" + "eventemitter3" "^2.0.3" + "extend" "^3.0.2" + "parchment" "^1.1.4" + "quill-delta" "^3.6.2" -quill@^1.2.2: - version "1.3.7" - resolved "https://registry.yarnpkg.com/quill/-/quill-1.3.7.tgz#da5b2f3a2c470e932340cdbf3668c9f21f9286e8" - integrity sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g== +"quill@2.0.0-dev.4": + "integrity" "sha512-9WmMVCEIhf3lDdhzl+i+GBDeDl0BFi65waC4Im8Y4HudEJ9kEEb1lciAz9A8pcDmLMjiMbvz84lNt/U5OBS8Vg==" + "resolved" "https://registry.npmjs.org/quill/-/quill-2.0.0-dev.4.tgz" + "version" "2.0.0-dev.4" dependencies: - clone "^2.1.1" - deep-equal "^1.0.1" - eventemitter3 "^2.0.3" - extend "^3.0.2" - parchment "^1.1.4" - quill-delta "^3.6.2" + "clone" "^2.1.2" + "deep-equal" "^2.0.2" + "eventemitter3" "^4.0.0" + "extend" "^3.0.2" + "parchment" "2.0.0-dev.2" + "quill-delta" "4.2.1" -qz-tray@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/qz-tray/-/qz-tray-2.0.8.tgz#5e15d102cf3a11a31ddb332891c7f8a6af8f6ad5" - integrity sha512-lncGYzz7/sTORZuC1S3ukNlMPCMOmsHWNvJF4FjMCZ2+0UV3txi6kgPd754B7kDFKm0J587sIODgxIlFY7qU4w== +"qz-tray@^2.0.8": + "integrity" "sha512-lncGYzz7/sTORZuC1S3ukNlMPCMOmsHWNvJF4FjMCZ2+0UV3txi6kgPd754B7kDFKm0J587sIODgxIlFY7qU4w==" + "resolved" "https://registry.npmjs.org/qz-tray/-/qz-tray-2.0.8.tgz" + "version" "2.0.8" -range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== +"range-parser@~1.2.1": + "integrity" "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + "version" "1.2.1" -rangetouch@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/rangetouch/-/rangetouch-2.0.1.tgz#c01105110fd3afca2adcb1a580692837d883cb70" - integrity sha512-sln+pNSc8NGaHoLzwNBssFSf/rSYkqeBXzX1AtJlkJiUaVSJSbRAWJk+4omsXkN+EJalzkZhWQ3th1m0FpR5xA== +"rangetouch@^2.0.1": + "integrity" "sha512-sln+pNSc8NGaHoLzwNBssFSf/rSYkqeBXzX1AtJlkJiUaVSJSbRAWJk+4omsXkN+EJalzkZhWQ3th1m0FpR5xA==" + "resolved" "https://registry.npmjs.org/rangetouch/-/rangetouch-2.0.1.tgz" + "version" "2.0.1" -raw-body@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" - integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== +"raw-body@2.4.0": + "integrity" "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==" + "resolved" "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz" + "version" "2.4.0" dependencies: - bytes "3.1.0" - http-errors "1.7.2" - iconv-lite "0.4.24" - unpipe "1.0.0" + "bytes" "3.1.0" + "http-errors" "1.7.2" + "iconv-lite" "0.4.24" + "unpipe" "1.0.0" -raw-loader@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa" - integrity sha1-DD0L6u2KAclm2Xh793goElKpeao= +"raw-loader@^0.5.1": + "integrity" "sha1-DD0L6u2KAclm2Xh793goElKpeao=" + "resolved" "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz" + "version" "0.5.1" -rc@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== +"rc@^1.2.8": + "integrity" "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==" + "resolved" "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" + "version" "1.2.8" dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" + "deep-extend" "^0.6.0" + "ini" "~1.3.0" + "minimist" "^1.2.0" + "strip-json-comments" "~2.0.1" -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= +"read-pkg-up@^1.0.1": + "integrity" "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=" + "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" + "version" "1.0.1" dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" + "find-up" "^1.0.0" + "read-pkg" "^1.0.0" -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= +"read-pkg@^1.0.0": + "integrity" "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=" + "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" + "version" "1.1.0" dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" + "load-json-file" "^1.0.0" + "normalize-package-data" "^2.3.2" + "path-type" "^1.0.0" -readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.3.5, readable-stream@^2.3.7, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== +"readable-stream@^2.0.0", "readable-stream@^2.0.1", "readable-stream@^2.0.6", "readable-stream@^2.2.2", "readable-stream@^2.3.5", "readable-stream@^2.3.7", "readable-stream@~2.3.6": + "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + "version" "2.3.7" 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" + "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" -readable-stream@^3.0.1, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== +"readable-stream@^3.0.1", "readable-stream@^3.1.1", "readable-stream@^3.4.0": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= +"readable-stream@^3.5.0": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" -redis-commands@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.7.0.tgz#15a6fea2d58281e27b1cd1acfb4b293e278c3a89" - integrity sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ== - -redis-errors@^1.0.0, redis-errors@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/redis-errors/-/redis-errors-1.2.0.tgz#eb62d2adb15e4eaf4610c04afe1529384250abad" - integrity sha1-62LSrbFeTq9GEMBK/hUpOEJQq60= - -redis-parser@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-3.0.0.tgz#b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4" - integrity sha1-tm2CjNyv5rS4pCin3vTGvKwxyLQ= +"redent@^1.0.0": + "integrity" "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=" + "resolved" "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz" + "version" "1.0.0" dependencies: - redis-errors "^1.0.0" + "indent-string" "^2.1.0" + "strip-indent" "^1.0.1" -redis@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/redis/-/redis-3.1.1.tgz#a44bee7c072dcf685e139048d6a1a4d3b00f5d01" - integrity sha512-QhkKhOuzhogR1NDJfBD34TQJz2ZJwDhhIC6ZmvpftlmfYShHHQXjjNspAJ+Z2HH5NwSBVYBVganbiZ8bgFMHjg== +"redis-commands@^1.7.0": + "integrity" "sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==" + "resolved" "https://registry.npmjs.org/redis-commands/-/redis-commands-1.7.0.tgz" + "version" "1.7.0" + +"redis-errors@^1.0.0", "redis-errors@^1.2.0": + "integrity" "sha1-62LSrbFeTq9GEMBK/hUpOEJQq60=" + "resolved" "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz" + "version" "1.2.0" + +"redis-parser@^3.0.0": + "integrity" "sha1-tm2CjNyv5rS4pCin3vTGvKwxyLQ=" + "resolved" "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz" + "version" "3.0.0" dependencies: - denque "^1.5.0" - redis-commands "^1.7.0" - redis-errors "^1.2.0" - redis-parser "^3.0.0" + "redis-errors" "^1.0.0" -regenerate-unicode-properties@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c" - integrity sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw== +"redis@^3.1.1": + "integrity" "sha512-QhkKhOuzhogR1NDJfBD34TQJz2ZJwDhhIC6ZmvpftlmfYShHHQXjjNspAJ+Z2HH5NwSBVYBVganbiZ8bgFMHjg==" + "resolved" "https://registry.npmjs.org/redis/-/redis-3.1.1.tgz" + "version" "3.1.1" dependencies: - regenerate "^1.4.0" + "denque" "^1.5.0" + "redis-commands" "^1.7.0" + "redis-errors" "^1.2.0" + "redis-parser" "^3.0.0" -regenerate@^1.2.1, regenerate@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - -regenerator-runtime@^0.12.0: - version "0.12.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" - integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== +"regenerate-unicode-properties@^7.0.0": + "integrity" "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==" + "resolved" "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz" + "version" "7.0.0" dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" + "regenerate" "^1.4.0" -regexp.prototype.flags@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" - integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== +"regenerate@^1.2.1", "regenerate@^1.4.0": + "integrity" "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" + "resolved" "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz" + "version" "1.4.0" + +"regenerator-runtime@^0.11.0": + "integrity" "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz" + "version" "0.11.1" + +"regenerator-runtime@^0.12.0": + "integrity" "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" + "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz" + "version" "0.12.1" + +"regex-not@^1.0.0", "regex-not@^1.0.2": + "integrity" "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==" + "resolved" "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" + "version" "1.0.2" dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" + "extend-shallow" "^3.0.2" + "safe-regex" "^1.1.0" -regexpu-core@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" - integrity sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs= +"regexp.prototype.flags@^1.3.0": + "integrity" "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==" + "resolved" "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz" + "version" "1.3.0" dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" + "define-properties" "^1.1.3" + "es-abstract" "^1.17.0-next.1" -regexpu-core@^4.2.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.4.0.tgz#8d43e0d1266883969720345e70c275ee0aec0d32" - integrity sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA== +"regexpu-core@^1.0.0": + "integrity" "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=" + "resolved" "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz" + "version" "1.0.0" dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^7.0.0" - regjsgen "^0.5.0" - regjsparser "^0.6.0" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.0.2" + "regenerate" "^1.2.1" + "regjsgen" "^0.2.0" + "regjsparser" "^0.1.4" -registry-auth-token@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.0.tgz#1d37dffda72bbecd0f581e4715540213a65eb7da" - integrity sha512-P+lWzPrsgfN+UEpDS3U8AQKg/UjZX6mQSJueZj3EK+vNESoqBSpBUD3gmu4sF9lOsjXWjF11dQKUqemf3veq1w== +"regexpu-core@^4.2.0": + "integrity" "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==" + "resolved" "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz" + "version" "4.4.0" dependencies: - rc "^1.2.8" + "regenerate" "^1.4.0" + "regenerate-unicode-properties" "^7.0.0" + "regjsgen" "^0.5.0" + "regjsparser" "^0.6.0" + "unicode-match-property-ecmascript" "^1.0.4" + "unicode-match-property-value-ecmascript" "^1.0.2" -registry-url@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" - integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== +"registry-auth-token@^4.0.0": + "integrity" "sha512-P+lWzPrsgfN+UEpDS3U8AQKg/UjZX6mQSJueZj3EK+vNESoqBSpBUD3gmu4sF9lOsjXWjF11dQKUqemf3veq1w==" + "resolved" "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.0.tgz" + "version" "4.2.0" dependencies: - rc "^1.2.8" + "rc" "^1.2.8" -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= - -regjsgen@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" - integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA== - -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= +"registry-url@^5.0.0": + "integrity" "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==" + "resolved" "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz" + "version" "5.1.0" dependencies: - jsesc "~0.5.0" + "rc" "^1.2.8" -regjsparser@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" - integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== +"regjsgen@^0.2.0": + "integrity" "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" + "resolved" "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz" + "version" "0.2.0" + +"regjsgen@^0.5.0": + "integrity" "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==" + "resolved" "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz" + "version" "0.5.0" + +"regjsparser@^0.1.4": + "integrity" "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=" + "resolved" "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz" + "version" "0.1.5" dependencies: - jsesc "~0.5.0" + "jsesc" "~0.5.0" -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= +"regjsparser@^0.6.0": + "integrity" "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==" + "resolved" "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz" + "version" "0.6.0" dependencies: - is-finite "^1.0.0" + "jsesc" "~0.5.0" -replace-ext@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" - integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== +"remove-trailing-separator@^1.0.1": + "integrity" "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "resolved" "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" + "version" "1.1.0" -request-progress@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-2.0.1.tgz#5d36bb57961c673aa5b788dbc8141fdf23b44e08" - integrity sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg= +"repeat-element@^1.1.2": + "integrity" "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + "resolved" "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz" + "version" "1.1.3" + +"repeat-string@^1.6.1": + "integrity" "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "resolved" "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + "version" "1.6.1" + +"repeating@^2.0.0": + "integrity" "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=" + "resolved" "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" + "version" "2.0.1" dependencies: - throttleit "^1.0.0" + "is-finite" "^1.0.0" -request@^2.44.0, request@^2.83.0: - version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== +"replace-ext@^1.0.0": + "integrity" "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==" + "resolved" "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz" + "version" "1.0.1" + +"request-progress@^2.0.1": + "integrity" "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=" + "resolved" "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz" + "version" "2.0.1" dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.0" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.4.3" - tunnel-agent "^0.6.0" - uuid "^3.3.2" + "throttleit" "^1.0.0" -request@^2.81.0, request@^2.87.0, request@^2.88.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== +"request@^2.44.0": + "integrity" "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==" + "resolved" "https://registry.npmjs.org/request/-/request-2.88.0.tgz" + "version" "2.88.0" dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" + "aws-sign2" "~0.7.0" + "aws4" "^1.8.0" + "caseless" "~0.12.0" + "combined-stream" "~1.0.6" + "extend" "~3.0.2" + "forever-agent" "~0.6.1" + "form-data" "~2.3.2" + "har-validator" "~5.1.0" + "http-signature" "~1.2.0" + "is-typedarray" "~1.0.0" + "isstream" "~0.1.2" + "json-stringify-safe" "~5.0.1" + "mime-types" "~2.1.19" + "oauth-sign" "~0.9.0" + "performance-now" "^2.1.0" + "qs" "~6.5.2" + "safe-buffer" "^5.1.2" + "tough-cookie" "~2.4.3" + "tunnel-agent" "^0.6.0" + "uuid" "^3.3.2" -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-from-string@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -reserved-words@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz#00a0940f98cd501aeaaac316411d9adc52b31ab1" - integrity sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE= - -resolve-alpn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.0.0.tgz#745ad60b3d6aff4b4a48e01b8c0bdc70959e0e8c" - integrity sha512-rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA== - -resolve-dir@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" - integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= +"request@^2.81.0", "request@^2.87.0", "request@^2.88.0": + "integrity" "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==" + "resolved" "https://registry.npmjs.org/request/-/request-2.88.2.tgz" + "version" "2.88.2" dependencies: - expand-tilde "^2.0.0" - global-modules "^1.0.0" + "aws-sign2" "~0.7.0" + "aws4" "^1.8.0" + "caseless" "~0.12.0" + "combined-stream" "~1.0.6" + "extend" "~3.0.2" + "forever-agent" "~0.6.1" + "form-data" "~2.3.2" + "har-validator" "~5.1.3" + "http-signature" "~1.2.0" + "is-typedarray" "~1.0.0" + "isstream" "~0.1.2" + "json-stringify-safe" "~5.0.1" + "mime-types" "~2.1.19" + "oauth-sign" "~0.9.0" + "performance-now" "^2.1.0" + "qs" "~6.5.2" + "safe-buffer" "^5.1.2" + "tough-cookie" "~2.5.0" + "tunnel-agent" "^0.6.0" + "uuid" "^3.3.2" -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== +"request@^2.83.0": + "integrity" "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==" + "resolved" "https://registry.npmjs.org/request/-/request-2.88.0.tgz" + "version" "2.88.0" dependencies: - path-parse "^1.0.6" + "aws-sign2" "~0.7.0" + "aws4" "^1.8.0" + "caseless" "~0.12.0" + "combined-stream" "~1.0.6" + "extend" "~3.0.2" + "forever-agent" "~0.6.1" + "form-data" "~2.3.2" + "har-validator" "~5.1.0" + "http-signature" "~1.2.0" + "is-typedarray" "~1.0.0" + "isstream" "~0.1.2" + "json-stringify-safe" "~5.0.1" + "mime-types" "~2.1.19" + "oauth-sign" "~0.9.0" + "performance-now" "^2.1.0" + "qs" "~6.5.2" + "safe-buffer" "^5.1.2" + "tough-cookie" "~2.4.3" + "tunnel-agent" "^0.6.0" + "uuid" "^3.3.2" -resolve@^1.4.0, resolve@^1.5.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" - integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== +"require-directory@^2.1.1": + "integrity" "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + "version" "2.1.1" + +"require-from-string@^2.0.1": + "integrity" "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + "resolved" "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + "version" "2.0.2" + +"require-main-filename@^1.0.1": + "integrity" "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + "resolved" "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz" + "version" "1.0.1" + +"require-main-filename@^2.0.0": + "integrity" "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "resolved" "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" + "version" "2.0.0" + +"reserved-words@^0.1.2": + "integrity" "sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE=" + "resolved" "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz" + "version" "0.1.2" + +"resolve-alpn@^1.0.0": + "integrity" "sha512-rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA==" + "resolved" "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.0.0.tgz" + "version" "1.0.0" + +"resolve-dir@^1.0.0": + "integrity" "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=" + "resolved" "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz" + "version" "1.0.1" dependencies: - path-parse "^1.0.6" + "expand-tilde" "^2.0.0" + "global-modules" "^1.0.0" -responselike@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= +"resolve-from@^3.0.0": + "integrity" "sha1-six699nWiBvItuZTM17rywoYh0g=" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz" + "version" "3.0.0" + +"resolve-url@^0.2.1": + "integrity" "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + "resolved" "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" + "version" "0.2.1" + +"resolve@^1.10.0": + "integrity" "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==" + "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz" + "version" "1.17.0" dependencies: - lowercase-keys "^1.0.0" + "path-parse" "^1.0.6" -responselike@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" - integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== +"resolve@^1.4.0", "resolve@^1.5.0": + "integrity" "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==" + "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz" + "version" "1.10.0" dependencies: - lowercase-keys "^2.0.0" + "path-parse" "^1.0.6" -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== +"responselike@^1.0.2": + "integrity" "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=" + "resolved" "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" + "version" "1.0.2" dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" + "lowercase-keys" "^1.0.0" -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rgb-regex@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" - integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= - -rgba-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" - integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= - -rimraf@2, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== +"responselike@^2.0.0": + "integrity" "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==" + "resolved" "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz" + "version" "2.0.0" dependencies: - glob "^7.1.3" + "lowercase-keys" "^2.0.0" -rimraf@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== +"restore-cursor@^3.1.0": + "integrity" "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" + "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" + "version" "3.1.0" dependencies: - glob "^7.1.3" + "onetime" "^5.1.0" + "signal-exit" "^3.0.2" -roarr@^2.15.3: - version "2.15.4" - resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz#f5fe795b7b838ccfe35dc608e0282b9eba2e7afd" - integrity sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A== +"ret@~0.1.10": + "integrity" "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + "resolved" "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" + "version" "0.1.15" + +"reusify@^1.0.4": + "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + "version" "1.0.4" + +"rgb-regex@^1.0.1": + "integrity" "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" + "resolved" "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz" + "version" "1.0.1" + +"rgba-regex@^1.0.0": + "integrity" "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" + "resolved" "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz" + "version" "1.0.0" + +"rimraf@^2.6.3", "rimraf@2": + "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" + "version" "2.7.1" dependencies: - boolean "^3.0.1" - detect-node "^2.0.4" - globalthis "^1.0.1" - json-stringify-safe "^5.0.1" - semver-compare "^1.0.0" - sprintf-js "^1.1.2" + "glob" "^7.1.3" -rollup-plugin-buble@^0.19.2: - version "0.19.6" - resolved "https://registry.yarnpkg.com/rollup-plugin-buble/-/rollup-plugin-buble-0.19.6.tgz#55ee0995d8870d536f01f4277c3eef4276e8747e" - integrity sha512-El5Fut4/wEO17ZN/n9BZvqd7DXXB2WbJr/DKvr89LXChC/cHllE0XwiUDeAalrTkgr0WrnyLDTCQvEv+cGywWQ== +"rimraf@^3.0.0": + "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + "version" "3.0.2" dependencies: - buble "^0.19.6" - rollup-pluginutils "^2.3.3" + "glob" "^7.1.3" -rollup-plugin-commonjs@^8.3.0: - version "8.4.1" - resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.4.1.tgz#5c9cea2b2c3de322f5fbccd147e07ed5e502d7a0" - integrity sha512-mg+WuD+jlwoo8bJtW3Mvx7Tz6TsIdMsdhuvCnDMoyjh0oxsVgsjB/N0X984RJCWwc5IIiqNVJhXeeITcc73++A== +"roarr@^2.15.3": + "integrity" "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==" + "resolved" "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz" + "version" "2.15.4" dependencies: - acorn "^5.2.1" - estree-walker "^0.5.0" - magic-string "^0.22.4" - resolve "^1.4.0" - rollup-pluginutils "^2.0.1" + "boolean" "^3.0.1" + "detect-node" "^2.0.4" + "globalthis" "^1.0.1" + "json-stringify-safe" "^5.0.1" + "semver-compare" "^1.0.0" + "sprintf-js" "^1.1.2" -rollup-plugin-multi-entry@^2.0.2: - version "2.1.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-multi-entry/-/rollup-plugin-multi-entry-2.1.0.tgz#64a7287adfd437cab33bf6364a8d8ab1e7a7725d" - integrity sha512-YVVsI15uvbxMKdeYS5NXQa5zbVr/DYdDBBwseC80+KAc7mqDUjM6Qe4wl+jFucVw1yvBDZFk0PPSBZqoLq8xUA== +"rollup-plugin-buble@^0.19.2": + "integrity" "sha512-El5Fut4/wEO17ZN/n9BZvqd7DXXB2WbJr/DKvr89LXChC/cHllE0XwiUDeAalrTkgr0WrnyLDTCQvEv+cGywWQ==" + "resolved" "https://registry.npmjs.org/rollup-plugin-buble/-/rollup-plugin-buble-0.19.6.tgz" + "version" "0.19.6" dependencies: - matched "^1.0.2" + "buble" "^0.19.6" + "rollup-pluginutils" "^2.3.3" -rollup-plugin-node-resolve@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-4.0.1.tgz#f95765d174e5daeef9ea6268566141f53aa9d422" - integrity sha512-fSS7YDuCe0gYqKsr5OvxMloeZYUSgN43Ypi1WeRZzQcWtHgFayV5tUSPYpxuaioIIWaBXl6NrVk0T2/sKwueLg== +"rollup-plugin-commonjs@^8.3.0": + "integrity" "sha512-mg+WuD+jlwoo8bJtW3Mvx7Tz6TsIdMsdhuvCnDMoyjh0oxsVgsjB/N0X984RJCWwc5IIiqNVJhXeeITcc73++A==" + "resolved" "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.4.1.tgz" + "version" "8.4.1" dependencies: - builtin-modules "^3.0.0" - is-module "^1.0.0" - resolve "^1.10.0" + "acorn" "^5.2.1" + "estree-walker" "^0.5.0" + "magic-string" "^0.22.4" + "resolve" "^1.4.0" + "rollup-pluginutils" "^2.0.1" -rollup-plugin-postcss@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/rollup-plugin-postcss/-/rollup-plugin-postcss-2.0.3.tgz#1fd5b7e1fc7545cb0084d9c99d11b259e41a05e6" - integrity sha512-d12oKl6za/GGXmlytzVPzzTdPCKgti/Kq2kNhtfm5vv9hkNbyrTvizMBm6zZ5rRWX/sIWl3znjIJ8xy6Hofoeg== +"rollup-plugin-multi-entry@^2.0.2": + "integrity" "sha512-YVVsI15uvbxMKdeYS5NXQa5zbVr/DYdDBBwseC80+KAc7mqDUjM6Qe4wl+jFucVw1yvBDZFk0PPSBZqoLq8xUA==" + "resolved" "https://registry.npmjs.org/rollup-plugin-multi-entry/-/rollup-plugin-multi-entry-2.1.0.tgz" + "version" "2.1.0" dependencies: - chalk "^2.4.2" - concat-with-sourcemaps "^1.0.5" - cssnano "^4.1.8" - import-cwd "^2.1.0" - p-queue "^2.4.2" - pify "^3.0.0" - postcss "^7.0.14" - postcss-load-config "^2.0.0" - postcss-modules "^1.4.1" - promise.series "^0.2.0" - reserved-words "^0.1.2" - resolve "^1.5.0" - rollup-pluginutils "^2.0.1" - style-inject "^0.3.0" + "matched" "^1.0.2" -rollup-plugin-terser@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-4.0.4.tgz#6f661ef284fa7c27963d242601691dc3d23f994e" - integrity sha512-wPANT5XKVJJ8RDUN0+wIr7UPd0lIXBo4UdJ59VmlPCtlFsE20AM+14pe+tk7YunCsWEiuzkDBY3QIkSCjtrPXg== +"rollup-plugin-node-resolve@^4.0.1": + "integrity" "sha512-fSS7YDuCe0gYqKsr5OvxMloeZYUSgN43Ypi1WeRZzQcWtHgFayV5tUSPYpxuaioIIWaBXl6NrVk0T2/sKwueLg==" + "resolved" "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "builtin-modules" "^3.0.0" + "is-module" "^1.0.0" + "resolve" "^1.10.0" + +"rollup-plugin-postcss@^2.0.3": + "integrity" "sha512-d12oKl6za/GGXmlytzVPzzTdPCKgti/Kq2kNhtfm5vv9hkNbyrTvizMBm6zZ5rRWX/sIWl3znjIJ8xy6Hofoeg==" + "resolved" "https://registry.npmjs.org/rollup-plugin-postcss/-/rollup-plugin-postcss-2.0.3.tgz" + "version" "2.0.3" + dependencies: + "chalk" "^2.4.2" + "concat-with-sourcemaps" "^1.0.5" + "cssnano" "^4.1.8" + "import-cwd" "^2.1.0" + "p-queue" "^2.4.2" + "pify" "^3.0.0" + "postcss" "^7.0.14" + "postcss-load-config" "^2.0.0" + "postcss-modules" "^1.4.1" + "promise.series" "^0.2.0" + "reserved-words" "^0.1.2" + "resolve" "^1.5.0" + "rollup-pluginutils" "^2.0.1" + "style-inject" "^0.3.0" + +"rollup-plugin-terser@^4.0.4": + "integrity" "sha512-wPANT5XKVJJ8RDUN0+wIr7UPd0lIXBo4UdJ59VmlPCtlFsE20AM+14pe+tk7YunCsWEiuzkDBY3QIkSCjtrPXg==" + "resolved" "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-4.0.4.tgz" + "version" "4.0.4" dependencies: "@babel/code-frame" "^7.0.0" - jest-worker "^24.0.0" - serialize-javascript "^1.6.1" - terser "^3.14.1" + "jest-worker" "^24.0.0" + "serialize-javascript" "^1.6.1" + "terser" "^3.14.1" -rollup-plugin-vue@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-vue/-/rollup-plugin-vue-4.2.0.tgz#83cf392c5e929c34d5f4992e75c2ed32aa600c09" - integrity sha512-n8NDvhYtA9HC3hRyLNAV+0Ei4FHlaOB8LoiXxVwYclgHxOR4aku57zIw8EPf+ETSf45w49UP4VUXgpX6XNwdOA== +"rollup-plugin-vue@4.2.0": + "integrity" "sha512-n8NDvhYtA9HC3hRyLNAV+0Ei4FHlaOB8LoiXxVwYclgHxOR4aku57zIw8EPf+ETSf45w49UP4VUXgpX6XNwdOA==" + "resolved" "https://registry.npmjs.org/rollup-plugin-vue/-/rollup-plugin-vue-4.2.0.tgz" + "version" "4.2.0" dependencies: "@babel/runtime" "^7.0.0-beta.46" "@vue/component-compiler" "^3.3.2" "@vue/component-compiler-utils" "^1.2.1" - debug "^2.6.0" - hash-sum "^1.0.2" - postcss "^6.0.22" - querystring "^0.2.0" - rollup-pluginutils "^2.0.1" + "debug" "^2.6.0" + "hash-sum" "^1.0.2" + "postcss" "^6.0.22" + "querystring" "^0.2.0" + "rollup-pluginutils" "^2.0.1" -rollup-pluginutils@^2.0.1, rollup-pluginutils@^2.3.3: - version "2.4.1" - resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.4.1.tgz#de43ab54965bbf47843599a7f3adceb723de38db" - integrity sha512-wesMQ9/172IJDIW/lYWm0vW0LiKe5Ekjws481R7z9WTRtmO59cqyM/2uUlxvf6yzm/fElFmHUobeQOYz46dZJw== +"rollup-pluginutils@^2.0.1", "rollup-pluginutils@^2.3.3": + "integrity" "sha512-wesMQ9/172IJDIW/lYWm0vW0LiKe5Ekjws481R7z9WTRtmO59cqyM/2uUlxvf6yzm/fElFmHUobeQOYz46dZJw==" + "resolved" "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.4.1.tgz" + "version" "2.4.1" dependencies: - estree-walker "^0.6.0" - micromatch "^3.1.10" + "estree-walker" "^0.6.0" + "micromatch" "^3.1.10" -rollup@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.4.1.tgz#cc03ef6fb49dd72a878e3da0131c0a3696de14a7" - integrity sha512-YWf5zeR6SWtqZmCnuYs4a+ZJetj8NT4yfBMPXekWHW4L3144jM+J2AWagQVejB0FwCqjEUP9l8o4hg1rPDfQlg== +"rollup@^1.2.2", "rollup@>=0.66.0 <2": + "integrity" "sha512-YWf5zeR6SWtqZmCnuYs4a+ZJetj8NT4yfBMPXekWHW4L3144jM+J2AWagQVejB0FwCqjEUP9l8o4hg1rPDfQlg==" + "resolved" "https://registry.npmjs.org/rollup/-/rollup-1.4.1.tgz" + "version" "1.4.1" dependencies: "@types/estree" "0.0.39" "@types/node" "^11.9.5" - acorn "^6.1.1" + "acorn" "^6.1.1" -run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== +"run-async@^2.4.0": + "integrity" "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" + "resolved" "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" + "version" "2.4.1" -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== +"run-parallel@^1.1.9": + "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" + "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + "version" "1.2.0" dependencies: - queue-microtask "^1.2.2" + "queue-microtask" "^1.2.2" -rxjs@^6.6.0: - version "6.6.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" - integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== +"rxjs@^6.6.0": + "integrity" "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==" + "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz" + "version" "6.6.3" dependencies: - tslib "^1.9.0" + "tslib" "^1.9.0" -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== +"safe-buffer@^5.0.1": + "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + "version" "5.2.1" -safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +"safe-buffer@^5.1.2": + "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + "version" "5.2.1" -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= +"safe-buffer@~5.1.0", "safe-buffer@~5.1.1", "safe-buffer@5.1.2": + "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + "version" "5.1.2" + +"safe-buffer@~5.2.0": + "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + "version" "5.2.1" + +"safe-regex@^1.1.0": + "integrity" "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=" + "resolved" "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" + "version" "1.1.0" dependencies: - ret "~0.1.10" + "ret" "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +"safer-buffer@^2.0.2", "safer-buffer@^2.1.0", "safer-buffer@>= 2.1.2 < 3", "safer-buffer@~2.1.0": + "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + "version" "2.1.2" -sass-graph@2.2.5: - version "2.2.5" - resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8" - integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag== +"sass-graph@2.2.5": + "integrity" "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==" + "resolved" "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz" + "version" "2.2.5" dependencies: - glob "^7.0.0" - lodash "^4.0.0" - scss-tokenizer "^0.2.3" - yargs "^13.3.2" + "glob" "^7.0.0" + "lodash" "^4.0.0" + "scss-tokenizer" "^0.2.3" + "yargs" "^13.3.2" -sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== +"sax@^1.2.4", "sax@>=0.6.0", "sax@~1.2.4": + "integrity" "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "resolved" "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" + "version" "1.2.4" -scss-tokenizer@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" - integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE= +"scss-tokenizer@^0.2.3": + "integrity" "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=" + "resolved" "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz" + "version" "0.2.3" dependencies: - js-base64 "^2.1.8" - source-map "^0.4.2" + "js-base64" "^2.1.8" + "source-map" "^0.4.2" -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= +"semver-compare@^1.0.0": + "integrity" "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" + "resolved" "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz" + "version" "1.0.0" -semver-diff@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" - integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== +"semver-diff@^3.1.1": + "integrity" "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==" + "resolved" "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" + "version" "3.1.1" dependencies: - semver "^6.3.0" + "semver" "^6.3.0" -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0, semver@^5.5.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== +"semver@^5.3.0": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" -semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +"semver@^5.5.0": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" -semver@^7.0.0, semver@^7.3.2, semver@^7.3.4: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== +"semver@^5.5.1": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"semver@^6.0.0", "semver@^6.1.2", "semver@^6.2.0", "semver@^6.3.0": + "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + "version" "6.3.0" + +"semver@^7.0.0": + "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" + "version" "7.3.5" dependencies: - lru-cache "^6.0.0" + "lru-cache" "^6.0.0" -semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= - -send@0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== +"semver@^7.3.2": + "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" + "version" "7.3.5" dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.7.2" - mime "1.6.0" - ms "2.1.1" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" + "lru-cache" "^6.0.0" -serialize-error@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz#f1360b0447f61ffb483ec4157c737fab7d778e18" - integrity sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw== +"semver@^7.3.4": + "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" + "version" "7.3.5" dependencies: - type-fest "^0.13.1" + "lru-cache" "^6.0.0" -serialize-javascript@^1.6.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" - integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA== +"semver@~5.3.0": + "integrity" "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz" + "version" "5.3.0" -serve-static@1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== +"semver@2 || 3 || 4 || 5": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"send@0.17.1": + "integrity" "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==" + "resolved" "https://registry.npmjs.org/send/-/send-0.17.1.tgz" + "version" "0.17.1" dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.1" + "debug" "2.6.9" + "depd" "~1.1.2" + "destroy" "~1.0.4" + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "etag" "~1.8.1" + "fresh" "0.5.2" + "http-errors" "~1.7.2" + "mime" "1.6.0" + "ms" "2.1.1" + "on-finished" "~2.3.0" + "range-parser" "~1.2.1" + "statuses" "~1.5.0" -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-immediate-shim@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - integrity sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E= - -set-value@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" - integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= +"serialize-error@^7.0.1": + "integrity" "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==" + "resolved" "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz" + "version" "7.0.1" dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.1" - to-object-path "^0.3.0" + "type-fest" "^0.13.1" -set-value@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" - integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== +"serialize-javascript@^1.6.1": + "integrity" "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==" + "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz" + "version" "1.9.1" + +"serve-static@1.14.1": + "integrity" "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==" + "resolved" "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz" + "version" "1.14.1" dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "parseurl" "~1.3.3" + "send" "0.17.1" -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== +"set-blocking@^2.0.0", "set-blocking@~2.0.0": + "integrity" "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "resolved" "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + "version" "2.0.0" -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= +"set-immediate-shim@~1.0.1": + "integrity" "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" + "resolved" "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz" + "version" "1.0.1" + +"set-value@^2.0.0", "set-value@^2.0.1": + "integrity" "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==" + "resolved" "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" + "version" "2.0.1" dependencies: - shebang-regex "^1.0.0" + "extend-shallow" "^2.0.1" + "is-extendable" "^0.1.1" + "is-plain-object" "^2.0.3" + "split-string" "^3.0.1" -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= +"setprototypeof@1.1.1": + "integrity" "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz" + "version" "1.1.1" -should-equal@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/should-equal/-/should-equal-2.0.0.tgz#6072cf83047360867e68e98b09d71143d04ee0c3" - integrity sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA== +"shebang-command@^1.2.0": + "integrity" "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=" + "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" + "version" "1.2.0" dependencies: - should-type "^1.4.0" + "shebang-regex" "^1.0.0" -should-format@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/should-format/-/should-format-3.0.3.tgz#9bfc8f74fa39205c53d38c34d717303e277124f1" - integrity sha1-m/yPdPo5IFxT04w01xcwPidxJPE= +"shebang-regex@^1.0.0": + "integrity" "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" + "version" "1.0.0" + +"should-equal@^2.0.0": + "integrity" "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==" + "resolved" "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz" + "version" "2.0.0" dependencies: - should-type "^1.3.0" - should-type-adaptors "^1.0.1" + "should-type" "^1.4.0" -should-type-adaptors@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz#401e7f33b5533033944d5cd8bf2b65027792e27a" - integrity sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA== +"should-format@^3.0.3": + "integrity" "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=" + "resolved" "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz" + "version" "3.0.3" dependencies: - should-type "^1.3.0" - should-util "^1.0.0" + "should-type" "^1.3.0" + "should-type-adaptors" "^1.0.1" -should-type@^1.3.0, should-type@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/should-type/-/should-type-1.4.0.tgz#0756d8ce846dfd09843a6947719dfa0d4cff5cf3" - integrity sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM= - -should-util@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/should-util/-/should-util-1.0.1.tgz#fb0d71338f532a3a149213639e2d32cbea8bcb28" - integrity sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g== - -should@^13.2.3: - version "13.2.3" - resolved "https://registry.yarnpkg.com/should/-/should-13.2.3.tgz#96d8e5acf3e97b49d89b51feaa5ae8d07ef58f10" - integrity sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ== +"should-type-adaptors@^1.0.1": + "integrity" "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==" + "resolved" "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz" + "version" "1.1.0" dependencies: - should-equal "^2.0.0" - should-format "^3.0.3" - should-type "^1.4.0" - should-type-adaptors "^1.0.1" - should-util "^1.0.0" + "should-type" "^1.3.0" + "should-util" "^1.0.0" -showdown@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/showdown/-/showdown-1.9.1.tgz#134e148e75cd4623e09c21b0511977d79b5ad0ef" - integrity sha512-9cGuS382HcvExtf5AHk7Cb4pAeQQ+h0eTr33V1mu+crYWV4KvWAw6el92bDrqGEk5d46Ai/fhbEUwqJ/mTCNEA== +"should-type@^1.3.0", "should-type@^1.4.0": + "integrity" "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=" + "resolved" "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz" + "version" "1.4.0" + +"should-util@^1.0.0": + "integrity" "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==" + "resolved" "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz" + "version" "1.0.1" + +"should@^13.2.3": + "integrity" "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==" + "resolved" "https://registry.npmjs.org/should/-/should-13.2.3.tgz" + "version" "13.2.3" dependencies: - yargs "^14.2" + "should-equal" "^2.0.0" + "should-format" "^3.0.3" + "should-type" "^1.4.0" + "should-type-adaptors" "^1.0.1" + "should-util" "^1.0.0" -side-channel@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.2.tgz#df5d1abadb4e4bf4af1cd8852bf132d2f7876947" - integrity sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA== +"showdown@^1.9.1": + "integrity" "sha512-9cGuS382HcvExtf5AHk7Cb4pAeQQ+h0eTr33V1mu+crYWV4KvWAw6el92bDrqGEk5d46Ai/fhbEUwqJ/mTCNEA==" + "resolved" "https://registry.npmjs.org/showdown/-/showdown-1.9.1.tgz" + "version" "1.9.1" dependencies: - es-abstract "^1.17.0-next.1" - object-inspect "^1.7.0" + "yargs" "^14.2" -signal-exit@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= +"side-channel@^1.0.2": + "integrity" "sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA==" + "resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.2.tgz" + "version" "1.0.2" dependencies: - is-arrayish "^0.3.1" + "es-abstract" "^1.17.0-next.1" + "object-inspect" "^1.7.0" -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== +"signal-exit@^3.0.0": + "integrity" "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" + "version" "3.0.3" + +"signal-exit@^3.0.2": + "integrity" "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz" + "version" "3.0.2" + +"simple-swizzle@^0.2.2": + "integrity" "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=" + "resolved" "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" + "version" "0.2.2" dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" + "is-arrayish" "^0.3.1" -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== +"snapdragon-node@^2.0.1": + "integrity" "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==" + "resolved" "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" + "version" "2.1.1" dependencies: - kind-of "^3.2.0" + "define-property" "^1.0.0" + "isobject" "^3.0.0" + "snapdragon-util" "^3.0.1" -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== +"snapdragon-util@^3.0.1": + "integrity" "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==" + "resolved" "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" + "version" "3.0.1" dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" + "kind-of" "^3.2.0" -snyk-config@4.0.0, snyk-config@^4.0.0-rc.2: - version "4.0.0" - resolved "https://registry.yarnpkg.com/snyk-config/-/snyk-config-4.0.0.tgz#21d459f19087991246cc07a7ffb4501dce6f4159" - integrity sha512-E6jNe0oUjjzVASWBOAc/mA23DhbzABDF9MI6UZvl0gylh2NSXSXw2/LjlqMNOKL2c1qkbSkzLOdIX5XACoLCAQ== +"snapdragon@^0.8.1": + "integrity" "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==" + "resolved" "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" + "version" "0.8.2" dependencies: - async "^3.2.0" - debug "^4.1.1" - lodash.merge "^4.6.2" - minimist "^1.2.5" + "base" "^0.11.1" + "debug" "^2.2.0" + "define-property" "^0.2.5" + "extend-shallow" "^2.0.1" + "map-cache" "^0.2.2" + "source-map" "^0.5.6" + "source-map-resolve" "^0.5.0" + "use" "^3.1.0" -snyk-cpp-plugin@2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/snyk-cpp-plugin/-/snyk-cpp-plugin-2.2.1.tgz#55891511a43a6448e5a7c836a94f66f70fa705eb" - integrity sha512-NFwVLMCqKTocY66gcim0ukF6e31VRDJqDapg5sy3vCHqlD1OCNUXSK/aI4VQEEndDrsnFmQepsL5KpEU0dDRIQ== +"snyk-config@^4.0.0-rc.2", "snyk-config@4.0.0": + "integrity" "sha512-E6jNe0oUjjzVASWBOAc/mA23DhbzABDF9MI6UZvl0gylh2NSXSXw2/LjlqMNOKL2c1qkbSkzLOdIX5XACoLCAQ==" + "resolved" "https://registry.npmjs.org/snyk-config/-/snyk-config-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "async" "^3.2.0" + "debug" "^4.1.1" + "lodash.merge" "^4.6.2" + "minimist" "^1.2.5" + +"snyk-cpp-plugin@2.2.1": + "integrity" "sha512-NFwVLMCqKTocY66gcim0ukF6e31VRDJqDapg5sy3vCHqlD1OCNUXSK/aI4VQEEndDrsnFmQepsL5KpEU0dDRIQ==" + "resolved" "https://registry.npmjs.org/snyk-cpp-plugin/-/snyk-cpp-plugin-2.2.1.tgz" + "version" "2.2.1" dependencies: "@snyk/dep-graph" "^1.19.3" - chalk "^4.1.0" - debug "^4.1.1" - hosted-git-info "^3.0.7" - tslib "^2.0.0" + "chalk" "^4.1.0" + "debug" "^4.1.1" + "hosted-git-info" "^3.0.7" + "tslib" "^2.0.0" -snyk-docker-plugin@4.19.3: - version "4.19.3" - resolved "https://registry.yarnpkg.com/snyk-docker-plugin/-/snyk-docker-plugin-4.19.3.tgz#14569f25c52a3fc71a20f80f5beac4ccdc326c11" - integrity sha512-5WkXyT7uY5NrTOvEqxeMqb6dDcskT3c/gbHUTOyPuvE6tMut+OOYK8RRXbwZFeLzpS8asq4e1R7U7syYG3VXwg== +"snyk-docker-plugin@4.19.3": + "integrity" "sha512-5WkXyT7uY5NrTOvEqxeMqb6dDcskT3c/gbHUTOyPuvE6tMut+OOYK8RRXbwZFeLzpS8asq4e1R7U7syYG3VXwg==" + "resolved" "https://registry.npmjs.org/snyk-docker-plugin/-/snyk-docker-plugin-4.19.3.tgz" + "version" "4.19.3" dependencies: "@snyk/dep-graph" "^1.21.0" "@snyk/rpm-parser" "^2.0.0" "@snyk/snyk-docker-pull" "3.2.3" - chalk "^2.4.2" - debug "^4.1.1" - docker-modem "2.1.3" - dockerfile-ast "0.2.0" - elfy "^1.0.0" - event-loop-spinner "^2.0.0" - gunzip-maybe "^1.4.2" - mkdirp "^1.0.4" - semver "^7.3.4" - snyk-nodejs-lockfile-parser "1.30.2" - tar-stream "^2.1.0" - tmp "^0.2.1" - tslib "^1" - uuid "^8.2.0" + "chalk" "^2.4.2" + "debug" "^4.1.1" + "docker-modem" "2.1.3" + "dockerfile-ast" "0.2.0" + "elfy" "^1.0.0" + "event-loop-spinner" "^2.0.0" + "gunzip-maybe" "^1.4.2" + "mkdirp" "^1.0.4" + "semver" "^7.3.4" + "snyk-nodejs-lockfile-parser" "1.30.2" + "tar-stream" "^2.1.0" + "tmp" "^0.2.1" + "tslib" "^1" + "uuid" "^8.2.0" -snyk-go-parser@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/snyk-go-parser/-/snyk-go-parser-1.4.1.tgz#df16a5fbd7a517ee757268ef081abc33506c8857" - integrity sha512-StU3uHB85VMEkcgXta63M0Fgd+9cs5sMCjQXTBoYTdE4dxarPn7U67yCuwkRRdZdny1ZXtzfY8LKns9i0+dy9w== +"snyk-go-parser@1.4.1": + "integrity" "sha512-StU3uHB85VMEkcgXta63M0Fgd+9cs5sMCjQXTBoYTdE4dxarPn7U67yCuwkRRdZdny1ZXtzfY8LKns9i0+dy9w==" + "resolved" "https://registry.npmjs.org/snyk-go-parser/-/snyk-go-parser-1.4.1.tgz" + "version" "1.4.1" dependencies: - toml "^3.0.0" - tslib "^1.10.0" + "toml" "^3.0.0" + "tslib" "^1.10.0" -snyk-go-plugin@1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/snyk-go-plugin/-/snyk-go-plugin-1.17.0.tgz#56d0c92d7def29ba4c3c2030c5830093e3b0dd26" - integrity sha512-1jAYPRgMapO2BYL+HWsUq5gsAiDGmI0Pn7omc0lk24tcUOMhUB+1hb0u9WBMNzHvXBjevBkjOctjpnt2hMKN6Q== +"snyk-go-plugin@1.17.0": + "integrity" "sha512-1jAYPRgMapO2BYL+HWsUq5gsAiDGmI0Pn7omc0lk24tcUOMhUB+1hb0u9WBMNzHvXBjevBkjOctjpnt2hMKN6Q==" + "resolved" "https://registry.npmjs.org/snyk-go-plugin/-/snyk-go-plugin-1.17.0.tgz" + "version" "1.17.0" dependencies: "@snyk/dep-graph" "^1.23.1" "@snyk/graphlib" "2.1.9-patch.3" - debug "^4.1.1" - snyk-go-parser "1.4.1" - tmp "0.2.1" - tslib "^1.10.0" + "debug" "^4.1.1" + "snyk-go-parser" "1.4.1" + "tmp" "0.2.1" + "tslib" "^1.10.0" -snyk-gradle-plugin@3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/snyk-gradle-plugin/-/snyk-gradle-plugin-3.14.0.tgz#26c9833c97ef50e83b022b2e3077a9056f8674e1" - integrity sha512-2A8ifM91TyzSx/U2fYvHXbaCRVsEx60hGFQjbSH9Hl9AokxEzMi2qti7wsObs1jUX2m198D1mdXu4k/Y1jWxXg== +"snyk-gradle-plugin@3.14.0": + "integrity" "sha512-2A8ifM91TyzSx/U2fYvHXbaCRVsEx60hGFQjbSH9Hl9AokxEzMi2qti7wsObs1jUX2m198D1mdXu4k/Y1jWxXg==" + "resolved" "https://registry.npmjs.org/snyk-gradle-plugin/-/snyk-gradle-plugin-3.14.0.tgz" + "version" "3.14.0" dependencies: "@snyk/cli-interface" "2.11.0" "@snyk/dep-graph" "^1.28.0" "@snyk/java-call-graph-builder" "1.20.0" "@types/debug" "^4.1.4" - chalk "^3.0.0" - debug "^4.1.1" - tmp "0.2.1" - tslib "^2.0.0" + "chalk" "^3.0.0" + "debug" "^4.1.1" + "tmp" "0.2.1" + "tslib" "^2.0.0" -snyk-module@3.1.0, snyk-module@^3.0.0, snyk-module@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/snyk-module/-/snyk-module-3.1.0.tgz#3e088ff473ddf0d4e253a46ea6749d76d8e6e7ba" - integrity sha512-HHuOYEAACpUpkFgU8HT57mmxmonaJ4O3YADoSkVhnhkmJ+AowqZyJOau703dYHNrq2DvQ7qYw81H7yyxS1Nfjw== +"snyk-module@^3.0.0", "snyk-module@^3.1.0", "snyk-module@3.1.0": + "integrity" "sha512-HHuOYEAACpUpkFgU8HT57mmxmonaJ4O3YADoSkVhnhkmJ+AowqZyJOau703dYHNrq2DvQ7qYw81H7yyxS1Nfjw==" + "resolved" "https://registry.npmjs.org/snyk-module/-/snyk-module-3.1.0.tgz" + "version" "3.1.0" dependencies: - debug "^4.1.1" - hosted-git-info "^3.0.4" + "debug" "^4.1.1" + "hosted-git-info" "^3.0.4" -snyk-mvn-plugin@2.25.3: - version "2.25.3" - resolved "https://registry.yarnpkg.com/snyk-mvn-plugin/-/snyk-mvn-plugin-2.25.3.tgz#fb7f6fa1d565b9f07c032e8b34e6308c310b2a27" - integrity sha512-JAxOThX51JDbgMMjp3gQDVi07G9VgTYSF06QC7f5LNA0zoXNr743e2rm78RGw5bqE3JRjZxEghiLHPPuvS5DDg== +"snyk-mvn-plugin@2.25.3": + "integrity" "sha512-JAxOThX51JDbgMMjp3gQDVi07G9VgTYSF06QC7f5LNA0zoXNr743e2rm78RGw5bqE3JRjZxEghiLHPPuvS5DDg==" + "resolved" "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.25.3.tgz" + "version" "2.25.3" dependencies: "@snyk/cli-interface" "2.11.0" "@snyk/dep-graph" "^1.23.1" "@snyk/java-call-graph-builder" "1.19.1" - debug "^4.1.1" - glob "^7.1.6" - needle "^2.5.0" - tmp "^0.1.0" - tslib "1.11.1" + "debug" "^4.1.1" + "glob" "^7.1.6" + "needle" "^2.5.0" + "tmp" "^0.1.0" + "tslib" "1.11.1" -snyk-nodejs-lockfile-parser@1.30.2: - version "1.30.2" - resolved "https://registry.yarnpkg.com/snyk-nodejs-lockfile-parser/-/snyk-nodejs-lockfile-parser-1.30.2.tgz#8dbb64c42382aeaf4488c36e48c1e48eb75a1584" - integrity sha512-wI3VXVYO/ok0uaQm5i+Koo4rKBNilYC/QRIQFlyGbZXf+WBdRcTBKVDfTy8uNfUhMRSGzd84lNclMnetU9Y+vw== +"snyk-nodejs-lockfile-parser@1.30.2": + "integrity" "sha512-wI3VXVYO/ok0uaQm5i+Koo4rKBNilYC/QRIQFlyGbZXf+WBdRcTBKVDfTy8uNfUhMRSGzd84lNclMnetU9Y+vw==" + "resolved" "https://registry.npmjs.org/snyk-nodejs-lockfile-parser/-/snyk-nodejs-lockfile-parser-1.30.2.tgz" + "version" "1.30.2" dependencies: "@snyk/graphlib" "2.1.9-patch.3" "@yarnpkg/lockfile" "^1.1.0" - event-loop-spinner "^2.0.0" - got "11.4.0" - lodash.clonedeep "^4.5.0" - lodash.flatmap "^4.5.0" - lodash.isempty "^4.4.0" - lodash.set "^4.3.2" - lodash.topairs "^4.3.0" - p-map "2.1.0" - snyk-config "^4.0.0-rc.2" - tslib "^1.9.3" - uuid "^8.3.0" - yaml "^1.9.2" + "event-loop-spinner" "^2.0.0" + "got" "11.4.0" + "lodash.clonedeep" "^4.5.0" + "lodash.flatmap" "^4.5.0" + "lodash.isempty" "^4.4.0" + "lodash.set" "^4.3.2" + "lodash.topairs" "^4.3.0" + "p-map" "2.1.0" + "snyk-config" "^4.0.0-rc.2" + "tslib" "^1.9.3" + "uuid" "^8.3.0" + "yaml" "^1.9.2" -snyk-nodejs-lockfile-parser@1.31.1: - version "1.31.1" - resolved "https://registry.yarnpkg.com/snyk-nodejs-lockfile-parser/-/snyk-nodejs-lockfile-parser-1.31.1.tgz#badd9fbf8f58f0bd090e5378997cbe4548033664" - integrity sha512-MU1V2zS5ziLGMUL6PXxPvJuZ281wvawjQQ1c8TW697Jjkhd8hPZcW4IzMu52ok0zsmQcVZh8sVniBEHIePCfLQ== +"snyk-nodejs-lockfile-parser@1.31.1": + "integrity" "sha512-MU1V2zS5ziLGMUL6PXxPvJuZ281wvawjQQ1c8TW697Jjkhd8hPZcW4IzMu52ok0zsmQcVZh8sVniBEHIePCfLQ==" + "resolved" "https://registry.npmjs.org/snyk-nodejs-lockfile-parser/-/snyk-nodejs-lockfile-parser-1.31.1.tgz" + "version" "1.31.1" dependencies: "@snyk/graphlib" "2.1.9-patch.3" "@yarnpkg/lockfile" "^1.1.0" - event-loop-spinner "^2.0.0" - got "11.4.0" - lodash.clonedeep "^4.5.0" - lodash.flatmap "^4.5.0" - lodash.isempty "^4.4.0" - lodash.set "^4.3.2" - lodash.topairs "^4.3.0" - p-map "2.1.0" - snyk-config "^4.0.0-rc.2" - tslib "^1.9.3" - uuid "^8.3.0" - yaml "^1.9.2" + "event-loop-spinner" "^2.0.0" + "got" "11.4.0" + "lodash.clonedeep" "^4.5.0" + "lodash.flatmap" "^4.5.0" + "lodash.isempty" "^4.4.0" + "lodash.set" "^4.3.2" + "lodash.topairs" "^4.3.0" + "p-map" "2.1.0" + "snyk-config" "^4.0.0-rc.2" + "tslib" "^1.9.3" + "uuid" "^8.3.0" + "yaml" "^1.9.2" -snyk-nuget-plugin@1.21.0: - version "1.21.0" - resolved "https://registry.yarnpkg.com/snyk-nuget-plugin/-/snyk-nuget-plugin-1.21.0.tgz#d9d3976cf0b4572ae97c47f758f84fc43040216f" - integrity sha512-c/JYF3sZzMN/lYz171zrEkVcPqDVcUTVgKIKHiL8nhhuFKxZQ1gzqOgk+lnfN31TLoTNQsZ3DhW/WY+4zEALvw== +"snyk-nuget-plugin@1.21.0": + "integrity" "sha512-c/JYF3sZzMN/lYz171zrEkVcPqDVcUTVgKIKHiL8nhhuFKxZQ1gzqOgk+lnfN31TLoTNQsZ3DhW/WY+4zEALvw==" + "resolved" "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.21.0.tgz" + "version" "1.21.0" dependencies: - debug "^4.1.1" - dotnet-deps-parser "5.0.0" - jszip "3.4.0" - snyk-paket-parser "1.6.0" - tslib "^1.11.2" - xml2js "^0.4.17" + "debug" "^4.1.1" + "dotnet-deps-parser" "5.0.0" + "jszip" "3.4.0" + "snyk-paket-parser" "1.6.0" + "tslib" "^1.11.2" + "xml2js" "^0.4.17" -snyk-paket-parser@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/snyk-paket-parser/-/snyk-paket-parser-1.6.0.tgz#f70c423b33d31484c8c4cae74bb7f5deb9bbc382" - integrity sha512-6htFynjBe/nakclEHUZ1A3j5Eu32/0pNve5Qm4MFn3YQmJgj7UcAO8hdyK3QfzEY29/kAv/rkJQg+SKshn+N9Q== +"snyk-paket-parser@1.6.0": + "integrity" "sha512-6htFynjBe/nakclEHUZ1A3j5Eu32/0pNve5Qm4MFn3YQmJgj7UcAO8hdyK3QfzEY29/kAv/rkJQg+SKshn+N9Q==" + "resolved" "https://registry.npmjs.org/snyk-paket-parser/-/snyk-paket-parser-1.6.0.tgz" + "version" "1.6.0" dependencies: - tslib "^1.9.3" + "tslib" "^1.9.3" -snyk-php-plugin@1.9.2: - version "1.9.2" - resolved "https://registry.yarnpkg.com/snyk-php-plugin/-/snyk-php-plugin-1.9.2.tgz#282ef733060aab49da23e1fb2d2dd1af8f71f7cd" - integrity sha512-IQcdsQBqqXVRY5DatlI7ASy4flbhtU2V7cr4P2rK9rkFnVHO6LHcitwKXVZa9ocdOmpZDzk7U6iwHJkVFcR6OA== +"snyk-php-plugin@1.9.2": + "integrity" "sha512-IQcdsQBqqXVRY5DatlI7ASy4flbhtU2V7cr4P2rK9rkFnVHO6LHcitwKXVZa9ocdOmpZDzk7U6iwHJkVFcR6OA==" + "resolved" "https://registry.npmjs.org/snyk-php-plugin/-/snyk-php-plugin-1.9.2.tgz" + "version" "1.9.2" dependencies: "@snyk/cli-interface" "^2.9.1" "@snyk/composer-lockfile-parser" "^1.4.1" - tslib "1.11.1" + "tslib" "1.11.1" -snyk-poetry-lockfile-parser@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/snyk-poetry-lockfile-parser/-/snyk-poetry-lockfile-parser-1.1.6.tgz#bab5a279c103cbcca8eb86ab87717b115592881e" - integrity sha512-MoekbWOZPj9umfukjk2bd2o3eRj0OyO+58sxq9crMtHmTlze4h0/Uj4+fb0JFPBOtBO3c2zwbA+dvFQmpKoOTA== +"snyk-poetry-lockfile-parser@^1.1.6": + "integrity" "sha512-MoekbWOZPj9umfukjk2bd2o3eRj0OyO+58sxq9crMtHmTlze4h0/Uj4+fb0JFPBOtBO3c2zwbA+dvFQmpKoOTA==" + "resolved" "https://registry.npmjs.org/snyk-poetry-lockfile-parser/-/snyk-poetry-lockfile-parser-1.1.6.tgz" + "version" "1.1.6" dependencies: "@snyk/cli-interface" "^2.9.2" "@snyk/dep-graph" "^1.23.0" - debug "^4.2.0" - toml "^3.0.0" - tslib "^2.0.0" + "debug" "^4.2.0" + "toml" "^3.0.0" + "tslib" "^2.0.0" -snyk-policy@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/snyk-policy/-/snyk-policy-1.19.0.tgz#0cbc442d9503970fb3afea938f57d57993a914ad" - integrity sha512-XYjhOTRPFA7NfDUsH6uH1fbML2OgSFsqdUPbud7x01urNP9CHXgUgAD4NhKMi3dVQK+7IdYadWt0wrFWw4y+qg== +"snyk-policy@1.19.0": + "integrity" "sha512-XYjhOTRPFA7NfDUsH6uH1fbML2OgSFsqdUPbud7x01urNP9CHXgUgAD4NhKMi3dVQK+7IdYadWt0wrFWw4y+qg==" + "resolved" "https://registry.npmjs.org/snyk-policy/-/snyk-policy-1.19.0.tgz" + "version" "1.19.0" dependencies: - debug "^4.1.1" - email-validator "^2.0.4" - js-yaml "^3.13.1" - lodash.clonedeep "^4.5.0" - promise-fs "^2.1.1" - semver "^6.0.0" - snyk-module "^3.0.0" - snyk-resolve "^1.1.0" - snyk-try-require "^2.0.0" + "debug" "^4.1.1" + "email-validator" "^2.0.4" + "js-yaml" "^3.13.1" + "lodash.clonedeep" "^4.5.0" + "promise-fs" "^2.1.1" + "semver" "^6.0.0" + "snyk-module" "^3.0.0" + "snyk-resolve" "^1.1.0" + "snyk-try-require" "^2.0.0" -snyk-python-plugin@1.19.7: - version "1.19.7" - resolved "https://registry.yarnpkg.com/snyk-python-plugin/-/snyk-python-plugin-1.19.7.tgz#d7e536694a481fd48e7d0cc8e7753c3f15a9c8be" - integrity sha512-twAGoIgJVSLVzMkuT/n5l9ZDvhMbWH7De6flWiHQB/grthfl3vJDzLCxiTa+6H/IEEYNSv6F/nSrfNh9UbW5/A== +"snyk-python-plugin@1.19.7": + "integrity" "sha512-twAGoIgJVSLVzMkuT/n5l9ZDvhMbWH7De6flWiHQB/grthfl3vJDzLCxiTa+6H/IEEYNSv6F/nSrfNh9UbW5/A==" + "resolved" "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.19.7.tgz" + "version" "1.19.7" dependencies: "@snyk/cli-interface" "^2.0.3" - snyk-poetry-lockfile-parser "^1.1.6" - tmp "0.0.33" + "snyk-poetry-lockfile-parser" "^1.1.6" + "tmp" "0.0.33" -snyk-resolve-deps@4.7.2: - version "4.7.2" - resolved "https://registry.yarnpkg.com/snyk-resolve-deps/-/snyk-resolve-deps-4.7.2.tgz#11e7051110dadd8756819594bb30e6b88777a8b4" - integrity sha512-Bmtr7QdRL2b3Js+mPDmvXbkprOpzO8aUFXqR0nJKAOlUVQqZ84yiuT0n/mssEiJJ0vP+k0kZvTeiTwgio4KZRg== +"snyk-resolve-deps@4.7.2": + "integrity" "sha512-Bmtr7QdRL2b3Js+mPDmvXbkprOpzO8aUFXqR0nJKAOlUVQqZ84yiuT0n/mssEiJJ0vP+k0kZvTeiTwgio4KZRg==" + "resolved" "https://registry.npmjs.org/snyk-resolve-deps/-/snyk-resolve-deps-4.7.2.tgz" + "version" "4.7.2" dependencies: - ansicolors "^0.3.2" - debug "^4.1.1" - lodash.assign "^4.2.0" - lodash.assignin "^4.2.0" - lodash.clone "^4.5.0" - lodash.flatten "^4.4.0" - lodash.get "^4.4.2" - lodash.set "^4.3.2" - lru-cache "^4.0.0" - semver "^5.5.1" - snyk-module "^3.1.0" - snyk-resolve "^1.0.0" - snyk-tree "^1.0.0" - snyk-try-require "^1.1.1" - then-fs "^2.0.0" + "ansicolors" "^0.3.2" + "debug" "^4.1.1" + "lodash.assign" "^4.2.0" + "lodash.assignin" "^4.2.0" + "lodash.clone" "^4.5.0" + "lodash.flatten" "^4.4.0" + "lodash.get" "^4.4.2" + "lodash.set" "^4.3.2" + "lru-cache" "^4.0.0" + "semver" "^5.5.1" + "snyk-module" "^3.1.0" + "snyk-resolve" "^1.0.0" + "snyk-tree" "^1.0.0" + "snyk-try-require" "^1.1.1" + "then-fs" "^2.0.0" -snyk-resolve@1.1.0, snyk-resolve@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/snyk-resolve/-/snyk-resolve-1.1.0.tgz#52740cb01ba477851086855f9857b3a44296ee0e" - integrity sha512-OZMF8I8TOu0S58Z/OS9mr8jkEzGAPByCsAkrWlcmZgPaE0RsxVKVIFPhbMNy/JlYswgGDYYIEsNw+e0j1FnTrw== +"snyk-resolve@^1.0.0": + "integrity" "sha512-7+i+LLhtBo1Pkth01xv+RYJU8a67zmJ8WFFPvSxyCjdlKIcsps4hPQFebhz+0gC5rMemlaeIV6cqwqUf9PEDpw==" + "resolved" "https://registry.npmjs.org/snyk-resolve/-/snyk-resolve-1.0.1.tgz" + "version" "1.0.1" dependencies: - debug "^4.1.1" - promise-fs "^2.1.1" + "debug" "^3.1.0" + "then-fs" "^2.0.0" -snyk-resolve@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/snyk-resolve/-/snyk-resolve-1.0.1.tgz#eaa4a275cf7e2b579f18da5b188fe601b8eed9ab" - integrity sha512-7+i+LLhtBo1Pkth01xv+RYJU8a67zmJ8WFFPvSxyCjdlKIcsps4hPQFebhz+0gC5rMemlaeIV6cqwqUf9PEDpw== +"snyk-resolve@^1.1.0", "snyk-resolve@1.1.0": + "integrity" "sha512-OZMF8I8TOu0S58Z/OS9mr8jkEzGAPByCsAkrWlcmZgPaE0RsxVKVIFPhbMNy/JlYswgGDYYIEsNw+e0j1FnTrw==" + "resolved" "https://registry.npmjs.org/snyk-resolve/-/snyk-resolve-1.1.0.tgz" + "version" "1.1.0" dependencies: - debug "^3.1.0" - then-fs "^2.0.0" + "debug" "^4.1.1" + "promise-fs" "^2.1.1" -snyk-sbt-plugin@2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/snyk-sbt-plugin/-/snyk-sbt-plugin-2.11.0.tgz#f5469dcf5589e34575fc901e2064475582cc3e48" - integrity sha512-wUqHLAa3MzV6sVO+05MnV+lwc+T6o87FZZaY+43tQPytBI2Wq23O3j4POREM4fa2iFfiQJoEYD6c7xmhiEUsSA== +"snyk-sbt-plugin@2.11.0": + "integrity" "sha512-wUqHLAa3MzV6sVO+05MnV+lwc+T6o87FZZaY+43tQPytBI2Wq23O3j4POREM4fa2iFfiQJoEYD6c7xmhiEUsSA==" + "resolved" "https://registry.npmjs.org/snyk-sbt-plugin/-/snyk-sbt-plugin-2.11.0.tgz" + "version" "2.11.0" dependencies: - debug "^4.1.1" - semver "^6.1.2" - tmp "^0.1.0" - tree-kill "^1.2.2" - tslib "^1.10.0" + "debug" "^4.1.1" + "semver" "^6.1.2" + "tmp" "^0.1.0" + "tree-kill" "^1.2.2" + "tslib" "^1.10.0" -snyk-tree@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/snyk-tree/-/snyk-tree-1.0.0.tgz#0fb73176dbf32e782f19100294160448f9111cc8" - integrity sha1-D7cxdtvzLngvGRAClBYESPkRHMg= +"snyk-tree@^1.0.0": + "integrity" "sha1-D7cxdtvzLngvGRAClBYESPkRHMg=" + "resolved" "https://registry.npmjs.org/snyk-tree/-/snyk-tree-1.0.0.tgz" + "version" "1.0.0" dependencies: - archy "^1.0.0" + "archy" "^1.0.0" -snyk-try-require@1.3.1, snyk-try-require@^1.1.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/snyk-try-require/-/snyk-try-require-1.3.1.tgz#6e026f92e64af7fcccea1ee53d524841e418a212" - integrity sha1-bgJvkuZK9/zM6h7lPVJIQeQYohI= +"snyk-try-require@^1.1.1", "snyk-try-require@1.3.1": + "integrity" "sha1-bgJvkuZK9/zM6h7lPVJIQeQYohI=" + "resolved" "https://registry.npmjs.org/snyk-try-require/-/snyk-try-require-1.3.1.tgz" + "version" "1.3.1" dependencies: - debug "^3.1.0" - lodash.clonedeep "^4.3.0" - lru-cache "^4.0.0" - then-fs "^2.0.0" + "debug" "^3.1.0" + "lodash.clonedeep" "^4.3.0" + "lru-cache" "^4.0.0" + "then-fs" "^2.0.0" -snyk-try-require@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/snyk-try-require/-/snyk-try-require-2.0.1.tgz#076ae9bc505d64d28389452ce19fcac28f26655a" - integrity sha512-VCOfFIvqLMXgCXEdooQgu3A40XYIFBnj0X8Y01RJ5iAbu08b4WKGN/uAKaRVF30dABS4EcjsalmCO+YlKUPEIA== +"snyk-try-require@^2.0.0": + "integrity" "sha512-VCOfFIvqLMXgCXEdooQgu3A40XYIFBnj0X8Y01RJ5iAbu08b4WKGN/uAKaRVF30dABS4EcjsalmCO+YlKUPEIA==" + "resolved" "https://registry.npmjs.org/snyk-try-require/-/snyk-try-require-2.0.1.tgz" + "version" "2.0.1" dependencies: - debug "^4.1.1" - lodash.clonedeep "^4.3.0" - lru-cache "^5.1.1" + "debug" "^4.1.1" + "lodash.clonedeep" "^4.3.0" + "lru-cache" "^5.1.1" -snyk@^1.518.0: - version "1.520.0" - resolved "https://registry.yarnpkg.com/snyk/-/snyk-1.520.0.tgz#2cc0a9981a47f1140379c48e9a1116c68328ccd2" - integrity sha512-+NSZDb1sbG+AxzK//GLAKHF0oyPyDlUzQgwy8tyet4tiUsnDKKEruCsX4R9c0outy5qfAExKG77aZego3N9p/Q== +"snyk@^1.518.0": + "integrity" "sha512-+NSZDb1sbG+AxzK//GLAKHF0oyPyDlUzQgwy8tyet4tiUsnDKKEruCsX4R9c0outy5qfAExKG77aZego3N9p/Q==" + "resolved" "https://registry.npmjs.org/snyk/-/snyk-1.520.0.tgz" + "version" "1.520.0" dependencies: "@open-policy-agent/opa-wasm" "^1.2.0" "@snyk/cli-interface" "2.11.0" @@ -7189,1395 +7454,1457 @@ snyk@^1.518.0: "@snyk/inquirer" "^7.3.3-patch" "@snyk/snyk-cocoapods-plugin" "2.5.2" "@snyk/snyk-hex-plugin" "1.0.0" - abbrev "^1.1.1" - ansi-escapes "3.2.0" - chalk "^2.4.2" - cli-spinner "0.2.10" - configstore "^5.0.1" - debug "^4.1.1" - diff "^4.0.1" - global-agent "^2.1.12" - hcl-to-json "^0.1.1" - lodash.assign "^4.2.0" - lodash.camelcase "^4.3.0" - lodash.clonedeep "^4.5.0" - lodash.endswith "^4.2.1" - lodash.flatten "^4.4.0" - lodash.flattendeep "^4.4.0" - lodash.get "^4.4.2" - lodash.groupby "^4.6.0" - lodash.isempty "^4.4.0" - lodash.isobject "^3.0.2" - lodash.map "^4.6.0" - lodash.omit "^4.5.0" - lodash.orderby "^4.6.0" - lodash.sortby "^4.7.0" - lodash.uniq "^4.5.0" - lodash.upperfirst "^4.3.1" - lodash.values "^4.3.0" - micromatch "4.0.2" - needle "2.6.0" - open "^7.0.3" - ora "5.3.0" - os-name "^3.0.0" - promise-queue "^2.2.5" - proxy-from-env "^1.0.0" - rimraf "^2.6.3" - semver "^6.0.0" - snyk-config "4.0.0" - snyk-cpp-plugin "2.2.1" - snyk-docker-plugin "4.19.3" - snyk-go-plugin "1.17.0" - snyk-gradle-plugin "3.14.0" - snyk-module "3.1.0" - snyk-mvn-plugin "2.25.3" - snyk-nodejs-lockfile-parser "1.31.1" - snyk-nuget-plugin "1.21.0" - snyk-php-plugin "1.9.2" - snyk-policy "1.19.0" - snyk-python-plugin "1.19.7" - snyk-resolve "1.1.0" - snyk-resolve-deps "4.7.2" - snyk-sbt-plugin "2.11.0" - snyk-tree "^1.0.0" - snyk-try-require "1.3.1" - source-map-support "^0.5.11" - strip-ansi "^5.2.0" - tar "^6.1.0" - tempfile "^2.0.0" - update-notifier "^4.1.0" - uuid "^3.3.2" - wrap-ansi "^5.1.0" + "abbrev" "^1.1.1" + "ansi-escapes" "3.2.0" + "chalk" "^2.4.2" + "cli-spinner" "0.2.10" + "configstore" "^5.0.1" + "debug" "^4.1.1" + "diff" "^4.0.1" + "global-agent" "^2.1.12" + "hcl-to-json" "^0.1.1" + "lodash.assign" "^4.2.0" + "lodash.camelcase" "^4.3.0" + "lodash.clonedeep" "^4.5.0" + "lodash.endswith" "^4.2.1" + "lodash.flatten" "^4.4.0" + "lodash.flattendeep" "^4.4.0" + "lodash.get" "^4.4.2" + "lodash.groupby" "^4.6.0" + "lodash.isempty" "^4.4.0" + "lodash.isobject" "^3.0.2" + "lodash.map" "^4.6.0" + "lodash.omit" "^4.5.0" + "lodash.orderby" "^4.6.0" + "lodash.sortby" "^4.7.0" + "lodash.uniq" "^4.5.0" + "lodash.upperfirst" "^4.3.1" + "lodash.values" "^4.3.0" + "micromatch" "4.0.2" + "needle" "2.6.0" + "open" "^7.0.3" + "ora" "5.3.0" + "os-name" "^3.0.0" + "promise-queue" "^2.2.5" + "proxy-from-env" "^1.0.0" + "rimraf" "^2.6.3" + "semver" "^6.0.0" + "snyk-config" "4.0.0" + "snyk-cpp-plugin" "2.2.1" + "snyk-docker-plugin" "4.19.3" + "snyk-go-plugin" "1.17.0" + "snyk-gradle-plugin" "3.14.0" + "snyk-module" "3.1.0" + "snyk-mvn-plugin" "2.25.3" + "snyk-nodejs-lockfile-parser" "1.31.1" + "snyk-nuget-plugin" "1.21.0" + "snyk-php-plugin" "1.9.2" + "snyk-policy" "1.19.0" + "snyk-python-plugin" "1.19.7" + "snyk-resolve" "1.1.0" + "snyk-resolve-deps" "4.7.2" + "snyk-sbt-plugin" "2.11.0" + "snyk-tree" "^1.0.0" + "snyk-try-require" "1.3.1" + "source-map-support" "^0.5.11" + "strip-ansi" "^5.2.0" + "tar" "^6.1.0" + "tempfile" "^2.0.0" + "update-notifier" "^4.1.0" + "uuid" "^3.3.2" + "wrap-ansi" "^5.1.0" -socket.io-adapter@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz#2a805e8a14d6372124dd9159ad4502f8cb07f06b" - integrity sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs= +"socket.io-adapter@~1.1.0": + "integrity" "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=" + "resolved" "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz" + "version" "1.1.1" -socket.io-client@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.4.0.tgz#aafb5d594a3c55a34355562fc8aea22ed9119a35" - integrity sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ== +"socket.io-client@2.4.0": + "integrity" "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==" + "resolved" "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz" + "version" "2.4.0" dependencies: - backo2 "1.0.2" - component-bind "1.0.0" - component-emitter "~1.3.0" - debug "~3.1.0" - engine.io-client "~3.5.0" - has-binary2 "~1.0.2" - indexof "0.0.1" - parseqs "0.0.6" - parseuri "0.0.6" - socket.io-parser "~3.3.0" - to-array "0.1.4" + "backo2" "1.0.2" + "component-bind" "1.0.0" + "component-emitter" "~1.3.0" + "debug" "~3.1.0" + "engine.io-client" "~3.5.0" + "has-binary2" "~1.0.2" + "indexof" "0.0.1" + "parseqs" "0.0.6" + "parseuri" "0.0.6" + "socket.io-parser" "~3.3.0" + "to-array" "0.1.4" -socket.io-parser@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.0.tgz#2b52a96a509fdf31440ba40fed6094c7d4f1262f" - integrity sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng== +"socket.io-parser@~3.3.0": + "integrity" "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==" + "resolved" "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz" + "version" "3.3.0" dependencies: - component-emitter "1.2.1" - debug "~3.1.0" - isarray "2.0.1" + "component-emitter" "1.2.1" + "debug" "~3.1.0" + "isarray" "2.0.1" -socket.io-parser@~3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.4.0.tgz#370bb4a151df2f77ce3345ff55a7072cc6e9565a" - integrity sha512-/G/VOI+3DBp0+DJKW4KesGnQkQPFmUCbA/oO2QGT6CWxU7hLGWqU3tyuzeSK/dqcyeHsQg1vTe9jiZI8GU9SCQ== +"socket.io-parser@~3.4.0": + "integrity" "sha512-/G/VOI+3DBp0+DJKW4KesGnQkQPFmUCbA/oO2QGT6CWxU7hLGWqU3tyuzeSK/dqcyeHsQg1vTe9jiZI8GU9SCQ==" + "resolved" "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.0.tgz" + "version" "3.4.0" dependencies: - component-emitter "1.2.1" - debug "~4.1.0" - isarray "2.0.1" + "component-emitter" "1.2.1" + "debug" "~4.1.0" + "isarray" "2.0.1" -socket.io@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.4.1.tgz#95ad861c9a52369d7f1a68acf0d4a1b16da451d2" - integrity sha512-Si18v0mMXGAqLqCVpTxBa8MGqriHGQh8ccEOhmsmNS3thNCGBwO8WGrwMibANsWtQQ5NStdZwHqZR3naJVFc3w== +"socket.io@^2.4.0": + "integrity" "sha512-Si18v0mMXGAqLqCVpTxBa8MGqriHGQh8ccEOhmsmNS3thNCGBwO8WGrwMibANsWtQQ5NStdZwHqZR3naJVFc3w==" + "resolved" "https://registry.npmjs.org/socket.io/-/socket.io-2.4.1.tgz" + "version" "2.4.1" dependencies: - debug "~4.1.0" - engine.io "~3.5.0" - has-binary2 "~1.0.2" - socket.io-adapter "~1.1.0" - socket.io-client "2.4.0" - socket.io-parser "~3.4.0" + "debug" "~4.1.0" + "engine.io" "~3.5.0" + "has-binary2" "~1.0.2" + "socket.io-adapter" "~1.1.0" + "socket.io-client" "2.4.0" + "socket.io-parser" "~3.4.0" -sortablejs@^1.7.0: - version "1.8.3" - resolved "https://registry.yarnpkg.com/sortablejs/-/sortablejs-1.8.3.tgz#5ae908ef96300966e95440a143340f5dd565a0df" - integrity sha512-AftvD4hdKcR5QlGi7L/JST506zGNGrysE8/QohDpwKXJarHWqCt+TUlrtoMk/wkECB607Q019/OZlJViyWiD6A== +"sortablejs@^1.7.0": + "integrity" "sha512-AftvD4hdKcR5QlGi7L/JST506zGNGrysE8/QohDpwKXJarHWqCt+TUlrtoMk/wkECB607Q019/OZlJViyWiD6A==" + "resolved" "https://registry.npmjs.org/sortablejs/-/sortablejs-1.8.3.tgz" + "version" "1.8.3" -source-map-resolve@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== +"source-map-resolve@^0.5.0": + "integrity" "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==" + "resolved" "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz" + "version" "0.5.2" dependencies: - atob "^2.1.1" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" + "atob" "^2.1.1" + "decode-uri-component" "^0.2.0" + "resolve-url" "^0.2.1" + "source-map-url" "^0.4.0" + "urix" "^0.1.0" -source-map-support@^0.5.11, source-map-support@^0.5.7, source-map-support@~0.5.10: - version "0.5.16" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" - integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== +"source-map-support@^0.5.11", "source-map-support@^0.5.7", "source-map-support@~0.5.10": + "integrity" "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==" + "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz" + "version" "0.5.16" dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" + "buffer-from" "^1.0.0" + "source-map" "^0.6.0" -source-map-support@^0.5.19: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== +"source-map-support@^0.5.19": + "integrity" "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==" + "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz" + "version" "0.5.19" dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" + "buffer-from" "^1.0.0" + "source-map" "^0.6.0" -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= +"source-map-url@^0.4.0": + "integrity" "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + "resolved" "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz" + "version" "0.4.0" -source-map@0.6.*, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - integrity sha1-66T12pwNyZneaAMti092FzZSA2s= +"source-map@^0.4.2": + "integrity" "sha1-66T12pwNyZneaAMti092FzZSA2s=" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz" + "version" "0.4.4" dependencies: - amdefine ">=0.0.4" + "amdefine" ">=0.0.4" -source-map@^0.5.3, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= +"source-map@^0.5.3": + "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + "version" "0.5.7" -sourcemap-codec@^1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz#c63ea927c029dd6bd9a2b7fa03b3fec02ad56e9f" - integrity sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg== +"source-map@^0.5.6": + "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + "version" "0.5.7" -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== +"source-map@^0.6.0", "source-map@^0.6.1", "source-map@~0.6.0", "source-map@~0.6.1", "source-map@0.6.*": + "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + "version" "0.6.1" + +"sourcemap-codec@^1.4.4": + "integrity" "sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==" + "resolved" "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz" + "version" "1.4.4" + +"spdx-correct@^3.0.0": + "integrity" "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==" + "resolved" "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" + "version" "3.1.1" dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" + "spdx-expression-parse" "^3.0.0" + "spdx-license-ids" "^3.0.0" -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== +"spdx-exceptions@^2.1.0": + "integrity" "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + "resolved" "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" + "version" "2.3.0" -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== +"spdx-expression-parse@^3.0.0": + "integrity" "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==" + "resolved" "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" + "version" "3.0.1" dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" + "spdx-exceptions" "^2.1.0" + "spdx-license-ids" "^3.0.0" -spdx-license-ids@^3.0.0: - version "3.0.6" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz#c80757383c28abf7296744998cbc106ae8b854ce" - integrity sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw== +"spdx-license-ids@^3.0.0": + "integrity" "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==" + "resolved" "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz" + "version" "3.0.6" -split-ca@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/split-ca/-/split-ca-1.0.1.tgz#6c83aff3692fa61256e0cd197e05e9de157691a6" - integrity sha1-bIOv82kvphJW4M0ZfgXp3hV2kaY= +"split-ca@^1.0.1": + "integrity" "sha1-bIOv82kvphJW4M0ZfgXp3hV2kaY=" + "resolved" "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz" + "version" "1.0.1" -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== +"split-string@^3.0.1", "split-string@^3.0.2": + "integrity" "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==" + "resolved" "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" + "version" "3.1.0" dependencies: - extend-shallow "^3.0.0" + "extend-shallow" "^3.0.0" -sprintf-js@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" - integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== +"sprintf-js@^1.1.2": + "integrity" "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" + "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz" + "version" "1.1.2" -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= +"sprintf-js@~1.0.2": + "integrity" "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + "version" "1.0.3" -ssh2-streams@~0.4.10: - version "0.4.10" - resolved "https://registry.yarnpkg.com/ssh2-streams/-/ssh2-streams-0.4.10.tgz#48ef7e8a0e39d8f2921c30521d56dacb31d23a34" - integrity sha512-8pnlMjvnIZJvmTzUIIA5nT4jr2ZWNNVHwyXfMGdRJbug9TpI3kd99ffglgfSWqujVv/0gxwMsDn9j9RVst8yhQ== +"ssh2-streams@~0.4.10": + "integrity" "sha512-8pnlMjvnIZJvmTzUIIA5nT4jr2ZWNNVHwyXfMGdRJbug9TpI3kd99ffglgfSWqujVv/0gxwMsDn9j9RVst8yhQ==" + "resolved" "https://registry.npmjs.org/ssh2-streams/-/ssh2-streams-0.4.10.tgz" + "version" "0.4.10" dependencies: - asn1 "~0.2.0" - bcrypt-pbkdf "^1.0.2" - streamsearch "~0.1.2" + "asn1" "~0.2.0" + "bcrypt-pbkdf" "^1.0.2" + "streamsearch" "~0.1.2" -ssh2@^0.8.7: - version "0.8.9" - resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-0.8.9.tgz#54da3a6c4ba3daf0d8477a538a481326091815f3" - integrity sha512-GmoNPxWDMkVpMFa9LVVzQZHF6EW3WKmBwL+4/GeILf2hFmix5Isxm7Amamo8o7bHiU0tC+wXsGcUXOxp8ChPaw== +"ssh2@^0.8.7": + "integrity" "sha512-GmoNPxWDMkVpMFa9LVVzQZHF6EW3WKmBwL+4/GeILf2hFmix5Isxm7Amamo8o7bHiU0tC+wXsGcUXOxp8ChPaw==" + "resolved" "https://registry.npmjs.org/ssh2/-/ssh2-0.8.9.tgz" + "version" "0.8.9" dependencies: - ssh2-streams "~0.4.10" + "ssh2-streams" "~0.4.10" -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== +"sshpk@^1.7.0": + "integrity" "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==" + "resolved" "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz" + "version" "1.16.1" dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" + "asn1" "~0.2.3" + "assert-plus" "^1.0.0" + "bcrypt-pbkdf" "^1.0.0" + "dashdash" "^1.12.0" + "ecc-jsbn" "~0.1.1" + "getpass" "^0.1.1" + "jsbn" "~0.1.0" + "safer-buffer" "^2.0.2" + "tweetnacl" "~0.14.0" -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== +"stable@^0.1.8": + "integrity" "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + "resolved" "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" + "version" "0.1.8" -stack-trace@0.0.x: - version "0.0.10" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" - integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= +"stack-trace@0.0.x": + "integrity" "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" + "resolved" "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz" + "version" "0.0.10" -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= +"static-extend@^0.1.1": + "integrity" "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=" + "resolved" "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" + "version" "0.1.2" dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" + "define-property" "^0.2.5" + "object-copy" "^0.1.0" -"statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= +"statuses@>= 1.5.0 < 2", "statuses@~1.5.0": + "integrity" "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + "resolved" "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + "version" "1.5.0" -stdout-stream@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" - integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA== +"stdout-stream@^1.4.0": + "integrity" "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==" + "resolved" "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz" + "version" "1.4.1" dependencies: - readable-stream "^2.0.1" + "readable-stream" "^2.0.1" -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== +"stream-shift@^1.0.0": + "integrity" "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + "resolved" "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz" + "version" "1.0.1" -streamsearch@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" - integrity sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo= +"streamsearch@~0.1.2": + "integrity" "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" + "resolved" "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz" + "version" "0.1.2" -string-hash@^1.1.0, string-hash@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" - integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= +"string_decoder@^1.1.1": + "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + "version" "1.3.0" dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" + "safe-buffer" "~5.2.0" -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== +"string_decoder@~1.1.1": + "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + "version" "1.1.1" dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" + "safe-buffer" "~5.1.0" -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== +"string-hash@^1.1.0", "string-hash@^1.1.1": + "integrity" "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=" + "resolved" "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz" + "version" "1.1.3" + +"string-width@^1.0.1": + "integrity" "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" + "version" "1.0.2" dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" + "code-point-at" "^1.0.0" + "is-fullwidth-code-point" "^1.0.0" + "strip-ansi" "^3.0.0" -string-width@^4.0.0, string-width@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== +"string-width@^1.0.2 || 2": + "integrity" "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" + "version" "2.1.1" dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" + "is-fullwidth-code-point" "^2.0.0" + "strip-ansi" "^4.0.0" -string.prototype.trimend@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" - integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== +"string-width@^2.0.0", "string-width@^2.1.1": + "integrity" "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" + "version" "2.1.1" dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" + "is-fullwidth-code-point" "^2.0.0" + "strip-ansi" "^4.0.0" -string.prototype.trimleft@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc" - integrity sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw== +"string-width@^3.0.0", "string-width@^3.1.0": + "integrity" "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" + "version" "3.1.0" dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - string.prototype.trimstart "^1.0.0" + "emoji-regex" "^7.0.1" + "is-fullwidth-code-point" "^2.0.0" + "strip-ansi" "^5.1.0" -string.prototype.trimright@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3" - integrity sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg== +"string-width@^4.0.0": + "integrity" "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz" + "version" "4.2.0" dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - string.prototype.trimend "^1.0.0" + "emoji-regex" "^8.0.0" + "is-fullwidth-code-point" "^3.0.0" + "strip-ansi" "^6.0.0" -string.prototype.trimstart@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" - integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== +"string-width@^4.1.0": + "integrity" "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz" + "version" "4.2.0" dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" + "emoji-regex" "^8.0.0" + "is-fullwidth-code-point" "^3.0.0" + "strip-ansi" "^6.0.0" -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== +"string.prototype.trimend@^1.0.0": + "integrity" "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==" + "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz" + "version" "1.0.1" dependencies: - safe-buffer "~5.2.0" + "define-properties" "^1.1.3" + "es-abstract" "^1.17.5" -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== +"string.prototype.trimleft@^2.1.1": + "integrity" "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==" + "resolved" "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz" + "version" "2.1.2" dependencies: - safe-buffer "~5.1.0" + "define-properties" "^1.1.3" + "es-abstract" "^1.17.5" + "string.prototype.trimstart" "^1.0.0" -strip-ansi@6.0.0, strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== +"string.prototype.trimright@^2.1.1": + "integrity" "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==" + "resolved" "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz" + "version" "2.1.2" dependencies: - ansi-regex "^5.0.0" + "define-properties" "^1.1.3" + "es-abstract" "^1.17.5" + "string.prototype.trimend" "^1.0.0" -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= +"string.prototype.trimstart@^1.0.0": + "integrity" "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==" + "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz" + "version" "1.0.1" dependencies: - ansi-regex "^2.0.0" + "define-properties" "^1.1.3" + "es-abstract" "^1.17.5" -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= +"strip-ansi@^3.0.0", "strip-ansi@^3.0.1": + "integrity" "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + "version" "3.0.1" dependencies: - ansi-regex "^3.0.0" + "ansi-regex" "^2.0.0" -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== +"strip-ansi@^4.0.0": + "integrity" "sha1-qEeQIusaw2iocTibY1JixQXuNo8=" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" + "version" "4.0.0" dependencies: - ansi-regex "^4.1.0" + "ansi-regex" "^3.0.0" -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= +"strip-ansi@^5.0.0": + "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" + "version" "5.2.0" dependencies: - is-utf8 "^0.2.0" + "ansi-regex" "^4.1.0" -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= +"strip-ansi@^5.1.0": + "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" + "version" "5.2.0" dependencies: - get-stdin "^4.0.1" + "ansi-regex" "^4.1.0" -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -style-inject@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/style-inject/-/style-inject-0.3.0.tgz#d21c477affec91811cc82355832a700d22bf8dd3" - integrity sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw== - -stylehacks@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" - integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== +"strip-ansi@^5.2.0": + "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" + "version" "5.2.0" dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" + "ansi-regex" "^4.1.0" -superagent@^3.8.2: - version "3.8.3" - resolved "https://registry.yarnpkg.com/superagent/-/superagent-3.8.3.tgz#460ea0dbdb7d5b11bc4f78deba565f86a178e128" - integrity sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA== +"strip-ansi@^6.0.0": + "integrity" "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz" + "version" "6.0.0" dependencies: - component-emitter "^1.2.0" - cookiejar "^2.1.0" - debug "^3.1.0" - extend "^3.0.0" - form-data "^2.3.1" - formidable "^1.2.0" - methods "^1.1.1" - mime "^1.4.1" - qs "^6.5.1" - readable-stream "^2.3.5" + "ansi-regex" "^5.0.0" -supports-color@5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" - integrity sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w== +"strip-ansi@6.0.0": + "integrity" "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz" + "version" "6.0.0" dependencies: - has-flag "^3.0.0" + "ansi-regex" "^5.0.0" -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - -supports-color@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" - integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= +"strip-bom@^2.0.0": + "integrity" "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=" + "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" + "version" "2.0.0" dependencies: - has-flag "^1.0.0" + "is-utf8" "^0.2.0" -supports-color@^5.3.0, supports-color@^5.4.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== +"strip-eof@^1.0.0": + "integrity" "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + "resolved" "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" + "version" "1.0.0" + +"strip-indent@^1.0.1": + "integrity" "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=" + "resolved" "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz" + "version" "1.0.1" dependencies: - has-flag "^3.0.0" + "get-stdin" "^4.0.1" -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== +"strip-json-comments@~2.0.1": + "integrity" "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" + "version" "2.0.1" + +"style-inject@^0.3.0": + "integrity" "sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==" + "resolved" "https://registry.npmjs.org/style-inject/-/style-inject-0.3.0.tgz" + "version" "0.3.0" + +"stylehacks@^4.0.0": + "integrity" "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==" + "resolved" "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz" + "version" "4.0.3" dependencies: - has-flag "^3.0.0" + "browserslist" "^4.0.0" + "postcss" "^7.0.0" + "postcss-selector-parser" "^3.0.0" -supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== +"superagent@^3.8.2": + "integrity" "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==" + "resolved" "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz" + "version" "3.8.3" dependencies: - has-flag "^4.0.0" + "component-emitter" "^1.2.0" + "cookiejar" "^2.1.0" + "debug" "^3.1.0" + "extend" "^3.0.0" + "form-data" "^2.3.1" + "formidable" "^1.2.0" + "methods" "^1.1.1" + "mime" "^1.4.1" + "qs" "^6.5.1" + "readable-stream" "^2.3.5" -svg-sprite@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/svg-sprite/-/svg-sprite-1.5.0.tgz#d0c0dd2f9aa1bc12ca649d7a8f301370b26e42ce" - integrity sha512-0mE5BLY3K8wg3+HrYfzpiKbIM44IGcg8uINED8ri22EdQbLvGecOHjRtkrNAlphbiU5kyGyqoBlIaukL45fs2Q== +"supports-color@^2.0.0": + "integrity" "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + "version" "2.0.0" + +"supports-color@^3.2.3": + "integrity" "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz" + "version" "3.2.3" dependencies: - async "^2.6.1" - css-selector-parser "^1.3.0" - cssmin "^0.4.3" - cssom "^0.3.4" - dateformat "^3.0.3" - glob "^7.1.3" - js-yaml "^3.12.0" - lodash "^4.17.11" - lodash.pluck "^3.1.2" - mkdirp "^0.5.1" - mocha "^5.2.0" - mustache "^3.0.0" - phantomjs-prebuilt "^2.1.16" - prettysize "^1.1.0" - should "^13.2.3" - svgo "^1.1.1" - vinyl "^2.2.0" - winston "^3.1.0" - xmldom "0.1.27" - xpath "^0.0.27" - yargs "^12.0.2" + "has-flag" "^1.0.0" -svgo@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.2.0.tgz#305a8fc0f4f9710828c65039bb93d5793225ffc3" - integrity sha512-xBfxJxfk4UeVN8asec9jNxHiv3UAMv/ujwBWGYvQhhMb2u3YTGKkiybPcLFDLq7GLLWE9wa73e0/m8L5nTzQbw== +"supports-color@^5.3.0": + "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + "version" "5.5.0" dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.28" - css-url-regex "^1.1.0" - csso "^3.5.1" - js-yaml "^3.12.0" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" + "has-flag" "^3.0.0" -svgo@^1.1.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" - integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== +"supports-color@^5.4.0": + "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + "version" "5.5.0" dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.37" - csso "^4.0.2" - js-yaml "^3.13.1" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" + "has-flag" "^3.0.0" -tar-stream@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.0.tgz#d1aaa3661f05b38b5acc9b7020efdca5179a2cc3" - integrity sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw== +"supports-color@^6.1.0": + "integrity" "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" + "version" "6.1.0" dependencies: - bl "^3.0.0" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" + "has-flag" "^3.0.0" -tar-stream@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.3.tgz#1e2022559221b7866161660f118255e20fa79e41" - integrity sha512-Z9yri56Dih8IaK8gncVPx4Wqt86NDmQTSh49XLZgjWpGZL9GK9HKParS2scqHCC4w6X9Gh2jwaU45V47XTKwVA== +"supports-color@^7.1.0": + "integrity" "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz" + "version" "7.1.0" dependencies: - bl "^4.0.1" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" + "has-flag" "^4.0.0" -tar@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" - integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== +"supports-color@5.4.0": + "integrity" "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz" + "version" "5.4.0" dependencies: - block-stream "*" - fstream "^1.0.12" - inherits "2" + "has-flag" "^3.0.0" -tar@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83" - integrity sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA== +"svg-sprite@^1.5.0": + "integrity" "sha512-0mE5BLY3K8wg3+HrYfzpiKbIM44IGcg8uINED8ri22EdQbLvGecOHjRtkrNAlphbiU5kyGyqoBlIaukL45fs2Q==" + "resolved" "https://registry.npmjs.org/svg-sprite/-/svg-sprite-1.5.0.tgz" + "version" "1.5.0" dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" + "async" "^2.6.1" + "css-selector-parser" "^1.3.0" + "cssmin" "^0.4.3" + "cssom" "^0.3.4" + "dateformat" "^3.0.3" + "glob" "^7.1.3" + "js-yaml" "^3.12.0" + "lodash" "^4.17.11" + "lodash.pluck" "^3.1.2" + "mkdirp" "^0.5.1" + "mocha" "^5.2.0" + "mustache" "^3.0.0" + "phantomjs-prebuilt" "^2.1.16" + "prettysize" "^1.1.0" + "should" "^13.2.3" + "svgo" "^1.1.1" + "vinyl" "^2.2.0" + "winston" "^3.1.0" + "xmldom" "0.1.27" + "xpath" "^0.0.27" + "yargs" "^12.0.2" -temp-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" - integrity sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0= - -temp-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" - integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== - -tempfile@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-2.0.0.tgz#6b0446856a9b1114d1856ffcbe509cccb0977265" - integrity sha1-awRGhWqbERTRhW/8vlCczLCXcmU= +"svgo@^1.0.0": + "integrity" "sha512-xBfxJxfk4UeVN8asec9jNxHiv3UAMv/ujwBWGYvQhhMb2u3YTGKkiybPcLFDLq7GLLWE9wa73e0/m8L5nTzQbw==" + "resolved" "https://registry.npmjs.org/svgo/-/svgo-1.2.0.tgz" + "version" "1.2.0" dependencies: - temp-dir "^1.0.0" - uuid "^3.0.1" + "chalk" "^2.4.1" + "coa" "^2.0.2" + "css-select" "^2.0.0" + "css-select-base-adapter" "^0.1.1" + "css-tree" "1.0.0-alpha.28" + "css-url-regex" "^1.1.0" + "csso" "^3.5.1" + "js-yaml" "^3.12.0" + "mkdirp" "~0.5.1" + "object.values" "^1.1.0" + "sax" "~1.2.4" + "stable" "^0.1.8" + "unquote" "~1.1.1" + "util.promisify" "~1.0.0" -term-size@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.0.tgz#1f16adedfe9bdc18800e1776821734086fcc6753" - integrity sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw== - -terser@^3.14.1: - version "3.17.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2" - integrity sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ== +"svgo@^1.1.1": + "integrity" "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==" + "resolved" "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz" + "version" "1.3.2" dependencies: - commander "^2.19.0" - source-map "~0.6.1" - source-map-support "~0.5.10" + "chalk" "^2.4.1" + "coa" "^2.0.2" + "css-select" "^2.0.0" + "css-select-base-adapter" "^0.1.1" + "css-tree" "1.0.0-alpha.37" + "csso" "^4.0.2" + "js-yaml" "^3.13.1" + "mkdirp" "~0.5.1" + "object.values" "^1.1.0" + "sax" "~1.2.4" + "stable" "^0.1.8" + "unquote" "~1.1.1" + "util.promisify" "~1.0.0" -text-hex@1.0.x: - version "1.0.0" - resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5" - integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== - -then-fs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/then-fs/-/then-fs-2.0.0.tgz#72f792dd9d31705a91ae19ebfcf8b3f968c81da2" - integrity sha1-cveS3Z0xcFqRrhnr/Piz+WjIHaI= +"tar-stream@^2.1.0": + "integrity" "sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw==" + "resolved" "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.0.tgz" + "version" "2.1.0" dependencies: - promise ">=3.2 <8" + "bl" "^3.0.0" + "end-of-stream" "^1.4.1" + "fs-constants" "^1.0.0" + "inherits" "^2.0.3" + "readable-stream" "^3.1.1" -throttleit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" - integrity sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw= - -through2@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== +"tar-stream@^2.1.2": + "integrity" "sha512-Z9yri56Dih8IaK8gncVPx4Wqt86NDmQTSh49XLZgjWpGZL9GK9HKParS2scqHCC4w6X9Gh2jwaU45V47XTKwVA==" + "resolved" "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.3.tgz" + "version" "2.1.3" dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" + "bl" "^4.0.1" + "end-of-stream" "^1.4.1" + "fs-constants" "^1.0.0" + "inherits" "^2.0.3" + "readable-stream" "^3.1.1" -through@^2.3.4, through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -timsort@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= - -tmp@0.0.33, tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== +"tar@^2.0.0": + "integrity" "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==" + "resolved" "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz" + "version" "2.2.2" dependencies: - os-tmpdir "~1.0.2" + "block-stream" "*" + "fstream" "^1.0.12" + "inherits" "2" -tmp@0.2.1, tmp@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== +"tar@^6.1.0": + "integrity" "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==" + "resolved" "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz" + "version" "6.1.0" dependencies: - rimraf "^3.0.0" + "chownr" "^2.0.0" + "fs-minipass" "^2.0.0" + "minipass" "^3.0.0" + "minizlib" "^2.1.1" + "mkdirp" "^1.0.3" + "yallist" "^4.0.0" -tmp@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.1.0.tgz#ee434a4e22543082e294ba6201dcc6eafefa2877" - integrity sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw== +"temp-dir@^1.0.0": + "integrity" "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=" + "resolved" "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz" + "version" "1.0.0" + +"temp-dir@^2.0.0": + "integrity" "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==" + "resolved" "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz" + "version" "2.0.0" + +"tempfile@^2.0.0": + "integrity" "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=" + "resolved" "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz" + "version" "2.0.0" dependencies: - rimraf "^2.6.3" + "temp-dir" "^1.0.0" + "uuid" "^3.0.1" -to-array@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" - integrity sha1-F+bBH3PdTz10zaek/zI46a2b+JA= +"term-size@^2.1.0": + "integrity" "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==" + "resolved" "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz" + "version" "2.2.0" -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= +"terser@^3.14.1": + "integrity" "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==" + "resolved" "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz" + "version" "3.17.0" dependencies: - kind-of "^3.0.2" + "commander" "^2.19.0" + "source-map" "~0.6.1" + "source-map-support" "~0.5.10" -to-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" - integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== +"text-hex@1.0.x": + "integrity" "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" + "resolved" "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz" + "version" "1.0.0" -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= +"then-fs@^2.0.0": + "integrity" "sha1-cveS3Z0xcFqRrhnr/Piz+WjIHaI=" + "resolved" "https://registry.npmjs.org/then-fs/-/then-fs-2.0.0.tgz" + "version" "2.0.0" dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" + "promise" ">=3.2 <8" -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== +"throttleit@^1.0.0": + "integrity" "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=" + "resolved" "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz" + "version" "1.0.0" + +"through@^2.3.4", "through@^2.3.6": + "integrity" "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + "resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + "version" "2.3.8" + +"through2@^2.0.3": + "integrity" "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==" + "resolved" "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" + "version" "2.0.5" dependencies: - is-number "^7.0.0" + "readable-stream" "~2.3.6" + "xtend" "~4.0.1" -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== +"timsort@^0.3.0": + "integrity" "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + "resolved" "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz" + "version" "0.3.0" + +"tmp@^0.0.33": + "integrity" "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==" + "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" + "version" "0.0.33" dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" + "os-tmpdir" "~1.0.2" -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - -toml@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee" - integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== - -touch@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" - integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== +"tmp@^0.1.0": + "integrity" "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==" + "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz" + "version" "0.1.0" dependencies: - nopt "~1.0.10" + "rimraf" "^2.6.3" -tough-cookie@~2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" - integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== +"tmp@^0.2.1", "tmp@0.2.1": + "integrity" "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==" + "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz" + "version" "0.2.1" dependencies: - psl "^1.1.24" - punycode "^1.4.1" + "rimraf" "^3.0.0" -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== +"tmp@0.0.33": + "integrity" "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==" + "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" + "version" "0.0.33" dependencies: - psl "^1.1.28" - punycode "^2.1.1" + "os-tmpdir" "~1.0.2" -tree-kill@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" - integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== +"to-array@0.1.4": + "integrity" "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" + "resolved" "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz" + "version" "0.1.4" -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= +"to-object-path@^0.3.0": + "integrity" "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=" + "resolved" "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" + "version" "0.3.0" + dependencies: + "kind-of" "^3.0.2" -triple-beam@^1.2.0, triple-beam@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9" - integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw== +"to-readable-stream@^1.0.0": + "integrity" "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + "resolved" "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz" + "version" "1.0.0" + +"to-regex-range@^2.1.0": + "integrity" "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=" + "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "is-number" "^3.0.0" + "repeat-string" "^1.6.1" + +"to-regex-range@^5.0.1": + "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" + "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "is-number" "^7.0.0" + +"to-regex@^3.0.1", "to-regex@^3.0.2": + "integrity" "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==" + "resolved" "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "regex-not" "^1.0.2" + "safe-regex" "^1.1.0" + +"toidentifier@1.0.0": + "integrity" "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + "resolved" "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz" + "version" "1.0.0" + +"toml@^3.0.0": + "integrity" "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==" + "resolved" "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz" + "version" "3.0.0" + +"touch@^3.1.0": + "integrity" "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==" + "resolved" "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "nopt" "~1.0.10" + +"tough-cookie@~2.4.3": + "integrity" "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==" + "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz" + "version" "2.4.3" + dependencies: + "psl" "^1.1.24" + "punycode" "^1.4.1" + +"tough-cookie@~2.5.0": + "integrity" "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==" + "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" + "version" "2.5.0" + dependencies: + "psl" "^1.1.28" + "punycode" "^2.1.1" + +"tree-kill@^1.2.2": + "integrity" "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==" + "resolved" "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz" + "version" "1.2.2" + +"trim-newlines@^1.0.0": + "integrity" "sha1-WIeWa7WCpFA6QetST301ARgVphM=" + "resolved" "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" + "version" "1.0.0" + +"triple-beam@^1.2.0", "triple-beam@^1.3.0": + "integrity" "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" + "resolved" "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz" + "version" "1.3.0" "true-case-path@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" - integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew== + "integrity" "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==" + "resolved" "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz" + "version" "1.0.3" dependencies: - glob "^7.1.2" + "glob" "^7.1.2" -tslib@1.11.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" - integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== +"tslib@^1.11.2": + "integrity" "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz" + "version" "1.13.0" -tslib@^1, tslib@^1.10.0, tslib@^1.9.0, tslib@^1.9.3: - version "1.10.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" - integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== +"tslib@^1.13.0": + "integrity" "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz" + "version" "1.13.0" -tslib@^1.11.2, tslib@^1.13.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== +"tslib@^1", "tslib@^1.10.0", "tslib@^1.9.0", "tslib@^1.9.3": + "integrity" "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz" + "version" "1.10.0" -tslib@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e" - integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ== +"tslib@^2.0.0": + "integrity" "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz" + "version" "2.0.1" -tslib@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" - integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== +"tslib@^2.1.0": + "integrity" "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz" + "version" "2.1.0" -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= +"tslib@1.11.1": + "integrity" "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz" + "version" "1.11.1" + +"tunnel-agent@^0.6.0": + "integrity" "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=" + "resolved" "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" + "version" "0.6.0" dependencies: - safe-buffer "^5.0.1" + "safe-buffer" "^5.0.1" -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +"tweetnacl@^0.14.3", "tweetnacl@~0.14.0": + "integrity" "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + "resolved" "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" + "version" "0.14.5" -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== +"type-fest@^0.11.0": + "integrity" "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz" + "version" "0.11.0" -type-fest@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" - integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== +"type-fest@^0.13.1": + "integrity" "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz" + "version" "0.13.1" -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +"type-fest@^0.8.1": + "integrity" "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" + "version" "0.8.1" -type-is@~1.6.17, type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== +"type-is@~1.6.17", "type-is@~1.6.18": + "integrity" "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==" + "resolved" "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" + "version" "1.6.18" dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" + "media-typer" "0.3.0" + "mime-types" "~2.1.24" -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== +"typedarray-to-buffer@^3.1.5": + "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" + "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + "version" "3.1.5" dependencies: - is-typedarray "^1.0.0" + "is-typedarray" "^1.0.0" -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +"typedarray@^0.0.6": + "integrity" "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "resolved" "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + "version" "0.0.6" -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== +"unicode-canonical-property-names-ecmascript@^1.0.4": + "integrity" "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" + "resolved" "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz" + "version" "1.0.4" -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== +"unicode-match-property-ecmascript@^1.0.4": + "integrity" "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==" + "resolved" "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz" + "version" "1.0.4" dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" + "unicode-canonical-property-names-ecmascript" "^1.0.4" + "unicode-property-aliases-ecmascript" "^1.0.4" -unicode-match-property-value-ecmascript@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz#9f1dc76926d6ccf452310564fd834ace059663d4" - integrity sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ== +"unicode-match-property-value-ecmascript@^1.0.2": + "integrity" "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==" + "resolved" "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz" + "version" "1.0.2" -unicode-property-aliases-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0" - integrity sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg== +"unicode-property-aliases-ecmascript@^1.0.4": + "integrity" "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==" + "resolved" "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz" + "version" "1.0.4" -union-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" - integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= +"union-value@^1.0.0": + "integrity" "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==" + "resolved" "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" + "version" "1.0.1" dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^0.4.3" + "arr-union" "^3.1.0" + "get-value" "^2.0.6" + "is-extendable" "^0.1.1" + "set-value" "^2.0.1" -uniq@^1.0.0, uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= +"uniq@^1.0.0", "uniq@^1.0.1": + "integrity" "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + "resolved" "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz" + "version" "1.0.1" -uniqs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" - integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= +"uniqs@^2.0.0": + "integrity" "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + "resolved" "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz" + "version" "2.0.0" -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== +"unique-string@^2.0.0": + "integrity" "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==" + "resolved" "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" + "version" "2.0.0" dependencies: - crypto-random-string "^2.0.0" + "crypto-random-string" "^2.0.0" -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= +"unpipe@~1.0.0", "unpipe@1.0.0": + "integrity" "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + "resolved" "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + "version" "1.0.0" -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= +"unquote@~1.1.1": + "integrity" "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + "resolved" "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz" + "version" "1.1.1" -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= +"unset-value@^1.0.0": + "integrity" "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=" + "resolved" "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" + "version" "1.0.0" dependencies: - has-value "^0.3.1" - isobject "^3.0.0" + "has-value" "^0.3.1" + "isobject" "^3.0.0" -update-notifier@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.1.tgz#895fc8562bbe666179500f9f2cebac4f26323746" - integrity sha512-9y+Kds0+LoLG6yN802wVXoIfxYEwh3FlZwzMwpCZp62S2i1/Jzeqb9Eeeju3NSHccGGasfGlK5/vEHbAifYRDg== +"update-notifier@^4.1.0": + "integrity" "sha512-9y+Kds0+LoLG6yN802wVXoIfxYEwh3FlZwzMwpCZp62S2i1/Jzeqb9Eeeju3NSHccGGasfGlK5/vEHbAifYRDg==" + "resolved" "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.1.tgz" + "version" "4.1.1" dependencies: - boxen "^4.2.0" - chalk "^3.0.0" - configstore "^5.0.1" - has-yarn "^2.1.0" - import-lazy "^2.1.0" - is-ci "^2.0.0" - is-installed-globally "^0.3.1" - is-npm "^4.0.0" - is-yarn-global "^0.3.0" - latest-version "^5.0.0" - pupa "^2.0.1" - semver-diff "^3.1.1" - xdg-basedir "^4.0.0" + "boxen" "^4.2.0" + "chalk" "^3.0.0" + "configstore" "^5.0.1" + "has-yarn" "^2.1.0" + "import-lazy" "^2.1.0" + "is-ci" "^2.0.0" + "is-installed-globally" "^0.3.1" + "is-npm" "^4.0.0" + "is-yarn-global" "^0.3.0" + "latest-version" "^5.0.0" + "pupa" "^2.0.1" + "semver-diff" "^3.1.1" + "xdg-basedir" "^4.0.0" -uri-js@^4.2.2: - version "4.4.0" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" - integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g== +"uri-js@^4.2.2": + "integrity" "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==" + "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz" + "version" "4.4.0" dependencies: - punycode "^2.1.0" + "punycode" "^2.1.0" -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= +"urix@^0.1.0": + "integrity" "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + "resolved" "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" + "version" "0.1.0" -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= +"url-parse-lax@^3.0.0": + "integrity" "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=" + "resolved" "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" + "version" "3.0.0" dependencies: - prepend-http "^2.0.0" + "prepend-http" "^2.0.0" -url-polyfill@^1.1.8: - version "1.1.12" - resolved "https://registry.yarnpkg.com/url-polyfill/-/url-polyfill-1.1.12.tgz#6cdaa17f6b022841b3aec0bf8dbd87ac0cd33331" - integrity sha512-mYFmBHCapZjtcNHW0MDq9967t+z4Dmg5CJ0KqysK3+ZbyoNOWQHksGCTWwDhxGXllkWlOc10Xfko6v4a3ucM6A== +"url-polyfill@^1.1.8": + "integrity" "sha512-mYFmBHCapZjtcNHW0MDq9967t+z4Dmg5CJ0KqysK3+ZbyoNOWQHksGCTWwDhxGXllkWlOc10Xfko6v4a3ucM6A==" + "resolved" "https://registry.npmjs.org/url-polyfill/-/url-polyfill-1.1.12.tgz" + "version" "1.1.12" -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== +"use@^3.1.0": + "integrity" "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + "resolved" "https://registry.npmjs.org/use/-/use-3.1.1.tgz" + "version" "3.1.1" -utf8@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" - integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== +"utf8@^3.0.0": + "integrity" "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" + "resolved" "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz" + "version" "3.0.0" -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= +"util-deprecate@^1.0.1", "util-deprecate@~1.0.1": + "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + "version" "1.0.2" -util.promisify@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== +"util.promisify@~1.0.0": + "integrity" "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==" + "resolved" "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz" + "version" "1.0.0" dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" + "define-properties" "^1.1.2" + "object.getownpropertydescriptors" "^2.0.3" -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= +"utils-merge@1.0.1": + "integrity" "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + "resolved" "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + "version" "1.0.1" -uuid@^3.0.1, uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +"uuid@^3.0.1", "uuid@^3.3.2": + "integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" + "version" "3.4.0" -uuid@^8.2.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.0.tgz#ab738085ca22dc9a8c92725e459b1d507df5d6ea" - integrity sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ== +"uuid@^8.2.0": + "integrity" "sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.0.tgz" + "version" "8.3.0" -uuid@^8.3.0: - version "8.3.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.1.tgz#2ba2e6ca000da60fce5a196954ab241131e05a31" - integrity sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg== +"uuid@^8.3.0": + "integrity" "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz" + "version" "8.3.1" -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== +"uuid@^8.3.2": + "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + "version" "8.3.2" -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== +"validate-npm-package-license@^3.0.1": + "integrity" "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==" + "resolved" "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" + "version" "3.0.4" dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" + "spdx-correct" "^3.0.0" + "spdx-expression-parse" "^3.0.0" -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= +"vary@~1.1.2": + "integrity" "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + "resolved" "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + "version" "1.1.2" -vendors@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801" - integrity sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ== +"vendors@^1.0.0": + "integrity" "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==" + "resolved" "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz" + "version" "1.0.2" -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= +"verror@1.10.0": + "integrity" "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=" + "resolved" "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" + "version" "1.10.0" dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" + "assert-plus" "^1.0.0" + "core-util-is" "1.0.2" + "extsprintf" "^1.2.0" -vinyl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" - integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== +"vinyl@^2.2.0": + "integrity" "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==" + "resolved" "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz" + "version" "2.2.0" dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" + "clone" "^2.1.1" + "clone-buffer" "^1.0.0" + "clone-stats" "^1.0.0" + "cloneable-readable" "^1.0.0" + "remove-trailing-separator" "^1.0.1" + "replace-ext" "^1.0.0" -vlq@^0.2.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" - integrity sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow== +"vlq@^0.2.2": + "integrity" "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" + "resolved" "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz" + "version" "0.2.3" -vlq@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.0.tgz#8101be90843422954c2b13eb27f2f3122bdcc806" - integrity sha512-o3WmXySo+oI5thgqr7Qy8uBkT/v9Zr+sRyrh1lr8aWPUkgDWdWt4Nae2WKBrLsocgE8BuWWD0jLc+VW8LeU+2g== +"vlq@^1.0.0": + "integrity" "sha512-o3WmXySo+oI5thgqr7Qy8uBkT/v9Zr+sRyrh1lr8aWPUkgDWdWt4Nae2WKBrLsocgE8BuWWD0jLc+VW8LeU+2g==" + "resolved" "https://registry.npmjs.org/vlq/-/vlq-1.0.0.tgz" + "version" "1.0.0" -vscode-languageserver-types@^3.16.0: - version "3.16.0" - resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz#ecf393fc121ec6974b2da3efb3155644c514e247" - integrity sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA== +"vscode-languageserver-types@^3.16.0": + "integrity" "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==" + "resolved" "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz" + "version" "3.16.0" -vue-router@^2.0.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-2.8.1.tgz#9833c9ee57ac83beb0269056fefee71713f20695" - integrity sha512-MC4jacHBhTPKtmcfzvaj2N7g6jgJ/Z/eIjZdt+yUaUOM1iKC0OUIlO/xCtz6OZFFTNUJs/1YNro2GN/lE+nOXA== +"vue-router@^2.0.0": + "integrity" "sha512-MC4jacHBhTPKtmcfzvaj2N7g6jgJ/Z/eIjZdt+yUaUOM1iKC0OUIlO/xCtz6OZFFTNUJs/1YNro2GN/lE+nOXA==" + "resolved" "https://registry.npmjs.org/vue-router/-/vue-router-2.8.1.tgz" + "version" "2.8.1" -vue-template-compiler@^2.6.11: - version "2.6.11" - resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz#c04704ef8f498b153130018993e56309d4698080" - integrity sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA== +"vue-template-compiler@*", "vue-template-compiler@^2.6.11": + "integrity" "sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA==" + "resolved" "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz" + "version" "2.6.11" dependencies: - de-indent "^1.0.2" - he "^1.1.0" + "de-indent" "^1.0.2" + "he" "^1.1.0" -vue-template-es2015-compiler@^1.6.0, vue-template-es2015-compiler@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825" - integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== +"vue-template-es2015-compiler@^1.6.0", "vue-template-es2015-compiler@^1.9.0": + "integrity" "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==" + "resolved" "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz" + "version" "1.9.1" -vue@^2.6.11: - version "2.6.11" - resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.11.tgz#76594d877d4b12234406e84e35275c6d514125c5" - integrity sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ== +"vue@^2.6.11": + "integrity" "sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ==" + "resolved" "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz" + "version" "2.6.11" -wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= +"wcwidth@^1.0.1": + "integrity" "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=" + "resolved" "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" + "version" "1.0.1" dependencies: - defaults "^1.0.3" + "defaults" "^1.0.3" -which-boxed-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.1.tgz#cbe8f838ebe91ba2471bb69e9edbda67ab5a5ec1" - integrity sha512-7BT4TwISdDGBgaemWU0N0OU7FeAEJ9Oo2P1PHRm/FCWoEi2VLWC9b6xvxAA3C/NMpxg3HXVgi0sMmGbNUbNepQ== +"which-boxed-primitive@^1.0.1": + "integrity" "sha512-7BT4TwISdDGBgaemWU0N0OU7FeAEJ9Oo2P1PHRm/FCWoEi2VLWC9b6xvxAA3C/NMpxg3HXVgi0sMmGbNUbNepQ==" + "resolved" "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.1.tgz" + "version" "1.0.1" dependencies: - is-bigint "^1.0.0" - is-boolean-object "^1.0.0" - is-number-object "^1.0.3" - is-string "^1.0.4" - is-symbol "^1.0.2" + "is-bigint" "^1.0.0" + "is-boolean-object" "^1.0.0" + "is-number-object" "^1.0.3" + "is-string" "^1.0.4" + "is-symbol" "^1.0.2" -which-collection@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" - integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== +"which-collection@^1.0.1": + "integrity" "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==" + "resolved" "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz" + "version" "1.0.1" dependencies: - is-map "^2.0.1" - is-set "^2.0.1" - is-weakmap "^2.0.1" - is-weakset "^2.0.1" + "is-map" "^2.0.1" + "is-set" "^2.0.1" + "is-weakmap" "^2.0.1" + "is-weakset" "^2.0.1" -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= +"which-module@^2.0.0": + "integrity" "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + "resolved" "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" + "version" "2.0.0" -which-typed-array@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.2.tgz#e5f98e56bda93e3dac196b01d47c1156679c00b2" - integrity sha512-KT6okrd1tE6JdZAy3o2VhMoYPh3+J6EMZLyrxBQsZflI1QCZIxMrIYLkosd8Twf+YfknVIHmYQPgJt238p8dnQ== +"which-typed-array@^1.1.2": + "integrity" "sha512-KT6okrd1tE6JdZAy3o2VhMoYPh3+J6EMZLyrxBQsZflI1QCZIxMrIYLkosd8Twf+YfknVIHmYQPgJt238p8dnQ==" + "resolved" "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.2.tgz" + "version" "1.1.2" dependencies: - available-typed-arrays "^1.0.2" - es-abstract "^1.17.5" - foreach "^2.0.5" - function-bind "^1.1.1" - has-symbols "^1.0.1" - is-typed-array "^1.1.3" + "available-typed-arrays" "^1.0.2" + "es-abstract" "^1.17.5" + "foreach" "^2.0.5" + "function-bind" "^1.1.1" + "has-symbols" "^1.0.1" + "is-typed-array" "^1.1.3" -which@1, which@^1.2.10, which@^1.2.14, which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== +"which@^1.2.10", "which@^1.2.14", "which@^1.2.9", "which@1": + "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" + "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + "version" "1.3.1" dependencies: - isexe "^2.0.0" + "isexe" "^2.0.0" -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== +"wide-align@^1.1.0": + "integrity" "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==" + "resolved" "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz" + "version" "1.1.3" dependencies: - string-width "^1.0.2 || 2" + "string-width" "^1.0.2 || 2" -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== +"widest-line@^3.1.0": + "integrity" "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==" + "resolved" "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" + "version" "3.1.0" dependencies: - string-width "^4.0.0" + "string-width" "^4.0.0" -windows-release@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.2.0.tgz#8122dad5afc303d833422380680a79cdfa91785f" - integrity sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA== +"windows-release@^3.1.0": + "integrity" "sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA==" + "resolved" "https://registry.npmjs.org/windows-release/-/windows-release-3.2.0.tgz" + "version" "3.2.0" dependencies: - execa "^1.0.0" + "execa" "^1.0.0" -winston-transport@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.4.0.tgz#17af518daa690d5b2ecccaa7acf7b20ca7925e59" - integrity sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw== +"winston-transport@^4.4.0": + "integrity" "sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==" + "resolved" "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz" + "version" "4.4.0" dependencies: - readable-stream "^2.3.7" - triple-beam "^1.2.0" + "readable-stream" "^2.3.7" + "triple-beam" "^1.2.0" -winston@^3.1.0: - version "3.3.3" - resolved "https://registry.yarnpkg.com/winston/-/winston-3.3.3.tgz#ae6172042cafb29786afa3d09c8ff833ab7c9170" - integrity sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw== +"winston@^3.1.0": + "integrity" "sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==" + "resolved" "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz" + "version" "3.3.3" dependencies: "@dabh/diagnostics" "^2.0.2" - async "^3.1.0" - is-stream "^2.0.0" - logform "^2.2.0" - one-time "^1.0.0" - readable-stream "^3.4.0" - stack-trace "0.0.x" - triple-beam "^1.3.0" - winston-transport "^4.4.0" + "async" "^3.1.0" + "is-stream" "^2.0.0" + "logform" "^2.2.0" + "one-time" "^1.0.0" + "readable-stream" "^3.4.0" + "stack-trace" "0.0.x" + "triple-beam" "^1.3.0" + "winston-transport" "^4.4.0" -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= +"wrap-ansi@^2.0.0": + "integrity" "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz" + "version" "2.1.0" dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" + "string-width" "^1.0.1" + "strip-ansi" "^3.0.1" -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== +"wrap-ansi@^5.1.0": + "integrity" "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz" + "version" "5.1.0" dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" + "ansi-styles" "^3.2.0" + "string-width" "^3.0.0" + "strip-ansi" "^5.0.0" -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= +"wrappy@1": + "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + "version" "1.0.2" -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== +"write-file-atomic@^3.0.0": + "integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==" + "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + "version" "3.0.3" dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" + "imurmurhash" "^0.1.4" + "is-typedarray" "^1.0.0" + "signal-exit" "^3.0.2" + "typedarray-to-buffer" "^3.1.5" -ws@~7.4.2: - version "7.4.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.2.tgz#782100048e54eb36fe9843363ab1c68672b261dd" - integrity sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA== +"ws@~7.4.2": + "integrity" "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==" + "resolved" "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz" + "version" "7.4.2" -xdg-basedir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" - integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== +"xdg-basedir@^4.0.0": + "integrity" "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" + "resolved" "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" + "version" "4.0.0" -xml-js@^1.6.11: - version "1.6.11" - resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9" - integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== +"xml-js@^1.6.11": + "integrity" "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==" + "resolved" "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz" + "version" "1.6.11" dependencies: - sax "^1.2.4" + "sax" "^1.2.4" -xml2js@0.4.23, xml2js@^0.4.17: - version "0.4.23" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" - integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== +"xml2js@^0.4.17", "xml2js@0.4.23": + "integrity" "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==" + "resolved" "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz" + "version" "0.4.23" dependencies: - sax ">=0.6.0" - xmlbuilder "~11.0.0" + "sax" ">=0.6.0" + "xmlbuilder" "~11.0.0" -xmlbuilder@~11.0.0: - version "11.0.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" - integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== +"xmlbuilder@~11.0.0": + "integrity" "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + "resolved" "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz" + "version" "11.0.1" -xmldom@0.1.27: - version "0.1.27" - resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" - integrity sha1-1QH5ezvbQDr4757MIFcxh6rawOk= +"xmldom@0.1.27": + "integrity" "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=" + "resolved" "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz" + "version" "0.1.27" -xmlhttprequest-ssl@~1.5.4: - version "1.5.5" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" - integrity sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4= +"xmlhttprequest-ssl@~1.5.4": + "integrity" "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" + "resolved" "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz" + "version" "1.5.5" -xpath@^0.0.27: - version "0.0.27" - resolved "https://registry.yarnpkg.com/xpath/-/xpath-0.0.27.tgz#dd3421fbdcc5646ac32c48531b4d7e9d0c2cfa92" - integrity sha512-fg03WRxtkCV6ohClePNAECYsmpKKTv5L8y/X3Dn1hQrec3POx2jHZ/0P2qQ6HvsrU1BmeqXcof3NGGueG6LxwQ== +"xpath@^0.0.27": + "integrity" "sha512-fg03WRxtkCV6ohClePNAECYsmpKKTv5L8y/X3Dn1hQrec3POx2jHZ/0P2qQ6HvsrU1BmeqXcof3NGGueG6LxwQ==" + "resolved" "https://registry.npmjs.org/xpath/-/xpath-0.0.27.tgz" + "version" "0.0.27" -xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== +"xtend@~4.0.1": + "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + "version" "4.0.2" -"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" - integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== +"y18n@^3.2.1 || ^4.0.0", "y18n@^4.0.0": + "integrity" "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==" + "resolved" "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz" + "version" "4.0.1" -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= +"yallist@^2.1.2": + "integrity" "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" + "version" "2.1.2" -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== +"yallist@^3.0.2": + "integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + "version" "3.1.1" -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== +"yallist@^4.0.0": + "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + "version" "4.0.0" -yaml@^1.9.2: - version "1.10.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== +"yaml@^1.9.2": + "integrity" "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==" + "resolved" "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz" + "version" "1.10.0" -yargs-parser@^11.1.1: - version "11.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" - integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== +"yargs-parser@^11.1.1": + "integrity" "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz" + "version" "11.1.1" dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" + "camelcase" "^5.0.0" + "decamelize" "^1.2.0" -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== +"yargs-parser@^13.1.2": + "integrity" "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz" + "version" "13.1.2" dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" + "camelcase" "^5.0.0" + "decamelize" "^1.2.0" -yargs-parser@^15.0.0: - version "15.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.0.tgz#cdd7a97490ec836195f59f3f4dbe5ea9e8f75f08" - integrity sha512-xLTUnCMc4JhxrPEPUYD5IBR1mWCK/aT6+RJ/K29JY2y1vD+FhtgKK0AXRWvI262q3QSffAQuTouFIKUuHX89wQ== +"yargs-parser@^15.0.0": + "integrity" "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz" + "version" "15.0.1" dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" + "camelcase" "^5.0.0" + "decamelize" "^1.2.0" -yargs@^12.0.2: - version "12.0.5" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" - integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== +"yargs@^12.0.2": + "integrity" "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz" + "version" "12.0.5" dependencies: - cliui "^4.0.0" - decamelize "^1.2.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1 || ^4.0.0" - yargs-parser "^11.1.1" + "cliui" "^4.0.0" + "decamelize" "^1.2.0" + "find-up" "^3.0.0" + "get-caller-file" "^1.0.1" + "os-locale" "^3.0.0" + "require-directory" "^2.1.1" + "require-main-filename" "^1.0.1" + "set-blocking" "^2.0.0" + "string-width" "^2.0.0" + "which-module" "^2.0.0" + "y18n" "^3.2.1 || ^4.0.0" + "yargs-parser" "^11.1.1" -yargs@^13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== +"yargs@^13.3.2": + "integrity" "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz" + "version" "13.3.2" 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" + "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" -yargs@^14.2: - version "14.2.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.2.tgz#2769564379009ff8597cdd38fba09da9b493c4b5" - integrity sha512-/4ld+4VV5RnrynMhPZJ/ZpOCGSCeghMykZ3BhdFBDa9Wy/RH6uEGNWDJog+aUlq+9OM1CFTgtYRW5Is1Po9NOA== +"yargs@^14.2": + "integrity" "sha512-/4ld+4VV5RnrynMhPZJ/ZpOCGSCeghMykZ3BhdFBDa9Wy/RH6uEGNWDJog+aUlq+9OM1CFTgtYRW5Is1Po9NOA==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-14.2.2.tgz" + "version" "14.2.2" dependencies: - cliui "^5.0.0" - decamelize "^1.2.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 "^15.0.0" + "cliui" "^5.0.0" + "decamelize" "^1.2.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" "^15.0.0" -yauzl@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= +"yauzl@^2.10.0": + "integrity" "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=" + "resolved" "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" + "version" "2.10.0" dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" + "buffer-crc32" "~0.2.3" + "fd-slicer" "~1.1.0" -yeast@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" - integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= +"yeast@0.1.2": + "integrity" "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + "resolved" "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz" + "version" "0.1.2" From 73aef0613420c6079fcf5c402310918a80f6bbc7 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Wed, 5 May 2021 15:03:01 +0530 Subject: [PATCH 0010/1383] fix: Save sidebar after sorting --- .../internal_wiki_page/internal_wiki_page.py | 10 ++- frappe/public/js/frappe/views/wiki.js | 83 +++++++++++-------- 2 files changed, 56 insertions(+), 37 deletions(-) diff --git a/frappe/desk/doctype/internal_wiki_page/internal_wiki_page.py b/frappe/desk/doctype/internal_wiki_page/internal_wiki_page.py index ea9a3a4dc5..9e291ed265 100644 --- a/frappe/desk/doctype/internal_wiki_page/internal_wiki_page.py +++ b/frappe/desk/doctype/internal_wiki_page/internal_wiki_page.py @@ -16,7 +16,7 @@ class InternalWikiPage(Document): self.sequence_id = frappe.get_last_doc('Internal Wiki Page').sequence_id + 1 @frappe.whitelist() -def save_wiki_page(title, parent, blocks, save=True): +def save_wiki_page(title, parent, sb_items, blocks, save=True): if save: if not frappe.db.exists("Workspace", title): wspace = frappe.new_doc('Workspace') @@ -32,7 +32,13 @@ def save_wiki_page(title, parent, blocks, save=True): doc = frappe.get_doc('Internal Wiki Page', title) doc.content = blocks doc.save() - + + if json.loads(sb_items): + for d in json.loads(sb_items): + doc = frappe.get_doc('Internal Wiki Page', d.get('name')) + doc.sequence_id = d.get('sequence_id') + doc.save() + return doc.title @frappe.whitelist() diff --git a/frappe/public/js/frappe/views/wiki.js b/frappe/public/js/frappe/views/wiki.js index df62fe2039..dcfa840997 100644 --- a/frappe/public/js/frappe/views/wiki.js +++ b/frappe/public/js/frappe/views/wiki.js @@ -11,7 +11,7 @@ frappe.views.Wiki = class Wiki { this.pages = {}; this.sections = {}; this.sidebar_items = {}; - this.sorted_sidebar_items = {} + this.sorted_sidebar_items = []; this.tools = {} this.isReadOnly = true; this.prepare_container(); @@ -26,7 +26,6 @@ frappe.views.Wiki = class Wiki { `).appendTo(this.wrapper.find(".layout-side-section")); this.sidebar = list_sidebar.find(".desk-sidebar"); this.body = this.wrapper.find(".layout-main-section"); - // this.body.addClass("frappe-card"); } setup_wiki_pages() { @@ -39,31 +38,10 @@ frappe.views.Wiki = class Wiki { } frappe.router.route(); this.make_sidebar(root_pages); - this.make_sidebar_sortable(); } }) } - make_sidebar_sortable() { - let me = this; - this.sidebar_sortable = Sortable.create(this.page.sidebar.find(".standard-sidebar-section").get(0), { - handle: ".standard-sidebar-item-container", - draggable: ".standard-sidebar-item-container", - animation: 150, - onEnd: function (evt){ - // let sb_items = me.all_pages.filter(page => page.parent_page == '' || page.parent_page == null) - // let startBlock = sb_items[evt.oldIndex]; - // let endBlock = sb_items[evt.newIndex]; - // startBlock.sequence_id = parseInt(me.sidebar.find('.standard-sidebar-item-container')[evt.oldIndex].getAttribute('item-sequence')); - // let oldName = me.sidebar.find('.standard-sidebar-item-container')[evt.oldIndex].getAttribute('item-name'); - // endBlock.sequence_id = parseInt(me.sidebar.find('.standard-sidebar-item-container')[evt.newIndex].getAttribute('item-sequence')); - // let newName = me.sidebar.find('.standard-sidebar-item-container')[evt.newIndex].getAttribute('item-name'); - // frappe.db.set_value('Internal Wiki Page', newName, {["sequence_id"]: startBlock.sequence_id}) - // frappe.db.set_value('Internal Wiki Page', oldName, {["sequence_id"]: endBlock.sequence_id}) - } - }); - } - get_pages() { return frappe.xcall("frappe.desk.doctype.internal_wiki_page.internal_wiki_page.get_pages").then(data => { this.all_pages = data; @@ -235,7 +213,7 @@ frappe.views.Wiki = class Wiki { } else if (this.all_pages) { default_page = this.all_pages[0].name; } else { - default_page = "Home"; + default_page = "Build"; } let page = frappe.get_route()[1] || default_page; @@ -275,20 +253,11 @@ frappe.views.Wiki = class Wiki { this.editor.readOnly.toggle(); this.editor.isReady .then(() => { - let me = this; this.undo = new Undo({ editor: this.editor }); this.undo.initialize({blocks: JSON.parse(this.content)}); this.setup_customization_buttons(); - this.page_sortable = Sortable.create(this.page.main.find(".codex-editor__redactor").get(0), { - handle: ".ce-block", - animation: 150, - onEnd: function (evt){ - me.editor.blocks.move(evt.newIndex, evt.oldIndex); - }, - setData: function (dataTransfer, dragEl) { - //Do Nothing - } - }); + this.make_sidebar_sortable(); + this.make_blocks_sortable(); }) }, ); @@ -298,6 +267,46 @@ frappe.views.Wiki = class Wiki { }); } + make_sidebar_sortable() { + let me = this; + this.sidebar_sortable = Sortable.create(this.page.sidebar.find(".standard-sidebar-section").get(0), { + handle: ".standard-sidebar-item-container", + draggable: ".standard-sidebar-item-container", + animation: 150, + onEnd: function (evt){ + let new_sb_items = []; + let old_sb_items = me.all_pages.filter(page => page.parent_page == '' || page.parent_page == null) + for (let page of evt.srcElement.childNodes) { + new_sb_items.push({ + name: page.attributes['item-name'].value, + sequence_id: parseInt(page.attributes['item-sequence'].value) + }) + } + me.sorted_sidebar_items = []; + new_sb_items.forEach((old, index) => { + if (old.sequence_id != old_sb_items[index].sequence_id) { + old.sequence_id = old_sb_items[index].sequence_id; + me.sorted_sidebar_items.push(old); + } + }); + } + }); + } + + make_blocks_sortable() { + let me = this; + this.page_sortable = Sortable.create(this.page.main.find(".codex-editor__redactor").get(0), { + handle: ".ce-block", + animation: 150, + onEnd: function (evt){ + me.editor.blocks.move(evt.newIndex, evt.oldIndex); + }, + setData: function (dataTransfer, dragEl) { + //Do Nothing + } + }); + } + setup_customization_buttons() { this.page.clear_primary_action(); this.page.clear_secondary_action(); @@ -312,6 +321,7 @@ frappe.views.Wiki = class Wiki { this.editor.readOnly.toggle(); this.isReadOnly = true; this.page_sortable.option("disabled", true); + this.sidebar_sortable.option("disabled", true); }, null, __("Saving") @@ -325,6 +335,7 @@ frappe.views.Wiki = class Wiki { this.editor.readOnly.toggle(); this.isReadOnly = true; this.page_sortable.option("disabled", true); + this.sidebar_sortable.option("disabled", true); this.reload(); frappe.show_alert({ message: __("Customizations Discarded"), indicator: "info" }); } @@ -401,6 +412,7 @@ frappe.views.Wiki = class Wiki { args: { title: me.title, parent: me.parent || '', + sb_items: me.sorted_sidebar_items, blocks: JSON.stringify(outputData.blocks), save: save }, @@ -410,6 +422,7 @@ frappe.views.Wiki = class Wiki { frappe.show_alert({ message: __("Page Saved Successfully"), indicator: "green" }); me.title = ''; me.parent = ''; + me.sorted_sidebar_items = []; me.reload(); } } From 4b7a1488b5b465ce2a4ba9c67c9b01b461ba6342 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 11 May 2021 17:28:16 +0530 Subject: [PATCH 0011/1383] fix: Add New Shortcut --- frappe/desk/desktop.py | 50 ++++++++++++ frappe/public/js/frappe/views/wiki.js | 34 +++++++- .../public/js/frappe/widgets/widget_group.js | 4 - frappe/public/js/frappe/wiki_blocks/blank.js | 10 +-- frappe/public/js/frappe/wiki_blocks/card.js | 21 +++-- frappe/public/js/frappe/wiki_blocks/chart.js | 15 ++-- .../public/js/frappe/wiki_blocks/paragraph.js | 10 +-- .../public/js/frappe/wiki_blocks/shortcut.js | 77 ++++++++++++------- 8 files changed, 164 insertions(+), 57 deletions(-) diff --git a/frappe/desk/desktop.py b/frappe/desk/desktop.py index d1b5e27a2f..7f054d5c1f 100644 --- a/frappe/desk/desktop.py +++ b/frappe/desk/desktop.py @@ -537,6 +537,56 @@ def save_customization(page, config): return True +@frappe.whitelist() +def save_new_widget(page, new_widgets): + original_page = frappe.get_doc("Workspace", page) + widgets = _dict(loads(new_widgets)) + + if widgets.chart: + original_page.charts = new_widget(widgets.chart, "Workspace Chart", "charts") + if widgets.shortcut: + original_page.shortcuts.extend(new_widget(widgets.shortcut, "Workspace Shortcut", "shortcuts")) + if widgets.card: + original_page.build_links_table_from_cards(widgets.card) + + try: + original_page.save(ignore_permissions=True) + except (ValidationError, TypeError) as e: + # Create a json string to log + json_config = dumps(widgets, sort_keys=True, indent=4) + + # Error log body + log = \ + """ + page: {0} + config: {1} + exception: {2} + """.format(page, json_config, e) + frappe.log_error(log, _("Could not save customization")) + return False + + return True + +def new_widget(config, doctype, parentfield): + if not config: + return [] + prepare_widget_list = [] + for idx, widget in enumerate(config): + # Some cleanup + widget.pop("name", None) + + # New Doc + doc = frappe.new_doc(doctype) + doc.update(widget) + + # Manually Set IDX + doc.idx = idx + 1 + + # Set Parent Field + doc.parentfield = parentfield + + prepare_widget_list.append(doc) + return prepare_widget_list def prepare_widget(config, doctype, parentfield): """Create widget child table entries with parent details diff --git a/frappe/public/js/frappe/views/wiki.js b/frappe/public/js/frappe/views/wiki.js index dcfa840997..b1fe2dbdf5 100644 --- a/frappe/public/js/frappe/views/wiki.js +++ b/frappe/public/js/frappe/views/wiki.js @@ -14,6 +14,7 @@ frappe.views.Wiki = class Wiki { this.sorted_sidebar_items = []; this.tools = {} this.isReadOnly = true; + this.new_page = null; this.prepare_container(); this.setup_wiki_pages(); } @@ -39,6 +40,10 @@ frappe.views.Wiki = class Wiki { frappe.router.route(); this.make_sidebar(root_pages); } + if (this.new_page) { + frappe.set_route(`wiki/${frappe.router.slug(this.new_page)}`) + this.new_page = null; + } }) } @@ -258,6 +263,7 @@ frappe.views.Wiki = class Wiki { this.setup_customization_buttons(); this.make_sidebar_sortable(); this.make_blocks_sortable(); + // this.customize(); }) }, ); @@ -296,7 +302,8 @@ frappe.views.Wiki = class Wiki { make_blocks_sortable() { let me = this; this.page_sortable = Sortable.create(this.page.main.find(".codex-editor__redactor").get(0), { - handle: ".ce-block", + handle: ".drag-handle", + draggable: ".ce-block", animation: 150, onEnd: function (evt){ me.editor.blocks.move(evt.newIndex, evt.oldIndex); @@ -374,6 +381,8 @@ frappe.views.Wiki = class Wiki { this.isReadOnly = false; this.editor.readOnly.toggle(); } + this.make_sidebar_sortable(); + this.make_blocks_sortable(); this.dirty = false; }) } @@ -407,6 +416,17 @@ frappe.views.Wiki = class Wiki { } let me = this; this.editor.save().then((outputData) => { + let new_widgets = {}; + outputData.blocks.forEach(item => { + if (item.data.new) { + if (!new_widgets[item.type]) { + new_widgets[item.type] = [] + } + new_widgets[item.type].push(item.data.new); + delete item.data['new']; + } + }) + frappe.call({ method: "frappe.desk.doctype.internal_wiki_page.internal_wiki_page.save_wiki_page", args: { @@ -419,10 +439,22 @@ frappe.views.Wiki = class Wiki { callback: function(res) { frappe.dom.unfreeze(); if (res.message) { + let cur_page = res.message; + if (!$.isEmptyObject(new_widgets)) { + frappe.call('frappe.desk.desktop.save_new_widget', { + page: me.title, + new_widgets: new_widgets + }).then(res => { + if(res.message) { + me.reload(); + } + }); + } frappe.show_alert({ message: __("Page Saved Successfully"), indicator: "green" }); me.title = ''; me.parent = ''; me.sorted_sidebar_items = []; + me.new_page = cur_page; me.reload(); } } diff --git a/frappe/public/js/frappe/widgets/widget_group.js b/frappe/public/js/frappe/widgets/widget_group.js index d1a5e3013c..3d97a8f778 100644 --- a/frappe/public/js/frappe/widgets/widget_group.js +++ b/frappe/public/js/frappe/widgets/widget_group.js @@ -218,13 +218,9 @@ export class SingleWidgetGroup { } customize() { - // if (!this.hidden) this.widget_area.show(); this.widgets_list.forEach((wid) => { wid.customize(this.options); }); - - // this.options.allow_create && this.setup_new_widget(); - // this.options.allow_sorting && this.setup_sortable(); } } diff --git a/frappe/public/js/frappe/wiki_blocks/blank.js b/frappe/public/js/frappe/wiki_blocks/blank.js index fa1a950280..ae8a53fc33 100644 --- a/frappe/public/js/frappe/wiki_blocks/blank.js +++ b/frappe/public/js/frappe/wiki_blocks/blank.js @@ -15,11 +15,11 @@ export default class Blank { this.api = api; this.config = config; this.readOnly = readOnly; - this.col = this.data.col ? this.data.col : "12", - this.pt = this.data.pt ? this.data.pt : "0", - this.pr = this.data.pr ? this.data.pr : "0", - this.pb = this.data.pb ? this.data.pb : "0", - this.pl = this.data.pl ? this.data.pl : "0" + this.col = this.data.col ? this.data.col : "12"; + this.pt = this.data.pt ? this.data.pt : "0"; + this.pr = this.data.pr ? this.data.pr : "0"; + this.pb = this.data.pb ? this.data.pb : "0"; + this.pl = this.data.pl ? this.data.pl : "0"; } render() { diff --git a/frappe/public/js/frappe/wiki_blocks/card.js b/frappe/public/js/frappe/wiki_blocks/card.js index 12061e2d02..a859b04439 100644 --- a/frappe/public/js/frappe/wiki_blocks/card.js +++ b/frappe/public/js/frappe/wiki_blocks/card.js @@ -16,11 +16,12 @@ export default class Card { this.config = config; this.readOnly = readOnly; this.sections = {}; - this.col = this.data.col ? this.data.col : "12", - this.pt = this.data.pt ? this.data.pt : "0", - this.pr = this.data.pr ? this.data.pr : "0", - this.pb = this.data.pb ? this.data.pb : "0", - this.pl = this.data.pl ? this.data.pl : "0" + this.col = this.data.col ? this.data.col : "12"; + this.pt = this.data.pt ? this.data.pt : "0"; + this.pr = this.data.pr ? this.data.pr : "0"; + this.pb = this.data.pb ? this.data.pb : "0"; + this.pl = this.data.pl ? this.data.pl : "0"; + this.allow_customization = !this.readOnly; } render() { @@ -135,15 +136,16 @@ export default class Card { }); this.wrapper.innerHTML = ''; this.sections = {}; + card.in_customize_mode = !this.readOnly; let cards = new frappe.widget.SingleWidgetGroup({ container: this.wrapper, type: "links", columns: 3, options: { allow_sorting: this.allow_customization, - allow_create: false, - allow_delete: false, - allow_hiding: this.allow_customization, + allow_create: this.allow_customization, + allow_delete: this.allow_customization, + allow_hiding: false, allow_edit: false, }, widgets: card @@ -151,5 +153,8 @@ export default class Card { this.sections["cards"] = cards; this.wrapper.setAttribute("card_name", card_name); + if (!this.readOnly) { + this.sections["cards"].customize(); + } } } \ No newline at end of file diff --git a/frappe/public/js/frappe/wiki_blocks/chart.js b/frappe/public/js/frappe/wiki_blocks/chart.js index 054e8d1c12..f8c97852fa 100644 --- a/frappe/public/js/frappe/wiki_blocks/chart.js +++ b/frappe/public/js/frappe/wiki_blocks/chart.js @@ -16,11 +16,12 @@ export default class Chart { this.config = config; this.readOnly = readOnly; this.sections = {}; - this.col = this.data.col ? this.data.col : "12", - this.pt = this.data.pt ? this.data.pt : "0", - this.pr = this.data.pr ? this.data.pr : "0", - this.pb = this.data.pb ? this.data.pb : "0", - this.pl = this.data.pl ? this.data.pl : "0" + this.col = this.data.col ? this.data.col : "12"; + this.pt = this.data.pt ? this.data.pt : "0"; + this.pr = this.data.pr ? this.data.pr : "0"; + this.pb = this.data.pb ? this.data.pb : "0"; + this.pl = this.data.pl ? this.data.pl : "0"; + this.allow_customization = !this.readOnly; } render() { @@ -135,6 +136,7 @@ export default class Chart { }); this.wrapper.innerHTML = ''; this.sections = {}; + chart.in_customize_mode = !this.readOnly; this.sections["charts"] = new frappe.widget.SingleWidgetGroup({ container: this.wrapper, type: "chart", @@ -152,5 +154,8 @@ export default class Chart { widgets: chart }); this.wrapper.setAttribute("chart_name", chart_name) + if (!this.readOnly) { + this.sections["charts"].customize(); + } } } \ No newline at end of file diff --git a/frappe/public/js/frappe/wiki_blocks/paragraph.js b/frappe/public/js/frappe/wiki_blocks/paragraph.js index 0cab2b9373..570a04e661 100644 --- a/frappe/public/js/frappe/wiki_blocks/paragraph.js +++ b/frappe/public/js/frappe/wiki_blocks/paragraph.js @@ -23,11 +23,11 @@ export default class Paragraph { this._preserveBlank = config.preserveBlank !== undefined ? config.preserveBlank : false; this.data = data; - this.col = this.data.col ? this.data.col : "12", - this.pt = this.data.pt ? this.data.pt : "0", - this.pr = this.data.pr ? this.data.pr : "0", - this.pb = this.data.pb ? this.data.pb : "0", - this.pl = this.data.pl ? this.data.pl : "0" + this.col = this.data.col ? this.data.col : "12"; + this.pt = this.data.pt ? this.data.pt : "0"; + this.pr = this.data.pr ? this.data.pr : "0"; + this.pb = this.data.pb ? this.data.pb : "0"; + this.pl = this.data.pl ? this.data.pl : "0"; } onKeyUp(e) { diff --git a/frappe/public/js/frappe/wiki_blocks/shortcut.js b/frappe/public/js/frappe/wiki_blocks/shortcut.js index 0cb8de6ef8..1a3d2ae970 100644 --- a/frappe/public/js/frappe/wiki_blocks/shortcut.js +++ b/frappe/public/js/frappe/wiki_blocks/shortcut.js @@ -1,3 +1,4 @@ +import get_dialog_constructor from "../widgets/widget_dialog.js"; export default class Shortcut { static get toolbox() { return { @@ -15,28 +16,25 @@ export default class Shortcut { this.api = api; this.config = config; this.readOnly = readOnly; - this.sections = {}; - this.col = this.data.col ? this.data.col : "12", - this.pt = this.data.pt ? this.data.pt : "0", - this.pr = this.data.pr ? this.data.pr : "0", - this.pb = this.data.pb ? this.data.pb : "0", - this.pl = this.data.pl ? this.data.pl : "0" + this.col = this.data.col ? this.data.col : "12"; + this.pt = this.data.pt ? this.data.pt : "0"; + this.pr = this.data.pr ? this.data.pr : "0"; + this.pb = this.data.pb ? this.data.pb : "0"; + this.pl = this.data.pl ? this.data.pl : "0"; + this.allow_customization = !this.readOnly; + this.options = { + allow_sorting: this.allow_customization, + allow_create: this.allow_customization, + allow_delete: this.allow_customization, + allow_hiding: false, + allow_edit: true, + } } render() { - let me = this; this.wrapper = document.createElement('div'); - this._make_fieldgroup(this.wrapper, [{ - fieldtype: "Select", - label: "Shortcut Name", - fieldname: "shortcut_name", - options: this.config.page_data.shortcuts.items.map(({ label }) => label), - change: function() { - if (this.value) { - me._make_shortcuts(this.value); - } - } - }]); + this._new_shortcut(); + if (this.data && this.data.shortcut_name) { this._make_shortcuts(this.data.shortcut_name) } @@ -50,7 +48,8 @@ export default class Shortcut { pt: this._getPadding("t"), pr: this._getPadding("r"), pb: this._getPadding("b"), - pl: this._getPadding("l") + pl: this._getPadding("l"), + new: this.new_shortcut_widget } } @@ -63,6 +62,30 @@ export default class Shortcut { e.classList.add("pl-" + this.pl) } + _new_shortcut() { + const dialog_class = get_dialog_constructor('shortcut'); + this.dialog = new dialog_class({ + label: this.label, + type: 'shortcut', + primary_action: (widget) => { + widget.in_customize_mode = 1; + let wid = frappe.widget.make_widget({ + ...widget, + widget_type: 'shortcut', + container: this.wrapper, + options: this.options, + }); + wid.customize(this.options); + this.wrapper.setAttribute("shortcut_name", wid.label); + this.new_shortcut_widget = wid.get_config(); + }, + }); + + if (!this.readOnly && this.data && !this.data.shortcut_name) { + this.dialog.make(); + } + } + _getCol() { var e = 12, t = "col-12", @@ -134,20 +157,16 @@ export default class Shortcut { return obj.label == shortcut_name }); this.wrapper.innerHTML = ''; - this.sections = {}; - this.sections["shortcuts"] = new frappe.widget.SingleWidgetGroup({ + shortcut.in_customize_mode = !this.readOnly; + let shortcut_widget = new frappe.widget.SingleWidgetGroup({ container: this.wrapper, type: "shortcut", - columns: 3, - options: { - allow_sorting: this.allow_customization, - allow_create: this.allow_customization, - allow_delete: this.allow_customization, - allow_hiding: false, - allow_edit: true, - }, + options: this.options, widgets: shortcut }); this.wrapper.setAttribute("shortcut_name", shortcut_name); + if (!this.readOnly) { + shortcut_widget.customize(); + } } } \ No newline at end of file From 80db1a715a8de19fdcd65a0b5b33aa178d79253f Mon Sep 17 00:00:00 2001 From: shariquerik Date: Wed, 12 May 2021 13:23:47 +0530 Subject: [PATCH 0012/1383] fix: Add New Card --- frappe/desk/desktop.py | 4 +- frappe/desk/doctype/workspace/workspace.py | 29 ++++++ .../public/js/frappe/widgets/widget_dialog.js | 93 +++++++++++++++++++ frappe/public/js/frappe/wiki_blocks/card.js | 65 +++++++------ 4 files changed, 163 insertions(+), 28 deletions(-) diff --git a/frappe/desk/desktop.py b/frappe/desk/desktop.py index 7f054d5c1f..c096f50b78 100644 --- a/frappe/desk/desktop.py +++ b/frappe/desk/desktop.py @@ -543,11 +543,11 @@ def save_new_widget(page, new_widgets): widgets = _dict(loads(new_widgets)) if widgets.chart: - original_page.charts = new_widget(widgets.chart, "Workspace Chart", "charts") + original_page.charts.extend(new_widget(widgets.chart, "Workspace Chart", "charts")) if widgets.shortcut: original_page.shortcuts.extend(new_widget(widgets.shortcut, "Workspace Shortcut", "shortcuts")) if widgets.card: - original_page.build_links_table_from_cards(widgets.card) + original_page.build_links_table_from_card(widgets.card) try: original_page.save(ignore_permissions=True) diff --git a/frappe/desk/doctype/workspace/workspace.py b/frappe/desk/doctype/workspace/workspace.py index 0934138821..20c9240188 100644 --- a/frappe/desk/doctype/workspace/workspace.py +++ b/frappe/desk/doctype/workspace/workspace.py @@ -100,6 +100,35 @@ class Workspace(Document): "is_query_report": link.get('is_query_report') }) + def build_links_table_from_card(self, config): + # Empty links table + # self.links = [] + # order = config.get('order') + # widgets = config.get('widgets') + + for idx, card in enumerate(config): + # card = widgets[name].copy() + links = loads(card.get('links')) + + self.append('links', { + "label": card.get('label'), + "type": "Card Break", + "icon": card.get('icon'), + "hidden": card.get('hidden') or False + }) + + for link in links: + self.append('links', { + "label": link.get('label'), + "type": "Link", + "link_type": link.get('link_type'), + "link_to": link.get('link_to'), + "onboard": link.get('onboard'), + "only_for": link.get('only_for'), + "dependencies": link.get('dependencies'), + "is_query_report": link.get('is_query_report') + }) + def disable_saving_as_standard(): return frappe.flags.in_install or \ diff --git a/frappe/public/js/frappe/widgets/widget_dialog.js b/frappe/public/js/frappe/widgets/widget_dialog.js index eefb78c29a..5bcaaf9e3e 100644 --- a/frappe/public/js/frappe/widgets/widget_dialog.js +++ b/frappe/public/js/frappe/widgets/widget_dialog.js @@ -124,6 +124,98 @@ class ChartDialog extends WidgetDialog { } } +class CardDialog extends WidgetDialog { + constructor(opts) { + super(opts); + } + + get_fields() { + let me = this; + return [ + { + fieldtype: "Data", + fieldname: "label", + label: "Label", + }, + { + fieldname: 'links', + fieldtype: 'Table', + label: __('Card Links'), + editable_grid: 1, + data: this.data || [], + get_data: () => { + return this.data || []; + }, + fields: [ + { + fieldname: "label", + fieldtype: "Data", + in_list_view: 1, + label: "Label" + }, + { + fieldname: "icon", + fieldtype: "Data", + label: "Icon" + }, + { + fieldname: "link_type", + fieldtype: "Select", + in_list_view: 1, + label: "Link Type", + options: ["DocType", "Page", "Report"], + onchange: (e) => { + me.link_to = e.currentTarget.value; + } + }, + { + fieldname: "link_to", + fieldtype: "Dynamic Link", + in_list_view: 1, + label: "Link To", + options: "link_type", + get_options: () => { + return me.link_to; + } + }, + { + fieldname: "column_break_7", + fieldtype: "Column Break" + }, + { + fieldname: "dependencies", + fieldtype: "Data", + label: "Dependencies" + }, + { + fieldname: "only_for", + fieldtype: "Link", + label: "Only for ", + options: "Country" + }, + { + default: "0", + fieldname: "onboard", + fieldtype: "Check", + label: "Onboard" + }, + { + default: "0", + fieldname: "is_query_report", + fieldtype: "Check", + label: "Is Query Report" + } + ], + }, + ]; + } + + process_data(data) { + data.label = data.label ? data.label : data.chart_name; + return data; + } +} + class ShortcutDialog extends WidgetDialog { constructor(opts) { super(opts); @@ -437,6 +529,7 @@ export default function get_dialog_constructor(type) { chart: ChartDialog, shortcut: ShortcutDialog, number_card: NumberCardDialog, + card: CardDialog, }; return widget_map[type] || WidgetDialog; diff --git a/frappe/public/js/frappe/wiki_blocks/card.js b/frappe/public/js/frappe/wiki_blocks/card.js index a859b04439..cc79a57c3e 100644 --- a/frappe/public/js/frappe/wiki_blocks/card.js +++ b/frappe/public/js/frappe/wiki_blocks/card.js @@ -1,3 +1,4 @@ +import get_dialog_constructor from "../widgets/widget_dialog.js"; export default class Card { static get toolbox() { return { @@ -22,22 +23,19 @@ export default class Card { this.pb = this.data.pb ? this.data.pb : "0"; this.pl = this.data.pl ? this.data.pl : "0"; this.allow_customization = !this.readOnly; + this.options = { + allow_sorting: this.allow_customization, + allow_create: this.allow_customization, + allow_delete: this.allow_customization, + allow_hiding: false, + allow_edit: false, + } } render() { - let me = this; this.wrapper = document.createElement('div'); - this._make_fieldgroup(this.wrapper, [{ - fieldtype: "Select", - label: "Card Name", - fieldname: "card_name", - options: this.config.page_data.cards.items.map(({ label }) => label), - change: function() { - if (this.value) { - me._make_cards(this.value) - } - } - }]); + this._new_card(); + if (this.data && this.data.card_name) { this._make_cards(this.data.card_name) } @@ -51,7 +49,8 @@ export default class Card { pt: this._getPadding("t"), pr: this._getPadding("r"), pb: this._getPadding("b"), - pl: this._getPadding("l") + pl: this._getPadding("l"), + new: this.new_card_widget } } @@ -64,6 +63,30 @@ export default class Card { e.classList.add("pl-" + this.pl) } + _new_card() { + const dialog_class = get_dialog_constructor('card'); + this.dialog = new dialog_class({ + label: this.label, + type: 'card', + primary_action: (widget) => { + widget.in_customize_mode = 1; + let wid = frappe.widget.make_widget({ + ...widget, + widget_type: 'links', + container: this.wrapper, + options: this.options, + }); + wid.customize(this.options); + this.wrapper.setAttribute("card_name", wid.label); + this.new_card_widget = wid.get_config(); + }, + }); + + if (!this.readOnly && this.data && !this.data.card_name) { + this.dialog.make(); + } + } + _getCol() { var e = 12, t = "col-12", @@ -135,26 +158,16 @@ export default class Card { return obj.label == card_name }); this.wrapper.innerHTML = ''; - this.sections = {}; card.in_customize_mode = !this.readOnly; - let cards = new frappe.widget.SingleWidgetGroup({ + let card_widget = new frappe.widget.SingleWidgetGroup({ container: this.wrapper, type: "links", - columns: 3, - options: { - allow_sorting: this.allow_customization, - allow_create: this.allow_customization, - allow_delete: this.allow_customization, - allow_hiding: false, - allow_edit: false, - }, + options: this.options, widgets: card }); - - this.sections["cards"] = cards; this.wrapper.setAttribute("card_name", card_name); if (!this.readOnly) { - this.sections["cards"].customize(); + card_widget.customize(); } } } \ No newline at end of file From 2f89787fa96a8883ee056c90c0f539b7be7ab14e Mon Sep 17 00:00:00 2001 From: shariquerik Date: Wed, 12 May 2021 14:33:12 +0530 Subject: [PATCH 0013/1383] fix: sider fix --- .../internal_wiki_page/internal_wiki_page.py | 4 +- frappe/desk/page/wiki/wiki.js | 4 +- frappe/public/js/frappe/views/wiki.js | 77 ++++++++-------- frappe/public/js/frappe/wiki_blocks/blank.js | 34 +++---- frappe/public/js/frappe/wiki_blocks/blocks.js | 4 +- frappe/public/js/frappe/wiki_blocks/card.js | 40 ++++----- frappe/public/js/frappe/wiki_blocks/chart.js | 42 ++++----- .../public/js/frappe/wiki_blocks/paragraph.js | 48 +++++----- .../public/js/frappe/wiki_blocks/shortcut.js | 40 ++++----- .../js/frappe/wiki_blocks/spacing_tune.js | 88 +++++++++---------- frappe/public/scss/desk/wiki.scss | 49 +++++------ 11 files changed, 213 insertions(+), 217 deletions(-) diff --git a/frappe/desk/doctype/internal_wiki_page/internal_wiki_page.py b/frappe/desk/doctype/internal_wiki_page/internal_wiki_page.py index 9e291ed265..6e695ef516 100644 --- a/frappe/desk/doctype/internal_wiki_page/internal_wiki_page.py +++ b/frappe/desk/doctype/internal_wiki_page/internal_wiki_page.py @@ -3,8 +3,8 @@ # For license information, please see license.txt from __future__ import unicode_literals -import frappe, json -from frappe import _ +import frappe +import json from frappe.model.document import Document class InternalWikiPage(Document): diff --git a/frappe/desk/page/wiki/wiki.js b/frappe/desk/page/wiki/wiki.js index 81ff2a7fa2..6ac8bc89cb 100644 --- a/frappe/desk/page/wiki/wiki.js +++ b/frappe/desk/page/wiki/wiki.js @@ -1,4 +1,4 @@ -frappe.provide('frappe.views') +frappe.provide('frappe.views'); frappe.pages['wiki'].on_page_load = function(wrapper) { frappe.ui.make_app_page({ @@ -12,4 +12,4 @@ frappe.pages['wiki'].on_page_load = function(wrapper) { $(wrapper).bind('show', function () { frappe.wiki.show(); }); -} +}; diff --git a/frappe/public/js/frappe/views/wiki.js b/frappe/public/js/frappe/views/wiki.js index b1fe2dbdf5..a7c41b66bc 100644 --- a/frappe/public/js/frappe/views/wiki.js +++ b/frappe/public/js/frappe/views/wiki.js @@ -12,7 +12,7 @@ frappe.views.Wiki = class Wiki { this.sections = {}; this.sidebar_items = {}; this.sorted_sidebar_items = []; - this.tools = {} + this.tools = {}; this.isReadOnly = true; this.new_page = null; this.prepare_container(); @@ -31,9 +31,9 @@ frappe.views.Wiki = class Wiki { setup_wiki_pages() { this.get_pages().then(() => { - if(this.all_pages) { + if (this.all_pages) { frappe.wiki_pages = {}; - let root_pages = this.all_pages.filter(page => page.parent_page == '' || page.parent_page == null) + let root_pages = this.all_pages.filter(page => page.parent_page == '' || page.parent_page == null); for (let page of this.all_pages || []) { frappe.wiki_pages[frappe.router.slug(page.name)] = page; } @@ -41,10 +41,10 @@ frappe.views.Wiki = class Wiki { this.make_sidebar(root_pages); } if (this.new_page) { - frappe.set_route(`wiki/${frappe.router.slug(this.new_page)}`) + frappe.set_route(`wiki/${frappe.router.slug(this.new_page)}`); this.new_page = null; } - }) + }); } get_pages() { @@ -55,7 +55,7 @@ frappe.views.Wiki = class Wiki { make_sidebar(items) { if (this.sidebar.find('.standard-sidebar-section')[0]) { - this.sidebar.find('.standard-sidebar-section')[0].remove() + this.sidebar.find('.standard-sidebar-section')[0].remove(); } let sidebar_section = $(`
`); @@ -95,25 +95,25 @@ frappe.views.Wiki = class Wiki { `); - } + }; const make_sidebar_child_item = item => { let $child_item = get_child_item(item); - $child_item.appendTo(child_item_section) + $child_item.appendTo(child_item_section); this.sidebar_items[item.name] = $child_item; - } + }; let $item = get_sidebar_item(item); let drop_icon = $item.find('.drop-icon').get(0); let child_item_section = $item.find('.sidebar-child-item').get(0); - if(this.all_pages.some(e => e.parent_page == item.name)) { + if (this.all_pages.some(e => e.parent_page == item.name)) { drop_icon.classList.remove('hidden'); drop_icon.addEventListener('click', () => { child_item_section.classList.toggle("hidden"); }); } - let child_items = this.all_pages.filter(page => page.parent_page == item.name) + let child_items = this.all_pages.filter(page => page.parent_page == item.name); child_items.forEach(item => make_sidebar_child_item(item)); $item.appendTo(sidebar_section); @@ -138,7 +138,7 @@ frappe.views.Wiki = class Wiki { this.show_page(page); this.get_content(page).then(() => { this.get_data(page).then(() => { - if(this.content){ + if (this.content) { this.tools = { header: { class: Header, @@ -176,22 +176,22 @@ frappe.views.Wiki = class Wiki { }, blank: frappe.wiki_block.blocks['blank'], spacingTune: frappe.wiki_block.tunes['spacing_tune'], - } - if(this.editor) { + }; + if (this.editor) { this.editor.isReady.then(() => { this.editor.configuration.tools.chart.config.page_data = this.page_data; this.editor.configuration.tools.shortcut.config.page_data = this.page_data; this.editor.configuration.tools.card.config.page_data = this.page_data; this.editor.render({ blocks: JSON.parse(this.content) || [] - }) - }) + }); + }); } else { this.initialize_editorjs(JSON.parse(this.content)); } } - }) - }) + }); + }); } get_content(page) { @@ -257,14 +257,14 @@ frappe.views.Wiki = class Wiki { this.isReadOnly = false; this.editor.readOnly.toggle(); this.editor.isReady - .then(() => { - this.undo = new Undo({ editor: this.editor }); - this.undo.initialize({blocks: JSON.parse(this.content)}); - this.setup_customization_buttons(); - this.make_sidebar_sortable(); - this.make_blocks_sortable(); - // this.customize(); - }) + .then(() => { + this.undo = new Undo({ editor: this.editor }); + this.undo.initialize({blocks: JSON.parse(this.content)}); + this.setup_customization_buttons(); + this.make_sidebar_sortable(); + this.make_blocks_sortable(); + // this.customize(); + }); }, ); @@ -279,14 +279,14 @@ frappe.views.Wiki = class Wiki { handle: ".standard-sidebar-item-container", draggable: ".standard-sidebar-item-container", animation: 150, - onEnd: function (evt){ + onEnd: function (evt) { let new_sb_items = []; - let old_sb_items = me.all_pages.filter(page => page.parent_page == '' || page.parent_page == null) + let old_sb_items = me.all_pages.filter(page => page.parent_page == '' || page.parent_page == null); for (let page of evt.srcElement.childNodes) { new_sb_items.push({ name: page.attributes['item-name'].value, sequence_id: parseInt(page.attributes['item-sequence'].value) - }) + }); } me.sorted_sidebar_items = []; new_sb_items.forEach((old, index) => { @@ -305,7 +305,7 @@ frappe.views.Wiki = class Wiki { handle: ".drag-handle", draggable: ".ce-block", animation: 150, - onEnd: function (evt){ + onEnd: function (evt) { me.editor.blocks.move(evt.newIndex, evt.oldIndex); }, setData: function (dataTransfer, dragEl) { @@ -377,14 +377,14 @@ frappe.views.Wiki = class Wiki { } ] }).then(() => { - if(this.editor.configuration.readOnly) { + if (this.editor.configuration.readOnly) { this.isReadOnly = false; this.editor.readOnly.toggle(); } this.make_sidebar_sortable(); this.make_blocks_sortable(); this.dirty = false; - }) + }); } }); d.show(); @@ -394,7 +394,7 @@ frappe.views.Wiki = class Wiki { this.dirty = false; const data = { blocks: blocks || [] - } + }; this.editor = new EditorJS({ tools: this.tools, autofocus: false, @@ -421,11 +421,11 @@ frappe.views.Wiki = class Wiki { if (item.data.new) { if (!new_widgets[item.type]) { new_widgets[item.type] = [] - } + }; new_widgets[item.type].push(item.data.new); delete item.data['new']; } - }) + }); frappe.call({ method: "frappe.desk.doctype.internal_wiki_page.internal_wiki_page.save_wiki_page", @@ -445,7 +445,7 @@ frappe.views.Wiki = class Wiki { page: me.title, new_widgets: new_widgets }).then(res => { - if(res.message) { + if (res.message) { me.reload(); } }); @@ -460,7 +460,8 @@ frappe.views.Wiki = class Wiki { } }); }).catch((error) => { - console.log('Saving failed: ', error); + error; + // console.log('Saving failed: ', error); }); } @@ -468,4 +469,4 @@ frappe.views.Wiki = class Wiki { this.setup_wiki_pages(); this.dirty = false; } -} +}; diff --git a/frappe/public/js/frappe/wiki_blocks/blank.js b/frappe/public/js/frappe/wiki_blocks/blank.js index ae8a53fc33..f32007de6c 100644 --- a/frappe/public/js/frappe/wiki_blocks/blank.js +++ b/frappe/public/js/frappe/wiki_blocks/blank.js @@ -10,7 +10,7 @@ export default class Blank { return true; } - constructor({data, api, config, readOnly}){ + constructor({data, api, config, readOnly}) { this.data = data; this.api = api; this.config = config; @@ -39,22 +39,22 @@ export default class Blank { pr: this._getPadding("r"), pb: this._getPadding("b"), pl: this._getPadding("l") - } + }; } rendered() { var e = this.wrapper.parentNode.parentNode; - e.classList.add("col-" + this.col) - e.classList.add("pt-" + this.pt) - e.classList.add("pr-" + this.pr) - e.classList.add("pb-" + this.pb) - e.classList.add("pl-" + this.pl) + e.classList.add("col-" + this.col); + e.classList.add("pt-" + this.pt); + e.classList.add("pr-" + this.pr); + e.classList.add("pb-" + this.pb); + e.classList.add("pl-" + this.pl); } _getCol() { - var e = 12, - t = "col-12", - n = this.wrapper.parentNode.parentNode, + var e = 12; + t = "col-12"; + n = this.wrapper.parentNode.parentNode; r = new RegExp(/\bcol-.+?\b/, "g"); if (n.className.match(r)) { n.classList.forEach(function (e) { @@ -67,13 +67,13 @@ export default class Blank { } _getPadding() { - var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l", - t = 0, - n = "p" + e + "-0", - r = this.wrapper.parentNode.parentNode, - a = new RegExp(/\pl-.+?\b/, "g"), - i = new RegExp(/\pr-.+?\b/, "g"), - o = new RegExp(/\pt-.+?\b/, "g"), + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l"; + t = 0; + n = "p" + e + "-0"; + r = this.wrapper.parentNode.parentNode; + a = new RegExp(/\pl-.+?\b/, "g"); + i = new RegExp(/\pr-.+?\b/, "g"); + o = new RegExp(/\pt-.+?\b/, "g"); c = new RegExp(/\pb-.+?\b/, "g"); if ("l" == e) { if (r.className.match(a)) { diff --git a/frappe/public/js/frappe/wiki_blocks/blocks.js b/frappe/public/js/frappe/wiki_blocks/blocks.js index 1b556eeaee..239127a674 100644 --- a/frappe/public/js/frappe/wiki_blocks/blocks.js +++ b/frappe/public/js/frappe/wiki_blocks/blocks.js @@ -19,5 +19,5 @@ frappe.wiki_block.blocks = { }; frappe.wiki_block.tunes = { - spacing_tune : SpacingTune -} \ No newline at end of file + spacing_tune: SpacingTune +}; \ No newline at end of file diff --git a/frappe/public/js/frappe/wiki_blocks/card.js b/frappe/public/js/frappe/wiki_blocks/card.js index cc79a57c3e..dd457fea4c 100644 --- a/frappe/public/js/frappe/wiki_blocks/card.js +++ b/frappe/public/js/frappe/wiki_blocks/card.js @@ -11,7 +11,7 @@ export default class Card { return true; } - constructor({data, api, config, readOnly, block}){ + constructor({data, api, config, readOnly}) { this.data = data; this.api = api; this.config = config; @@ -29,7 +29,7 @@ export default class Card { allow_delete: this.allow_customization, allow_hiding: false, allow_edit: false, - } + }; } render() { @@ -37,7 +37,7 @@ export default class Card { this._new_card(); if (this.data && this.data.card_name) { - this._make_cards(this.data.card_name) + this._make_cards(this.data.card_name); } return this.wrapper; } @@ -51,16 +51,16 @@ export default class Card { pb: this._getPadding("b"), pl: this._getPadding("l"), new: this.new_card_widget - } + }; } rendered() { var e = this.wrapper.parentNode.parentNode; - e.classList.add("col-" + this.col) - e.classList.add("pt-" + this.pt) - e.classList.add("pr-" + this.pr) - e.classList.add("pb-" + this.pb) - e.classList.add("pl-" + this.pl) + e.classList.add("col-" + this.col); + e.classList.add("pt-" + this.pt); + e.classList.add("pr-" + this.pr); + e.classList.add("pb-" + this.pb); + e.classList.add("pl-" + this.pl); } _new_card() { @@ -88,9 +88,9 @@ export default class Card { } _getCol() { - var e = 12, - t = "col-12", - n = this.wrapper.parentNode.parentNode, + var e = 12; + t = "col-12"; + n = this.wrapper.parentNode.parentNode; r = new RegExp(/\bcol-.+?\b/, "g"); if (n.className.match(r)) { n.classList.forEach(function (e) { @@ -103,13 +103,13 @@ export default class Card { } _getPadding() { - var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l", - t = 0, - n = "p" + e + "-0", - r = this.wrapper.parentNode.parentNode, - a = new RegExp(/\pl-.+?\b/, "g"), - i = new RegExp(/\pr-.+?\b/, "g"), - o = new RegExp(/\pt-.+?\b/, "g"), + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l"; + t = 0; + n = "p" + e + "-0"; + r = this.wrapper.parentNode.parentNode; + a = new RegExp(/\pl-.+?\b/, "g"); + i = new RegExp(/\pr-.+?\b/, "g"); + o = new RegExp(/\pt-.+?\b/, "g"); c = new RegExp(/\pb-.+?\b/, "g"); if ("l" == e) { if (r.className.match(a)) { @@ -155,7 +155,7 @@ export default class Card { _make_cards(card_name) { let card = this.config.page_data.cards.items.find(obj => { - return obj.label == card_name + return obj.label == card_name; }); this.wrapper.innerHTML = ''; card.in_customize_mode = !this.readOnly; diff --git a/frappe/public/js/frappe/wiki_blocks/chart.js b/frappe/public/js/frappe/wiki_blocks/chart.js index f8c97852fa..5acaa81627 100644 --- a/frappe/public/js/frappe/wiki_blocks/chart.js +++ b/frappe/public/js/frappe/wiki_blocks/chart.js @@ -10,7 +10,7 @@ export default class Chart { return true; } - constructor({data, api, config, readOnly}){ + constructor({data, api, config, readOnly}) { this.data = data; this.api = api; this.config = config; @@ -34,12 +34,12 @@ export default class Chart { options: this.config.page_data.charts.items.map(({ chart_name }) => chart_name), change: function() { if (this.value) { - me._make_charts(this.value) + me._make_charts(this.value); } } }]); if (this.data && this.data.chart_name) { - this._make_charts(this.data.chart_name) + this._make_charts(this.data.chart_name); } return this.wrapper; } @@ -52,22 +52,22 @@ export default class Chart { pr: this._getPadding("r"), pb: this._getPadding("b"), pl: this._getPadding("l") - } + }; } rendered() { var e = this.wrapper.parentNode.parentNode; - e.classList.add("col-" + this.col) - e.classList.add("pt-" + this.pt) - e.classList.add("pr-" + this.pr) - e.classList.add("pb-" + this.pb) - e.classList.add("pl-" + this.pl) + e.classList.add("col-" + this.col); + e.classList.add("pt-" + this.pt); + e.classList.add("pr-" + this.pr); + e.classList.add("pb-" + this.pb); + e.classList.add("pl-" + this.pl); } _getCol() { - var e = 12, - t = "col-12", - n = this.wrapper.parentNode.parentNode, + var e = 12; + t = "col-12"; + n = this.wrapper.parentNode.parentNode; r = new RegExp(/\bcol-.+?\b/, "g"); if (n.className.match(r)) { n.classList.forEach(function (e) { @@ -80,13 +80,13 @@ export default class Chart { } _getPadding() { - var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l", - t = 0, - n = "p" + e + "-0", - r = this.wrapper.parentNode.parentNode, - a = new RegExp(/\pl-.+?\b/, "g"), - i = new RegExp(/\pr-.+?\b/, "g"), - o = new RegExp(/\pt-.+?\b/, "g"), + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l"; + t = 0; + n = "p" + e + "-0"; + r = this.wrapper.parentNode.parentNode; + a = new RegExp(/\pl-.+?\b/, "g"); + i = new RegExp(/\pr-.+?\b/, "g"); + o = new RegExp(/\pt-.+?\b/, "g"); c = new RegExp(/\pb-.+?\b/, "g"); if ("l" == e) { if (r.className.match(a)) { @@ -132,7 +132,7 @@ export default class Chart { _make_charts(chart_name) { let chart = this.config.page_data.charts.items.find(obj => { - return obj.chart_name == chart_name + return obj.chart_name == chart_name; }); this.wrapper.innerHTML = ''; this.sections = {}; @@ -153,7 +153,7 @@ export default class Chart { }, widgets: chart }); - this.wrapper.setAttribute("chart_name", chart_name) + this.wrapper.setAttribute("chart_name", chart_name); if (!this.readOnly) { this.sections["charts"].customize(); } diff --git a/frappe/public/js/frappe/wiki_blocks/paragraph.js b/frappe/public/js/frappe/wiki_blocks/paragraph.js index 570a04e661..affc2b436d 100644 --- a/frappe/public/js/frappe/wiki_blocks/paragraph.js +++ b/frappe/public/js/frappe/wiki_blocks/paragraph.js @@ -62,7 +62,7 @@ export default class Paragraph { merge(data) { let newData = { - text : this.data.text + data.text + text: this.data.text + data.text }; this.data = newData; @@ -70,7 +70,7 @@ export default class Paragraph { validate(savedData) { if (savedData.text.trim() === '' && !this._preserveBlank) { - return false; + return false; } return true; @@ -89,17 +89,17 @@ export default class Paragraph { rendered() { var e = this._element.parentNode.parentNode; - e.classList.add("col-" + this.col) - e.classList.add("pt-" + this.pt) - e.classList.add("pr-" + this.pr) - e.classList.add("pb-" + this.pb) - e.classList.add("pl-" + this.pl) + e.classList.add("col-" + this.col); + e.classList.add("pt-" + this.pt); + e.classList.add("pr-" + this.pr); + e.classList.add("pb-" + this.pb); + e.classList.add("pl-" + this.pl); } _getCol() { - var e = 12, - t = "col-12", - n = this._element.parentNode.parentNode, + var e = 12; + t = "col-12"; + n = this._element.parentNode.parentNode; r = new RegExp(/\bcol-.+?\b/, "g"); if (n.className.match(r)) { n.classList.forEach(function (e) { @@ -112,13 +112,13 @@ export default class Paragraph { } _getPadding() { - var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l", - t = 0, - n = "p" + e + "-0", - r = this._element.parentNode.parentNode, - a = new RegExp(/\pl-.+?\b/, "g"), - i = new RegExp(/\pr-.+?\b/, "g"), - o = new RegExp(/\pt-.+?\b/, "g"), + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l"; + t = 0; + n = "p" + e + "-0"; + r = this._element.parentNode.parentNode; + a = new RegExp(/\pl-.+?\b/, "g"); + i = new RegExp(/\pr-.+?\b/, "g"); + o = new RegExp(/\pt-.+?\b/, "g"); c = new RegExp(/\pb-.+?\b/, "g"); if ("l" == e) { if (r.className.match(a)) { @@ -156,7 +156,7 @@ export default class Paragraph { onPaste(event) { const data = { - text: event.detail.data.innerHTML + text: event.detail.data.innerHTML }; this.data = data; @@ -164,16 +164,16 @@ export default class Paragraph { static get conversionConfig() { return { - export: 'text', // to convert Paragraph to other block, use 'text' property of saved data - import: 'text' // to covert other block's exported string to Paragraph, fill 'text' property of tool data + export: 'text', // to convert Paragraph to other block, use 'text' property of saved data + import: 'text' // to covert other block's exported string to Paragraph, fill 'text' property of tool data }; } static get sanitize() { return { - text: { - br: true, - } + text: { + br: true, + } }; } @@ -197,7 +197,7 @@ export default class Paragraph { static get pasteConfig() { return { - tags: [ 'P' ] + tags: [ 'P' ] }; } diff --git a/frappe/public/js/frappe/wiki_blocks/shortcut.js b/frappe/public/js/frappe/wiki_blocks/shortcut.js index 1a3d2ae970..7bcebb478a 100644 --- a/frappe/public/js/frappe/wiki_blocks/shortcut.js +++ b/frappe/public/js/frappe/wiki_blocks/shortcut.js @@ -11,7 +11,7 @@ export default class Shortcut { return true; } - constructor({data, api, config, readOnly}){ + constructor({data, api, config, readOnly}) { this.data = data; this.api = api; this.config = config; @@ -28,7 +28,7 @@ export default class Shortcut { allow_delete: this.allow_customization, allow_hiding: false, allow_edit: true, - } + }; } render() { @@ -36,7 +36,7 @@ export default class Shortcut { this._new_shortcut(); if (this.data && this.data.shortcut_name) { - this._make_shortcuts(this.data.shortcut_name) + this._make_shortcuts(this.data.shortcut_name); } return this.wrapper; } @@ -50,16 +50,16 @@ export default class Shortcut { pb: this._getPadding("b"), pl: this._getPadding("l"), new: this.new_shortcut_widget - } + }; } rendered() { var e = this.wrapper.parentNode.parentNode; - e.classList.add("col-" + this.col) - e.classList.add("pt-" + this.pt) - e.classList.add("pr-" + this.pr) - e.classList.add("pb-" + this.pb) - e.classList.add("pl-" + this.pl) + e.classList.add("col-" + this.col); + e.classList.add("pt-" + this.pt); + e.classList.add("pr-" + this.pr); + e.classList.add("pb-" + this.pb); + e.classList.add("pl-" + this.pl); } _new_shortcut() { @@ -87,9 +87,9 @@ export default class Shortcut { } _getCol() { - var e = 12, - t = "col-12", - n = this.wrapper.parentNode.parentNode, + var e = 12; + t = "col-12"; + n = this.wrapper.parentNode.parentNode; r = new RegExp(/\bcol-.+?\b/, "g"); if (n.className.match(r)) { n.classList.forEach(function (e) { @@ -102,13 +102,13 @@ export default class Shortcut { } _getPadding() { - var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l", - t = 0, - n = "p" + e + "-0", - r = this.wrapper.parentNode.parentNode, - a = new RegExp(/\pl-.+?\b/, "g"), - i = new RegExp(/\pr-.+?\b/, "g"), - o = new RegExp(/\pt-.+?\b/, "g"), + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l"; + t = 0; + n = "p" + e + "-0"; + r = this.wrapper.parentNode.parentNode; + a = new RegExp(/\pl-.+?\b/, "g"); + i = new RegExp(/\pr-.+?\b/, "g"); + o = new RegExp(/\pt-.+?\b/, "g"); c = new RegExp(/\pb-.+?\b/, "g"); if ("l" == e) { if (r.className.match(a)) { @@ -154,7 +154,7 @@ export default class Shortcut { _make_shortcuts(shortcut_name) { let shortcut = this.config.page_data.shortcuts.items.find(obj => { - return obj.label == shortcut_name + return obj.label == shortcut_name; }); this.wrapper.innerHTML = ''; shortcut.in_customize_mode = !this.readOnly; diff --git a/frappe/public/js/frappe/wiki_blocks/spacing_tune.js b/frappe/public/js/frappe/wiki_blocks/spacing_tune.js index 494ba2e97a..ee76503097 100644 --- a/frappe/public/js/frappe/wiki_blocks/spacing_tune.js +++ b/frappe/public/js/frappe/wiki_blocks/spacing_tune.js @@ -71,7 +71,7 @@ export default class SpacingTune { } let currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); - if (!currentBlock){ + if (!currentBlock) { return; } @@ -82,13 +82,13 @@ export default class SpacingTune { let colClass = new RegExp(/\bcol-.+?\b/, 'g'); if (currentBlockElement.className.match(colClass)) { currentBlockElement.classList.forEach( cn => { - if(cn.match(colClass)){ + if (cn.match(colClass)) { className = cn; } }); let parts = className.split('-'); let width = parseInt(parts[1]); - if(width >= 2){ + if (width >= 2) { currentBlockElement.classList.remove('col-'+width); width = width - 1; currentBlockElement.classList.add('col-'+width); @@ -104,7 +104,7 @@ export default class SpacingTune { } const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); - if (!currentBlock){ + if (!currentBlock) { return; } @@ -115,23 +115,23 @@ export default class SpacingTune { const colClass = new RegExp(/\bcol-.+?\b/, 'g'); if (currentBlockElement.className.match(colClass)) { currentBlockElement.classList.forEach( cn => { - if(cn.match(colClass)){ - className = cn; - } + if (cn.match(colClass)) { + className = cn; + } }); let parts = className.split('-'); let width = parseInt(parts[1]); - if(width <= 11){ - currentBlockElement.classList.remove('col-'+width); - width = width + 1; + if (width <= 11) { + currentBlockElement.classList.remove('col-'+width); + width = width + 1; currentBlockElement.classList.add('col-'+width); - } + } } } showPadding(event, button) { let me = this; - if(button.classList.contains('cdx-settings-button--active')){ + if (button.classList.contains('cdx-settings-button--active')) { this.sidebar.remove(); button.classList.remove('cdx-settings-button--active'); } else { @@ -290,12 +290,12 @@ export default class SpacingTune { increasePaddingLeft(event, button) { const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); - if(currentBlockIndex < 0){ + if (currentBlockIndex < 0) { return; } const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); - if (!currentBlock){ + if (!currentBlock) { return; } @@ -306,13 +306,13 @@ export default class SpacingTune { const paddingClass = new RegExp(/\pl-.+?\b/, 'g'); if (currentBlockElement.className.match(paddingClass)) { currentBlockElement.classList.forEach( cn => { - if(cn.match(paddingClass)){ + if (cn.match(paddingClass)) { className = cn; } }); let parts = className.split('-'); let padding = parseInt(parts[1]); - if(padding <= 4){ + if (padding <= 4) { currentBlockElement.classList.remove('pl-'+padding); padding = padding + 1; currentBlockElement.classList.add('pl-'+padding); @@ -324,12 +324,12 @@ export default class SpacingTune { decreasePaddingLeft(event, button) { const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); - if(currentBlockIndex < 0){ + if (currentBlockIndex < 0) { return; } const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); - if (!currentBlock){ + if (!currentBlock) { return; } @@ -340,13 +340,13 @@ export default class SpacingTune { const paddingClass = new RegExp(/\pl-.+?\b/, 'g'); if (currentBlockElement.className.match(paddingClass)) { currentBlockElement.classList.forEach( cn => { - if(cn.match(paddingClass)){ + if (cn.match(paddingClass)) { className = cn; } }); let parts = className.split('-'); let padding = parseInt(parts[1]); - if(padding >= 1){ + if (padding >= 1) { currentBlockElement.classList.remove('pl-'+padding); padding = padding - 1; currentBlockElement.classList.add('pl-'+padding); @@ -357,12 +357,12 @@ export default class SpacingTune { increasePaddingRight(event, button) { const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); - if(currentBlockIndex < 0){ + if (currentBlockIndex < 0) { return; } const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); - if (!currentBlock){ + if (!currentBlock) { return; } @@ -373,13 +373,13 @@ export default class SpacingTune { const paddingClass = new RegExp(/\pr-.+?\b/, 'g'); if (currentBlockElement.className.match(paddingClass)) { currentBlockElement.classList.forEach( cn => { - if(cn.match(paddingClass)){ + if (cn.match(paddingClass)) { className = cn; } }); let parts = className.split('-'); let padding = parseInt(parts[1]); - if(padding <= 4){ + if (padding <= 4) { currentBlockElement.classList.remove('pr-'+padding); padding = padding + 1; currentBlockElement.classList.add('pr-'+padding); @@ -390,12 +390,12 @@ export default class SpacingTune { decreasePaddingRight(event, button) { const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); - if(currentBlockIndex < 0){ + if (currentBlockIndex < 0) { return; } const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); - if (!currentBlock){ + if (!currentBlock) { return; } @@ -406,13 +406,13 @@ export default class SpacingTune { const paddingClass = new RegExp(/\pr-.+?\b/, 'g'); if (currentBlockElement.className.match(paddingClass)) { currentBlockElement.classList.forEach( cn => { - if(cn.match(paddingClass)){ + if (cn.match(paddingClass)) { className = cn; } }); let parts = className.split('-'); let padding = parseInt(parts[1]); - if(padding >= 1){ + if (padding >= 1) { currentBlockElement.classList.remove('pr-'+padding); padding = padding - 1; currentBlockElement.classList.add('pr-'+padding); @@ -423,12 +423,12 @@ export default class SpacingTune { increasePaddingTop(event, button) { const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); - if(currentBlockIndex < 0){ + if (currentBlockIndex < 0) { return; } const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); - if (!currentBlock){ + if (!currentBlock) { return; } @@ -439,13 +439,13 @@ export default class SpacingTune { const paddingClass = new RegExp(/\pt-.+?\b/, 'g'); if (currentBlockElement.className.match(paddingClass)) { currentBlockElement.classList.forEach( cn => { - if(cn.match(paddingClass)){ + if (cn.match(paddingClass)) { className = cn; } }); let parts = className.split('-'); let padding = parseInt(parts[1]); - if(padding <= 4){ + if (padding <= 4) { currentBlockElement.classList.remove('pt-'+padding); padding = padding + 1; currentBlockElement.classList.add('pt-'+padding); @@ -456,12 +456,12 @@ export default class SpacingTune { decreasePaddingTop(event, button) { const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); - if(currentBlockIndex < 0){ + if (currentBlockIndex < 0) { return; } const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); - if (!currentBlock){ + if (!currentBlock) { return; } @@ -472,13 +472,13 @@ export default class SpacingTune { const paddingClass = new RegExp(/\pt-.+?\b/, 'g'); if (currentBlockElement.className.match(paddingClass)) { currentBlockElement.classList.forEach( cn => { - if(cn.match(paddingClass)){ + if (cn.match(paddingClass)) { className = cn; } }); let parts = className.split('-'); let padding = parseInt(parts[1]); - if(padding >= 1){ + if (padding >= 1) { currentBlockElement.classList.remove('pt-'+padding); padding = padding - 1; currentBlockElement.classList.add('pt-'+padding); @@ -489,12 +489,12 @@ export default class SpacingTune { increasePaddingBottom(event, button) { const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); - if(currentBlockIndex < 0){ + if (currentBlockIndex < 0) { return; } const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); - if (!currentBlock){ + if (!currentBlock) { return; } @@ -505,13 +505,13 @@ export default class SpacingTune { const paddingClass = new RegExp(/\pb-.+?\b/, 'g'); if (currentBlockElement.className.match(paddingClass)) { currentBlockElement.classList.forEach( cn => { - if(cn.match(paddingClass)){ + if (cn.match(paddingClass)) { className = cn; } }); let parts = className.split('-'); let padding = parseInt(parts[1]); - if(padding <= 4){ + if (padding <= 4) { currentBlockElement.classList.remove('pb-'+padding); padding = padding + 1; currentBlockElement.classList.add('pb-'+padding); @@ -522,12 +522,12 @@ export default class SpacingTune { decreasePaddingBottom(event, button) { const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); - if(currentBlockIndex < 0){ + if (currentBlockIndex < 0) { return; } const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); - if (!currentBlock){ + if (!currentBlock) { return; } @@ -538,13 +538,13 @@ export default class SpacingTune { const paddingClass = new RegExp(/\pb-.+?\b/, 'g'); if (currentBlockElement.className.match(paddingClass)) { currentBlockElement.classList.forEach( cn => { - if(cn.match(paddingClass)){ + if (cn.match(paddingClass)) { className = cn; } }); let parts = className.split('-'); let padding = parseInt(parts[1]); - if(padding >= 1){ + if (padding >= 1) { currentBlockElement.classList.remove('pb-'+padding); padding = padding - 1; currentBlockElement.classList.add('pb-'+padding); diff --git a/frappe/public/scss/desk/wiki.scss b/frappe/public/scss/desk/wiki.scss index a04fb1e501..8c464a7a48 100644 --- a/frappe/public/scss/desk/wiki.scss +++ b/frappe/public/scss/desk/wiki.scss @@ -11,6 +11,28 @@ } } } + + .standard-sidebar-item { + justify-content: space-between; + } + + .sidebar-child-item-container { + margin-left: 10px; + + .standard-sidebar-item { + justify-content: start; + } + } + + .sidebar-item-label { + flex: 1; + } + + .item-anchor { + display: flex; + overflow: hidden; + flex: 1; + } } .ce-header { @@ -124,31 +146,4 @@ height: 145px; box-shadow: 0 3px 15px -3px rgba(13,20,33,.13); border-radius: 0 4px 4px 0;z-index: 0; -} - - -[data-page-route="wiki"] { - - .standard-sidebar-item { - justify-content: space-between; - } - - .sidebar-child-item-container { - margin-left: 10px; - - .standard-sidebar-item { - justify-content: start; - } - } - - .sidebar-item-label { - flex: 1; - } - - .item-anchor { - display: flex; - overflow: hidden; - flex: 1; - } - } \ No newline at end of file From 85f849d3e9d7303815a760a2296bf2374098e738 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Wed, 12 May 2021 14:39:11 +0530 Subject: [PATCH 0014/1383] fix: sider fix --- frappe/public/js/frappe/wiki_blocks/blank.js | 20 +++++++++---------- frappe/public/js/frappe/wiki_blocks/card.js | 20 +++++++++---------- frappe/public/js/frappe/wiki_blocks/chart.js | 20 +++++++++---------- .../public/js/frappe/wiki_blocks/paragraph.js | 20 +++++++++---------- .../public/js/frappe/wiki_blocks/shortcut.js | 20 +++++++++---------- 5 files changed, 50 insertions(+), 50 deletions(-) diff --git a/frappe/public/js/frappe/wiki_blocks/blank.js b/frappe/public/js/frappe/wiki_blocks/blank.js index f32007de6c..f23f2f6225 100644 --- a/frappe/public/js/frappe/wiki_blocks/blank.js +++ b/frappe/public/js/frappe/wiki_blocks/blank.js @@ -53,9 +53,9 @@ export default class Blank { _getCol() { var e = 12; - t = "col-12"; - n = this.wrapper.parentNode.parentNode; - r = new RegExp(/\bcol-.+?\b/, "g"); + var t = "col-12"; + var n = this.wrapper.parentNode.parentNode; + var r = new RegExp(/\bcol-.+?\b/, "g"); if (n.className.match(r)) { n.classList.forEach(function (e) { e.match(r) && (t = e); @@ -68,13 +68,13 @@ export default class Blank { _getPadding() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l"; - t = 0; - n = "p" + e + "-0"; - r = this.wrapper.parentNode.parentNode; - a = new RegExp(/\pl-.+?\b/, "g"); - i = new RegExp(/\pr-.+?\b/, "g"); - o = new RegExp(/\pt-.+?\b/, "g"); - c = new RegExp(/\pb-.+?\b/, "g"); + var t = 0; + var n = "p" + e + "-0"; + var r = this.wrapper.parentNode.parentNode; + var a = new RegExp(/\pl-.+?\b/, "g"); + var i = new RegExp(/\pr-.+?\b/, "g"); + var o = new RegExp(/\pt-.+?\b/, "g"); + var c = new RegExp(/\pb-.+?\b/, "g"); if ("l" == e) { if (r.className.match(a)) { r.classList.forEach(function (e) { diff --git a/frappe/public/js/frappe/wiki_blocks/card.js b/frappe/public/js/frappe/wiki_blocks/card.js index dd457fea4c..3e7fd54dfd 100644 --- a/frappe/public/js/frappe/wiki_blocks/card.js +++ b/frappe/public/js/frappe/wiki_blocks/card.js @@ -89,9 +89,9 @@ export default class Card { _getCol() { var e = 12; - t = "col-12"; - n = this.wrapper.parentNode.parentNode; - r = new RegExp(/\bcol-.+?\b/, "g"); + var t = "col-12"; + var n = this.wrapper.parentNode.parentNode; + var r = new RegExp(/\bcol-.+?\b/, "g"); if (n.className.match(r)) { n.classList.forEach(function (e) { e.match(r) && (t = e); @@ -104,13 +104,13 @@ export default class Card { _getPadding() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l"; - t = 0; - n = "p" + e + "-0"; - r = this.wrapper.parentNode.parentNode; - a = new RegExp(/\pl-.+?\b/, "g"); - i = new RegExp(/\pr-.+?\b/, "g"); - o = new RegExp(/\pt-.+?\b/, "g"); - c = new RegExp(/\pb-.+?\b/, "g"); + var t = 0; + var n = "p" + e + "-0"; + var r = this.wrapper.parentNode.parentNode; + var a = new RegExp(/\pl-.+?\b/, "g"); + var i = new RegExp(/\pr-.+?\b/, "g"); + var o = new RegExp(/\pt-.+?\b/, "g"); + var c = new RegExp(/\pb-.+?\b/, "g"); if ("l" == e) { if (r.className.match(a)) { r.classList.forEach(function (e) { diff --git a/frappe/public/js/frappe/wiki_blocks/chart.js b/frappe/public/js/frappe/wiki_blocks/chart.js index 5acaa81627..1d637ef5b6 100644 --- a/frappe/public/js/frappe/wiki_blocks/chart.js +++ b/frappe/public/js/frappe/wiki_blocks/chart.js @@ -66,9 +66,9 @@ export default class Chart { _getCol() { var e = 12; - t = "col-12"; - n = this.wrapper.parentNode.parentNode; - r = new RegExp(/\bcol-.+?\b/, "g"); + var t = "col-12"; + var n = this.wrapper.parentNode.parentNode; + var r = new RegExp(/\bcol-.+?\b/, "g"); if (n.className.match(r)) { n.classList.forEach(function (e) { e.match(r) && (t = e); @@ -81,13 +81,13 @@ export default class Chart { _getPadding() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l"; - t = 0; - n = "p" + e + "-0"; - r = this.wrapper.parentNode.parentNode; - a = new RegExp(/\pl-.+?\b/, "g"); - i = new RegExp(/\pr-.+?\b/, "g"); - o = new RegExp(/\pt-.+?\b/, "g"); - c = new RegExp(/\pb-.+?\b/, "g"); + var t = 0; + var n = "p" + e + "-0"; + var r = this.wrapper.parentNode.parentNode; + var a = new RegExp(/\pl-.+?\b/, "g"); + var i = new RegExp(/\pr-.+?\b/, "g"); + var o = new RegExp(/\pt-.+?\b/, "g"); + var c = new RegExp(/\pb-.+?\b/, "g"); if ("l" == e) { if (r.className.match(a)) { r.classList.forEach(function (e) { diff --git a/frappe/public/js/frappe/wiki_blocks/paragraph.js b/frappe/public/js/frappe/wiki_blocks/paragraph.js index affc2b436d..e80d300ec3 100644 --- a/frappe/public/js/frappe/wiki_blocks/paragraph.js +++ b/frappe/public/js/frappe/wiki_blocks/paragraph.js @@ -98,9 +98,9 @@ export default class Paragraph { _getCol() { var e = 12; - t = "col-12"; - n = this._element.parentNode.parentNode; - r = new RegExp(/\bcol-.+?\b/, "g"); + var t = "col-12"; + var n = this._element.parentNode.parentNode; + var r = new RegExp(/\bcol-.+?\b/, "g"); if (n.className.match(r)) { n.classList.forEach(function (e) { e.match(r) && (t = e); @@ -113,13 +113,13 @@ export default class Paragraph { _getPadding() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l"; - t = 0; - n = "p" + e + "-0"; - r = this._element.parentNode.parentNode; - a = new RegExp(/\pl-.+?\b/, "g"); - i = new RegExp(/\pr-.+?\b/, "g"); - o = new RegExp(/\pt-.+?\b/, "g"); - c = new RegExp(/\pb-.+?\b/, "g"); + var t = 0; + var n = "p" + e + "-0"; + var r = this._element.parentNode.parentNode; + var a = new RegExp(/\pl-.+?\b/, "g"); + var i = new RegExp(/\pr-.+?\b/, "g"); + var o = new RegExp(/\pt-.+?\b/, "g"); + var c = new RegExp(/\pb-.+?\b/, "g"); if ("l" == e) { if (r.className.match(a)) { r.classList.forEach(function (e) { diff --git a/frappe/public/js/frappe/wiki_blocks/shortcut.js b/frappe/public/js/frappe/wiki_blocks/shortcut.js index 7bcebb478a..53b5a5eed5 100644 --- a/frappe/public/js/frappe/wiki_blocks/shortcut.js +++ b/frappe/public/js/frappe/wiki_blocks/shortcut.js @@ -88,9 +88,9 @@ export default class Shortcut { _getCol() { var e = 12; - t = "col-12"; - n = this.wrapper.parentNode.parentNode; - r = new RegExp(/\bcol-.+?\b/, "g"); + var t = "col-12"; + var n = this.wrapper.parentNode.parentNode; + var r = new RegExp(/\bcol-.+?\b/, "g"); if (n.className.match(r)) { n.classList.forEach(function (e) { e.match(r) && (t = e); @@ -103,13 +103,13 @@ export default class Shortcut { _getPadding() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l"; - t = 0; - n = "p" + e + "-0"; - r = this.wrapper.parentNode.parentNode; - a = new RegExp(/\pl-.+?\b/, "g"); - i = new RegExp(/\pr-.+?\b/, "g"); - o = new RegExp(/\pt-.+?\b/, "g"); - c = new RegExp(/\pb-.+?\b/, "g"); + var t = 0; + var n = "p" + e + "-0"; + var r = this.wrapper.parentNode.parentNode; + var a = new RegExp(/\pl-.+?\b/, "g"); + var i = new RegExp(/\pr-.+?\b/, "g"); + var o = new RegExp(/\pt-.+?\b/, "g"); + var c = new RegExp(/\pb-.+?\b/, "g"); if ("l" == e) { if (r.className.match(a)) { r.classList.forEach(function (e) { From 31e087d1a9b1f90a5bb9b737ca51f078e8dc3f58 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Wed, 12 May 2021 14:58:41 +0530 Subject: [PATCH 0015/1383] fix: sider fix --- frappe/public/js/frappe/views/wiki.js | 6 +-- frappe/public/js/frappe/wiki_blocks/blank.js | 2 +- .../js/frappe/wiki_blocks/spacing_tune.js | 44 +++++++++---------- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/frappe/public/js/frappe/views/wiki.js b/frappe/public/js/frappe/views/wiki.js index a7c41b66bc..ec4f2a49e8 100644 --- a/frappe/public/js/frappe/views/wiki.js +++ b/frappe/public/js/frappe/views/wiki.js @@ -308,7 +308,7 @@ frappe.views.Wiki = class Wiki { onEnd: function (evt) { me.editor.blocks.move(evt.newIndex, evt.oldIndex); }, - setData: function (dataTransfer, dragEl) { + setData: function () { //Do Nothing } }); @@ -420,8 +420,8 @@ frappe.views.Wiki = class Wiki { outputData.blocks.forEach(item => { if (item.data.new) { if (!new_widgets[item.type]) { - new_widgets[item.type] = [] - }; + new_widgets[item.type] = []; + } new_widgets[item.type].push(item.data.new); delete item.data['new']; } diff --git a/frappe/public/js/frappe/wiki_blocks/blank.js b/frappe/public/js/frappe/wiki_blocks/blank.js index f23f2f6225..761bd2d9e9 100644 --- a/frappe/public/js/frappe/wiki_blocks/blank.js +++ b/frappe/public/js/frappe/wiki_blocks/blank.js @@ -32,7 +32,7 @@ export default class Blank { return this.wrapper; } - save(blockContent) { + save() { return { col: this._getCol(), pt: this._getPadding("t"), diff --git a/frappe/public/js/frappe/wiki_blocks/spacing_tune.js b/frappe/public/js/frappe/wiki_blocks/spacing_tune.js index ee76503097..1cf6891071 100644 --- a/frappe/public/js/frappe/wiki_blocks/spacing_tune.js +++ b/frappe/public/js/frappe/wiki_blocks/spacing_tune.js @@ -37,7 +37,7 @@ export default class SpacingTune { this.api.listeners.on( paddingButton, 'click', - (event) => me.showPadding(event, paddingButton), + () => me.showPadding(paddingButton), false ); @@ -46,7 +46,7 @@ export default class SpacingTune { this.api.listeners.on( decreaseWidthButton, 'click', - (event) => me.decreaseWidth(event, decreaseWidthButton), + () => me.decreaseWidth(), false ); @@ -55,7 +55,7 @@ export default class SpacingTune { this.api.listeners.on( increaseWidthButton, 'click', - (event) => me.increaseWidth(event, increaseWidthButton), + () => me.increaseWidth(), false ); @@ -63,7 +63,7 @@ export default class SpacingTune { return layoutWrapper; } - decreaseWidth(event, button) { + decreaseWidth() { const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); if (currentBlockIndex < 0) { @@ -96,7 +96,7 @@ export default class SpacingTune { } } - increaseWidth(event, button) { + increaseWidth() { const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); if (currentBlockIndex < 0) { @@ -129,7 +129,7 @@ export default class SpacingTune { } } - showPadding(event, button) { + showPadding(button) { let me = this; if (button.classList.contains('cdx-settings-button--active')) { this.sidebar.remove(); @@ -195,7 +195,7 @@ export default class SpacingTune { this.api.listeners.on( increasePaddingLeft, 'click', - (event) => me.increasePaddingLeft(event, increasePaddingLeft), + () => me.increasePaddingLeft(), false ); sidebarWrapper.appendChild(increasePaddingLeft); @@ -206,7 +206,7 @@ export default class SpacingTune { this.api.listeners.on( decreasePaddingLeft, 'click', - (event) => me.decreasePaddingLeft(event, decreasePaddingLeft), + () => me.decreasePaddingLeft(), false ); sidebarWrapper.appendChild(decreasePaddingLeft); @@ -219,7 +219,7 @@ export default class SpacingTune { this.api.listeners.on( increasePaddingRight, 'click', - (event) => me.increasePaddingRight(event, increasePaddingRight), + () => me.increasePaddingRight(), false ); sidebarWrapper.appendChild(increasePaddingRight); @@ -230,7 +230,7 @@ export default class SpacingTune { this.api.listeners.on( decreasePaddingRight, 'click', - (event) => me.decreasePaddingRight(event, decreasePaddingRight), + () => me.decreasePaddingRight(), false ); sidebarWrapper.appendChild(decreasePaddingRight); @@ -243,7 +243,7 @@ export default class SpacingTune { this.api.listeners.on( increasePaddingTop, 'click', - (event) => me.increasePaddingTop(event, increasePaddingTop), + () => me.increasePaddingTop(), false ); sidebarWrapper.appendChild(increasePaddingTop); @@ -254,7 +254,7 @@ export default class SpacingTune { this.api.listeners.on( decreasePaddingTop, 'click', - (event) => me.decreasePaddingTop(event, decreasePaddingTop), + () => me.decreasePaddingTop(), false ); sidebarWrapper.appendChild(decreasePaddingTop); @@ -267,7 +267,7 @@ export default class SpacingTune { this.api.listeners.on( increasePaddingBottom, 'click', - (event) => me.increasePaddingBottom(event, increasePaddingBottom), + () => me.increasePaddingBottom(), false ); sidebarWrapper.appendChild(increasePaddingBottom); @@ -278,7 +278,7 @@ export default class SpacingTune { this.api.listeners.on( decreasePaddingBottom, 'click', - (event) => me.decreasePaddingBottom(event, decreasePaddingBottom), + () => me.decreasePaddingBottom(), false ); sidebarWrapper.appendChild(decreasePaddingBottom); @@ -287,7 +287,7 @@ export default class SpacingTune { } } - increasePaddingLeft(event, button) { + increasePaddingLeft() { const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); if (currentBlockIndex < 0) { @@ -321,7 +321,7 @@ export default class SpacingTune { } - decreasePaddingLeft(event, button) { + decreasePaddingLeft() { const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); if (currentBlockIndex < 0) { @@ -354,7 +354,7 @@ export default class SpacingTune { } } - increasePaddingRight(event, button) { + increasePaddingRight() { const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); if (currentBlockIndex < 0) { @@ -387,7 +387,7 @@ export default class SpacingTune { } } - decreasePaddingRight(event, button) { + decreasePaddingRight() { const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); if (currentBlockIndex < 0) { @@ -420,7 +420,7 @@ export default class SpacingTune { } } - increasePaddingTop(event, button) { + increasePaddingTop() { const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); if (currentBlockIndex < 0) { @@ -453,7 +453,7 @@ export default class SpacingTune { } } - decreasePaddingTop(event, button) { + decreasePaddingTop() { const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); if (currentBlockIndex < 0) { @@ -486,7 +486,7 @@ export default class SpacingTune { } } - increasePaddingBottom(event, button) { + increasePaddingBottom() { const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); if (currentBlockIndex < 0) { @@ -519,7 +519,7 @@ export default class SpacingTune { } } - decreasePaddingBottom(event, button) { + decreasePaddingBottom() { const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); if (currentBlockIndex < 0) { From 788c511274eda1e9ac452e739a83ecc16f4cdf98 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Wed, 12 May 2021 17:47:55 +0530 Subject: [PATCH 0016/1383] fix: Delete Card and Shortcut --- frappe/public/js/frappe/widgets/widget_group.js | 13 ++++++++----- frappe/public/js/frappe/wiki_blocks/card.js | 10 +++++++--- frappe/public/js/frappe/wiki_blocks/shortcut.js | 12 ++++++++---- 3 files changed, 23 insertions(+), 12 deletions(-) diff --git a/frappe/public/js/frappe/widgets/widget_group.js b/frappe/public/js/frappe/widgets/widget_group.js index 3d97a8f778..2b85359330 100644 --- a/frappe/public/js/frappe/widgets/widget_group.js +++ b/frappe/public/js/frappe/widgets/widget_group.js @@ -205,18 +205,21 @@ export class SingleWidgetGroup { widget_type: this.type, container: this.container, height: this.height || null, - options: { - ...this.options, - on_delete: (name) => this.on_delete(name), - }, }); - + widget_object.options = { + ...this.options, + on_delete: (name) => this.on_delete(name) + }; this.widgets_list.push(widget_object); this.widgets_dict[widget.name] = widget_object; return widget_object; } + on_delete(name, setup_new) { + this.api.blocks.delete(); + } + customize() { this.widgets_list.forEach((wid) => { wid.customize(this.options); diff --git a/frappe/public/js/frappe/wiki_blocks/card.js b/frappe/public/js/frappe/wiki_blocks/card.js index 3e7fd54dfd..f06e4754e0 100644 --- a/frappe/public/js/frappe/wiki_blocks/card.js +++ b/frappe/public/js/frappe/wiki_blocks/card.js @@ -73,9 +73,12 @@ export default class Card { let wid = frappe.widget.make_widget({ ...widget, widget_type: 'links', - container: this.wrapper, - options: this.options, + container: this.wrapper }); + wid.options = { + ...this.options, + on_delete: () => this.api.blocks.delete() + } wid.customize(this.options); this.wrapper.setAttribute("card_name", wid.label); this.new_card_widget = wid.get_config(); @@ -163,7 +166,8 @@ export default class Card { container: this.wrapper, type: "links", options: this.options, - widgets: card + widgets: card, + api: this.api }); this.wrapper.setAttribute("card_name", card_name); if (!this.readOnly) { diff --git a/frappe/public/js/frappe/wiki_blocks/shortcut.js b/frappe/public/js/frappe/wiki_blocks/shortcut.js index 53b5a5eed5..138ff8eac7 100644 --- a/frappe/public/js/frappe/wiki_blocks/shortcut.js +++ b/frappe/public/js/frappe/wiki_blocks/shortcut.js @@ -27,7 +27,7 @@ export default class Shortcut { allow_create: this.allow_customization, allow_delete: this.allow_customization, allow_hiding: false, - allow_edit: true, + allow_edit: true }; } @@ -72,9 +72,12 @@ export default class Shortcut { let wid = frappe.widget.make_widget({ ...widget, widget_type: 'shortcut', - container: this.wrapper, - options: this.options, + container: this.wrapper }); + wid.options = { + ...this.options, + on_delete: () => this.api.blocks.delete(), + } wid.customize(this.options); this.wrapper.setAttribute("shortcut_name", wid.label); this.new_shortcut_widget = wid.get_config(); @@ -162,7 +165,8 @@ export default class Shortcut { container: this.wrapper, type: "shortcut", options: this.options, - widgets: shortcut + widgets: shortcut, + api: this.api }); this.wrapper.setAttribute("shortcut_name", shortcut_name); if (!this.readOnly) { From e07fb1f736e459af0668fa83e8a5c23e5793a4d4 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Mon, 17 May 2021 15:50:39 +0530 Subject: [PATCH 0017/1383] fix: Edit Shortcut --- frappe/desk/desktop.py | 6 ++++ frappe/desk/doctype/workspace/workspace.py | 5 ---- frappe/public/js/frappe/views/wiki.js | 30 +++++++++---------- .../public/js/frappe/widgets/base_widget.js | 1 + .../public/js/frappe/widgets/widget_group.js | 9 ++++-- frappe/public/js/frappe/wiki_blocks/card.js | 2 +- .../public/js/frappe/wiki_blocks/shortcut.js | 30 ++++++++++++------- 7 files changed, 49 insertions(+), 34 deletions(-) diff --git a/frappe/desk/desktop.py b/frappe/desk/desktop.py index c096f50b78..2a09978744 100644 --- a/frappe/desk/desktop.py +++ b/frappe/desk/desktop.py @@ -4,6 +4,7 @@ from __future__ import unicode_literals import frappe +import json from json import loads, dumps from frappe import _, DoesNotExistError, ValidationError, _dict from frappe.boot import get_allowed_pages, get_allowed_reports @@ -549,6 +550,11 @@ def save_new_widget(page, new_widgets): if widgets.card: original_page.build_links_table_from_card(widgets.card) + content = frappe.db.get_value("Internal Wiki Page", page, "content") + for wid in ['shortcut']: + widd = [x['data'][ wid + '_name'] for x in json.loads(content) if x['type'] == wid] + original_page.set(wid+'s', [ele for ele in original_page.get(wid+'s') if ele.label in widd]) + try: original_page.save(ignore_permissions=True) except (ValidationError, TypeError) as e: diff --git a/frappe/desk/doctype/workspace/workspace.py b/frappe/desk/doctype/workspace/workspace.py index 20c9240188..18aa383455 100644 --- a/frappe/desk/doctype/workspace/workspace.py +++ b/frappe/desk/doctype/workspace/workspace.py @@ -101,13 +101,8 @@ class Workspace(Document): }) def build_links_table_from_card(self, config): - # Empty links table - # self.links = [] - # order = config.get('order') - # widgets = config.get('widgets') for idx, card in enumerate(config): - # card = widgets[name].copy() links = loads(card.get('links')) self.append('links', { diff --git a/frappe/public/js/frappe/views/wiki.js b/frappe/public/js/frappe/views/wiki.js index ec4f2a49e8..057ae25902 100644 --- a/frappe/public/js/frappe/views/wiki.js +++ b/frappe/public/js/frappe/views/wiki.js @@ -404,6 +404,7 @@ frappe.views.Wiki = class Wiki { this.dirty = true; }, readOnly: true, + logLevel: 'ERROR' }); } @@ -440,22 +441,19 @@ frappe.views.Wiki = class Wiki { frappe.dom.unfreeze(); if (res.message) { let cur_page = res.message; - if (!$.isEmptyObject(new_widgets)) { - frappe.call('frappe.desk.desktop.save_new_widget', { - page: me.title, - new_widgets: new_widgets - }).then(res => { - if (res.message) { - me.reload(); - } - }); - } - frappe.show_alert({ message: __("Page Saved Successfully"), indicator: "green" }); - me.title = ''; - me.parent = ''; - me.sorted_sidebar_items = []; - me.new_page = cur_page; - me.reload(); + frappe.call('frappe.desk.desktop.save_new_widget', { + page: me.title, + new_widgets: new_widgets + }).then(res => { + if (res.message) { + frappe.show_alert({ message: __("Page Saved Successfully"), indicator: "green" }); + me.title = ''; + me.parent = ''; + me.sorted_sidebar_items = []; + me.new_page = cur_page; + me.reload(); + } + }); } } }); diff --git a/frappe/public/js/frappe/widgets/base_widget.js b/frappe/public/js/frappe/widgets/base_widget.js index 9bbfb916e5..821df609ef 100644 --- a/frappe/public/js/frappe/widgets/base_widget.js +++ b/frappe/public/js/frappe/widgets/base_widget.js @@ -170,6 +170,7 @@ export default class Widget { data.name = this.name; this.refresh(); + this.options.on_edit && this.options.on_edit(data); }, primary_action_label: __("Save") }); diff --git a/frappe/public/js/frappe/widgets/widget_group.js b/frappe/public/js/frappe/widgets/widget_group.js index 2b85359330..913a362932 100644 --- a/frappe/public/js/frappe/widgets/widget_group.js +++ b/frappe/public/js/frappe/widgets/widget_group.js @@ -208,7 +208,8 @@ export class SingleWidgetGroup { }); widget_object.options = { ...this.options, - on_delete: (name) => this.on_delete(name) + on_delete: () => this.on_delete(), + on_edit: () => this.on_edit(widget_object) }; this.widgets_list.push(widget_object); this.widgets_dict[widget.name] = widget_object; @@ -216,10 +217,14 @@ export class SingleWidgetGroup { return widget_object; } - on_delete(name, setup_new) { + on_delete() { this.api.blocks.delete(); } + on_edit(widget_object) { + this.block.call("on_edit", widget_object); + } + customize() { this.widgets_list.forEach((wid) => { wid.customize(this.options); diff --git a/frappe/public/js/frappe/wiki_blocks/card.js b/frappe/public/js/frappe/wiki_blocks/card.js index f06e4754e0..89821129e0 100644 --- a/frappe/public/js/frappe/wiki_blocks/card.js +++ b/frappe/public/js/frappe/wiki_blocks/card.js @@ -78,7 +78,7 @@ export default class Card { wid.options = { ...this.options, on_delete: () => this.api.blocks.delete() - } + }; wid.customize(this.options); this.wrapper.setAttribute("card_name", wid.label); this.new_card_widget = wid.get_config(); diff --git a/frappe/public/js/frappe/wiki_blocks/shortcut.js b/frappe/public/js/frappe/wiki_blocks/shortcut.js index 138ff8eac7..f57c9ef7f1 100644 --- a/frappe/public/js/frappe/wiki_blocks/shortcut.js +++ b/frappe/public/js/frappe/wiki_blocks/shortcut.js @@ -11,9 +11,10 @@ export default class Shortcut { return true; } - constructor({data, api, config, readOnly}) { + constructor({data, api, config, readOnly, block}) { this.data = data; this.api = api; + this.block = block; this.config = config; this.readOnly = readOnly; this.col = this.data.col ? this.data.col : "12"; @@ -69,18 +70,19 @@ export default class Shortcut { type: 'shortcut', primary_action: (widget) => { widget.in_customize_mode = 1; - let wid = frappe.widget.make_widget({ + this.shortcut_widget = frappe.widget.make_widget({ ...widget, widget_type: 'shortcut', container: this.wrapper }); - wid.options = { + this.shortcut_widget.options = { ...this.options, on_delete: () => this.api.blocks.delete(), - } - wid.customize(this.options); - this.wrapper.setAttribute("shortcut_name", wid.label); - this.new_shortcut_widget = wid.get_config(); + on_edit: () => this.on_edit(this.shortcut_widget) + }; + this.shortcut_widget.customize(this.options); + this.wrapper.setAttribute("shortcut_name", this.shortcut_widget.label); + this.new_shortcut_widget = this.shortcut_widget.get_config(); }, }); @@ -155,22 +157,30 @@ export default class Shortcut { this.shortcut_field.make(); } + on_edit(shortcut_obj) { + let shortcut = shortcut_obj.get_config(); + this.shortcut_widget.widgets = shortcut; + this.wrapper.setAttribute("shortcut_name", shortcut.label); + this.new_shortcut_widget = shortcut_obj.get_config(); + } + _make_shortcuts(shortcut_name) { let shortcut = this.config.page_data.shortcuts.items.find(obj => { return obj.label == shortcut_name; }); this.wrapper.innerHTML = ''; shortcut.in_customize_mode = !this.readOnly; - let shortcut_widget = new frappe.widget.SingleWidgetGroup({ + this.shortcut_widget = new frappe.widget.SingleWidgetGroup({ container: this.wrapper, type: "shortcut", options: this.options, widgets: shortcut, - api: this.api + api: this.api, + block: this.block }); this.wrapper.setAttribute("shortcut_name", shortcut_name); if (!this.readOnly) { - shortcut_widget.customize(); + this.shortcut_widget.customize(); } } } \ No newline at end of file From ca89fa6a32a7bfb4488bb5af28f6af29aa0cf915 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 18 May 2021 14:31:34 +0530 Subject: [PATCH 0018/1383] fix: Edit & Delete Card --- frappe/desk/desktop.py | 19 +++++++-- frappe/desk/doctype/workspace/workspace.py | 13 ++++-- .../public/js/frappe/widgets/links_widget.js | 12 ++++-- .../public/js/frappe/widgets/widget_dialog.js | 6 +-- .../public/js/frappe/widgets/widget_group.js | 10 ++--- frappe/public/js/frappe/wiki_blocks/card.js | 40 ++++++++++++------- .../public/js/frappe/wiki_blocks/shortcut.js | 12 +++--- 7 files changed, 74 insertions(+), 38 deletions(-) diff --git a/frappe/desk/desktop.py b/frappe/desk/desktop.py index 2a09978744..3713a489e3 100644 --- a/frappe/desk/desktop.py +++ b/frappe/desk/desktop.py @@ -550,10 +550,23 @@ def save_new_widget(page, new_widgets): if widgets.card: original_page.build_links_table_from_card(widgets.card) + # remove duplicate and unwanted widgets content = frappe.db.get_value("Internal Wiki Page", page, "content") - for wid in ['shortcut']: - widd = [x['data'][ wid + '_name'] for x in json.loads(content) if x['type'] == wid] - original_page.set(wid+'s', [ele for ele in original_page.get(wid+'s') if ele.label in widd]) + page_widgets = {} + for wid in ['shortcut', 'card', 'chart']: + # get list of widget's name from internal wiki page + page_widgets[wid] = [x['data'][wid + '_name'] for x in json.loads(content) if x['type'] == wid] + + updated_widgets = [] + original_page.get('shortcuts').reverse() + for w in original_page.get('shortcuts'): + if w.label in page_widgets['shortcut'] and w.label not in [x.label for x in updated_widgets]: + updated_widgets.append(w) + original_page.set('shortcuts', updated_widgets) + + for i, v in enumerate(original_page.links): + if v.type == 'Card Break' and v.label not in page_widgets['card']: + del original_page.links[ i : i+v.link_count+1] try: original_page.save(ignore_permissions=True) diff --git a/frappe/desk/doctype/workspace/workspace.py b/frappe/desk/doctype/workspace/workspace.py index 18aa383455..7e50b8db70 100644 --- a/frappe/desk/doctype/workspace/workspace.py +++ b/frappe/desk/doctype/workspace/workspace.py @@ -105,11 +105,18 @@ class Workspace(Document): for idx, card in enumerate(config): links = loads(card.get('links')) + # remove duplicate before adding + duplicate_links = [x for x in self.links if(x.label == card.get('label') and x.type == 'Card Break')] + for v in duplicate_links: + del self.links[ v.idx-1 : v.idx+v.link_count] + self.append('links', { "label": card.get('label'), "type": "Card Break", "icon": card.get('icon'), - "hidden": card.get('hidden') or False + "hidden": card.get('hidden') or False, + "link_count": card.get('link_count'), + "idx": self.links[-1].idx + 1 }) for link in links: @@ -121,10 +128,10 @@ class Workspace(Document): "onboard": link.get('onboard'), "only_for": link.get('only_for'), "dependencies": link.get('dependencies'), - "is_query_report": link.get('is_query_report') + "is_query_report": link.get('is_query_report'), + "idx": self.links[-1].idx + 1 }) - def disable_saving_as_standard(): return frappe.flags.in_install or \ frappe.flags.in_patch or \ diff --git a/frappe/public/js/frappe/widgets/links_widget.js b/frappe/public/js/frappe/widgets/links_widget.js index 05280a22c8..26d52c1fcc 100644 --- a/frappe/public/js/frappe/widgets/links_widget.js +++ b/frappe/public/js/frappe/widgets/links_widget.js @@ -12,14 +12,18 @@ export default class LinksWidget extends Widget { return { name: this.name, links: JSON.stringify(this.links), + link_count: this.links.length, label: this.label, hidden: this.hidden, }; } set_body() { - this.options = {}; - this.options.links = this.links; + + if (!this.options) { + this.options = {}; + this.options.links = this.links; + } this.widget.addClass("links-widget-box"); const is_link_disabled = item => { return item.dependencies && item.incomplete_dependencies; @@ -74,7 +78,9 @@ export default class LinksWidget extends Widget { ${get_link_for_item(item)} `); }); - + if (this.in_customize_mode) { + this.body.empty(); + } this.link_list.forEach(link => link.appendTo(this.body)); } diff --git a/frappe/public/js/frappe/widgets/widget_dialog.js b/frappe/public/js/frappe/widgets/widget_dialog.js index 5bcaaf9e3e..02be3bd15a 100644 --- a/frappe/public/js/frappe/widgets/widget_dialog.js +++ b/frappe/public/js/frappe/widgets/widget_dialog.js @@ -142,9 +142,9 @@ class CardDialog extends WidgetDialog { fieldtype: 'Table', label: __('Card Links'), editable_grid: 1, - data: this.data || [], + data: me.values ? JSON.parse(me.values.links) : [], get_data: () => { - return this.data || []; + return me.values ? JSON.parse(me.values.links) : []; }, fields: [ { @@ -529,7 +529,7 @@ export default function get_dialog_constructor(type) { chart: ChartDialog, shortcut: ShortcutDialog, number_card: NumberCardDialog, - card: CardDialog, + links: CardDialog, }; return widget_map[type] || WidgetDialog; diff --git a/frappe/public/js/frappe/widgets/widget_group.js b/frappe/public/js/frappe/widgets/widget_group.js index 913a362932..d8f92edc5d 100644 --- a/frappe/public/js/frappe/widgets/widget_group.js +++ b/frappe/public/js/frappe/widgets/widget_group.js @@ -205,12 +205,12 @@ export class SingleWidgetGroup { widget_type: this.type, container: this.container, height: this.height || null, + options: { + ...this.options, + on_delete: () => this.on_delete(), + on_edit: () => this.on_edit(widget_object) + } }); - widget_object.options = { - ...this.options, - on_delete: () => this.on_delete(), - on_edit: () => this.on_edit(widget_object) - }; this.widgets_list.push(widget_object); this.widgets_dict[widget.name] = widget_object; diff --git a/frappe/public/js/frappe/wiki_blocks/card.js b/frappe/public/js/frappe/wiki_blocks/card.js index 89821129e0..5426fd24ce 100644 --- a/frappe/public/js/frappe/wiki_blocks/card.js +++ b/frappe/public/js/frappe/wiki_blocks/card.js @@ -11,9 +11,10 @@ export default class Card { return true; } - constructor({data, api, config, readOnly}) { + constructor({data, api, config, readOnly, block}) { this.data = data; this.api = api; + this.block = block; this.config = config; this.readOnly = readOnly; this.sections = {}; @@ -28,7 +29,7 @@ export default class Card { allow_create: this.allow_customization, allow_delete: this.allow_customization, allow_hiding: false, - allow_edit: false, + allow_edit: true, }; } @@ -64,24 +65,25 @@ export default class Card { } _new_card() { - const dialog_class = get_dialog_constructor('card'); + const dialog_class = get_dialog_constructor('links'); this.dialog = new dialog_class({ label: this.label, type: 'card', primary_action: (widget) => { widget.in_customize_mode = 1; - let wid = frappe.widget.make_widget({ + this.card_widget = frappe.widget.make_widget({ ...widget, widget_type: 'links', - container: this.wrapper + container: this.wrapper, + options: { + ...this.options, + on_delete: () => this.api.blocks.delete(), + on_edit: () => this.on_edit(this.card_widget) + } }); - wid.options = { - ...this.options, - on_delete: () => this.api.blocks.delete() - }; - wid.customize(this.options); - this.wrapper.setAttribute("card_name", wid.label); - this.new_card_widget = wid.get_config(); + this.card_widget.customize(this.options); + this.wrapper.setAttribute("card_name", this.card_widget.label); + this.new_card_widget = this.card_widget.get_config(); }, }); @@ -156,22 +158,30 @@ export default class Card { this.card_field.make(); } + on_edit(card_obj) { + let card = card_obj.get_config(); + this.card_widget.widgets = card; + this.wrapper.setAttribute("card_name", card.label); + this.new_card_widget = card_obj.get_config(); + } + _make_cards(card_name) { let card = this.config.page_data.cards.items.find(obj => { return obj.label == card_name; }); this.wrapper.innerHTML = ''; card.in_customize_mode = !this.readOnly; - let card_widget = new frappe.widget.SingleWidgetGroup({ + this.card_widget = new frappe.widget.SingleWidgetGroup({ container: this.wrapper, type: "links", options: this.options, widgets: card, - api: this.api + api: this.api, + block: this.block }); this.wrapper.setAttribute("card_name", card_name); if (!this.readOnly) { - card_widget.customize(); + this.card_widget.customize(); } } } \ No newline at end of file diff --git a/frappe/public/js/frappe/wiki_blocks/shortcut.js b/frappe/public/js/frappe/wiki_blocks/shortcut.js index f57c9ef7f1..ba98cbc382 100644 --- a/frappe/public/js/frappe/wiki_blocks/shortcut.js +++ b/frappe/public/js/frappe/wiki_blocks/shortcut.js @@ -73,13 +73,13 @@ export default class Shortcut { this.shortcut_widget = frappe.widget.make_widget({ ...widget, widget_type: 'shortcut', - container: this.wrapper + container: this.wrapper, + options: { + ...this.options, + on_delete: () => this.api.blocks.delete(), + on_edit: () => this.on_edit(this.shortcut_widget) + } }); - this.shortcut_widget.options = { - ...this.options, - on_delete: () => this.api.blocks.delete(), - on_edit: () => this.on_edit(this.shortcut_widget) - }; this.shortcut_widget.customize(this.options); this.wrapper.setAttribute("shortcut_name", this.shortcut_widget.label); this.new_shortcut_widget = this.shortcut_widget.get_config(); From 7ce6a776d04bfa0b52c562275f6c8198bfebce07 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 18 May 2021 16:44:14 +0530 Subject: [PATCH 0019/1383] fix: Remove duplicate card fix --- frappe/desk/doctype/workspace/workspace.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frappe/desk/doctype/workspace/workspace.py b/frappe/desk/doctype/workspace/workspace.py index 7e50b8db70..d9bf5fa618 100644 --- a/frappe/desk/doctype/workspace/workspace.py +++ b/frappe/desk/doctype/workspace/workspace.py @@ -106,9 +106,9 @@ class Workspace(Document): links = loads(card.get('links')) # remove duplicate before adding - duplicate_links = [x for x in self.links if(x.label == card.get('label') and x.type == 'Card Break')] - for v in duplicate_links: - del self.links[ v.idx-1 : v.idx+v.link_count] + for idx, link in enumerate(self.links): + if link.label == card.get('label') and link.type == 'Card Break': + del self.links[idx : idx + link.link_count + 1] self.append('links', { "label": card.get('label'), From 60454fafc84ef126f972cff41960f9a592bc8a1e Mon Sep 17 00:00:00 2001 From: prssanna Date: Thu, 29 Apr 2021 14:57:02 +0530 Subject: [PATCH 0020/1383] feat: Tab Break fieldtype --- frappe/core/doctype/docfield/docfield.json | 4 +- frappe/public/build.json | 3 + frappe/public/js/frappe/form/column.js | 41 +++ frappe/public/js/frappe/form/dashboard.js | 233 +++++-------- frappe/public/js/frappe/form/form.js | 21 +- frappe/public/js/frappe/form/layout.js | 363 ++++++++------------- frappe/public/js/frappe/form/section.js | 158 +++++++++ frappe/public/js/frappe/form/tab.js | 76 +++++ frappe/public/js/frappe/ui/field_group.js | 16 +- frappe/public/scss/desk/form.scss | 22 +- 10 files changed, 542 insertions(+), 395 deletions(-) create mode 100644 frappe/public/js/frappe/form/column.js create mode 100644 frappe/public/js/frappe/form/section.js create mode 100644 frappe/public/js/frappe/form/tab.js diff --git a/frappe/core/doctype/docfield/docfield.json b/frappe/core/doctype/docfield/docfield.json index ca134665b8..4ce553b44a 100644 --- a/frappe/core/doctype/docfield/docfield.json +++ b/frappe/core/doctype/docfield/docfield.json @@ -90,7 +90,7 @@ "label": "Type", "oldfieldname": "fieldtype", "oldfieldtype": "Select", - "options": "Attach\nAttach Image\nBarcode\nButton\nCheck\nCode\nColor\nColumn Break\nCurrency\nData\nDate\nDatetime\nDuration\nDynamic Link\nFloat\nFold\nGeolocation\nHeading\nHTML\nHTML Editor\nImage\nInt\nLink\nLong Text\nMarkdown Editor\nPassword\nPercent\nRead Only\nRating\nSection Break\nSelect\nSmall Text\nTable\nTable MultiSelect\nText\nText Editor\nTime\nSignature", + "options": "Attach\nAttach Image\nBarcode\nButton\nCheck\nCode\nColor\nColumn Break\nCurrency\nData\nDate\nDatetime\nDuration\nDynamic Link\nFloat\nFold\nGeolocation\nHeading\nHTML\nHTML Editor\nImage\nInt\nLink\nLong Text\nMarkdown Editor\nPassword\nPercent\nRead Only\nRating\nSection Break\nSelect\nSmall Text\nTable\nTable MultiSelect\nText\nText Editor\nTime\nSignature\nTab Break", "reqd": 1, "search_index": 1 }, @@ -487,7 +487,7 @@ "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2020-10-29 06:09:26.454990", + "modified": "2021-04-15 12:59:35.484572", "modified_by": "Administrator", "module": "Core", "name": "DocField", diff --git a/frappe/public/build.json b/frappe/public/build.json index 942871ee9b..192deab9b1 100755 --- a/frappe/public/build.json +++ b/frappe/public/build.json @@ -140,6 +140,9 @@ "public/js/frappe/ui/find.js", "public/js/frappe/ui/iconbar.js", "public/js/frappe/form/layout.js", + "public/js/frappe/form/section.js", + "public/js/frappe/form/tab.js", + "public/js/frappe/form/column.js", "public/js/frappe/ui/field_group.js", "public/js/frappe/form/link_selector.js", "public/js/frappe/form/multi_select_dialog.js", diff --git a/frappe/public/js/frappe/form/column.js b/frappe/public/js/frappe/form/column.js new file mode 100644 index 0000000000..8ceb2d029e --- /dev/null +++ b/frappe/public/js/frappe/form/column.js @@ -0,0 +1,41 @@ +frappe.ui.form.Column = class Column { + constructor(section, df) { + if (!df) df = {}; + + this.df = df; + this.section = section; + this.make(); + this.resize_all_columns(); + } + + make() { + this.wrapper = $(`
+
+
+
`).appendTo(this.section.body) + .find("form") + .on("submit", function () { + return false; + }); + + if (this.df.label) { + $(``).appendTo(this.wrapper); + } + } + + resize_all_columns() { + // distribute all columns equally + let colspan = cint(12 / this.section.wrapper.find(".form-column").length); + + this.section.wrapper.find(".form-column").removeClass() + .addClass("form-column") + .addClass("col-sm-" + colspan); + + } + + refresh() { + this.section.refresh(); + } +} \ No newline at end of file diff --git a/frappe/public/js/frappe/form/dashboard.js b/frappe/public/js/frappe/form/dashboard.js index c1c95d94cf..c983f612e0 100644 --- a/frappe/public/js/frappe/form/dashboard.js +++ b/frappe/public/js/frappe/form/dashboard.js @@ -4,57 +4,79 @@ frappe.ui.form.Dashboard = class FormDashboard { constructor(opts) { $.extend(this, opts); + this.setup_dashboard_tabs(); this.setup_dashboard_sections(); } - setup_dashboard_sections() { - this.progress_area = new Section(this.parent, { - css_class: 'progress-area', + setup_dashboard_tabs() { + this.overview_tab = new frappe.ui.form.Tab(this.frm.layout, { + label: __("Overview"), hidden: 1, - collapsible: 1 + fieldname: 'dashboard-overview' }); - this.heatmap_area = new Section(this.parent, { - title: __("Overview"), + this.connections_tab = new frappe.ui.form.Tab(this.frm.layout, { + label: __("Connections"), + hidden: 1, + fieldname: 'dashboard-connection' + }); + } + + setup_dashboard_sections() { + this.progress_area = this.make_section({ + css_class: 'progress-area', + hidden: 1, + is_dashboard_section: 1, + }, this.overview_tab); + + this.heatmap_area = this.make_section({ + label: __("Overview"), css_class: 'form-heatmap', hidden: 1, - collapsible: 1, + is_dashboard_section: 1, body_html: `
` - }); + }, this.overview_tab); - this.chart_area = new Section(this.parent, { - title: __("Graph"), + this.chart_area = this.make_section({ + label: __("Graph"), css_class: 'form-graph', hidden: 1, - collapsible: 1 - }); + is_dashboard_section: 1 + }, this.overview_tab); this.stats_area_row = $(`
`); - this.stats_area = new Section(this.parent, { - title: __("Stats"), + this.stats_area = this.make_section({ + label: __("Stats"), css_class: 'form-stats', hidden: 1, - collapsible: 1, + is_dashboard_section: 1, body_html: this.stats_area_row - }); + }, this.overview_tab); this.transactions_area = $(`
') + let progress_chart = $('
') .appendTo(this.progress_area.body); return progress_chart; } @@ -169,7 +196,7 @@ frappe.ui.form.Dashboard = class FormDashboard { this.init_data(); } - var show = false; + let show = false; if (this.data && ((this.data.transactions || []).length || (this.data.reports || []).length)) { @@ -198,11 +225,10 @@ frappe.ui.form.Dashboard = class FormDashboard { } after_refresh() { - var me = this; // show / hide new buttons (if allowed) - this.links_area.body.find('.btn-new').each(function() { - if (me.frm.can_create($(this).attr('data-doctype'))) { - $(this).removeClass('hidden'); + this.links_area.body.find('.btn-new').each((i, el) => { + if (this.frm.can_create($(this).attr('data-doctype'))) { + $(el).removeClass('hidden'); } }); } @@ -269,7 +295,7 @@ frappe.ui.form.Dashboard = class FormDashboard { } render_links() { - var me = this; + let me = this; this.links_area.show(); this.links_area.body.find('.btn-new').addClass('hidden'); if (this.data_rendered) { @@ -324,7 +350,7 @@ frappe.ui.form.Dashboard = class FormDashboard { open_document_list($link, show_open) { // show document list with filters - var doctype = $link.attr('data-doctype'), + let doctype = $link.attr('data-doctype'), names = $link.attr('data-names') || []; if (this.data.internal_links[doctype]) { @@ -346,8 +372,8 @@ frappe.ui.form.Dashboard = class FormDashboard { get_document_filter(doctype) { // return the default filter for the given document // like {"customer": frm.doc.name} - var filter = {}; - var fieldname = this.data.non_standard_fieldnames + let filter = {}; + let fieldname = this.data.non_standard_fieldnames ? (this.data.non_standard_fieldnames[doctype] || this.data.fieldname) : this.data.fieldname; @@ -366,7 +392,7 @@ frappe.ui.form.Dashboard = class FormDashboard { } // list all items from the transaction list - var items = [], + let items = [], me = this; this.data.transactions.forEach(function(group) { @@ -375,7 +401,7 @@ frappe.ui.form.Dashboard = class FormDashboard { }); }); - var method = this.data.method || 'frappe.desk.notifications.get_open_count'; + let method = this.data.method || 'frappe.desk.notifications.get_open_count'; frappe.call({ type: "GET", method: method, @@ -424,7 +450,7 @@ frappe.ui.form.Dashboard = class FormDashboard { } set_badge_count(doctype, open_count, count, names) { - var $link = $(this.transactions_area) + let $link = $(this.transactions_area) .find('.document-link[data-doctype="'+doctype+'"]'); if (open_count) { @@ -471,7 +497,7 @@ frappe.ui.form.Dashboard = class FormDashboard { this.heatmap_area.body.find('svg').css({'margin': 'auto'}); // message - var heatmap_message = this.heatmap_area.body.find('.heatmap-message'); + let heatmap_message = this.heatmap_area.body.find('.heatmap-message'); if (this.data.heatmap_message) { heatmap_message.removeClass('hidden').html(this.data.heatmap_message); } else { @@ -486,9 +512,9 @@ frappe.ui.form.Dashboard = class FormDashboard { // set colspan - var indicators = this.stats_area_row.find('.indicator-column'); - var n_indicators = indicators.length + 1; - var colspan; + let indicators = this.stats_area_row.find('.indicator-column'); + let n_indicators = indicators.length + 1; + let colspan; if (n_indicators > 4) { colspan = 3; } else { @@ -500,7 +526,7 @@ frappe.ui.form.Dashboard = class FormDashboard { indicators.removeClass().addClass('col-sm-'+colspan).addClass('indicator-column'); } - var indicator = $('
' + let indicator = $('
' +label+'
').appendTo(this.stats_area_row); return indicator; @@ -508,9 +534,9 @@ frappe.ui.form.Dashboard = class FormDashboard { // graphs setup_graph() { - var me = this; - var method = this.data.graph_method; - var args = { + let me = this; + let method = this.data.graph_method; + let args = { doctype: this.frm.doctype, docname: this.frm.doc.name, }; @@ -574,11 +600,10 @@ frappe.ui.form.Dashboard = class FormDashboard { } add_comment(text, alert_class, permanent) { - var me = this; this.set_headline_alert(text, alert_class); if (!permanent) { - setTimeout(function() { - me.clear_headline(); + setTimeout(() => { + this.clear_headline(); }, 10000); } } @@ -595,109 +620,3 @@ frappe.ui.form.Dashboard = class FormDashboard { } } }; - -class Section { - constructor(parent, options) { - this.parent = parent; - this.df = options || {}; - this.make(); - - if (this.df.title && this.df.collapsible && localStorage.getItem(options.css_class + '-closed')) { - this.collapse(); - } - this.refresh(); - } - - make() { - this.wrapper = $(`
`) - .appendTo(this.parent); - - if (this.df) { - if (this.df.title) { - this.make_head(); - } - if (this.df.description) { - this.description_wrapper = $( - `
- ${__(this.df.description)} -
` - ); - - this.wrapper.append(this.description_wrapper); - } - if (this.df.css_class) { - this.wrapper.addClass(this.df.css_class); - } - if (this.df.hide_border) { - this.wrapper.toggleClass("hide-border", true); - } - } - - this.body = $('
').appendTo(this.wrapper); - - if (this.df.body_html) { - this.body.append(this.df.body_html); - } - } - - make_head() { - this.head = $(` -
- ${__(this.df.title)} - -
- `); - - this.head.appendTo(this.wrapper); - this.indicator = this.head.find('.collapse-indicator'); - this.indicator.hide(); - - if (this.df.collapsible) { - // show / hide based on status - this.collapse_link = this.head.on("click", () => { - this.collapse(); - }); - this.set_icon(); - this.indicator.show(); - } - } - - refresh() { - if (!this.df) return; - - // hide if explicitly hidden - let hide = this.df.hidden; - this.wrapper.toggle(!hide); - } - - collapse(hide) { - if (hide === undefined) { - hide = !this.body.hasClass("hide"); - } - - this.body.toggleClass("hide", hide); - this.head && this.head.toggleClass("collapsed", hide); - - this.set_icon(hide); - - // save state for next reload ('' is falsy) - localStorage.setItem(this.df.css_class + '-closed', hide ? '1' : ''); - } - - set_icon(hide) { - let indicator_icon = hide ? 'down' : 'up-line'; - this.indicator && this.indicator.html(frappe.utils.icon(indicator_icon, 'sm', 'mb-1')); - } - - is_collapsed() { - return this.body.hasClass('hide'); - } - - hide() { - this.wrapper.hide(); - } - - show() { - this.wrapper.show(); - } -} diff --git a/frappe/public/js/frappe/form/form.js b/frappe/public/js/frappe/form/form.js index a188c42950..83d38b323b 100644 --- a/frappe/public/js/frappe/form/form.js +++ b/frappe/public/js/frappe/form/form.js @@ -93,6 +93,11 @@ frappe.ui.form.Form = class FrappeForm { this.watch_model_updates(); if (!this.meta.hide_toolbar && frappe.boot.desk_settings.timeline) { + // this.footer_tab = new frappe.ui.form.Tab(this.layout, { + // label: __("Activity"), + // fieldname: 'timeline' + // }); + this.footer = new frappe.ui.form.Footer({ frm: this, parent: $('
').appendTo(this.page.main.parent()) @@ -141,6 +146,7 @@ frappe.ui.form.Form = class FrappeForm { frm: this, with_dashboard: true, card_layout: true, + tabbed_layout: true, }); this.layout.make(); @@ -149,7 +155,7 @@ frappe.ui.form.Form = class FrappeForm { this.dashboard = new frappe.ui.form.Dashboard({ frm: this, - parent: $('
').insertAfter(this.layout.wrapper.find('.form-message')) + parent: this.layout.wrapper, }); // workflow state @@ -453,7 +459,7 @@ frappe.ui.form.Form = class FrappeForm { }, () => this.cscript.is_onload && this.is_new() && this.focus_on_first_input(), () => this.run_after_load_hook(), - () => this.dashboard.after_refresh() + () => this.dashboard.after_refresh(), ]); } else { @@ -462,6 +468,7 @@ frappe.ui.form.Form = class FrappeForm { this.$wrapper.trigger('render_complete'); + this.cscript.is_onload && this.set_first_tab_as_active(); if(!this.hidden) { this.layout.show_empty_form_message(); } @@ -469,6 +476,11 @@ frappe.ui.form.Form = class FrappeForm { this.scroll_to_element(); } + set_first_tab_as_active() { + this.layout.tabs[0] + && this.layout.tabs[0].set_active(); + } + focus_on_first_input() { let first = this.form_wrapper.find('.form-layout :input:visible:first'); if (!in_list(["Date", "Datetime"], first.attr("data-fieldtype"))) { @@ -1580,6 +1592,11 @@ frappe.ui.form.Form = class FrappeForm { let $el = field.$wrapper; + // set tab as active + if (field.tab && !field.tab.is_active()) { + field.tab.set_active(); + } + // uncollapse section if (field.section.is_collapsed()) { field.section.collapse(false); diff --git a/frappe/public/js/frappe/form/layout.js b/frappe/public/js/frappe/form/layout.js index 282655b589..2ffba7b15a 100644 --- a/frappe/public/js/frappe/form/layout.js +++ b/frappe/public/js/frappe/form/layout.js @@ -1,27 +1,38 @@ -import '../class'; - frappe.ui.form.Layout = class Layout { constructor (opts) { this.views = {}; this.pages = []; + this.tabs = []; this.sections = []; this.fields_list = []; this.fields_dict = {}; $.extend(this, opts); } + make() { if (!this.parent && this.body) { this.parent = this.body; } this.wrapper = $('
').appendTo(this.parent); this.message = $('').appendTo(this.wrapper); + + this.page = $('
').appendTo(this.wrapper); + $(`
+ +
`).appendTo(this.page); + this.tabs_list = this.page.find('.form-tabs'); + this.tabs_content = $(`
`).appendTo(this.page); + if (!this.fields) { this.fields = this.get_doctype_fields(); } + + this.setup_events(); this.setup_tabbing(); this.render(); } + show_empty_form_message() { if (!(this.wrapper.find(".frappe-control:visible").length || this.wrapper.find(".section-head.collapsed").length)) { this.show_message(__("This form does not have any input")); @@ -87,9 +98,9 @@ frappe.ui.form.Layout = class Layout { this.message.empty().addClass('hidden'); } } - render (new_fields) { - var me = this; - var fields = new_fields || this.fields; + + render(new_fields) { + let fields = new_fields || this.fields; this.section = null; this.column = null; @@ -98,38 +109,45 @@ frappe.ui.form.Layout = class Layout { this.setup_dashboard_section(); } + if (this.tabbed_layout) { + this.first_tab = this.make_tab({label: __('Details'), fieldname: 'details'}) + } + if (this.no_opening_section()) { this.make_section(); } - $.each(fields, function (i, df) { + + fields.forEach(df => { switch (df.fieldtype) { case "Fold": - me.make_page(df); + this.make_page(df); break; case "Section Break": - me.make_section(df); + this.make_section(df); break; case "Column Break": - me.make_column(df); + this.make_column(df); + break; + case "Tab Break": + this.make_tab(df); break; default: - me.make_field(df); + this.make_field(df); } }); - } - no_opening_section () { + no_opening_section() { return (this.fields[0] && this.fields[0].fieldtype != "Section Break") || !this.fields.length; } - setup_dashboard_section () { + setup_dashboard_section() { if (this.no_opening_section()) { this.fields.unshift({fieldtype: 'Section Break'}); } } - replace_field (fieldname, df, render) { + replace_field(fieldname, df, render) { df.fieldname = fieldname; // change of fieldname is avoided if (this.fields_dict[fieldname] && this.fields_dict[fieldname].df) { const fieldobj = this.init_field(df, render); @@ -145,7 +163,7 @@ frappe.ui.form.Layout = class Layout { } } - make_field (df, colspan, render) { + make_field(df, colspan, render) { !this.section && this.make_section(); !this.column && this.make_column(); @@ -159,9 +177,10 @@ frappe.ui.form.Layout = class Layout { this.section.fields_list.push(fieldobj); this.section.fields_dict[df.fieldname] = fieldobj; fieldobj.section = this.section; + fieldobj.tab = this.tab; } - init_field (df, render = false) { + init_field(df, render=false) { const fieldobj = frappe.ui.form.make_control({ df: df, doctype: this.doctype, @@ -176,8 +195,8 @@ frappe.ui.form.Layout = class Layout { return fieldobj; } - make_page (df) { // eslint-disable-line no-unused-vars - var me = this, + make_page(df) { // eslint-disable-line no-unused-vars + let me = this, head = $('').appendTo(this.wrapper); @@ -185,7 +204,7 @@ frappe.ui.form.Layout = class Layout { this.page = $('
').appendTo(this.wrapper); this.fold_btn = head.find(".btn-fold").on("click", function () { - var page = $(this).parent().next(); + let page = $(this).parent().next(); if (page.hasClass("hide")) { $(this).removeClass("btn-fold").html(__("Hide details")); page.removeClass("hide"); @@ -202,12 +221,12 @@ frappe.ui.form.Layout = class Layout { this.folded = true; } - unfold () { + unfold() { this.fold_btn.trigger('click'); } - make_section (df) { - this.section = new frappe.ui.form.Section(this, df); + make_section(df) { + this.section = new frappe.ui.form.Section(this, df, this.tab || null); // append to layout fields if (df) { @@ -218,15 +237,25 @@ frappe.ui.form.Layout = class Layout { this.column = null; } - make_column (df) { + make_column(df) { this.column = new frappe.ui.form.Column(this.section, df); if (df && df.fieldname) { this.fields_list.push(this.column); } } - refresh (doc) { - var me = this; + make_tab(df) { + this.tab = new frappe.ui.form.Tab(this, df); + + if (df) { + this.fields_dict[df.fieldname] = this.tab; + this.fields_list.push(this.tab); + } + + return this.tab; + } + + refresh(doc) { if (doc) this.doc = doc; if (this.frm) { @@ -234,7 +263,7 @@ frappe.ui.form.Layout = class Layout { } // NOTE this might seem redundant at first, but it needs to be executed when frm.refresh_fields is called - me.attach_doc_and_docfields(true); + this.attach_doc_and_docfields(true); if (this.frm && this.frm.wrapper) { $(this.frm.wrapper).trigger("refresh-fields"); @@ -246,6 +275,9 @@ frappe.ui.form.Layout = class Layout { // refresh sections this.refresh_sections(); + // refresh tabs + this.refresh_tabs(); + if (this.frm) { // collapse sections this.refresh_section_collapse(); @@ -265,10 +297,26 @@ frappe.ui.form.Layout = class Layout { }); this.frm && this.frm.dashboard.refresh(); - } - refresh_fields (fields) { + refresh_tabs() { + this.tabs.forEach(tab => { + if (!tab.wrapper.hasClass('hide') && !tab.parent.hasClass('hide')) { + tab.parent.removeClass('show hide'); + tab.wrapper.removeClass('show hide'); + if (tab.wrapper.find( + ".form-section:not(.hide-control, .empty-section), .form-dashboard-section:not(.hide-control, .empty-section)" + ).length + ) { + tab.toggle(true) + } else { + tab.toggle(false) + } + } + }); + } + + refresh_fields(fields) { let fieldnames = fields.map((field) => { if (field.fieldname) return field.fieldname; }); @@ -283,7 +331,7 @@ frappe.ui.form.Layout = class Layout { }); } - add_fields (fields) { + add_fields(fields) { this.render(fields); this.refresh_fields(fields); } @@ -291,11 +339,11 @@ frappe.ui.form.Layout = class Layout { refresh_section_collapse () { if (!(this.sections && this.sections.length)) return; - for (var i = 0; i < this.sections.length; i++) { - var section = this.sections[i]; - var df = section.df; + for (let i = 0; i < this.sections.length; i++) { + let section = this.sections[i]; + let df = section.df; if (df && df.collapsible) { - var collapse = true; + let collapse = true; if (df.collapsible_depends_on) { collapse = !this.evaluate_depends_on_value(df.collapsible_depends_on); @@ -310,10 +358,10 @@ frappe.ui.form.Layout = class Layout { } } - attach_doc_and_docfields (refresh) { - var me = this; - for (var i = 0, l = this.fields_list.length; i < l; i++) { - var fieldobj = this.fields_list[i]; + attach_doc_and_docfields(refresh) { + let me = this; + for (let i = 0, l = this.fields_list.length; i < l; i++) { + let fieldobj = this.fields_list[i]; if (me.doc) { fieldobj.doc = me.doc; fieldobj.doctype = me.doc.doctype; @@ -330,41 +378,49 @@ frappe.ui.form.Layout = class Layout { } } - refresh_section_count () { + refresh_section_count() { this.wrapper.find(".section-count-label:visible").each(function (i) { $(this).html(i + 1); }); } - setup_tabbing () { - var me = this; - this.wrapper.on("keydown", function (ev) { + + setup_events() { + this.tabs_list.off('click').on('click', '.nav-link', (e) => { + e.preventDefault() + e.stopImmediatePropagation(); + $(e.currentTarget).tab('show'); + // this.$current_tab = $(e.currentTarget); + }); + } + + setup_tabbing() { + this.wrapper.on("keydown", (ev) => { if (ev.which == 9) { - var current = $(ev.target), + let current = $(ev.target), doctype = current.attr("data-doctype"), fieldname = current.attr("data-fieldname"); if (doctype) - return me.handle_tab(doctype, fieldname, ev.shiftKey); + return this.handle_tab(doctype, fieldname, ev.shiftKey); } }); } - handle_tab (doctype, fieldname, shift) { - var me = this, - grid_row = null, + + handle_tab(doctype, fieldname, shift) { + let grid_row = null, prev = null, - fields = me.fields_list, - in_grid = false, + fields = this.fields_list, focused = false; // in grid - if (doctype != me.doctype) { - grid_row = me.get_open_grid_row(); + if (doctype != this.doctype) { + grid_row = this.get_open_grid_row(); if (!grid_row || !grid_row.layout) { return; } fields = grid_row.layout.fields_list; } - for (var i = 0, len = fields.length; i < len; i++) { + for (let i = 0, len = fields.length; i < len; i++) { if (fields[i].df.fieldname == fieldname) { if (shift) { if (prev) { @@ -375,7 +431,7 @@ frappe.ui.form.Layout = class Layout { break; } if (i < len - 1) { - focused = me.focus_on_next_field(i, fields); + focused = this.focus_on_next_field(i, fields); } if (focused) { @@ -406,10 +462,11 @@ frappe.ui.form.Layout = class Layout { return false; } - focus_on_next_field (start_idx, fields) { + + focus_on_next_field(start_idx, fields) { // loop to find next eligible fields - for (var i = start_idx + 1, len = fields.length; i < len; i++) { - var field = fields[i]; + for (let i = start_idx + 1, len = fields.length; i < len; i++) { + let field = fields[i]; if (this.is_visible(field)) { if (field.df.fieldtype === "Table") { // open table grid @@ -428,10 +485,12 @@ frappe.ui.form.Layout = class Layout { } } } - is_visible (field) { + + is_visible(field) { return field.disp_status === "Write" && (field.$wrapper && field.$wrapper.is(":visible")); } - set_focus (field) { + + set_focus(field) { // next is table, show the table if (field.df.fieldtype=="Table") { if (!field.grid.grid_rows.length) { @@ -445,18 +504,19 @@ frappe.ui.form.Layout = class Layout { field.$input.focus(); } } - get_open_grid_row () { + + get_open_grid_row() { return $(".grid-row-open").data("grid_row"); } - refresh_dependency () { + + refresh_dependency() { // Resolve "depends_on" and show / hide accordingly - var me = this; // build dependants' dictionary - var has_dep = false; + let has_dep = false; - for (var fkey in this.fields_list) { - var f = this.fields_list[fkey]; + for (let fkey in this.fields_list) { + let f = this.fields_list[fkey]; f.dependencies_clear = true; if (f.df.depends_on || f.df.mandatory_depends_on || f.df.read_only_depends_on) { has_dep = true; @@ -466,8 +526,8 @@ frappe.ui.form.Layout = class Layout { if (!has_dep) return; // show / hide based on values - for (var i = me.fields_list.length - 1; i >= 0; i--) { - var f = me.fields_list[i]; + for (let i = this.fields_list.length - 1; i >= 0; i--) { + let f = this.fields_list[i]; f.guardian_has_value = true; if (f.df.depends_on) { // evaluate guardian @@ -499,7 +559,8 @@ frappe.ui.form.Layout = class Layout { this.refresh_section_count(); } - set_dependant_property (condition, fieldname, property) { + + set_dependant_property(condition, fieldname, property) { let set_property = this.evaluate_depends_on_value(condition); let value = set_property ? 1 : 0; let form_obj; @@ -521,19 +582,20 @@ frappe.ui.form.Layout = class Layout { } } } - evaluate_depends_on_value (expression) { - var out = null; - var doc = this.doc; + + evaluate_depends_on_value(expression) { + let out = null; + let doc = this.doc; if (!doc && this.get_values) { - var doc = this.get_values(true); + let doc = this.get_values(true); } if (!doc) { return; } - var parent = this.frm ? this.frm.doc : this.doc || null; + let parent = this.frm ? this.frm.doc : this.doc || null; if (typeof (expression) === 'boolean') { out = expression; @@ -564,161 +626,4 @@ frappe.ui.form.Layout = class Layout { return out; } -}; - -frappe.ui.form.Section = class FormSection { - constructor(layout, df) { - this.layout = layout; - this.df = df || {}; - this.fields_list = []; - this.fields_dict = {}; - - this.make(); - // if (this.frm) - // this.section.body.css({"padding":"0px 3%"}) - this.row = { - wrapper: this.wrapper - }; - - this.refresh(); - } - make() { - if (!this.layout.page) { - this.layout.page = $('
').appendTo(this.layout.wrapper); - } - let make_card = this.layout.card_layout; - this.wrapper = $(`
`) - .appendTo(this.layout.page); - this.layout.sections.push(this); - - if (this.df) { - if (this.df.label) { - this.make_head(); - } - if (this.df.description) { - $('
' + __(this.df.description) + '
') - .appendTo(this.wrapper); - } - if (this.df.cssClass) { - this.wrapper.addClass(this.df.cssClass); - } - if (this.df.hide_border) { - this.wrapper.toggleClass("hide-border", true); - } - } - - // for bc - this.body = $('
').appendTo(this.wrapper); - } - - make_head () { - this.head = $(`
- ${__(this.df.label)} - - -
`); - this.head.appendTo(this.wrapper); - this.indicator = this.head.find('.collapse-indicator'); - this.indicator.hide(); - if (this.df.collapsible) { - // show / hide based on status - this.collapse_link = this.head.on("click", () => { - this.collapse(); - }); - - this.indicator.show(); - } - } - refresh() { - if (!this.df) - return; - - // hide if explictly hidden - var hide = this.df.hidden || this.df.hidden_due_to_dependency; - - // hide if no perm - if (!hide && this.layout && this.layout.frm && !this.layout.frm.get_perm(this.df.permlevel || 0, "read")) { - hide = true; - } - - this.wrapper.toggleClass("hide-control", !!hide); - } - collapse (hide) { - // unknown edge case - if (!(this.head && this.body)) { - return; - } - - if (hide===undefined) { - hide = !this.body.hasClass("hide"); - } - - this.body.toggleClass("hide", hide); - this.head.toggleClass("collapsed", hide); - - let indicator_icon = hide ? 'down' : 'up-line'; - - this.indicator & this.indicator.html(frappe.utils.icon(indicator_icon, 'sm', 'mb-1')); - - // refresh signature fields - this.fields_list.forEach((f) => { - if (f.df.fieldtype == 'Signature') { - f.refresh(); - } - }); - } - - is_collapsed() { - return this.body.hasClass('hide'); - } - - has_missing_mandatory () { - var missing_mandatory = false; - for (var j = 0, l = this.fields_list.length; j < l; j++) { - var section_df = this.fields_list[j].df; - if (section_df.reqd && this.layout.doc[section_df.fieldname] == null) { - missing_mandatory = true; - break; - } - } - return missing_mandatory; - } -}; - -frappe.ui.form.Column = class FormColumn { - constructor(section, df) { - if (!df) df = {}; - - this.df = df; - this.section = section; - this.make(); - this.resize_all_columns(); - } - make () { - this.wrapper = $('
\ -
\ -
\ -
').appendTo(this.section.body) - .find("form") - .on("submit", function () { - return false; - }); - - if (this.df.label) { - $('').appendTo(this.wrapper); - } - } - resize_all_columns () { - // distribute all columns equally - var colspan = cint(12 / this.section.wrapper.find(".form-column").length); - - this.section.wrapper.find(".form-column").removeClass() - .addClass("form-column") - .addClass("col-sm-" + colspan); - - } - refresh () { - this.section.refresh(); - } -}; +} diff --git a/frappe/public/js/frappe/form/section.js b/frappe/public/js/frappe/form/section.js new file mode 100644 index 0000000000..f84dd6a58b --- /dev/null +++ b/frappe/public/js/frappe/form/section.js @@ -0,0 +1,158 @@ +// import '../class'; + +frappe.ui.form.Section = class Section { + constructor(layout, df, tab) { + this.layout = layout; + this.tab = tab; + this.parent = this.tab && this.tab.wrapper || null; + this.df = df || {}; + this.fields_list = []; + this.fields_dict = {}; + + this.make(); + + if (this.df.label && this.df.collapsible && localStorage.getItem(df.css_class + '-closed')) { + this.collapse(); + } + + this.row = { + wrapper: this.wrapper + }; + + this.refresh(); + } + + make() { + if (!this.layout.page) { + this.layout.page = $('
').appendTo(this.layout.wrapper); + } + + let make_card = this.layout.card_layout; + + this.wrapper = $(`
+ `).appendTo(this.parent || this.layout.page); + + this.layout.sections.push(this); + + if (this.df) { + if (this.df.label) { + this.make_head(); + } + if (this.df.description) { + this.description_wrapper = $( + `
+ ${__(this.df.description)} +
` + ); + + this.wrapper.append(this.description_wrapper); + } + if (this.df.css_class) { + this.wrapper.addClass(this.df.css_class); + } + if (this.df.hide_border) { + this.wrapper.toggleClass("hide-border", true); + } + } + + this.body = $('
').appendTo(this.wrapper); + + if (this.df.body_html) { + this.body.append(this.df.body_html); + } + } + + make_head() { + this.head = $(` +
+ ${__(this.df.label)} + +
+ `); + + this.head.appendTo(this.wrapper); + this.indicator = this.head.find('.collapse-indicator'); + this.indicator.hide(); + + if (this.df.collapsible) { + // show / hide based on status + this.collapse_link = this.head.on("click", () => { + this.collapse(); + }); + this.set_icon(); + this.indicator.show(); + } + } + + refresh() { + if (!this.df) return; + + // hide if explicitly hidden + let hide = this.df.hidden || this.df.hidden_due_to_dependency; + if (!hide && this.layout && this.layout.frm && !this.layout.frm.get_perm(this.df.permlevel || 0, "read")) { + hide = true; + } + + this.wrapper.toggleClass("hide-control", !!hide); + // this.tab && this.tab.refresh(); + } + + collapse(hide) { + // unknown edge case + if (!(this.head && this.body)) { + return; + } + + if (hide === undefined) { + hide = !this.body.hasClass("hide"); + } + + this.body.toggleClass("hide", hide); + this.head && this.head.toggleClass("collapsed", hide); + + this.set_icon(hide); + + // refresh signature fields + this.fields_list.forEach((f) => { + if (f.df.fieldtype == 'Signature') { + f.refresh(); + } + }); + + // save state for next reload ('' is falsy) + if (this.df.css_class) + localStorage.setItem(this.df.css_class + '-closed', hide ? '1' : ''); + } + + set_icon(hide) { + let indicator_icon = hide ? 'down' : 'up-line'; + this.indicator && this.indicator.html(frappe.utils.icon(indicator_icon, 'sm', 'mb-1')); + } + + is_collapsed() { + return this.body.hasClass('hide'); + } + + has_missing_mandatory () { + var missing_mandatory = false; + for (var j = 0, l = this.fields_list.length; j < l; j++) { + var section_df = this.fields_list[j].df; + if (section_df.reqd && this.layout.doc[section_df.fieldname] == null) { + missing_mandatory = true; + break; + } + } + return missing_mandatory; + } + + hide() { + this.wrapper.toggleClass("hide-control", true); + } + + show() { + this.wrapper.toggleClass("hide-control", false); + this.tab && this.tab.toggle(true); + } +} \ No newline at end of file diff --git a/frappe/public/js/frappe/form/tab.js b/frappe/public/js/frappe/form/tab.js new file mode 100644 index 0000000000..bcd532061f --- /dev/null +++ b/frappe/public/js/frappe/form/tab.js @@ -0,0 +1,76 @@ +frappe.ui.form.Tab = class Tab { + constructor(layout, df) { + this.layout = layout; + this.df = df || {}; + this.label = this.df && this.df.label || 'Details'; + this.fields_list = []; + this.fields_dict = {}; + this.make(); + this.refresh(); + } + + make() { + if (!this.layout.page) { + this.layout.page = $('
').appendTo(this.layout.wrapper); + } + + const id = `${frappe.scrub(this.layout.doctype, '-')}-${this.df.fieldname}`; + this.parent = $(``).appendTo(this.layout.tabs_list); + + this.wrapper = $(`
+ `).appendTo(this.layout.tabs_content); + + this.layout.tabs.push(this); + } + + set_content() { + + } + + refresh() { + if (!this.df) return; + + // hide if explicitly hidden + let hide = this.df.hidden || this.df.hidden_due_to_dependency; + if (!hide && this.layout && this.layout.frm && !this.layout.frm.get_perm(this.df.permlevel || 0, "read")) { + hide = true; + } + this.toggle(!hide); + } + + toggle(show) { + this.parent.toggleClass('hide', !show); + this.wrapper.toggleClass('hide', !show); + this.parent.toggleClass('show', show); + this.wrapper.toggleClass('show', show); + } + + show() { + this.parent.show(); + } + + hide() { + this.parent.hide(); + } + + set_active() { + this.parent.find('.nav-link').tab('show'); + this.wrapper.addClass('show'); + } + + is_active() { + return this.wrapper.hasClass('active'); + } + + is_hidden() { + this.wrapper.hasClass('hidden') + && this.parent.hasClass('hidden'); + } +} diff --git a/frappe/public/js/frappe/ui/field_group.js b/frappe/public/js/frappe/ui/field_group.js index b8b908eb95..9fc357e9c4 100644 --- a/frappe/public/js/frappe/ui/field_group.js +++ b/frappe/public/js/frappe/ui/field_group.js @@ -5,7 +5,6 @@ frappe.provide('frappe.ui'); frappe.ui.FieldGroup = class FieldGroup extends frappe.ui.form.Layout { constructor(opts) { super(opts); - this.first_button = false; this.dirty = false; $.each(this.fields || [], function(i, f) { if(!f.fieldname && f.label) { @@ -16,6 +15,7 @@ frappe.ui.FieldGroup = class FieldGroup extends frappe.ui.form.Layout { this.set_values(this.values); } } + make() { var me = this; if(this.fields) { @@ -61,6 +61,7 @@ frappe.ui.FieldGroup = class FieldGroup extends frappe.ui.form.Layout { } }); } + catch_enter_as_submit() { var me = this; $(this.body).find('input[type="text"], input[type="password"], select').keypress(function(e) { @@ -72,13 +73,16 @@ frappe.ui.FieldGroup = class FieldGroup extends frappe.ui.form.Layout { } }); } + get_input(fieldname) { var field = this.fields_dict[fieldname]; return $(field.txt ? field.txt : field.input); } + get_field(fieldname) { return this.fields_dict[fieldname]; } + get_values(ignore_errors) { var ret = {}; var errors = []; @@ -111,10 +115,12 @@ frappe.ui.FieldGroup = class FieldGroup extends frappe.ui.form.Layout { } return ret; } + get_value(key) { var f = this.fields_dict[key]; return f && (f.get_value ? f.get_value() : null); } + set_value(key, val){ return new Promise(resolve => { var f = this.fields_dict[key]; @@ -129,9 +135,11 @@ frappe.ui.FieldGroup = class FieldGroup extends frappe.ui.form.Layout { } }); } + set_input(key, val) { return this.set_value(key, val); } + set_values(dict) { let promises = []; for(var key in dict) { @@ -142,6 +150,7 @@ frappe.ui.FieldGroup = class FieldGroup extends frappe.ui.form.Layout { return Promise.all(promises); } + clear() { for(var key in this.fields_dict) { var f = this.fields_dict[key]; @@ -150,9 +159,10 @@ frappe.ui.FieldGroup = class FieldGroup extends frappe.ui.form.Layout { } } } + set_df_property (fieldname, prop, value) { - const field = this.get_field(fieldname); + const field = this.get_field(fieldname); field.df[prop] = value; field.refresh(); } -}; +} diff --git a/frappe/public/scss/desk/form.scss b/frappe/public/scss/desk/form.scss index 0bb686f045..a7f9fd5ab6 100644 --- a/frappe/public/scss/desk/form.scss +++ b/frappe/public/scss/desk/form.scss @@ -50,11 +50,11 @@ @extend .frappe-card; } -.form-dashboard { +.form-dashboard-section { .section-body:first-child { margin-top: 0; } - .form-dashboard-section .section-body { + .section-body { display: block; padding-left: var(--padding-md); padding-right: var(--padding-md); @@ -302,6 +302,24 @@ } } +.form-tabs { + .nav-item { + .nav-link { + padding-bottom: 15px; + color: var(--gray-700); + padding-left: 0; + padding-right: 0; + margin-right: 30px; + + &.active { + font-weight: 500; + border-bottom: 1px solid var(--primary); + color: var(--text-color); + } + } + } +} + .progress-area { padding-top: var(--padding-md); padding-bottom: var(--padding-md); From 6e9555ca815ea3b0670834a0135911b5b654083d Mon Sep 17 00:00:00 2001 From: prssanna Date: Thu, 29 Apr 2021 15:02:47 +0530 Subject: [PATCH 0021/1383] feat: add Tab Break to Custom Field fieldtype --- frappe/custom/doctype/custom_field/custom_field.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/custom/doctype/custom_field/custom_field.json b/frappe/custom/doctype/custom_field/custom_field.json index 2f0819ab68..4f987e3d14 100644 --- a/frappe/custom/doctype/custom_field/custom_field.json +++ b/frappe/custom/doctype/custom_field/custom_field.json @@ -120,7 +120,7 @@ "label": "Field Type", "oldfieldname": "fieldtype", "oldfieldtype": "Select", - "options": "Attach\nAttach Image\nBarcode\nButton\nCheck\nCode\nColor\nColumn Break\nCurrency\nData\nDate\nDatetime\nDuration\nDynamic Link\nFloat\nGeolocation\nHTML\nImage\nInt\nLink\nLong Text\nMarkdown Editor\nPassword\nPercent\nRating\nRead Only\nSection Break\nSelect\nSmall Text\nTable\nTable MultiSelect\nText\nText Editor\nTime\nSignature", + "options": "Attach\nAttach Image\nBarcode\nButton\nCheck\nCode\nColor\nColumn Break\nCurrency\nData\nDate\nDatetime\nDuration\nDynamic Link\nFloat\nGeolocation\nHTML\nImage\nInt\nLink\nLong Text\nMarkdown Editor\nPassword\nPercent\nRating\nRead Only\nSection Break\nSelect\nSmall Text\nTable\nTable MultiSelect\nText\nText Editor\nTime\nSignature\nTab Break", "reqd": 1 }, { @@ -417,7 +417,7 @@ "idx": 1, "index_web_pages_for_search": 1, "links": [], - "modified": "2020-10-29 06:14:43.073329", + "modified": "2021-04-29 15:02:06.442612", "modified_by": "Administrator", "module": "Custom", "name": "Custom Field", From 4be537d287125aade9c357efc393d245fdb3ec5c Mon Sep 17 00:00:00 2001 From: prssanna Date: Fri, 30 Apr 2021 12:58:47 +0530 Subject: [PATCH 0022/1383] fix: add bottom margin to tabs --- frappe/public/scss/desk/form.scss | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/frappe/public/scss/desk/form.scss b/frappe/public/scss/desk/form.scss index a7f9fd5ab6..c2a7c00e40 100644 --- a/frappe/public/scss/desk/form.scss +++ b/frappe/public/scss/desk/form.scss @@ -302,19 +302,23 @@ } } -.form-tabs { - .nav-item { - .nav-link { - padding-bottom: 15px; - color: var(--gray-700); - padding-left: 0; - padding-right: 0; - margin-right: 30px; +.form-tabs-list { + margin-bottom: var(--margin-lg); - &.active { - font-weight: 500; - border-bottom: 1px solid var(--primary); - color: var(--text-color); + .form-tabs { + .nav-item { + .nav-link { + padding-bottom: var(--padding-md); + color: var(--gray-700); + padding-left: 0; + padding-right: 0; + margin-right: var(--margin-xl); + + &.active { + font-weight: 500; + border-bottom: 1px solid var(--primary); + color: var(--text-color); + } } } } @@ -373,7 +377,4 @@ .form-column:not(:first-child) { padding-top: var(--padding-md); } - - - } From 022f7e1c06c8a076fe1c36e2a60059242b077015 Mon Sep 17 00:00:00 2001 From: prssanna Date: Sat, 8 May 2021 17:59:25 +0530 Subject: [PATCH 0023/1383] fix: label for Tab Break fields --- frappe/core/doctype/doctype/doctype.py | 2 ++ frappe/custom/doctype/custom_field/custom_field.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/frappe/core/doctype/doctype/doctype.py b/frappe/core/doctype/doctype/doctype.py index 84673f990a..3cd336377c 100644 --- a/frappe/core/doctype/doctype/doctype.py +++ b/frappe/core/doctype/doctype/doctype.py @@ -277,6 +277,8 @@ class DocType(Document): d.fieldname = d.fieldname + '_section' elif d.fieldtype=='Column Break': d.fieldname = d.fieldname + '_column' + elif d.fieldtype=='Tab Break': + d.fieldname = d.fieldname + '_tab' else: d.fieldname = d.fieldtype.lower().replace(" ","_") + "_" + str(d.idx) else: diff --git a/frappe/custom/doctype/custom_field/custom_field.py b/frappe/custom/doctype/custom_field/custom_field.py index 39aff8b4a7..dc09173595 100644 --- a/frappe/custom/doctype/custom_field/custom_field.py +++ b/frappe/custom/doctype/custom_field/custom_field.py @@ -19,7 +19,7 @@ class CustomField(Document): if not self.fieldname: label = self.label if not label: - if self.fieldtype in ["Section Break", "Column Break"]: + if self.fieldtype in ["Section Break", "Column Break", "Tab Break"]: label = self.fieldtype + "_" + str(self.idx) else: frappe.throw(_("Label is mandatory")) From ea3ca571ad768e0d6e1b368b6ffdfe21d76bb75a Mon Sep 17 00:00:00 2001 From: prssanna Date: Sat, 8 May 2021 18:00:30 +0530 Subject: [PATCH 0024/1383] fix: add Tab Break to no value fields --- frappe/custom/doctype/property_setter/property_setter.py | 2 +- frappe/model/__init__.py | 2 ++ .../page/print_format_builder/print_format_builder.js | 6 +++--- .../print_format_builder/print_format_builder_sidebar.html | 2 +- frappe/public/js/frappe/form/toolbar.js | 2 +- frappe/public/js/frappe/model/model.js | 4 ++-- 6 files changed, 10 insertions(+), 8 deletions(-) diff --git a/frappe/custom/doctype/property_setter/property_setter.py b/frappe/custom/doctype/property_setter/property_setter.py index 56e5829271..f7e8650489 100644 --- a/frappe/custom/doctype/property_setter/property_setter.py +++ b/frappe/custom/doctype/property_setter/property_setter.py @@ -35,7 +35,7 @@ class PropertySetter(Document): fields=['fieldname', 'label', 'fieldtype'], filters={ 'parent': dt, - 'fieldtype': ['not in', ('Section Break', 'Column Break', 'HTML', 'Read Only', 'Fold') + frappe.model.table_fields], + 'fieldtype': ['not in', ('Section Break', 'Column Break', 'Tab Break', 'HTML', 'Read Only', 'Fold') + frappe.model.table_fields], 'fieldname': ['!=', ''] }, order_by='label asc', diff --git a/frappe/model/__init__.py b/frappe/model/__init__.py index 205b451336..356275e7b8 100644 --- a/frappe/model/__init__.py +++ b/frappe/model/__init__.py @@ -41,6 +41,7 @@ data_fieldtypes = ( no_value_fields = ( 'Section Break', 'Column Break', + 'Tab Break', 'HTML', 'Table', 'Table MultiSelect', @@ -53,6 +54,7 @@ no_value_fields = ( display_fieldtypes = ( 'Section Break', 'Column Break', + 'Tab Break', 'HTML', 'Button', 'Image', diff --git a/frappe/printing/page/print_format_builder/print_format_builder.js b/frappe/printing/page/print_format_builder/print_format_builder.js index ca2a8bc378..51cac66026 100644 --- a/frappe/printing/page/print_format_builder/print_format_builder.js +++ b/frappe/printing/page/print_format_builder/print_format_builder.js @@ -261,7 +261,7 @@ frappe.PrintFormatBuilder = class PrintFormatBuilder { } else if(f.fieldtype==="Column Break") { set_column(); - } else if(!in_list(["Section Break", "Column Break", "Fold"], f.fieldtype) + } else if(!in_list(["Section Break", "Column Break", "Tab Break", "Fold"], f.fieldtype) && f.label) { if(!column) set_column(); @@ -298,7 +298,7 @@ frappe.PrintFormatBuilder = class PrintFormatBuilder { init_visible_columns(f) { f.visible_columns = [] $.each(frappe.get_meta(f.options).fields, function(i, _f) { - if(!in_list(["Section Break", "Column Break"], _f.fieldtype) && + if(!in_list(["Section Break", "Column Break", "Tab Break"], _f.fieldtype) && !_f.print_hide && f.label) { // column names set as fieldname|width @@ -606,7 +606,7 @@ frappe.PrintFormatBuilder = class PrintFormatBuilder { // add remaining fields $.each(doc_fields, function(j, f) { if (f && !in_list(column_names, f.fieldname) - && !in_list(["Section Break", "Column Break"], f.fieldtype) && f.label) { + && !in_list(["Section Break", "Column Break", "Tab Break"], f.fieldtype) && f.label) { fields.push(f); } }) diff --git a/frappe/printing/page/print_format_builder/print_format_builder_sidebar.html b/frappe/printing/page/print_format_builder/print_format_builder_sidebar.html index 1ebb87ac31..c608eecbbd 100644 --- a/frappe/printing/page/print_format_builder/print_format_builder_sidebar.html +++ b/frappe/printing/page/print_format_builder/print_format_builder_sidebar.html @@ -4,7 +4,7 @@
+
diff --git a/frappe/utils/image.py b/frappe/utils/image.py index 556c5e4a32..88d885e442 100644 --- a/frappe/utils/image.py +++ b/frappe/utils/image.py @@ -40,6 +40,9 @@ def strip_exif_data(content, content_type): return content def optimize_image(content, content_type, max_width=1920, max_height=1080, optimize=True, quality=85): + if content_type == 'image/svg+xml': + return content + image = Image.open(io.BytesIO(content)) image_format = content_type.split('/')[1] size = max_width, max_height @@ -48,5 +51,5 @@ def optimize_image(content, content_type, max_width=1920, max_height=1080, optim output = io.BytesIO() image.save(output, format=image_format, optimize=optimize, quality=quality, save_all=True if image_format=='gif' else None) - content = output.getvalue() - return content \ No newline at end of file + optimized_content = output.getvalue() + return optimized_content if len(optimized_content) < len(content) else content \ No newline at end of file From 14fac949afefdd5f75cd114364f31854ec66c400 Mon Sep 17 00:00:00 2001 From: MitulDavid Date: Fri, 6 Aug 2021 18:43:14 +0530 Subject: [PATCH 0199/1383] test: Add test for optimize_image utility --- .../data/sample_image_for_optimization.jpg | Bin 0 -> 912896 bytes frappe/tests/test_utils.py | 18 ++++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 frappe/tests/data/sample_image_for_optimization.jpg diff --git a/frappe/tests/data/sample_image_for_optimization.jpg b/frappe/tests/data/sample_image_for_optimization.jpg new file mode 100644 index 0000000000000000000000000000000000000000..989eb4fa516cb3edb4894dfd5af0c9a6a44f9023 GIT binary patch literal 912896 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�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

yqj#Zx{lQimkFnkfslD(ysmwUhaK;4ZusW41gg zNN@@Ys%WNlMZr~RY$z%U{bu?V5)#D1q&%emyvhkDpPGaOkUl|=Z}FIEm28wjtVkyp zR3>Y0vHj=UV{AIq!y7Jz`v9Jc<1YTdK7}BFA6{4TM{Db;5d@j9Wp7iEC_&ZHHV|sj zI*3klL3xdSZ|6dn>~ji!9g7#V>aCSedCA!~w3Uhh)dJ*xJ@0)BCse4*UB4bBplouG zU&1#cXWF3t@Vz~X3E5YcX;Iw4)gBDl(-Eoi?;e^Ej9oAK4r4w| zXfvk6TW@47c^$fwVP8hi;)#D|y{N=NC}H{Gje6SrM`10@y9V9@_Q{$!f0?2sKepeK zozMt<7YGRYt(u*&mIDT~ERJKGtnd8t+AuaDB*Sqim54x<3X|2wMzGabUOWMnHRO&Io~M&j*nQ4xz+b$12yeh z#TfEiBo7alDpWZ)#Ygmo-uk9tfId(q!ry1QW~$!!ka)pIf+TXLCi%flLY-5to5tFA zzQE$?%onZ5EnVV$_1K!zHoXRV1Q+bTGwg^wyffQ-Jgc?mkV4~Ed~{>PG<0dzB87U1 zfbG?Iokkv;y$(7FQLAPh3=(HHt0!pFkk?=PNNK&h z`n;&2s+h8CKF?Iht8CDu`)NUiqn19tIS|eQJe*5gXq!d9I?r_V%7dQSPBih?Z78LCjW4=0R-sEBQq9 z^x(ucxFBFB84e=4kFa1{QAM8tB58-%+m=Y%d zCm-a5*j45hcyi7r^VCvjeidAUheFcNp!TLhY0q8>6HWe@CGhCJy7^N+s6Ua(m?`q zI)Rmgl9J@oTX+l?_e@*wI%Mvu)+GFL#U?=p)SR5^_xJPbLfvAp!v}%Sw*$j`6~zw9 zO3AEt{RKoBVZnO6Ny&T2^AOwExqj$w$AwO&q%200 z=6WX@pN7N8t&b6{;2dumLO!s!l~4Ui<%gYzmG6s1=v7yL8;XG+qEcNuY7hyKwBAVz zk!Q30E8g#(fhFpDB}2HN-YiQ!Vp};NXBSSi_yEPnlIV9BH5c4^_rA=(0`>BLIn06r%5d3CqZpaQgs@#G5Ki@*K46!Hszy7IcInIJzMUp|s^3iy z7mpbAh{%D`X-D{le9JvRg0v4g6Jo9q3sf#|x-UC<3+eH4Sjm9uRaZa(3-ZEVR$EL9EFtz!!R zo$-rRL2)g)wMfC7;?z**=;SM{L$%m=z|wniv+_DNeuI;H$q^G90I z(ZD$ncp{A>ww4CL!Wq~Atxp;EkDWRMk9{plSbjy~zG-dA$Hm*g@=S?4j*B_nOHekp zVniC|l{hxje`BDk7owlJ4q)@M|DB;Utcy-{dVu>#Eq>`*d2X%5VzQ0z?DKMV_8QfQ z%InA%zmLV#&&s|O&d(&qyoTwrNbLo77wFH_?LJk}S)!gfRiau(96!KA^$2)q!RBB2 zi*mI+eqTI(I8G+z&qoMuj_T2kcdGFfCZhYDPEcuM@h{*TJel6oD}!gD<2^8K>x9#A za1jrTLcBq%QxfS8IX&J;ygfnb;&|afVWDa@(&#;TeDp051nqk=Xrxc35Qq-Z{^@jQ z>!HKzweB?oDq$Vm?c5a@htC=kjn5m{PERe#lQ)B8w?B}0!QN4{OTJU7)LNbFDJTcO zXC{KisJaZQA%_&iyHl5M&)H*OaP=6hDP)GqEcLq|&h3nD%3rS%tq-RZT6odJ{BUD- z-}BWI*rDEw@Z(u?hd+peGg8SCN$vY}=gb$*L1h_>R$AgNUWcBJoNn8E%=14j_lX|; z^6ajm#;N<%)apPBBe?xu2+WH?pnEun2k=+)JfztBEwiF?_$wkf+yR!% z_b%(=K80PGVtYc%rIf})r*p~@TlC#*1)A<9zB-xX959Hy5K@*JwUX4S6$SA4s_hvZ zY!auDTbHj1pk)%Y8uTy`9Quy8pNX&S1r_?`|EY7tYeKRzLwJJ%Hk{xj)W^@lSa)5k z4}8tC59GH*=)w%a;pYn4$_Fe_jw-;0lhBPt+YexCzcF!6l?Tcl_#cSxR%yLguZ;0g zL+g#KOuyAW2VMLpKEuzjd+W2q>oxVB-Wsn&RCoe8<@*)vvsnpUuwwv>+FHF<1V%bk z&CF2vD=HgBqz&jwqAiilqf&|EF`%mag6HptN1`fqs&+*$jKlNB3s;H3IcW&H161(l zvxmzo^=r*UmF&#sXfz$MSf*YBKSffkjeid$3DYSIiZ90J{{DzREt+JZ8X7vi(?J#@ z%0+UwG>z?r#eJ69LyI)GOXDHps#MwZjO{mMtsL&1Hj&Aj`MnUq$tvIQqpZ4WM%NZp zcsQp#+g|bU7t8Ev-r1c&CV6vxi0qq4svucAQlm-3lIN(i=Z&}E(PYg5XJ1AM+3_LX z3w5){&#sQOZq2bw`{Z(1EW>k7uF2w)=&kWVwarhqm-)K+d4}3h9#2`)hpXA0*?>=}9?cC;gPI-`4WZtaU_(`w7N{!qE~eo~XL5MO|W z_!=?R5#CG4Pk1J#{1O-v!E|JV5lk=GeDKCoXn~bs)&2L!KX04X>nuh&YtC<+*Y-@& z|CuTT-3y79ZX5BGh+lnXiI6Gh^so=m$L7fZUXCxqdt3zrjOvj2#l!X*&j|TfLt*(% zqntW&NaC(R6kkxO1U=Sry0xwm<1+=OH(Zzh%co-rd~s>#p*T`pA2>Iu#P3=K5zdZ$ z&(unj#HYjAIhQ$&dL<6UWqN3*%OiE)OTmnI_Q>uM9AhVePbSdm@+sAMVE>@VD19zT zu?4gpy4)Jz4n7&YetQE9?{mxxC_rSW5LG7j;?-uGe`TQi#i6Q5bnOXEHA+ns=oR-= zu(KY1$sm?o4+Ksw9+Wx}u(>zka~#Ni7O`^JwCfm zjJv(QoAi5#Q(r`07PxJ})l+t+MdGS1@ll_t%iRT^ve^8|6%8Sx3NedK5k(0QMEm4= zzFNL~eWi{E^J(6ki`qLnPVBIM=eGCSZWA5!KI~^(sYK{T$UK3YiN+C4PUkHCko94i z0v-=Hn;3hu(auqtQ>Ei`G9QBA;=^IBbH>c#@tOXquS&rVL-v!yM?%25#MnxH&f z!che?05u}Z#DWnc%S$SEobi^j(Q{?ot+()@yPR7Ws<&;LD*KC`=TuOlXeQOY7 zu8(XOSf=|i0wz*+Fy%(-FCs8;Zr!!4N%bkWp%dw1Ot04OvGA=EBti?Szzm^8#A)Z) z@|y4YSyfU)CQO`X zT_lv8Lg;mG!o=&>+K<3>va;`WGD7M>e1FURyU;{Nq|j*d$t4;Fq(~~|QOR_&0= zVu`wUTB)SrP7pC*Gg$hh1aiKymDsJ`Tx}PX<_aLaR(Erm6Sr@A9UOsm0Wl4-^Sq>- z5Sd4H>_8cd(Of}U;!OZ%vVhTNa=tY6x$gLmy^g`vJur>TCK6)mlh)WbSS*tXqy3CM zOgkaAkmFB)3m>c~Y@E^yhdB-(IVJKJS%rYvK*%EyOSPZ5jSjE$)QPoW}4=xODzi2E-*3)w8 z&f!jTl6FNAjanNMQ5G3Zczp>Jr8UDt`3#n5piqYn3}cLad~Mm5Mf7w#)Pw7;CtYFk zIQ{s=v2BAZi89S`&dLUowXeCASB7WH!HoL_DUYQ+aAmJbgGRYjy-#ux-uc#t9RXL^ z8RZ%CdA8hi3z!7^@HU)Fn)MP(ZN76avs6x&gY8$BPszw>d21KUzCzfT6@>ySWNLpV z6!1|s$F?) z@z}GvMT7K8nN_=R_um%6^U03}ToXW{W$f|2@qQX<J$?9aZ+H`S?W?h0pf>jLeoCLE^N(1^e5Nn{fDGI_8;S$4_LdHedU)HTcS6PMwMA{h9BLRqE)%{Z^t?4&pm zk>hQ%t8_m7u8G+cV>1g`wZAE(x zudWP*^5(2F;X_nAYG#Pv-kh9_y{!{FwOoqdWTfq_Z`F5q@#|x~#yBn{Jcl!B1j~}w zcdWalbfhzOAcT%VJqAuoBpN+B4<=mjjEcCc(29|MI%2rcGv$8#6UnM&#!tkJkv0Ow zVj6m-BK_rb%k;Zo?Q!LHLa} zfwxXR+h?JV=9>TCmzQ+JypB~WHkqLOeh0xr!pU|s4o%r6S$TR|hhafJHk*Wi1(;+P zw;Z5DZEej76kBPSI^UFa0Vk+}ighY@^**u^bQuI0R;$j~di7{1$wpg3(+EFivJzhW z;h2WK`vZk7iHR>N8JlGj=*&viHa{JA$c$50T=X?r-ACb~#FC)3M~f;6?$xaq#4MsA zzvGk`z!CAIWcaEy*WRnvUW|HJ37n;j*U5&B-M$gBrV!)MV2m1r-~%f`jw|aA8z|Jb zs_a};4Yq@Pw=L~E1M5|Vr>3$!!69x|DzQ&Oo{93B&#Wi=(|H*u^Ov&35ROn4;eP!Y z@5}gRv9NnxnuhpLSaabXnMbIE$%LJedIH^ zkZ`+lJe|0#i{(A|?X;FP}IC~C%85b*=5t;x+g1IYJX{$Fy#eG-=)msgs1BRxMzk;@j zyDxWtB}h(TvjMllU06CZvnOlPwZm;?LE2MzTMN=EF}&f6Q+kCCLJ%{86~SDu!aXYYvu~z;LbC`&TPP28pEW;4D64cbvWs=t~WVB}DjP%X(2V`~b9C z(^4^%$|pS|_6ZuM%k*^KAJv!a{vzANAX<5^l#l2U2(B^UV z)DrCB31`5e!h$SeZosP*cF&0q61o5FFgb0`*>MWSfGWmnYq0Gcnrn*!TfDp90sD&D zHmb|vwy_S-WUnsUp4gS*>!@)mKE2`@4{Ht#bGv6;46YY1RiPRsRmykfU4ICN~ux^cI!c!o$A z$lqjI=t4=1U^c*fA*W-z@L)2dysxpA`X*{bb{ za>-#tvT=sXLfn3~M2Lr-68{;u?b&HdyS|n9)ymdtrC}Yg2J0JVRT3TUHYpW2rlnZM zwuOqQ`=qNh*Nch22|EG3g-JGsb+TE{jM`)9U? z9cchj(&{|w$0=?2z%SD}4_DFJ{t0gw`$o~1X47dKRDLhma4{L_nl!4s)%>p|pti{* z&l1&~7X<=3eLEL<2g75z8#o>=SG)xKi!}A#kr~cPbga2w-q;<)g~;pm#r0UO_9C+X z*F9<@7Vp2iRy4G@m_G+(npPcbPBHJS)o~lFc*l*u!o_>>frDZRl|=V)dLKNQPf^Y^ zq@jHshGIG0tsGI*W7S&%u>Mi+!{rKGr-~EiC{-hLaN0EG`$(Q+~kZlEJTQ{C8|PXM{^7B=pd{qcl%jOmDVchsQ`C!3rP$ zELJ$!E59+G{q-kcdD8s%yK?q@I0tIlMG1wDX6z`Y=fH7do8=>NS&`3FLdx)B5cIVM z(Rb+JLuL$*T@h9}R8r`iP*hS8-<}exHWmkOy0h}B+Ktay}9zZ z@;vgR)d2{Cg-2kJd+T_^6}S%ik1q9=vtEsuZLo`^x?Hs5WAwDPsl0FP7n)zoZ#pl;O zs+Gw5cLswin+7DC7e#qa(l&;9Ms6LO#s5lOl}_pO-3FdP{nukA#q+LOgAQPd z8&qv$r*nFM%k&jGsO7ny{+RH?QEJY?TUwlqj90;_x@`^TpJz=T=^&n`)>|hkxx9xL z;V#=3KaHhqQ8Rit+!7(ct$MEOEbz?PGUN_X7 zLjcfC3KfBx{CCD;RIM$O9WvW76&H9BMNn$m;=$58;S~Pqm~RmINtEuI!IE@xm-f_E z6dGme=>>Dndd#$vZs#$u3(#G4IpPadUIz9I!^bVV&#+e>LPf|FExbaJrsAv#@# zPDf^Nx!Q)96QLE2S13Z#l2B7A>b? z+V_v}9{H!;NS(*FXxYw{p)-0bURS&~B$1E@Nla0ebdg8q@X z^SYLSh@Q@F-v}#d7ZSrYJ$GxH=ITJ>tg!kJt6DdTPE4M1x1NTTstQNq8h_vpel~V$ zURy&5yHP=e7^VKhZCyWaH!{1Hcof_a4#AW3#l0W6>#(xg)r)YDhSC31+ujx@ zNIrprK%7)?#wpLo;=Z_XO8wz*C97@E+qukyVzkQrqlvEj0wvQ{E^geinN7rTwya!R z1d%LHKRzO`1qcqJV@&Y8eRD!LUEe1>kAex3#P-SX>G(hUg;p5AKjc<`sZIaQSS3seR zzbwEJ&_lHufOi4-fEfO&16b+$P|R`AnX_kS8pjLS*NTaJ)LidX${9rBo%j`N>uu)6 z+KQquk~`=|e7sztwBFZZW!=(yrqj^K*s0AN6fw$_IS^e6^V_9ihLd>Ss3R&hlG5)V zo#yQ8^^LQ3sI}r_r|s#?UI7#N96oqs&Mu(7f0vsULCbGt$gqpFZ|_@T>zAV_ zNCLq}BlN?PJa06OkIq1WxlFQAZ6=fN8niWfJC|3QeWyIE1K$x+Jy!S&cxg9YdOTn4 zhX3l`=5pJVsh0$r%)`tqnfn=t@r#~U=<-2|o8zz5)^=n!7fW&CBNQ3ysHIhlbl(ny zMp~G2vqz0j%}LG8snw@}RYd4#XiCC9poVCAv$lS<*^`Zk)OjUI8yLI?8Of?!DJX6AS`cl{6JWtRS`Bz;$xyrlok^q^=QyN;TQ&c!3Yf6cP0Zy z^S!nVEYmZ&g*0giIzjNO-nh~%CfsEexzJTY!z_ObQwOJeaf%xUm+$klv*#DdO7N&@ zM*SC&$^yvrHmpVxx-dvF?!)Qi_t&kW{Z`TXb4)$X>4-6QBYomG4lVAq#@iev0&n{(t6c}cd*dtEstTyCN%J_oE|EUs)FMtEVAif2wCI{m7?N=j2y@~pAd=R z*oymjyIcs-^VgC0d3b_|x^My)4~|;$5~hdu8^%sZ6+P1=(F1uH=EKBmNT%2FGHm=` z?cz9}Wx{UE^Bj)sKkD~$smk@W-koqz(l($(BpkY$nWAGt=aVzqGDLIDr5GldHoLQj z^-m~n?yq>iu)@zUmdO!0W3ww-hgPHyQkSQJ;qSW@+z^BTTIwDXs*pW0wp#O|^;>49NeJi^Y?h%VQ6VS(EsICc|< zeh)YNJL7=}>AGz-nDG}SBl9xu=aqWSRoidayf8S!d9i<&QN9dqo{q=ypSPXBOPKf> ze+UhQa^{?y6=R5%9iZq-h9+5#ar!c1cc^u*ww>HJv}K8HiC5Tp9{wq`#*bqA*!3WL zlT9g&)BD8lC-PH7r#wqf2L(Zczm@D@30%x4C)}HqjAM0+$QjVuI{Z?3_n;cpQ}(mo z4Ec)X_vT9WFkU$s9KT)b3@=e-MmEXN)+a|nUJiIXkhz(1yK}P2fVk0Tx?G~NS-Ii( z4jw>|koH=XGsV+&h}x}dSrQx4_MaY+F%eXZc9b9KV(Po|%byFU{&5K*JEi~lR&Ao_ zdxS>owq~pY;?uYUoFyt>TXRiOV6wbm>s_&NlYds}nnZ0m05AJ+F?>9wqAf&jG_gio zcozr3mubliOj$3(s_$7DDzR8!+;0=#b^`A z!}(>A9DBmd)S$7??{p9I!g-i{VVxkF+vYO=I?z3*1|?e7HZiNEGh&%lz7E8ov>)!; zQoNaE^z})JILJPVdW#IssT_ILc+Q7KYtCu)C&*adQx?WOgvYr$N%nwwKUFQp->=hm zqXtoQA)T6~u>AKhPeTSYx5D$67}^Ms5uTU^v=_SmdTor=a=)y)+qYzU`$b5)|rUYr6-(v#>3w#wTAs8cH>u#<2{8aT6uv=b53nXYyjV9k%-?%x7SahwMyMt1h50V zX&#&Ff+^G)G-&#j^G0{i+!+;IVlb=%M4XPkj=sTFMFy~sAR6m2`AnH7 zx)=JeAn+vbu>E3@TX1Vh0khvBt;!WO!F?9c5eXg3v{J=8>8+yFJ`+J{?&wrJly=$i7gfC%XaO2EH3W@{C4;*d2C}Yk5`d(d8SAUFrBS7sBPG3Z}=bbKW*G#QqA+NM#}r16i0j-@1BiAt2)IOMu# z{zPRFL|Qg0laiGb3z(efpw@Rn&#e`$Nu^{IZpDrCVaZgw{CyOwm3xlV-jnb1TcNn( zgL%TnOvArjyj;^bvSS>(U|g_hJdH~0f3h?B;U$W`4nlPw%fav=oZXc+jxkH4UZ#Mo z;*h&wY&K`Lc+JcPGqz6c@h-;565Cyk@ypj|#k`1<4RkQ9@IWsBQ0}NxN3MNe)agqw zGaMG%5XvX#&0QkYl{>rE&A-FT=c7RcIUU|J>?mI@hB5bj-p3Nr0WdY|gj#eT))q0I zomyZb<>RcH`Z7gF^5%#97JY1&8d!X~=gY;+uNe0E@9und^No{b%hwwy+0=6w!i=JAZ3W8miUC~b*&C9na5)iYT!VTIM4C^Yl5a`nWbdI(A=nG!(7rz z#;T7C(lOCvxq6GzX`XI-7{18Zf6%uotVTKC2r!&kz|*AC={`U!>7B8mHaUC1LO>RApeqOM zJQ(@AZ^$kIR6c3+bAX40mlIN-JNiQVaZnJ92c#Z4d!|K_TfK6i*Dlm~(k5J_AZCm%K<=xc9e`i2*Vq0=FjQvLV zUo*UP_NPAJ)i(Q$FAPThsXcqp!#~?)_;lO|JIr*90u5o=9AsM@5d~!OTrN2nTy>-v z>g*{!n}(maHgZ_R2tT@@m4nZ*-e+giuvCCCO_3=~QFYF>(wPxr=#n@MbX5L*vb z5b0Ws(9_BWt#FSqJd|>D?9gAW{80W4(l2v#RKYz9dXds%N)ewf@Z=2$x3+YgM#vYY}km2h3GJf&bPB zo0u&DS)gkjjwGfjGc!{U;*;YjDdA<#lt&^0g8#cYRX>hd{Nh_rd?yW6#1b3{t$IisC*=2?gp#mP|@hA#& zB?|QwT;deHr;@0v<5Ihlb$_~kEfIYADHjEF|AwOJCnx@F!m!6FL}*Jo-EZC%ulFgN zUS>q~cHR06uiNqbIHtU8@6!?utQBF|k&wzN(xR*I60VEg9JTfw_%Miy@H@PSb(BVj z=Asp0^WDyf-8}+tK`y#9TQqcXoNq~b8X`10>|@ToU9emb8zYCZSJwhXm3&(vvh!jd z$D+HQqMP5iMboVppHRd_NCuqAEk7*X@FexxyH(Ydy8>@}TX7Y*CqBCe96JUFl&a<$ zE;o33FptgO*=!iJVBMno*5^Qu@}W!`xupXLazqjln6@vI_C7IhjF`Scv` ztuqI>jks-e44HfwRF?&sgh}56mLBE;S;KOdssGenT+QsDXTtsARvn; zwp@zG4MEZbrg&tnB3H07SGNs@(BV+!_YZi#OtX@p%`2qyRL+Ol$ zO(CgLnHfQ-Lbs-cxZe4hFH69y>^+kW?|TvZ6@Ol{4x-N$czVj+#_*RD{VmVNZdo2E+?IFw1 zXFkn`mTp(g*GAeNmMo$=?=k>YzV1Yrf0hOLoN(_=UxUe{o^+aX;EnObx$V12fM z`_Js?wx9UiadkKJwBccc{PFY0q}@UN3y7LhGL5F|Dj=9Hw|9q{8wAWC)K?2HG+z}x zrzC6IwTMp|8^qJEbRA;pN~;+1>=hhX&;+K3zB!)a4qOQSeJQ42g2^0207^bysYPPH zV#`0rzYjDPiMy9)3k)mCVQ>cyS4M_@hQ|T9LV!9PfYi*HhprcO6$=&?;9@_GFMnK_9W$H*krTv^Re|DM+d{|4Kt$Bca=w3 zr|j8$9&8QnOgHM>zIG@*tw@VRtn3RRMTRhQ59bUPk}tA-VwU?2?J*b*%9}YUUc34O z{&eHWasDGl`Ob${w_x`i2ECzdx7OulEl`#-E;?VhDmE^0 zOy7qhK;Lz_r!FDJAW`SaCMv!+U0Y$>MOCSR9`@JFpMRKa-~3|j%b%(2A^gWsIpU9*P`Uuc0u zM^wWa1_`fQ@dWU0x<9#jdcyus35s7DlF*F|Aj?qOANr&pB<}$&p&-fjt3j#GLEBTu zyYW&h#|wP6Ugw*UJ_(v+eyL%d@Z()qj~+K>Y|K<_d3~#msIA!(C%PX^#ml`8_oKZS zR7uBzJVWAhTe;Z1=buh$i`ZnFvWIC!bzaE__1k`ErbR&_w9zX*!YnMJ{~f|MVbFCqg2qqkQ&U%3E~!CSruqf;DScs*Wk%GKVFG? zIk&-C{xT(1y+gYF^BHb|`l znZV6TY;C_~gwI|aRDlyaemMrT&CVXy(`KTh>r_qf$_^pfRbau>y#yFhdX$A1n(?tz z!7;LI_V0J>t(B!_rQ3-|*YuadZA@r84-TjRsOtYo0h0G(+7*vQ&)JggBZAs8;Ap~@ z1TUBt1Oj}6*3@ypP^Xms4EQz5dV=RW z4|G1khFynNs!!LjPs5RGp@A z4;Jh)kg~0IY%6hSeHwwh$Ppkg3R!6MCDR_NZRqsD@%NVg{7%OGfR@BS(-hsBYwzP^ z{VTGTcxRmbVA0}o;ydXV#n92ZJzluuwqbQ|(dn(}F5;)JJRyPj*wI)XUYNAlrX%h4 zO=f)+%coD6q(dO`I&tn%B;a=TaTkoLzVXa|f%Vb<) zYpQ^K;#zi8L{1OIJ`abLnI%UhS_j}>X8yWJxQy?uD-9DA%Xm5Uau#O)t>PpYHxG}j zdjPf$Pe|Z4)zF(OVHnQOPghz~%T;9PNaobKnKlK`N^_c-d+!-I-hQ%7{4mG3r$ADpF#sTSDva1|_XPs^c?zl@jAF5mjr!o#M zqTrR5M1#W=1wiH{@R3$NNEG_+bc(PWV8B*TaUU24GYJ5^ZD33hc9rQ)8Rr1c09xC0 ztRf^FaqODpU=_=w6xVD6ACw^O_xKN(BJFO<5urQA$)yYmy@pwuP#kJ{-!Ary8r)YO z9*H(mY*+4YePbM+(ESel?#iS?^O=f7!@-}B68`r(kBm<*8UtXD~Kx)xzdGATSZ+`6x-eVTa7A#f^A4tNwWt})m zh$18;B$l4JDUDW-^~hd`>;$itSyU2rDy}`83&}EPv;Yfxo_*JW8w+ z>dm?(>3H)!-o0DzQ ze>tc`H}R-t{`~P>jp3Ta&i6#O_s}qx7cX@*rv-*clzmQ6GUT&nnPTUQcEJgiMY2zII9D%5 zBTMA24QZ(|&98`z>D#qqj@z4adepVdY*0G`Z7>x%p1L)7A?X+lQjl+6XrbHh(0P)L ztfL(<>EyKS=^YCA&+;;gW~c=kSzk zcx}Nj*Nrz`xwe=#O?;xlzjde|i;fK<#8>sgbNvv2^Q9K>w74|_v4hu|oI4|W(VP@Z z!X-FuWaasD>MAg}%St%kSU2Nr5O-U!?3Ynl|-?{3t1r0H~tXBH~7B z=aSHN>8P=DL^Wh~Kw`EvEyq<052wqX=aP=>T9b`&h5u<+W6W|DSVSBuk&UtFZO-Wt zF-`i_npiuZ-tXL;xzlmM#G$}4nyl-Z>^t}0=Pz?SHwg<1lO7mdvTK6|3#t=~M3cK60`+7?*bFt(x~F$VaPF;;&(+cjxo#GWAVysqm1e zRT3*a^9z^4g)m>lGMqZ<@=zkLJ1B&SH`jy&*0GoMeE1(}%z z6ilDfVa2cJET60_m;HB$W~

Rqe$)Zcv(rLtlKKa{#kuMigo`mPMhb0sJ37&gJK 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¬`_x4S}3i(+Pf+|tlWL*(Re>Op>Vpmu`a~) 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 Date: Fri, 6 Aug 2021 12:39:58 +0530 Subject: [PATCH 0200/1383] fix: format string for formating date --- frappe/utils/data.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/utils/data.py b/frappe/utils/data.py index 77096ecea0..f2c553211d 100644 --- a/frappe/utils/data.py +++ b/frappe/utils/data.py @@ -324,7 +324,7 @@ def format_date(string_date=None, format_string=None): date = getdate(string_date) if not format_string: format_string = get_user_date_format() - format_string = format_string.replace("mm", "MM") + format_string = format_string.replace("mm", "MM").replace("Y", "y") try: formatted_date = babel.dates.format_date( date, format_string, From 946243d511a914631037a1688ebd35ee2bfb2113 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 7 Aug 2021 03:31:35 +0530 Subject: [PATCH 0201/1383] style: split qb.table into doctype and table --- frappe/patches/v12_0/set_correct_assign_value_in_docs.py | 2 +- frappe/query_builder/builder.py | 7 ++++--- frappe/tests/test_query_builder.py | 5 +++-- .../website/report/website_analytics/website_analytics.py | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/frappe/patches/v12_0/set_correct_assign_value_in_docs.py b/frappe/patches/v12_0/set_correct_assign_value_in_docs.py index 90766b5f64..79bacef5a2 100644 --- a/frappe/patches/v12_0/set_correct_assign_value_in_docs.py +++ b/frappe/patches/v12_0/set_correct_assign_value_in_docs.py @@ -4,7 +4,7 @@ from frappe.query_builder.functions import GroupConcat, Coalesce def execute(): frappe.reload_doc("desk", "doctype", "todo") - ToDo = frappe.qb.Table("ToDo") + ToDo = frappe.qb.DocType("ToDo") assignees = GroupConcat("owner").distinct().as_("assignees") query = ( diff --git a/frappe/query_builder/builder.py b/frappe/query_builder/builder.py index da1533fb1a..1d9b9f0e40 100644 --- a/frappe/query_builder/builder.py +++ b/frappe/query_builder/builder.py @@ -7,9 +7,10 @@ class Base: terms = terms desc = Order.desc Schema = Schema + Table = Table @staticmethod - def Table(table_name: str, *args, **kwargs) -> Table: + def DocType(table_name: str, *args, **kwargs) -> Table: table_name = get_table_name(table_name) return Table(table_name, *args, **kwargs) @@ -20,7 +21,7 @@ class MariaDB(Base, MySQLQuery): @classmethod def from_(cls, table, *args, **kwargs): if isinstance(table, str): - table = cls.Table(table) + table = cls.DocType(table) return super().from_(table, *args, **kwargs) @@ -50,6 +51,6 @@ class Postgres(Base, PostgreSQLQuery): table = cls.schema_translation[table._table_name] elif isinstance(table, str): - table = cls.Table(table) + table = cls.DocType(table) return super().from_(table, *args, **kwargs) diff --git a/frappe/tests/test_query_builder.py b/frappe/tests/test_query_builder.py index d155dd95db..c5ad457b2a 100644 --- a/frappe/tests/test_query_builder.py +++ b/frappe/tests/test_query_builder.py @@ -38,8 +38,9 @@ class TestCustomFunctionsPostgres(unittest.TestCase): class TestBuilderBase(object): def test_adding_tabs(self): - self.assertEqual("tabNotes", frappe.qb.Table("Notes").get_sql()) - self.assertEqual("__Auth", frappe.qb.Table("__Auth").get_sql()) + self.assertEqual("tabNotes", frappe.qb.DocType("Notes").get_sql()) + self.assertEqual("__Auth", frappe.qb.DocType("__Auth").get_sql()) + self.assertEqual("Notes", frappe.qb.Table("Notes").get_sql()) @run_only_if(db_type_is.MARIADB) diff --git a/frappe/website/report/website_analytics/website_analytics.py b/frappe/website/report/website_analytics/website_analytics.py index 6cc0fb7f97..99fce02f1e 100644 --- a/frappe/website/report/website_analytics/website_analytics.py +++ b/frappe/website/report/website_analytics/website_analytics.py @@ -59,7 +59,7 @@ class WebsiteAnalytics(object): ] def get_data(self): - WebPageView = frappe.qb.Table("Web Page View") + WebPageView = frappe.qb.DocType("Web Page View") count_all = Count("*").as_("count") case = frappe.qb.terms.Case().when(WebPageView.is_unique == "1", "1") count_is_unique = Count(case).as_("unique_count") From 7400d7ca37a6a57ecf9aa6ad725c1c33c04dc8a1 Mon Sep 17 00:00:00 2001 From: Saif Date: Sat, 7 Aug 2021 13:09:28 +0500 Subject: [PATCH 0202/1383] fix: do not reset doc_before_save on db_set --- frappe/model/document.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frappe/model/document.py b/frappe/model/document.py index 7443c92ab4..c2ac4d7404 100644 --- a/frappe/model/document.py +++ b/frappe/model/document.py @@ -1064,7 +1064,10 @@ class Document(BaseDocument): self.set("modified", now()) self.set("modified_by", frappe.session.user) - self.load_doc_before_save() + # load but do not reload doc_before_save because before_change or on_change might expect it + if not self.get_doc_before_save(): + self.load_doc_before_save() + # to trigger notification on value change self.run_method('before_change') From cd3fb58fc698b0f05b1f0115e65541e82e1506b7 Mon Sep 17 00:00:00 2001 From: MitulDavid Date: Sun, 8 Aug 2021 17:46:09 +0530 Subject: [PATCH 0203/1383] refactor: Image optimization checkbox --- frappe/public/js/frappe/file_uploader/FilePreview.vue | 5 +++-- frappe/public/js/frappe/file_uploader/FileUploader.vue | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/frappe/public/js/frappe/file_uploader/FilePreview.vue b/frappe/public/js/frappe/file_uploader/FilePreview.vue index 73adeb6fbb..892ebcaefa 100644 --- a/frappe/public/js/frappe/file_uploader/FilePreview.vue +++ b/frappe/public/js/frappe/file_uploader/FilePreview.vue @@ -28,7 +28,7 @@ {{ file.file_obj.size | file_size }}

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⋙V0FmJ7PC42{*%ZyjX@wM2R9PPN`xi)fBg&` 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

- +
Date: Sun, 8 Aug 2021 18:09:58 +0530 Subject: [PATCH 0204/1383] test: Add test for image cropping and optimization UI --- cypress/fixtures/sample_image.jpg | Bin 0 -> 249403 bytes cypress/integration/file_uploader.js | 20 ++++++++++++++++++ .../data/sample_image_for_optimization.jpg | Bin 912896 -> 249403 bytes 3 files changed, 20 insertions(+) create mode 100644 cypress/fixtures/sample_image.jpg diff --git a/cypress/fixtures/sample_image.jpg b/cypress/fixtures/sample_image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6322b65e334bf95918a5b534e9b6251b8ca0725c GIT binary patch literal 249403 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�KM!Ixgjo*?|riY4ZJfE}x) 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≫o-b7(QDReAd*kRHe#S<~gDjzp%1M@C9eu2%B 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%0At3NJ3+ivCOI|joQZd}R67(}6K8W&aQ zf=h=4*r{=>M~&4Bc*iD78t7f*5$1si$x4WdLGW*Gtx@3_;d)G^t%Jhoz1b2@w2WNu zedRHA!|IWH-S>KQJF2|uxkrQ^_uWe$hRIeK^rXcF52E*amKj{L$mc?OeO@nkUiZDu z20H~qrCBir@pdjbL0HOjeL0+RiYAWI^Ro<7pDBGOJ3R9!ibF(MDvmO!%(@2LSa9HY z#_zuz4>}W)E_=;s!z&%1peE-GSw;taTPsYAWDAn(R%K66T+`E|ImYdu`lx8KT$$jK z$s06cM)Kaswal{8E>LSCmC9HR^ZFKp1uG^f9

1*agu`l|;~Y!gi50#(Cd&vQ_Qz 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 z

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

    l^DGNka`lb=88wb&9F3iV$PDM59Fgj?$4D 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 literal 0 HcmV?d00001 diff --git a/cypress/integration/file_uploader.js b/cypress/integration/file_uploader.js index 2f457983de..252b768dd7 100644 --- a/cypress/integration/file_uploader.js +++ b/cypress/integration/file_uploader.js @@ -54,4 +54,24 @@ context('FileUploader', () => { .should('have.property', 'file_url', 'https://github.com'); cy.get('.modal:visible').should('not.exist'); }); + + it('should allow cropping and optimization for valid images', () => { + open_upload_dialog(); + + cy.get_open_dialog().find('.file-upload-area').attachFile('sample_image.jpg', { + subjectType: 'drag-n-drop', + }); + + cy.get_open_dialog().find('.file-name').should('contain', 'sample_image.jpg'); + cy.get_open_dialog().find(':nth-child(1) > .file-actions > .file-action-buttons > :nth-child(1)').first().click(); + cy.get_open_dialog().find('.image-cropper-actions > .btn-primary').should('contain', 'Crop'); + cy.get_open_dialog().find('.image-cropper-actions > .btn-primary').click(); + cy.get_open_dialog().find(':nth-child(1) > :nth-child(2) > .optimize-checkbox').first().should('contain', 'Optimize'); + cy.get_open_dialog().find(':nth-child(1) > :nth-child(2) > .optimize-checkbox').first().click(); + + cy.intercept('POST', '/api/method/upload_file').as('upload_file'); + cy.get_open_dialog().find('.btn-modal-primary').click(); + cy.wait('@upload_file').its('response.statusCode').should('eq', 200); + cy.get('.modal:visible').should('not.exist'); + }); }); diff --git a/frappe/tests/data/sample_image_for_optimization.jpg b/frappe/tests/data/sample_image_for_optimization.jpg index 989eb4fa516cb3edb4894dfd5af0c9a6a44f9023..6322b65e334bf95918a5b534e9b6251b8ca0725c 100644 GIT binary patch literal 249403 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�KM!Ixgjo*?|riY4ZJfE}x) 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≫o-b7(QDReAd*kRHe#S<~gDjzp%1M@C9eu2%B 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%0At3NJ3+ivCOI|joQZd}R67(}6K8W&aQ zf=h=4*r{=>M~&4Bc*iD78t7f*5$1si$x4WdLGW*Gtx@3_;d)G^t%Jhoz1b2@w2WNu zedRHA!|IWH-S>KQJF2|uxkrQ^_uWe$hRIeK^rXcF52E*amKj{L$mc?OeO@nkUiZDu z20H~qrCBir@pdjbL0HOjeL0+RiYAWI^Ro<7pDBGOJ3R9!ibF(MDvmO!%(@2LSa9HY z#_zuz4>}W)E_=;s!z&%1peE-GSw;taTPsYAWDAn(R%K66T+`E|ImYdu`lx8KT$$jK z$s06cM)Kaswal{8E>LSCmC9HR^ZFKp1uG^f9

    1*agu`l|;~Y!gi50#(Cd&vQ_Qz z^8Mj>$p-?*;q-jqmPfeYnB%#@bG=a;hs(y~s7CO!1U`YH5~=h~u45lKK8w8T1z^St z823lFq5HxRec<>3tmB$hQ#K^NE@uN&6O3oKyP3zRp=lj8I55NWmj4OB^CCz89Qj zjgeprp&RS#bY!o4zA@!sSqMBG?*=|IydX5r^S$?k(GQ#!sYvne&Dqd%K z!FRpzo8d6l38bXwhvi)W{qK9h;3H5={Zh6ZReoFxPCT4lV&0Al4LXFTw7l5U4bL?O zl$;!K)FmsTY;)8bRpv|b-&kpoJcD;#tJNC>$`?i4u;U2F$6wQPO!hq{`=6d>bBJG) zF0*DUTFp6&I9xN{RBGpn;Yp<{;paaokDRPWHymSw7gaqnB{D(i*@2dJ8d0ZMF}UA* z>07)(q+AlI(>z$eciecDx5U%;-SFHW$YM-CcfIeNBQLF;QO^s$_eBqORwZIIqeL!q zoNHs0BlDVrdJ%i0_qiUeBkq<6UEW>$(2v~bJ>vOW+)9-xk7FD1-B@wNV+#uRaX7^p z?x)goLrgb1RT@%ga)W4ES47y#6d6|LYue#hdC)9-cU`VWode33J=ox2)8n;Qu|XF%Y<9W>BYEt7G-l`Te>PDtKc^=()HeJ!5$XIkNFoiH)psL!#sK zpy+7^nPNwxz2K!!aRz^QN6*@#L=U|4l-aT*pPcBrqF|Ag5V_v_!gP$hw(#)>q7R0u zCI{kGnm>DjGoc|=Q1x7JJkz=E_uU_xE2!Ej^O~oZ(>fD9!1JXC(dLU)YLyYpYkpg6 z4K$2fV_%BSIQ;WdX-ToB8J%j4Cp9%e)EzUS>|@lKSY|uYMt?)2LkrXZMp=#>L z0@UOjAp5-Nk7a6;qEMh*34-vC%8WFUUWg;AnJnnE(@ddW%!d6h#)k5=!9%po<-9ah+_!H;R~H+ucOK*-CXqU zZ-OxRM00`XG3KAL)u}!$kF*V-w9^t|`!4u!G{f_SW2L4F3^O)X+B#}tgQyB`MA*hC zI47Ah{CgyBD5yd6w?Gtzo7Uk5AAO1I?K8RlE(8MGsmb~MJ5conL zdWIbtW1YCDb$eDYi~}Sd2R%Qo@=l?#6&|J~k*~W&S*D@J7Ip66X@_R&+e*vNFwE0j zX&ITPouBEw7i1W5wZ>q)t`*7*g5*o0>0WX5?pwQVm4^(xcI$pgj5j(#FRA#Na@D(M zD1*|M9H{ClTR1kedXxej@Z^AgHG5AETFNOHV?voAjEYe22q%*#SPD-WXhtH%^isJT zF@u61Eav!XFMGl=$x9Jz0Q?^IW^;6OJP`aZ8u-GkoFW&!(R6Fr4pxalo(RRkbU{&G zJ3c2?q(^X}d!~dzV1mY^(-IusmKbkA!uih^$?A&NDe5`-%2dPhE&l*$DmcdcV`g72 zCK_&UuJnw&<4nxe{*afNpzQTd==&7Y&8;%M{cyM(WD_IYw_4+muJZNSbu2h(F~qL> zc{jNU`u2W0n}l5wQ!`AC*ES6wp1Z^n$ri-cITB)J4=iLJ^&BotIIpKo(LqXHAjA%6 z<6ou`)?{8R4vt*?3u6fSD>1$phobjIW}}HUlrM08n5%D(C+AJ~N7*EGV<-&pMd6RG z4UO+D<{C1DA^Y7C&_iWSXD{l*O5i)wJ=WMnVEOqAon6f523SSlm&uyN6`ont6XgmN z!!kaAvy~ciW-+xdMW>iJ3OU5TIUZ4d??>eEn9~g9!>*4f_&(tM zz!n*Tg^Ft2v!(2XXP*qn`U=ieagCV9*1VUVGjl`}MoiBz%)K2%y7#yLUN zmRY}U2LsH3WP6tFT56itFWwhgvxgGNmp#CFwPhcA&d-95h7>j4L6#=uGHt3DSR2>mpAgEIJC9iZI^NAB=^vxtbZ zm%(?#l)g8`(S*Sd-5iOfLn2=I?{lLV-s5gfz%YInJ<5jX zgla=4Oy=&hpiZb>2mn$W4N{dgUSiVrB7@C^&os=>2GTOa%r`GW zv~;}VjnB1Cg0RmyO=p&Gi-mHdAUPuFx|W=MZI|y0wNZvvS;G9Xj2>Z8cDyLea=S&! z1zX#$tT9Q0yj0gh$Sq;$f@;QdW>DtodGQZe4KY7W9AG8(!~_VDIoR-c=Y%QKoDHYK z?`=lNLw`r^ip?q<&R=>Fjzu9w6+_X#Ffm^EccoB1);0nmP&VHozRd#FBb7ey^50kV-j-^4Y_{!e9 zmz-ep95+bHlo&j>4$*TnOi`cf3;uj^vug~!dE72446m|P)pe{m`rj~Kmr19Nfv&IF zh}&|NwP>FXr>+SF0_?MTG6XghsL;py;GE2$;>gfWH^AVCRm?mDqzKS%Wi|0 z=c@t(8oBQ9et(ppiJ|YjGkhnWajgJ*;S1gvpIc5w zi=!X7F?+t~;X{`Q@1G@zqHX^1#hc-}s3j9o ze({|byeG7xB^g{Z-toQ=xNLorVw{CafG~@qFqEEDo(hIQ^izw1vGg4PIl}C^t2XLc zvXuu^G!B@VC>Y?mQ$kq>s5zG$To+o?j2>N$=(#!P4=qGAY{b)!&owTKvClZl&oJIr z^3?}dc|z;DmKbe4NN5`*XCTOSrMRG3Zf|HRh1OR4%XKYkJhU=Mma>?qz((>0cUPEU zmJAW9z)utHpA?Mx$w3L>w#-r)-pi!b^EsmJppFED&Usy@9)=_DMbm90Fs7ahf)`$< zZIM>c2wgB;T<)2@oILTK=z=FffG7zUec|*b3xfnAT5?0whoR}7==?4d8i%<`i*ax~ zLg2Una5fsck2C6f1wrT2bY7H~DKN_a04->16+)9(vE{{dEI7k5 z9Cmf9G*yangDV`pdfW>X8C~T2y6RS8+4=>cWSzX^?=UCO#eURM~9jghBiqc|+`Aw||i*!?mdiA(|9kR;>NG|!p&y2%U z_(JiPn|vv#A{TwvY04OTV0s}KFDsF^BxO(IJKprOl{z3^&Xc3(yY7r#;m~KtmeUms zVFyMo`@I7sD9P|lT(^aXp656j>a{f81*T`iJnCAK(-O4?nO^0+6Jj2u)*O3qT`JTV zW>;d-vNO#$D@L?Dz~fZsN~1+t2cBhFnD2{qQRh~fQt!H!8g5(_`21nn{f6&#QJN%H zTeJo#XD)`bPL)HPUDI&2E2GYC(RVlaA=W)=g3@D)pKDjly|*FpK{?rV{Cr}t%zz>o zjJIOYq6N{qSg}}v0ucChsMQK>0iN%?=U_EN+e5+hM)5?gwJQle@WtN%N64ET7?SuV z^S<%E50%6Wl{ED8yW)mF8Si(fV+2T*kh#O531Z*_$j?ANLz1uFo;f*_PB#sJZDVsjhM72 zVo%Cq|+~pH|&qrOk%9~KCP;*k3XxjNq9oj(x za-LQRE_fRw?Dn-nW>Q9}V<6URqI_E{DDsMbQW;;781m zs#LRq;e7%n6poyGP^{`co6_=iDh#0OJs~AfakcJS(6&kH4UOa5uH{gm(d5K>Dne?5 zGMsxv%+EO7?^$2=A%~k$XFKNEP@u|>J?INC!)sbMK+Sq~eC@!p6H{DI?R9;Q=^AI1 z`KdysjK(}imCImn5<2njXIO^ht=nZ1s@*h>Z&mnH)iu#VUuwXj-ZRpfrF$LmogBJT z2aS8Z5S=Wj)Iq#m=)31j0k$C29}A~&U7EKM97qwF?{r`sp$eAP;=AtmzVC(MuY|}| zHi+MFUEug5ebEsILpShLt{FZo;(!{Zzev9=P<0hjX;})T2IrdlN=Q^3Wp|f!HI{kC z#j*|GaVR|DRgz-?#t=5eD@))Zws1lpdS|An35}umNA8Qf6p(?S zY$$x;g7&pYxtnNo$cGrqUJ#59|U2?Q*i1CJ4Dl4RhkG8`#ew(8Z?N-Pl4jti+VO z=bSvMmim*JdD+sp&{N}1HkY8U%T(hLWII~mP;DN^c&}AQw%P7A>ur#xzI>21pmFks zw;(r48d~Soyufw!sLNkkCP7qNwaXdz6>7vORLZbGGc9HqDMs~8w+@98G4)Ng7KS6~ zo*3sZFsR6SXMNE~<}9$*{{RfYozRYGN;unixIYWM7gxR}419p_UGInQcdFIKWC)RX zeeZqFh(ZrWd=a)(q$*aPGWc3j?3F7H$S;}|%=6C8QC$-9p+T9Mhex}pH0rxH=*jwn z&W2=r^4&P|MUI!~IT4Bll#}0bV@*?>tLy%FX@}CZeu1%0G9Q|6TMR+V_I;3Q48e2C z15VkGkz|sBnpGU&#JJXpYg26Mww$4Z+)!A3&m4-q*!7cp<%w1$<%F)eOlqrY3lZ^y zd$H@-zYHH!WgFJnJoCMd-LL2K&-P6X{UbEx8NLU8Pt7pe2D88C2ANG( zchsw}dV=qKQ9yduaH`)XNFtJTY->968*o=1nKC1q*0xM;BX-rX``)@`nZMTwrtej- zeQie|zBT^Btyl(V<}!NSkERH6sf-3XS)=I3XcGftA9^8ovl$F-EQg{qgEQTkffQv2 zcyE2vIm6~HVqiob@ZN*IAGl2)tNJV`AjEt$IJl15`w)$lnBi%GqHj4gJFP8f-nRyNcby4a|_ za@A?e7Mt8h3-W<&bW6k{UN8xkc_kAaeC~{&4ecyY%7e(HP4Uu&daHTZT zQl|l?W-TpfxF}QHeKoxtk1*V(pFujFpm{xY{O)na)U*bOo+wak6DnVJp{ATHg6W_h z&NtaK+wwwUgL70HLQf4ec^U5XcQqDQwk-Zf=)0;wqK$O0i>zl4kz-y^h_}e%=ZJLr zG;{rFbX9J%I+j^9t$}bsqRMU>>O3iI!mn*Gc7h7^G3Fa?#-K@z5c_DCUN#sZ2*vh% zauC>Hh0*)7_eiW+H%2cV-U@I_Y;nK7H^bol!A{x~#@jv4kG%JV?uJOlTgw4L@C@&T z-V5Cq4}~R`J2!~I6km%Bnnux^+Mrei8pKKU>IS|Yjd?DECA`zlQKJ?!N$VVUk&)8Uv|T=6#y7bNMs5mL1UW2++UUU8$z3N#yu$_&Vl zIsw$vji)Hh7dcXSkQ}Fd+Gm`gISJQrmHO9p?*s2(TlcuaMwaQ}oR-#^DUlcwX;) zIYKz&aUKXtIf_LONi0Q3cz|YuvA=XNr`mPme6i zsam5ukzFtM6Al(bkYCP*oNYHo=*hy9jDTgE-qtkL0LQQQ!{NsVBe>sh#~x;AjObZu zqpK-v-e77B$#2*mp(IuT&~{nyA+ojX3)C%+y_3htC8t`?;)~tu3(l%-yXu5ine)l-4LmPEM+F1N9cfI!o;rqgf`e32AgZBv}yJ2F= zzcJ~_(v=F5W1C{+T5+Do@*DAahKnD`ug61VtPdo<8w zC)?%l@sBKe{{WDfW^GS)yq#0Ru2*=~HE=ohp0QmakIsyW&UT8wmRsZw*QxD#?qb^< zv}zeV+N@J>)+|rfMOf5i_3p4htjl4N5ZZ8!xnYn%^x*c#c&?*o_|bc|rz_?#jL#3f zS8FuE8G2!!@QnfX3KkgRZx|za&i88!QE= zec{HdwwPeVZ#bM~8;s!)4&Hn{E;N1R?ZncnUSMpinS zUk+xTIzpS#vqRJyT;TQhW2sf{?4Z>70#$mw9%@{bWL#^^ist*WbYvQ>x80%e z3sqcUvSN_~phTVOJ0T~_uuKYVG3_8tr5Oh2cgegSkD-LcE!}m=Pd1p4o6$A|%T7{zPCB~n zv(%cO99S2MqXaB>Hoe?VILa=f(X%7YKDErZ&7yI~r^k}J(cJS=WBFz9@SxTlv2*4cat;hmccrPv81F|Q*}(PMjYDi()YoQvPm11#4H-N;Hq3KDyXZfvX4C4bt@{# z%$BZaG~0OvbdSag=47p#!gz-}nOCt;o8FJJseO45OsvHN;5#*wL}BT=X`UFx!z{MA zw0yA$LKnN>C7i7;I?|uqH{I`j(1X&1M7c-OmJ@s-a6<1p&UJKT5@TA34*&wGDc$tu zto78DHKt^zC{WFguPb2X2c*X~4cxH9%Eyzt)xgutp{m^xFf{Y)Ov`@S2ON4#b2Gf2 z4mBP`m0u3(2VcTB64) z10|l+Mc57%XbiWSYR-+y=&zxLc*mQ50|ZWJMcaK}$=GamIf^lj7I{1y(jiNi< z5}TQlyf*|^MuXSl^beL&=??#p6_@Ur)F1H zR>C|XneTYd6h8BcOOLq8nh_Pi5=GorFto0<>XfUXYi%DPJoOR0iG5m14>`LW+7}Yj zk4=uOTfM~N$Db>`5iK=A)oyFh7HP(uha1>8bFs!ZWLq}mT7Ponw&Gko_~B|Qt>dj9wRg&hxzL_{y0xb9!KelCCwW@omF$u2P|1c7y2W zvyM{~$yy4`JoB3Iy{U7lIP|#c$h+5?q|EbO=*dEp&Z;ww{{UtlX{a%^iFUi3WPc`I zc9Nr-^99Rb9M_$#`8k>9)sVv5CjyGS_k}$&Ntk3zGrH2%uV*m{Tt;D5*y-Ss>1{?; zmb#??E~Xl^;W}NF>;NJX%hDHBo8Nb~gpRm}^aYILta*$U2w;K{bbUJHZ?9u#Dfdkn z$@HFC9fr4cL7eD>9|RL+$zyFq2m>r88NqwSsG3LITUnEMeGt4M@IB~3*Z9E_9L|h9ux7Oz7rWWDl~_Slhu!7$*;%pl;|eUhy>)jF zQdoP#OdF-Q9)Yx-(ez*mrpzCs5Z3b)8{c=K;C(i5M;B~PKXhH^gjWJdwiI>63mR`2 z0rW!fx!{bW9$1^6Tv<{SSq0jv)Gukqx9y;@L925!28ehxs(=~bF2$Q$`l@DQJpjemT{)FV|z00b2!?LpwLodkIv5)(vVc6*g) zDR^i!#fPXM5jxCHivUiZ0k! zIzMy*5ov-X)_i?pW)#8bL}-W3^M(hWS{VDA`x+GFfSH`3Vug|XgMZno%uus1HE363 zjXndHw0(ei=P+aome*EthRk_tU29D|{NE4IQghEbq|Z7A$T-s)vDKS)xf*75M|v+k z4s5w5N-5JP$|<>omK-S>J_*5{`MysKvLj2DFwG&-h|{fYY{p=AGrdqn(HO5x1@Q!~ zN5^a4v#(7nsjf4-TciiB;z!KSNF{&kvCjrGi;Jx1aoZv+5A5i?#i4jE;N$Pnj z#VR9N6Gm8yk2O|TBSJZvYKrePX$j$nD39bDrqooR*1UIYT}zET+|?7%(qqm(o}hFE zj&X*y3!=Nl~bjqxVZ%<%ircftr0wOY+;IU7a}fbk2$@H_7W zut}p`d`yA3f=Owvbqs-8g)t1Jq$euQIYv=Yf4LfQ)wXca)02-rHIXjcNm-{fs zUSfl@G+RQ-4>oYk%8n8zR*4&2 z(i1RM9g-ggvMWm_hq4yc(rY%4Pi4GO4t}+rv-6J&znLneod9mvDvf}^fDSqy8(TMn z!7L@|0xMXGzH^`mN>!lRYvxqOi@xce;r9Dgdcd7pg8*-R;B}7NP=Y4doWU9HfPU`) z-p^`>oQ@<1yl=W8bAkwfN_lK>htpbH6B0%L0GT2hZRt{#5RAE{W{OTc+>ZHsxEg8o zhIi6aQ_eaol5XowNyf8e8-n0mamVHO_Jxz4YKm5g(G~&bnGVZ0&5n81ZBu?dnGmaO z_gJlAYOSs$vIt|Vhf%9TC2g3*UgQjiJVamGJ5gwQzBO+!*B#K6L;=8BGPkCmLhGQa zXaGgSG?Y51C?xQ!D$cKK@`~U~E<>OqmD@4A2tWdfmEIAk3m*(0d*OGk_JafhJc-#^ zgBW?h3ORL{*AQ<`c!nVN-sk|-&1g7~DB3W1v-~3qAG^*4DtSwCCucS`!~~|kR%LdL zB=D&9RrY4m^7Te29zv7ei_S4kSD*BR%;Qu9!SdQvZ3Qozj)JjdadfiQ0k|HWN?8kRrJccIw9OAN+X|UcYf^^a znei01-^`9+np>IfH1u7WJEYhJ&Q5Lm*1Hj9k{tr7vWRrBgtDz$G7ADn-j-hgLQ7)I zgTYxkq~VLg@Fo*T^a-TpARkp5;*__=@A8_WZKRrEp6@;H0H%1|sU=2iVIe`_$I*a7 z4}-)hpB;JueKot+oN4tH6{F^6oP0kg-nL?c z#>zA87Y-jXuIy~le@E-99$%f8-Kg_)(2Li((C0$*Om>?O3+3kPQ%8bON?oPlwWB#@ z^peTZ?iKV9ekib(T12`f{=J8g0*g5AhlN>l2wisE;Jo7rAO{=Ph|ZQo&l7F|qBFke zd%{4;5zs48iZqEoxIUOK2tE(EfeP7#bWg1)8xy3t7pzl{-n0{%qm))z*GtSyIYBt` zeRVH5!|CcvNK4HzL@O%Z)>?zij%1s*)^Iq}^2<(vksf)JO+}&SM;K;SeYxC6S=YCN znY4VaT8^Bw7QiM3wJ2M~B}vc*P$CId*u?t5Q0i>(n?Tj|!~T$^YN-;AVyP&iph(+5_duA&_gph}zr0&B(g5duiL zQjUwfOx}?@4y0{jil8k=N8b0I;b|F|G%;xmjkhKb4KQ5@!`=iaTaj8Zu{}4pv!x={ za9p_DaVx)ERGy-(pfuE+<4#YGtecr}rk_kx8a`TiheC3_^<=3u$ks`_ZKcMVZdFB~ zAC#PJ4OVE0ih~hkyK>4>W^kNX${~PUDF2MH>|x}o)>Va1YJ zWT!(a(lPqdHh+81c`_tObr&EoVwbBoz881|tO>N6Qv_kOMhMRPp7)7wVpDZ_0kM|! z;R&M`dC?cZ7KyeWd@>f`Q(Hm;B$JmViv^CR*RzS{sH!NfFC;YMk>jgQ;#hg6(lsWH zm7HPl9J_v4>P|K>lWyBxd4?U73%_5K9AW4Fh1PJlL*Iy)8v&nmn3i^!Rz^<|6Nx zbp}xkS6i91Yo(HPKg%gSYhZRUBurQMC!kpyK(1IP8J zhybhYJolutZLV%#zHKby9=_%Ik`p?(YzhLiI$LqiXb5YOeXuU-UJ7wUmJ9MrPu8x( zD6kPUzv8vDbi&C2M5iR}W{$Rj99KYCNlxC5;I~*S2-D9_@WbI2ostWz-PxinEvifj z;_tW+CuoT2Zl2C;b*U%0)x97i@Jr)zDC32?LkOLi&@!RFDm>w=Ws26SPmL|>bz+m0 zP>>B6`e~{dG8NluDm2q`yeCA+&oJuOI_Md?lZ}UEYv#{XalOdS7vs`{kz}iG(>(aT zbiAbsX_b~C)U>8m6!e-j>Z6IILle>NsM(!j%!=eRKBJ@P&4|rFi&eujTYTe8F=w{2 zqtZJN2>^;g7^|jAhz=F z+0;(8MBqV!?>Z9FL{;eJjS)692dFIm`=RGs8Iousk7znJ){}+!z8Ii<8Dt=DiC8o8 zbe#snZKIVsX7)`!C&Y(_0SVc>$9x*l=sF&o#b6;jdt@5-ksyx}?%0kzhUQ$diKulPjatPmnDXwll&C!X z-5$|Sr<|fIlP_y6QN|B6$Mie#=ATkfx)x}9gJ9Wu{{XU&JkaDv`_1J^)h%Iuy_{BD zwdN}6=~R=n&6KhiC{8aPOo`0*Gk}%G7^VemXFKjIM_IQnbBSnKhG~Q>(Nmf-yh!JM zSoB3s=HbcB{{T$X58MiJuZe{%SUsLl2r1`LMc|NrmPiRLIRt9gI{vH|0$2(uGE@$l z)f^(PLZwQfhruMKh;0vg>XsJB@oUw4f){z>+hEsJ)P;=wjx-_{ym!6cg#eNe+XU1K z8Q4OtGgAU9Wped->bujg>lG<#j=O~8dd*a1ZaL1WjbOYh%9Z^vl z7G|XJz;iBxu~Z&lapdCYby99@bh#A{w}4wNk(%nya;;uuaW{b;mC?FD`lV`=?Wx`= zYd$Yh>b&b#>&6WDi)6ubtbO-i#Hfb$84kB-qN`aGhcAhiZf0`fB=c3W&{3z61fq+y zu6R{a#Nbgy7E*Fub&Ew|0Wcf^WR#UUY0i{ou4P7NFiKPowC zf+QUwt^uc)CsfhM^HMJR#t)(4Ny|=^sxzkq$kdd2_9%XTxbVY)o<5FZRKHP9QK2W%< zBh1bd$$9zi(UV3QChTXPdI$Em*Y(P{Sy8vl@2GQhzQfE8y1Ig^rJ9a_sG2OTV@J}$ zW3#nQOHDxLYDKIg`FZTZ$|hf;>)iM!A@H&a(h>^Zx+ua6D3S{z(Y@n!9DkqyNGznO z6W(^@ZojLSEi~U3;#0OmTJp!$sjNa8(j_D4x>4pBg^8m^C`z%Lk><1=7lvRt?ve)N zap7n|GPkyQTLU{pV)b-d;IA<;=|`0cRYS6_i=G;w<8qs&?&Nu<*ZHGBPZXSKxnx(X z+LKPDDZLLYPk1?YrT=rs>5ULXUk`5VI+N-N%R#0nc+Hw@HZIB>)e_RvU z*SABPXF0!6LG#9hpJw>w`!UUN_~x6mv(0!0O*?4Na0r~&(`^@9<=NLuD66i-sHpcf z=Jh#8YiQkV5#eP4Ib@VZkeb4(B*m596hR5mq}H$S$Q@+#dB%7gMwOARi#C08Q4WYl zfb40*_ew|vO%GRbiIue!z|@Pu@!jXU!ob+w6PVn>WK6~9IO|g-194tU)-O|))9A;A zDwIL;{*0U)asA2?8`W{9om}Sa2RTx4re#$(ySjtTqpE!iDLF~CO$(wYW+*ZpnlH)1 zgD4=}D$mceDQZei;9CKaE^bob*(FH)_@MqaGE8$-{{UG)bq;f?cD;W^m9Xoo0W@cI zv1bO9P5XJPKF8zJA6}LvA4AxHC&g+a==!DYX#7!g`}Pl9vVa5Di|lQq@<~fY9Yzj&PIB3x4VPBYZ7q`_>bBhNUr);b9(43B zfQdS+H^mox&ue=54}eGrAvk8*Rf4gv)u#%71t~<4HPa0h{c#bH9ALOoWXPLa;ER5S zB!EX+_@{?+hHzyegy^?(60B(@iJ>P#6Mf+Or6+G^uC*J$nY$Y)!Z?M3??H$!tATpO zin1JoK)9$<9i%48 z4<2wb=U!|ArM%sY%y#?4O_IZDXptZ}dO1%XoYn!UGV0CI?>K9Eo`=yg{PP&n@431* zP2q4*6`vE{cU2Qsw-qgvX=>j-vCYT_EsI*W&+RV@gdhV~f~kdsvcOR!5>4@F#cC!a z3h_jiKoX(8?YQ-KTQa>U5V(;b8`~4n`kPX>S4@p&7^FiO3IJMT8ht?1ENw=@(wD&T zz303SHlSsMYV*3o6D>2mK_FSn^)ny5!B*&g|T#aMgiqsr! zKSk)-amq~gMU!4Gstp!*hUh5?icY5~tr;#n@MQ}^%1~x-n^-Dp1lAX-TRlulM4U^y z_O031rIikvX6-9VMs#*%hV2@%nkQsedFeBL&}GgDTZq`f&+x|K%I<3}nx@<4WdIsU zbv;WE`m9|G_M?c^alU{F$q7lptX&}Wduc%=ByfUKC)KhzlmfRv>~X!~G=w*%L!Wo; z%+p-6Gb|F{ccCmz(Kmexafy{Sqhw|yg_th;g_p+G<^&p4&ZTE#DN8~a#lGOWJBxIc zn6Yw^W1AlAT%l3)^)aKQDi1XdL$xjCha7b;PH1^rgUtp*nB8uQI(}`9=m*2pD50zU z5h6V3?rgnfrZLc0bDNIb|e&*31=^ zXeA{O0C6z|du61ASFlFslf)pWAscy3bO+N3vn^uE+U3=J@WfJd5W8yCJESUaM!?XB zVK=@HODHXkky#b$X8|8=Ml>x^%Taojv0QnjtVQb;2OZh>I;BdErD}~7`g!NJWQ$_k zQl#T43X?_2)EsF!4s&%cHA&ftqWyb3^YdaW_1!_VyiV$MI*56ntEHq;D4(V*3y%wj zULPEl642EtqU@AZ9=xdNZ93ze(CEj!=@TnL*>tr;sk-vG=?cw}vD(Db@EQ&>T)eJW zH;rpe!2I^C@{7}Q8kQP}B?T}ED4WLAj8)NYa0$xcWDrc(PqNqb#wWhpIH%8nMw5gN`{aM6hl(%MLRvCcmAI zQaq_Ex||LkTCgmYEm`*Lb&No4l3`OcW}W91PVWxIqdpxa&U%uB9nqa)n#%bsuQtRMQED_dO75!^ebo6;lu%KV^s*0kCsC-q>D%Y&EymdE#5(zCgHEWzE zwr)xSlkl?BkdpYf<4_9uosIZH5D83)FDMJsaFH6SWtPY{Ld<;Dz?+fXqy zCFr_mI$1$V+{*#d@-cIf+P;l~jx8td&7m=))(Gm&S)Lo9_1(%jk zmAN>)Ik^Rib8KEcXlKji1p_<0GlW*wy6B3O6HQZAQ}JUTHVtt|B4K5fYUMOU8b0GC zC%VcxOIMM_Z)bPb4u*-+&7dcMC-rB;@ltb|P5R^(JEU-Ojr`!yEGif1@GiIBT z@pN3heP5Y%6wP9_Etv-Mvy>@Rc5-09oefZQUn*ZVNrxymJ47@a>VwU0$X1oUwL$&K zE*HzGr^j;@{Wv_@MK!3gj-j^|)y|SA!?M)uy=PRD>((_)M>-tn_6CB1MGC7~hjoKK?#hOM`M&BGMZN zr+ql2x|tIul*e6Yj*DV*jPj@QJ{A@<=Xr$q`8#Fid^LY#K?%cvemQDd3#Z)!%0k(- z^WbrHO0i{^M}q60{jIwkbzTLmwcC{nnTuRDP#IJmjy(V6EA?%&J^ojn3H#&r8l?go zDg$>@<<{zEDAjk(zq;TrJP{_l4Bzncsw*VcemmT&Q+-{1FIbnjc`{98u%%-FZpiF@ zU%QHwiN5@`tLz^~Q-kq{mHHJYnV}q;)FdRQi^~jL+EPzu*yh#98xLsGt2CKTx!Y3* zb_Z_N<{D9T)P|vW1Bs^7PZDt*at5NbW#+13gMZzA$Q~}%LqjmyPx0g!gWK`83U@9E zeqmVXk*Kw=>wH|#Or2>UDcL|Pmhj%EK}UU>(WX%Egpi#zkU8N^V9R2BlW_M&v)_t! z>g-HlQr3`Pd{n(jx!ia|$C;1Vj#%<^&iutQeF+Pa(vS)04^iERAV*SZ8#x~;RZJ;HQzi%*x*E^{i5 zQK>#zyEO+L_bpT`Ew_({0&w_m%Ny&ovY@3%+wR^d!GWsU7AH$AEPY;xj*y(+w=`om zpG8liCuz-Zm>0>!{;hcqcPCp3R&QhBOq)w2zixgnf$vkxNtN%U7)($A-G zVxRCNbOvn-`M8brMR4BeTN)c?Kv+5InBtTEc6DePURhSlGJR9gOO-p_ficV$ zR#K!m{O*_$yC65ecV0&+!JxHEyj>7@Q59%=z@O6kz|tyNK=u3Om!TZSGlikw?}KRj z6_s|MdzFXG2ePRz4Yn4YzX`wJF$&`(;IHo9oR&_x`>Y1?h{eki7D#F=K*Cl313G#j z5Ka0ooZ!+d6`A}ax~igBdV-xS1DqEuvgu}4O7$)GIW`BQN;)6v>`sKlixXD8xFr<4 ztD_&6pI6!TzJ*ou_IJv6Udb)Zv?2*An-19vqZS9ve}3FuSQvUyz9sLEZj5E%a1$g6 z9jyH3VXWCzX;jlWxgy}?7KbzPO|j6hA7(bSLId9A7ME!)swJ6rj}s+|lycLLc22<+ zlpFv1$X!TL@gaBB2^r^IF4KIUryS|`Zx4_+K;6uC)LfUOc>~7zM&gDYr*G0%&{tsG zeAG%-@w!Wk;v1#iM}?KFOVlVDRZ7?PI;_5P)09RU*5wIw6byDBL;12gWW0&1mu64p z9i!!~HALt1PRyiKnE9^IFZZ-Z4uc@2O<^ATUA0y-@^5f5W+1K)dLIk^)2F94HxY|2Mj-^z93kk1?r68F1G$_SCRDOx zc3M}NkSDJ!>MBddivrCoNTvCs}e}E6hpQj|RO~|yCkMAw(ys)u}QK*8hTigvl=|XotsS9Ze@xoGPibs#x z5ka-`DksTr3xw446~($&D}kKyu9e^#-Y+2 z5tDXJ^>pil`3mEQCKe(OfQ|fwHkvW=-FFQ|t3oME9y8%Z1XN3_Ox;~9;u&Vu)Ngmz zL_a^`e>Q)cXJT5ukvGNKzbW2uy(IOWOPB^7e>vvGMae6Ex%p|iBKwqCy_=@4`&Gc%es4j}V{{xr{WIq6kMs#p6U#)BhY5;rxX zo;+FgfC-p>!YihaVbSp!b9v87(P9V7{>8|QU#iGCzfvTeDfM&klM5)FQD7=Eo%!(* zlfY)fq>=A=KBCaUjh0^{UFcn$`S2^#X$w`T@5%V@zq;9OR(ds;ySO7f{iQkaa-^yJ zoY(Il=q)w(1WXu&nGo(Pzly!)>!C__oMJO)PYPQnnke)v#iX87G*cC?+$wQ$sk_Kz zyKgLBWq)3w)ABaO*uYfwTUcL$F#GddWjD>9m>wbSEOcrZTg@$a&ph>WHo@a3l%f1| ztwBYMpXl+e^|BLcY4ZgAxDGEN+D^7+m=h4$-`RDp%xtV?joCvi}h5T2*uQaeKO_deIpJ@-pue=~I^nZ^1s zy;?9)CBC9~Bb07wyF3<7llg7_sU#hnNchvcwP~0DEAUwnK3fE19O`DY(vt$hAC-;L zwIlw8V?4j1R>Rq}`M~15I7N~^rS<#ROfy0?U%~9BY-Dt-vGjpO_N`LhmBlsY+!V?C z<-0l%F&PDDLmhE+pAIf}v~+3lviq+F?z$|W_B0CIND3u;^OfojezKa)8Cm=g8e<+$ zJO!diwJ^HObLAFBwNN$v+ev&`J3Nn~-BlQU{(M!PZ7#EOsz>+_LaH6UiijkAi+KFn zK@e5-FtwU2#jX+MoN)B_nOo-eW9UJBn%wrcLp7EAtdEc6Dc4)FSRel^M66e>JBGRW z1ZdWGJdD-&qKgx5FQHzkEq)^@Nymk3h}XomawxOghOgydNJm@iMy^eBgl-}KN&}%` zqoy(4Yv(KzYJ$>a{yF1cGX)8<&qvC1owCuUO{W~n8l zgbVsDVB|G~B{Adb9O?B+if$i%yt7iEu#^~KP2O}(gs!K*mdG)!nSE!d71B@*POBgtf9*aV z<65=`7hq+!dvU-vMHT^`s zdxZ-5RbjUKu*cbYTfd-2-im$@gPwV2PTChwW?#Ot>KJqv2();T(dXDlE$8c_9sja! zhwRrkIfBwcbxVDlw}vf^`w>REcC2e~jjt!QG$;ZEt>D-Tyf1G^At`s%2%?Xc zKk}r+L7)Z+99dt~!vnJ-pNUT6je&eMgw zsn~4lQ=Q(k-)Bs^u^)C@PgxS3N0RW=d}WADUv+zzXr#taZmvG*9ud8(LI1#B<^jB% zP=(fyA*@du`e5O(WyBL^@HRQt;HP(3zvkroJIngIJ`Y&MD=u8u_?}F0eo}qfxjH3% z6xLH-qFr@|p%aHj)ignA;?c=G-j6Oa=uF~ExsCI)voC2zu1}xxYV4ogNsackZr5Q~ z?-Cjmn7f_*qE>piT;W!p=;N`N_(+GH!!y@m&9lI57jW&Lueno`LsDPd>p!iXx^`)r z@fgC3aei|@&%R|R;qk3laQ~YojLzw)K$=>FqLFT_{@0Gl@|%>*NmNF4MX7Y9RSHis zLxjbtQ{;V=`CItTlp91cKhj@`q$dAt(CAHvYI#O2o0)ik>orGn6vcmVaBYzj*08*v zkR|r>Q4GHeh6Md}UWF}IxoF%7Qsz@oteM-9$hz6p&O61lXLut_e4C-Ghllfy@Z*a7 zPS-zFPf76A+=U*|mhS9*ct_W^$Lq`s*%z;B`4MDRt!vL~lT9-ypf@IASpnWLs@xd( zLkf5fN7N#+eyAeZF>JqAZuZ;$o7mHtn1+Xyy?1xa@4CZ#AH05F3ONX)W&T>sV+>W| z$-?YIeuYx$ro%3ejZ}%qWR|PkhZaVb(Xf_;ntWx$z^?~3rt>L=XETj883#E@>nIna zxRbuw*Id(69<)axE1!JY%n5jiy^%?>IAxpOpVQ+R#N;@GbWE1ADQjJmR1TWzf5bV3 z#qxTbxv}>e#NpgaZ7+@M=_yb>meb~zX)#^J`N$mHwb`dUzVzgvAxBAA@Ypq?D(xdRQTSA3-b+;+K*Rm>I;drOp(hom&C$SW^>HujpL zL=MkKb?4_?Ptp_##dXm&f`+P0OLr5i9S)quU`?l7_Nd`L{T-mYo<%TnH5v@3jpuM_&YML7f%bWg&WLbxgA|jMJ(MiJS(q6k#1Ks{&9_TzD z5wza3S?fh*!~4anYNHs%Oh;Mw=r4R2{%SHVsihRUf)|vp_3~fo>e$$ASs9Kwe>0lJ zAi?o8qUz-JxiuDzrkN2bn&+@WslRtH7@EG#*M-t|EO=U!n4Dlu4GbJKBrPd1Cgi$@ zTy9XOsOg)`4ds#(G=?}CF*S4Ga^KwgPoEY(FjTKz-s3>+h*;)cCXvW6Fp#9O+@GTt zlwxMVyT^T5@*XF)T+g*s7|)QiUe=dlnsldm>NF-UPQf&!pZ%?3d@`Px!GP{WvZ3Nb zMq<4O>}+g*;yn+lM|%hTbS?c?59X`xbxbOV*j8)rH7H>`Dx@yx^e75TiTNb+xV!^v zrFLjb7GhNSzu2)~Y-q1c{PB0F9rfpW6^<;wBbY5SHPSi+7;rJ$Na@U?cs!_ytKG=nT0vQ?r4OoX-iWb>k##!4k-x?&U;#;OM_$ixx>DO zf57vY=v$P&q3i3F{GzrR0f^4exjK^fs%ILqws#M6G+k&Fh&njVnpF9kTs5rcatyU^ zTK~GZW2IT?=?gZ>d`}FeOet3h))_f&oT?_KNo#G%Sk|!pHS8^l4d5>n)~HNQQF+UzIAM0pxjO6 z<$fm?__4jqz#k%N+?0e0EK>-;kskA8|!(~?XL!@7e7ePOv@@` zBqCV4!%J}F?Bk^yr0V)!)9{k>D@}Qe)KXD|L|(P9(#zL43fZa*dGG?p#g-3*MRg{&*R zD<3QMLx%&@-Adi2xs8Q^EJORM#9j+aQdK;kF171AV%{oB<1;V{Q}`JJ^Hm?Ozwp)g zCj5rE!Z!V>R6#lp|LAlJw?t_*6=ZHIi{@5rwYfyXJl#>q=emF4@I+4#m47l(nz#4h zxlHD1wUgogRnSYH$4~fK=V0_EWL2h8ldn{9nKNIQ%jALO62|KHv&gSjPN@E5TK7Oty=?ow^{VMieD)mKOaABeT0N8ugX3u1|pT9ZUG&4;N zz1LNN^YXX<>moafJP*_6G49bjzwuGr^ipl=&q~VZs+~qqMN-|&7k}-#AhejCbj##^ z$Kh49dWA6YnXmXjyg`F5r#rGM2-NeKdNkINN-V|PUu>Yr^Y>J89d!LhN`T?z_9fn} z$3&4GqpG>J1rprPcH`7W#n<>64DKWk71DktnE4lu8cjP3VFr z|3UNGyNOs+S=A9*>#(toez(n8cjba4e(vI0z6eCIU}(*kh}YZMaZh2&a*^n`S@o!D z>V}f!V*Nz@`h>ZgyO>vr?0s$(1=Wcbb_a#;f8Vn~n0QXf3#z<#q<(H#y(BP(Dpm2i zgQLwao)O_UYXzeljW7}6jnNJLu4jAsr3E6sq~Xk>&xbz!64LPGrQ*Z2M57}AU$^EA zM;t{e^@9^RB{Z`cujs4#zn2^zI$(;7M-;>ENCnYY#U1^;V5fWQ`6W1*!G&F8_S+z4 zjjmT>G9zEev_dlg`SDmFi$BHj%?h~maniR~w?Bb$&J8=Olc6QE5+7dK@+m5sHKZDv zTE;nxk-~!2Hc8}Am2W#-TNQco9?eki=fBmGo;^yeV)1LK$jWZj@7oU=sF+!iB`13A zk)(Kf_qS$$rQ8awuwkiK`}%i}@&olLetR-x?yYBmh*P(qPIn8noLEEtF=KZZ9)X6s zD7GEMS;*a{#ek;fe9jLKip0j6#kmL8QREu0N!@(=LY^_}5c^~;v&0yA`316bN=SK} z#>$>PJ zE|w6{(o*2!S(j+@$r38jG~YFqvZ`S%XIbW_a&CFJSiMG`g;mAeQ-wBlm zf)hh8ZCgHHa0`w}b@IH_Hw$3iFXB@Ts8M(hG1jsy7UdAMjIXPv;d-!22fMYB9WImi z=pi0j6S1bvyQ(DYtuHML-V@~-2@!`J(WU=Nea$ZlODk0^6&$2bGGo4_+|b8?+WW+V z6!oJ{(llop`uj{>J5cXD`uTm!+2gd&z6vHODdJMTtW&$I?8t%d3=4r)Q8F@38U=yt ze=W@NetDf!9wavB|0US@DXB!-+?mFKX>|#|o+!U*#iKl>uP4@p(C5eZcg=lYzX*Eh z-d0z$8XEGqhuxP2RAbIiAokET8E#u zRvvJ?(^;(mbvFlRs$2E;eU~d9v0B3EIXhvl|Uf7(NB%zFLu1XV(jZ!yZE4(#?s#yy;*m zJs6T)ve$&ncg9s;WeMRrYT-0lmDi?`(a2Ktez4t;UTcrE7jXuxG~d7YbtS zjFX$`Xz?MttCR!tjP-Rd4;@d)1+iPVSDfJzq18y2KnObK*#=*la$)w0gG=-|$#RF{ z?JD=_2a|XX)e{~&FbBDSgzul~%(n4w#-W?6%;d6mQu@?#x{-bV;<@By*dYZ8fQj#ff26ZSb^rfV! z#$43XByvWReh?1%E#pnjx6TV#4Z)BPl^9p z$W0VgcY8~3!ehIkLFF_4eV;K4uT)rzMw99>bvQCBF7<1o1cP^hMza=Ia}$1pJM}M?e?kcynBx_pJAHM}5+(h+)Nr~Vzbm;nGSh)XRp+En)*?3dxdkOsQb>Pn5 zYjlzHchFv#cIftk>Cb-c(Ruc&D_5rvcm@TR_snK9{Phi=^JIhc@4Uq#fkkSEfXkiE z|1B%2CcOBR%q#QRQd4-C{(u010_$_n5}Jd)_DUUGi|Ax61wdEwt6oT1!@y zikhk(K)84`+1(T~ZX5Ld8hR%bH>S&{s5XB@pLEY1?VcA$qjl4j%uCVShOHf6V>3@yFKyB#AKrL_aYJK6&4e9Og#qzjZq4@zlNnOC+6nr8wv zY8hOUG?(v;-}2CDI)}+t|Ez5RBYDZ{j>B6FM2!!5;ltkq%k+rC< z+s+s|q|&>u^smyURlTP6P_uWACReKj$)tU!4P0YM@#Gb+E-xHKua+kJCe}${3+-k} zBgUs65)Q3$v!_kV@a*%WLOv&_l-<+3=s&xinix3Xpdt)lFm@r2P2VNo-$W%*;n8y@ z1{k+)oa0B2+A)?5bij`L74d6GmR8UJGN%os;4gFGXChB54^T;zL_#y}4#q{RZ^^Gn zH0*7C^`a&&IE$**Sjg~Ka0fet-<-Vfses$t`RXDaFpHwh&v|4TXpnM^Sr)k@sgax% zRU52^gN^Z#^e3ddu|=su8w}**(A75THS-=hV!`MX>d#wNOr3Zub0dx5l^YwvR z!*Po8a7t}hOODO?R-x^1`jN&cquNx{yQ7-FU}J5BI2*JyG2vfZ^UOZnL>>zu^qM~o z8?~FP*eK3=dRcYJ03cC#)IqB3?{0!`cHdQQab z7<1I$L{cfsvB%rj>m`O`KE?+TvXM})plJYjo5t?{CwS#p@a(YQQS2a6q6Zc5Wf%5q z8ta5OUQSW+*L!Z}M_a-TmS~N+mitBNlfA2TX^;+xqa*Y5;EcH&lRyz|E z0p6^)!UEBWL|-WeU*JbsSyhU^8?IMC`8v~%G;Zgl7-H%LuI~^ET<+M0xA|G z

    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

      l^DGNka`lb=88wb&9F3iV$PDM59Fgj?$4D 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 literal 912896 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�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

      yqj#Zx{lQimkFnkfslD(ysmwUhaK;4ZusW41gg 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

      Rqe$)Zcv(rLtlKKa{#kuMigo`mPMhb0sJ37&gJK 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¬`_x4S}3i(+Pf+|tlWL*(Re>Op>Vpmu`a~) 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 Date: Mon, 9 Aug 2021 09:50:41 +0530 Subject: [PATCH 0205/1383] refactor: Make coverage context manager - Decoupled coverage code from testing to setup code coverage before any import happen to get accurate coverage (before it used to skip import statements for some files) --- frappe/commands/utils.py | 78 +++++++++++++--------------------- frappe/coverage.py | 26 ++++++++++++ frappe/parallel_test_runner.py | 32 ++------------ 3 files changed, 59 insertions(+), 77 deletions(-) diff --git a/frappe/commands/utils.py b/frappe/commands/utils.py index 8fc6877d4f..f2395ae490 100644 --- a/frappe/commands/utils.py +++ b/frappe/commands/utils.py @@ -9,8 +9,8 @@ import click import frappe from frappe.commands import get_site, pass_context from frappe.exceptions import SiteNotSpecifiedError -from frappe.utils import get_bench_path, update_progress_bar, cint - +from frappe.utils import update_progress_bar, cint +from frappe.coverage import CodeCoverage DATA_IMPORT_DEPRECATION = click.style( "[DEPRECATED] The `import-csv` command used 'Data Import Legacy' which has been deprecated.\n" @@ -530,52 +530,33 @@ def run_tests(context, app=None, module=None, doctype=None, test=(), profile=Fal coverage=False, junit_xml_output=False, ui_tests = False, doctype_list_path=None, skip_test_records=False, skip_before_tests=False, failfast=False): - "Run tests" - import frappe.test_runner - tests = test + with CodeCoverage(coverage, app): + import frappe.test_runner + tests = test + site = get_site(context) - site = get_site(context) + allow_tests = frappe.get_conf(site).allow_tests - allow_tests = frappe.get_conf(site).allow_tests + if not (allow_tests or os.environ.get('CI')): + click.secho('Testing is disabled for the site!', bold=True) + click.secho('You can enable tests by entering following command:') + click.secho('bench --site {0} set-config allow_tests true'.format(site), fg='green') + return - if not (allow_tests or os.environ.get('CI')): - click.secho('Testing is disabled for the site!', bold=True) - click.secho('You can enable tests by entering following command:') - click.secho('bench --site {0} set-config allow_tests true'.format(site), fg='green') - return + frappe.init(site=site) - frappe.init(site=site) + frappe.flags.skip_before_tests = skip_before_tests + frappe.flags.skip_test_records = skip_test_records - frappe.flags.skip_before_tests = skip_before_tests - frappe.flags.skip_test_records = skip_test_records + ret = frappe.test_runner.main(app, module, doctype, context.verbose, tests=tests, + force=context.force, profile=profile, junit_xml_output=junit_xml_output, + ui_tests=ui_tests, doctype_list_path=doctype_list_path, failfast=failfast) - if coverage: - from coverage import Coverage - from frappe.coverage import STANDARD_INCLUSIONS, STANDARD_EXCLUSIONS, FRAPPE_EXCLUSIONS + if len(ret.failures) == 0 and len(ret.errors) == 0: + ret = 0 - # Generate coverage report only for app that is being tested - source_path = os.path.join(get_bench_path(), 'apps', app or 'frappe') - omit = STANDARD_EXCLUSIONS[:] - - if not app or app == 'frappe': - omit.extend(FRAPPE_EXCLUSIONS) - - cov = Coverage(source=[source_path], omit=omit, include=STANDARD_INCLUSIONS) - cov.start() - - ret = frappe.test_runner.main(app, module, doctype, context.verbose, tests=tests, - force=context.force, profile=profile, junit_xml_output=junit_xml_output, - ui_tests=ui_tests, doctype_list_path=doctype_list_path, failfast=failfast) - - if coverage: - cov.stop() - cov.save() - - if len(ret.failures) == 0 and len(ret.errors) == 0: - ret = 0 - - if os.environ.get('CI'): - sys.exit(ret) + if os.environ.get('CI'): + sys.exit(ret) @click.command('run-parallel-tests') @click.option('--app', help="For App", default='frappe') @@ -585,13 +566,14 @@ def run_tests(context, app=None, module=None, doctype=None, test=(), profile=Fal @click.option('--use-orchestrator', is_flag=True, help="Use orchestrator to run parallel tests") @pass_context def run_parallel_tests(context, app, build_number, total_builds, with_coverage=False, use_orchestrator=False): - site = get_site(context) - if use_orchestrator: - from frappe.parallel_test_runner import ParallelTestWithOrchestrator - ParallelTestWithOrchestrator(app, site=site, with_coverage=with_coverage) - else: - from frappe.parallel_test_runner import ParallelTestRunner - ParallelTestRunner(app, site=site, build_number=build_number, total_builds=total_builds, with_coverage=with_coverage) + with CodeCoverage(with_coverage, app): + site = get_site(context) + if use_orchestrator: + from frappe.parallel_test_runner import ParallelTestWithOrchestrator + ParallelTestWithOrchestrator(app, site=site) + else: + from frappe.parallel_test_runner import ParallelTestRunner + ParallelTestRunner(app, site=site, build_number=build_number, total_builds=total_builds) @click.command('run-ui-tests') @click.argument('app') diff --git a/frappe/coverage.py b/frappe/coverage.py index a59c24a714..33f945be40 100644 --- a/frappe/coverage.py +++ b/frappe/coverage.py @@ -33,3 +33,29 @@ FRAPPE_EXCLUSIONS = [ "*/doctype/*/*_dashboard.py", "*/patches/*", ] + +class CodeCoverage(): + def __init__(self, with_coverage, app): + self.with_coverage = with_coverage + self.app = app or 'frappe' + + def __enter__(self): + if self.with_coverage: + import os + from coverage import Coverage + from frappe.utils import get_bench_path + + # Generate coverage report only for app that is being tested + source_path = os.path.join(get_bench_path(), 'apps', self.app) + omit = STANDARD_EXCLUSIONS[:] + + if self.app == 'frappe': + omit.extend(FRAPPE_EXCLUSIONS) + + self.coverage = Coverage(source=[source_path], omit=omit, include=STANDARD_INCLUSIONS) + self.coverage.start() + + def __exit__(self, exc_type, exc_value, traceback): + if self.with_coverage: + self.coverage.stop() + self.coverage.save() \ No newline at end of file diff --git a/frappe/parallel_test_runner.py b/frappe/parallel_test_runner.py index 6265498c96..c7f723bbdc 100644 --- a/frappe/parallel_test_runner.py +++ b/frappe/parallel_test_runner.py @@ -15,10 +15,9 @@ if click_ctx: click_ctx.color = True class ParallelTestRunner(): - def __init__(self, app, site, build_number=1, total_builds=1, with_coverage=False): + def __init__(self, app, site, build_number=1, total_builds=1): self.app = app self.site = site - self.with_coverage = with_coverage self.build_number = frappe.utils.cint(build_number) or 1 self.total_builds = frappe.utils.cint(total_builds) self.setup_test_site() @@ -53,12 +52,9 @@ class ParallelTestRunner(): def run_tests(self): self.test_result = ParallelTestResult(stream=sys.stderr, descriptions=True, verbosity=2) - self.start_coverage() - for test_file_info in self.get_test_file_list(): self.run_tests_for_file(test_file_info) - self.save_coverage() self.print_result() def run_tests_for_file(self, file_info): @@ -107,28 +103,6 @@ class ParallelTestRunner(): if os.environ.get('CI'): sys.exit(1) - def start_coverage(self): - if self.with_coverage: - from coverage import Coverage - from frappe.utils import get_bench_path - from frappe.coverage import STANDARD_INCLUSIONS, STANDARD_EXCLUSIONS, FRAPPE_EXCLUSIONS - - # Generate coverage report only for app that is being tested - source_path = os.path.join(get_bench_path(), 'apps', self.app) - omit = STANDARD_EXCLUSIONS[:] - - if self.app == 'frappe': - omit.extend(FRAPPE_EXCLUSIONS) - - self.coverage = Coverage(source=[source_path], omit=omit, include=STANDARD_INCLUSIONS) - self.coverage.start() - - def save_coverage(self): - if not self.with_coverage: - return - self.coverage.stop() - self.coverage.save() - def get_test_file_list(self): test_list = get_all_tests(self.app) split_size = frappe.utils.ceil(len(test_list) / self.total_builds) @@ -224,7 +198,7 @@ class ParallelTestWithOrchestrator(ParallelTestRunner): - get-next-test-spec (, ) - test-completed (, ) ''' - def __init__(self, app, site, with_coverage=False): + def __init__(self, app, site): self.orchestrator_url = os.environ.get('ORCHESTRATOR_URL') if not self.orchestrator_url: click.echo('ORCHESTRATOR_URL environment variable not found!') @@ -237,7 +211,7 @@ class ParallelTestWithOrchestrator(ParallelTestRunner): click.echo('CI_BUILD_ID environment variable not found!') sys.exit(1) - ParallelTestRunner.__init__(self, app, site, with_coverage=with_coverage) + ParallelTestRunner.__init__(self, app, site) def run_tests(self): self.test_status = 'ongoing' From 80d111baf2c4f26a776d4a73678a05fde90438c1 Mon Sep 17 00:00:00 2001 From: leela Date: Tue, 13 Jul 2021 20:25:32 +0530 Subject: [PATCH 0206/1383] refactor: set amended docname to original docname Currently, whenever a document is amended it's name is set to name-X(X is a counter) when amended again and so on. In this PR, we have postfixed all cancelled document names with '-CAN' and new cancelled documents gets a name as original_name-CANC-X. so that amended docs can use the original name instead of name-X. --- frappe/core/doctype/doctype/test_doctype.py | 8 +- frappe/model/document.py | 9 +- frappe/model/naming.py | 119 +++++++++- frappe/patches.txt | 1 + .../v14_0/rename_cancelled_documents.py | 213 ++++++++++++++++++ frappe/public/js/frappe/form/form.js | 24 +- frappe/public/js/frappe/router.js | 6 + frappe/tests/test_naming.py | 34 +++ 8 files changed, 386 insertions(+), 28 deletions(-) create mode 100644 frappe/patches/v14_0/rename_cancelled_documents.py diff --git a/frappe/core/doctype/doctype/test_doctype.py b/frappe/core/doctype/doctype/test_doctype.py index 1e1a01a685..9aaaf5a1ac 100644 --- a/frappe/core/doctype/doctype/test_doctype.py +++ b/frappe/core/doctype/doctype/test_doctype.py @@ -348,6 +348,7 @@ class TestDocType(unittest.TestCase): dump_docs = json.dumps(docs.get('docs')) cancel_all_linked_docs(dump_docs) data_link_doc.cancel() + data_doc.name = '{}-CANC-0'.format(data_doc.name) data_doc.load_from_db() self.assertEqual(data_link_doc.docstatus, 2) self.assertEqual(data_doc.docstatus, 2) @@ -371,7 +372,7 @@ class TestDocType(unittest.TestCase): for data in link_doc.get('permissions'): data.submit = 1 data.cancel = 1 - link_doc.insert() + link_doc.insert(ignore_if_duplicate=True) #create first parent doctype test_doc_1 = new_doctype('Test Doctype 1') @@ -386,7 +387,7 @@ class TestDocType(unittest.TestCase): for data in test_doc_1.get('permissions'): data.submit = 1 data.cancel = 1 - test_doc_1.insert() + test_doc_1.insert(ignore_if_duplicate=True) #crete second parent doctype doc = new_doctype('Test Doctype 2') @@ -401,7 +402,7 @@ class TestDocType(unittest.TestCase): for data in link_doc.get('permissions'): data.submit = 1 data.cancel = 1 - doc.insert() + doc.insert(ignore_if_duplicate=True) # create doctype data data_link_doc_1 = frappe.new_doc('Test Linked Doctype 1') @@ -432,6 +433,7 @@ class TestDocType(unittest.TestCase): # checking that doc for Test Doctype 2 is not canceled self.assertRaises(frappe.LinkExistsError, data_link_doc_1.cancel) + data_doc_2.name = '{}-CANC-0'.format(data_doc_2.name) data_doc.load_from_db() data_doc_2.load_from_db() self.assertEqual(data_link_doc_1.docstatus, 2) diff --git a/frappe/model/document.py b/frappe/model/document.py index b44d95716e..f3633a0009 100644 --- a/frappe/model/document.py +++ b/frappe/model/document.py @@ -5,7 +5,7 @@ import time from frappe import _, msgprint, is_whitelisted from frappe.utils import flt, cstr, now, get_datetime_str, file_lock, date_diff from frappe.model.base_document import BaseDocument, get_controller -from frappe.model.naming import set_new_name +from frappe.model.naming import set_new_name, gen_new_name_for_cancelled_doc from werkzeug.exceptions import NotFound, Forbidden import hashlib, json from frappe.model import optional_fields, table_fields @@ -708,7 +708,6 @@ class Document(BaseDocument): else: tmp = frappe.db.sql("""select modified, docstatus from `tab{0}` where name = %s for update""".format(self.doctype), self.name, as_dict=True) - if not tmp: frappe.throw(_("Record does not exist")) else: @@ -919,8 +918,12 @@ class Document(BaseDocument): @whitelist.__func__ def _cancel(self): - """Cancel the document. Sets `docstatus` = 2, then saves.""" + """Cancel the document. Sets `docstatus` = 2, then saves. + """ self.docstatus = 2 + new_name = gen_new_name_for_cancelled_doc(self) + frappe.rename_doc(self.doctype, self.name, new_name, force=True, show_alert=False) + self.name = new_name self.save() @whitelist.__func__ diff --git a/frappe/model/naming.py b/frappe/model/naming.py index fe136adce8..7705002706 100644 --- a/frappe/model/naming.py +++ b/frappe/model/naming.py @@ -1,3 +1,14 @@ +"""utilities to generate a document name based on various rules defined. + +NOTE: +Till version 13, whenever a submittable document is amended it's name is set to orig_name-X, +where X is a counter and it increments when amended again and so on. + +From Version 14, The naming pattern is changed in a way that amended documents will +have the original name `orig_name` instead of `orig_name-X`. To make this happen +the cancelled document naming pattern is changed to 'orig_name-CANC-X'. +""" + # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # MIT License. See license.txt @@ -28,7 +39,7 @@ def set_new_name(doc): doc.name = None if getattr(doc, "amended_from", None): - _set_amended_name(doc) + doc.name = _get_amended_name(doc) return elif getattr(doc.meta, "issingle", False): @@ -221,6 +232,18 @@ def revert_series_if_last(key, name, doc=None): * prefix = #### and hashes = 2021 (hash doesn't exist) * will search hash in key then accordingly get prefix = "" """ + if hasattr(doc, 'amended_from'): + # Do not revert the series if the document is amended. + if doc.amended_from: + return + + # Get document name by parsing incase of fist cancelled document + if doc.docstatus == 2 and not doc.amended_from: + if doc.name.endswith('-CANC'): + name, _ = NameParser.parse_docname(doc.name, sep='-CANC') + else: + name, _ = NameParser.parse_docname(doc.name, sep='-CANC-') + if ".#" in key: prefix, hashes = key.rsplit(".", 1) if "#" not in hashes: @@ -303,16 +326,9 @@ def append_number_if_name_exists(doctype, value, fieldname="name", separator="-" return value -def _set_amended_name(doc): - am_id = 1 - am_prefix = doc.amended_from - if frappe.db.get_value(doc.doctype, doc.amended_from, "amended_from"): - am_id = cint(doc.amended_from.split("-")[-1]) + 1 - am_prefix = "-".join(doc.amended_from.split("-")[:-1]) # except the last hyphen - - doc.name = am_prefix + "-" + str(am_id) - return doc.name - +def _get_amended_name(doc): + name, _ = NameParser(doc).parse_amended_from() + return name def _field_autoname(autoname, doc, skip_slicing=None): """ @@ -323,7 +339,6 @@ def _field_autoname(autoname, doc, skip_slicing=None): name = (cstr(doc.get(fieldname)) or "").strip() return name - def _prompt_autoname(autoname, doc): """ Generate a name using Prompt option. This simply means the user will have to set the name manually. @@ -354,3 +369,83 @@ def _format_autoname(autoname, doc): name = re.sub(r"(\{[\w | #]+\})", get_param_value_for_match, autoname_value) return name + +class NameParser: + """Parse document name and return parts of it. + + NOTE: It handles cancellend and amended doc parsing for now. It can be expanded. + """ + def __init__(self, doc): + self.doc = doc + + def parse_amended_from(self): + """ + Cancelled document naming will be in one of these formats + + * original_name-X-CANC - This is introduced to migrate old style naming to new style + * original_name-CANC - This is introduced to migrate old style naming to new style + * original_name-CANC-X - This is the new style naming + + New style naming: In new style naming amended documents will have original name. That says, + when a document gets cancelled we need rename the document by adding `-CANC-X` to the end + so that amended documents can use the original name. + + Old style naming: cancelled documents stay with original name and when amended, amended one + gets a new name as `original_name-X`. To bring new style naming we had to change the existing + cancelled document names and that is done by adding `-CANC` to cancelled documents through patch. + """ + if not getattr(self.doc, 'amended_from', None): + return (None, None) + + # Handle old style cancelled documents (original_name-X-CANC, original_name-CANC) + if self.doc.amended_from.endswith('-CANC'): + name, _ = self.parse_docname(self.doc.amended_from, '-CANC') + amended_from_doc = frappe.get_all( + self.doc.doctype, + filters = {'name': self.doc.amended_from}, + fields = ['amended_from'], + limit=1) + + # Handle format original_name-X-CANC. + if amended_from_doc and amended_from_doc[0].amended_from: + return self.parse_docname(name, '-') + return name, None + + # Handle new style cancelled documents + return self.parse_docname(self.doc.amended_from, '-CANC-') + + @classmethod + def parse_docname(cls, name, sep='-'): + split_list = name.rsplit(sep, 1) + + if len(split_list) == 1: + return (name, None) + return (split_list[0], split_list[1]) + +def get_cancelled_doc_latest_counter(tname, docname): + """Get the latest counter used for cancelled docs of given docname. + """ + name_prefix = f'{docname}-CANC-' + + rows = frappe.db.sql(""" + select + name + from `tab{tname}` + where + name like %(name_prefix)s and docstatus=2 + """.format(tname=tname), {'name_prefix': name_prefix+'%'}, as_dict=1) + + if not rows: + return -1 + return max([int(row.name.replace(name_prefix, '') or -1) for row in rows]) + +def gen_new_name_for_cancelled_doc(doc): + """Generate a new name for cancelled document. + """ + if getattr(doc, "amended_from", None): + name, _ = NameParser(doc).parse_amended_from() + else: + name = doc.name + + counter = get_cancelled_doc_latest_counter(doc.doctype, name) + return f'{name}-CANC-{counter+1}' diff --git a/frappe/patches.txt b/frappe/patches.txt index 493c4dc9f6..989b13e049 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -181,3 +181,4 @@ frappe.patches.v13_0.queryreport_columns frappe.patches.v13_0.jinja_hook frappe.patches.v13_0.update_notification_channel_if_empty frappe.patches.v14_0.drop_data_import_legacy +frappe.patches.v14_0.rename_cancelled_documents diff --git a/frappe/patches/v14_0/rename_cancelled_documents.py b/frappe/patches/v14_0/rename_cancelled_documents.py new file mode 100644 index 0000000000..fbe49c2351 --- /dev/null +++ b/frappe/patches/v14_0/rename_cancelled_documents.py @@ -0,0 +1,213 @@ +import functools +import traceback + +import frappe + +def execute(): + """Rename cancelled documents by adding a postfix. + """ + rename_cancelled_docs() + +def get_submittable_doctypes(): + """Returns list of submittable doctypes in the system. + """ + return frappe.db.get_all('DocType', filters={'is_submittable': 1}, pluck='name') + +def get_cancelled_doc_names(doctype): + """Return names of cancelled document names those are in old format. + """ + docs = frappe.db.get_all(doctype, filters={'docstatus': 2}, pluck='name') + return [each for each in docs if not (each.endswith('-CANC') or ('-CANC-' in each))] + +@functools.lru_cache() +def get_linked_doctypes(): + """Returns list of doctypes those are linked with given doctype using 'Link' fieldtype. + """ + filters=[['fieldtype','=', 'Link']] + links = frappe.get_all("DocField", + fields=["parent", "fieldname", "options as linked_to"], + filters=filters, + as_list=1) + + links+= frappe.get_all("Custom Field", + fields=["dt as parent", "fieldname", "options as linked_to"], + filters=filters, + as_list=1) + + links_by_doctype = {} + for doctype, fieldname, linked_to in links: + links_by_doctype.setdefault(linked_to, []).append((doctype, fieldname)) + return links_by_doctype + +@functools.lru_cache() +def get_single_doctypes(): + return frappe.get_all("DocType", filters={'issingle': 1}, pluck='name') + +@functools.lru_cache() +def get_dynamic_linked_doctypes(): + filters=[['fieldtype','=', 'Dynamic Link']] + + # find dynamic links of parents + links = frappe.get_all("DocField", + fields=["parent as doctype", "fieldname", "options as doctype_fieldname"], + filters=filters, + as_list=1) + links+= frappe.get_all("Custom Field", + fields=["dt as doctype", "fieldname", "options as doctype_fieldname"], + filters=filters, + as_list=1) + return links + +@functools.lru_cache() +def get_child_tables(): + """ + """ + filters =[['fieldtype', 'in', ('Table', 'Table MultiSelect')]] + links = frappe.get_all("DocField", + fields=["parent as doctype", "options as child_table"], + filters=filters, + as_list=1) + + links+= frappe.get_all("Custom Field", + fields=["dt as doctype", "options as child_table"], + filters=filters, + as_list=1) + + map = {} + for doctype, child_table in links: + map.setdefault(doctype, []).append(child_table) + return map + +def update_cancelled_document_names(doctype, cancelled_doc_names): + return frappe.db.sql(""" + update + `tab{doctype}` + set + name=CONCAT(name, '-CANC') + where + docstatus=2 + and + name in %(cancelled_doc_names)s; + """.format(doctype=doctype), {'cancelled_doc_names': cancelled_doc_names}) + +def update_amended_field(doctype, cancelled_doc_names): + return frappe.db.sql(""" + update + `tab{doctype}` + set + amended_from=CONCAT(amended_from, '-CANC') + where + amended_from in %(cancelled_doc_names)s; + """.format(doctype=doctype), {'cancelled_doc_names': cancelled_doc_names}) + +def update_attachments(doctype, cancelled_doc_names): + frappe.db.sql(""" + update + `tabFile` + set + attached_to_name=CONCAT(attached_to_name, '-CANC') + where + attached_to_doctype=%(dt)s and attached_to_name in %(cancelled_doc_names)s + """, {'cancelled_doc_names': cancelled_doc_names, 'dt': doctype}) + +def update_versions(doctype, cancelled_doc_names): + frappe.db.sql(""" + UPDATE + `tabVersion` + SET + docname=CONCAT(docname, '-CANC') + WHERE + ref_doctype=%(dt)s AND docname in %(cancelled_doc_names)s + """, {'cancelled_doc_names': cancelled_doc_names, 'dt': doctype}) + +def update_linked_doctypes(doctype, cancelled_doc_names): + single_doctypes = get_single_doctypes() + + for linked_dt, field in get_linked_doctypes().get(doctype, []): + if linked_dt not in single_doctypes: + frappe.db.sql(""" + update + `tab{linked_dt}` + set + {column}=CONCAT({column}, '-CANC') + where + {column} in %(cancelled_doc_names)s; + """.format(linked_dt=linked_dt, column=field), + {'cancelled_doc_names': cancelled_doc_names}) + else: + doc = frappe.get_single(linked_dt) + if getattr(doc, field) in cancelled_doc_names: + setattr(doc, field, getattr(doc, field)+'-CANC') + doc.flags.ignore_mandatory=True + doc.flags.ignore_validate=True + doc.save(ignore_permissions=True) + +def update_dynamic_linked_doctypes(doctype, cancelled_doc_names): + single_doctypes = get_single_doctypes() + + for linked_dt, fieldname, doctype_fieldname in get_dynamic_linked_doctypes(): + if linked_dt not in single_doctypes: + frappe.db.sql(""" + update + `tab{linked_dt}` + set + {column}=CONCAT({column}, '-CANC') + where + {column} in %(cancelled_doc_names)s and {doctype_fieldname}=%(dt)s; + """.format(linked_dt=linked_dt, column=fieldname, doctype_fieldname=doctype_fieldname), + {'cancelled_doc_names': cancelled_doc_names, 'dt': doctype}) + else: + doc = frappe.get_single(linked_dt) + if getattr(doc, doctype_fieldname) == doctype and getattr(doc, fieldname) in cancelled_doc_names: + setattr(doc, fieldname, getattr(doc, fieldname)+'-CANC') + doc.flags.ignore_mandatory=True + doc.flags.ignore_validate=True + doc.save(ignore_permissions=True) + +def update_child_tables(doctype, cancelled_doc_names): + child_tables = get_child_tables().get(doctype, []) + single_doctypes = get_single_doctypes() + + for table in child_tables: + if table not in single_doctypes: + frappe.db.sql(""" + update + `tab{table}` + set + parent=CONCAT(parent, '-CANC') + where + parenttype=%(dt)s and parent in %(cancelled_doc_names)s; + """.format(table=table), {'cancelled_doc_names': cancelled_doc_names, 'dt': doctype}) + else: + doc = frappe.get_single(table) + if getattr(doc, 'parenttype')==doctype and getattr(doc, 'parent') in cancelled_doc_names: + setattr(doc, 'parent', getattr(doc, 'parent')+'-CANC') + doc.flags.ignore_mandatory=True + doc.flags.ignore_validate=True + doc.save(ignore_permissions=True) + +def rename_cancelled_docs(): + submittable_doctypes = get_submittable_doctypes() + + for dt in submittable_doctypes: + for retry in range(2): + try: + cancelled_doc_names = tuple(get_cancelled_doc_names(dt)) + if not cancelled_doc_names: + break + update_cancelled_document_names(dt, cancelled_doc_names) + update_amended_field(dt, cancelled_doc_names) + update_child_tables(dt, cancelled_doc_names) + update_linked_doctypes(dt, cancelled_doc_names) + update_dynamic_linked_doctypes(dt, cancelled_doc_names) + update_attachments(dt, cancelled_doc_names) + update_versions(dt, cancelled_doc_names) + print(f"Renaming cancelled records of {dt} doctype") + frappe.db.commit() + break + except Exception: + if retry == 1: + print(f"Failed to rename the cancelled records of {dt} doctype, moving on!") + traceback.print_exc() + frappe.db.rollback() + diff --git a/frappe/public/js/frappe/form/form.js b/frappe/public/js/frappe/form/form.js index faaa3dfbd9..3bbc883b0c 100644 --- a/frappe/public/js/frappe/form/form.js +++ b/frappe/public/js/frappe/form/form.js @@ -770,32 +770,36 @@ frappe.ui.form.Form = class FrappeForm { } _cancel(btn, callback, on_error, skip_confirm) { - const me = this; const cancel_doc = () => { frappe.validated = true; - me.script_manager.trigger("before_cancel").then(() => { + this.script_manager.trigger("before_cancel").then(() => { if (!frappe.validated) { - return me.handle_save_fail(btn, on_error); + return this.handle_save_fail(btn, on_error); } - var after_cancel = function(r) { + const original_name = this.docname; + const after_cancel = (r) => { if (r.exc) { - me.handle_save_fail(btn, on_error); + this.handle_save_fail(btn, on_error); } else { frappe.utils.play_sound("cancel"); - me.refresh(); callback && callback(); - me.script_manager.trigger("after_cancel"); + this.script_manager.trigger("after_cancel"); + frappe.run_serially([ + () => this.rename_notify(this.doctype, original_name, r.docs[0].name), + () => frappe.router.clear_re_route(this.doctype, original_name), + () => this.refresh(), + ]); } }; - frappe.ui.form.save(me, "cancel", after_cancel, btn); + frappe.ui.form.save(this, "cancel", after_cancel, btn); }); } if (skip_confirm) { cancel_doc(); } else { - frappe.confirm(__("Permanently Cancel {0}?", [this.docname]), cancel_doc, me.handle_save_fail(btn, on_error)); + frappe.confirm(__("Permanently Cancel {0}?", [this.docname]), cancel_doc, this.handle_save_fail(btn, on_error)); } }; @@ -817,7 +821,7 @@ frappe.ui.form.Form = class FrappeForm { 'docname': this.doc.name }).then(is_amended => { if (is_amended) { - frappe.throw(__('This document is already amended, you cannot ammend it again')); + frappe.throw(__('This document is already amended, you cannot amend it again')); } this.validate_form_action("Amend"); var me = this; diff --git a/frappe/public/js/frappe/router.js b/frappe/public/js/frappe/router.js index e99cf75cd4..d0f93882fb 100644 --- a/frappe/public/js/frappe/router.js +++ b/frappe/public/js/frappe/router.js @@ -232,6 +232,12 @@ frappe.router = { } }, + clear_re_route(doctype, docname) { + delete frappe.re_route[ + `${encodeURIComponent(frappe.router.slug(doctype))}/${encodeURIComponent(docname)}` + ]; + }, + set_title(sub_path) { if (frappe.route_titles[sub_path]) { frappe.utils.set_title(frappe.route_titles[sub_path]); diff --git a/frappe/tests/test_naming.py b/frappe/tests/test_naming.py index 557993882f..830c39442e 100644 --- a/frappe/tests/test_naming.py +++ b/frappe/tests/test_naming.py @@ -116,3 +116,37 @@ class TestNaming(unittest.TestCase): self.assertEqual(current_index.get('current'), 2) frappe.db.sql("""delete from `tabSeries` where name = %s""", series) + + def test_naming_for_cancelled_and_amended_doc(self): + submittable_doctype = frappe.get_doc({ + "doctype": "DocType", + "module": "Core", + "custom": 1, + "is_submittable": 1, + "permissions": [{ + "role": "System Manager", + "read": 1 + }], + "name": 'Submittable Doctype' + }).insert(ignore_if_duplicate=True) + + doc = frappe.new_doc('Submittable Doctype') + doc.save() + original_name = doc.name + + doc.submit() + doc.cancel() + cancelled_name = doc.name + self.assertEqual(cancelled_name, "{}-CANC-0".format(original_name)) + + amended_doc = frappe.copy_doc(doc) + amended_doc.docstatus = 0 + amended_doc.amended_from = doc.name + amended_doc.save() + self.assertEqual(amended_doc.name, original_name) + + amended_doc.submit() + amended_doc.cancel() + self.assertEqual(amended_doc.name, "{}-CANC-1".format(original_name)) + + submittable_doctype.delete() From 703edfed73441b80cdc735438fea685eeef9c614 Mon Sep 17 00:00:00 2001 From: ChillarAnand Date: Mon, 9 Aug 2021 11:02:40 +0530 Subject: [PATCH 0207/1383] fix: Show command and error message when an exception is raised --- frappe/handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/handler.py b/frappe/handler.py index 8d0c18a00b..9d32b0acee 100755 --- a/frappe/handler.py +++ b/frappe/handler.py @@ -53,7 +53,7 @@ def execute_cmd(cmd, from_async=False): try: method = get_attr(cmd) except Exception as e: - frappe.throw(_('Invalid Method')) + frappe.throw(_('Failed to get method for command {0} with {1}').format(cmd, e)) if from_async: method = method.queue From 716452ea698c59b5f218fc40f8b76076876e3d95 Mon Sep 17 00:00:00 2001 From: Komal-Saraf0609 Date: Mon, 9 Aug 2021 16:48:49 +0530 Subject: [PATCH 0208/1383] test: Added test case for cancel functionality --- cypress/integration/timeline.js | 42 +++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/cypress/integration/timeline.js b/cypress/integration/timeline.js index 84616cfbe6..f16def0fa1 100644 --- a/cypress/integration/timeline.js +++ b/cypress/integration/timeline.js @@ -1,3 +1,6 @@ +import custom_submittable_doctype from '../fixtures/custom_submittable_doctype'; +const doctype_name = custom_submittable_doctype.name; + context('Timeline', () => { before(() => { cy.visit('/login'); @@ -50,4 +53,43 @@ context('Timeline', () => { cy.get('.menu-btn-group > .dropdown-menu > li > .grey-link').eq(17).click({force: true}); cy.get('.modal.show > .modal-dialog > .modal-content > .modal-footer > .standard-actions > .btn-primary').contains('Yes').click({force: true}); }); + + it('Cancel functionality for timeline', () => { + cy.visit('/app/doctype'); + + //Creating custom doctype + cy.insert_doc('DocType', custom_submittable_doctype, true); + + cy.visit('/app/custom-submittable-doctype'); + cy.click_listview_primary_button('Add Custom Submittable DocType'); + + //Adding a new entry for the created custom doctype + cy.fill_field('title','Test'); + cy.get('.modal.show > .modal-dialog > .modal-content > .modal-footer > .standard-actions > .btn-primary').click(); + cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Submit').click(); + cy.visit('/app/custom-submittable-doctype'); + cy.get('.list-row > .level-left > .list-subject > .bold > .ellipsis').eq(0).click(); + + //To check if the submission of the documemt is visible in the timeline content + cy.get('.timeline-content').should('contain', 'Administrator submitted this document'); + cy.get('.page-head > .container > .row > .col > .standard-actions > .btn-secondary').contains('Cancel').click({delay: 900}); cy.get('.modal.show > .modal-dialog > .modal-content > .modal-footer > .standard-actions > .btn-primary').contains('Yes').click(); + + //To check if the cancellation of the documemt is visible in the timeline content + cy.get('.timeline-content').should('contain','Administrator cancelled this document'); + + //Deleting the document + cy.visit('/app/custom-submittable-doctype'); + cy.get('.list-row > .level-left > .list-subject > .select-like > .list-row-checkbox').eq(0).click(); + cy.get('.page-head > .container > .row > .col > .standard-actions > .actions-btn-group > .btn').contains('Actions').click(); + cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(7).click(); + cy.click_modal_primary_button('Yes', {force : true, delay: 700}); + + //Deleting the custom doctype + cy.visit('/app/doctype'); + cy.get('.list-row > .level-left > .list-subject > .select-like > .list-row-checkbox').eq(0).click(); + cy.get('.page-head > .container > .row > .col > .standard-actions > .actions-btn-group > .btn').contains('Actions').click(); + cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); + cy.click_modal_primary_button('Yes'); + + }); }); \ No newline at end of file From eb669c16f6328d68fa98e2ed1b29772a89b38ce1 Mon Sep 17 00:00:00 2001 From: Komal-Saraf0609 Date: Mon, 9 Aug 2021 17:17:27 +0530 Subject: [PATCH 0209/1383] test: fixing sider issues --- cypress/integration/timeline.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/cypress/integration/timeline.js b/cypress/integration/timeline.js index f16def0fa1..415f85da00 100644 --- a/cypress/integration/timeline.js +++ b/cypress/integration/timeline.js @@ -1,5 +1,4 @@ import custom_submittable_doctype from '../fixtures/custom_submittable_doctype'; -const doctype_name = custom_submittable_doctype.name; context('Timeline', () => { before(() => { @@ -64,7 +63,7 @@ context('Timeline', () => { cy.click_listview_primary_button('Add Custom Submittable DocType'); //Adding a new entry for the created custom doctype - cy.fill_field('title','Test'); + cy.fill_field('title', 'Test'); cy.get('.modal.show > .modal-dialog > .modal-content > .modal-footer > .standard-actions > .btn-primary').click(); cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Submit').click(); cy.visit('/app/custom-submittable-doctype'); @@ -75,21 +74,21 @@ context('Timeline', () => { cy.get('.page-head > .container > .row > .col > .standard-actions > .btn-secondary').contains('Cancel').click({delay: 900}); cy.get('.modal.show > .modal-dialog > .modal-content > .modal-footer > .standard-actions > .btn-primary').contains('Yes').click(); //To check if the cancellation of the documemt is visible in the timeline content - cy.get('.timeline-content').should('contain','Administrator cancelled this document'); + cy.get('.timeline-content').should('contain', 'Administrator cancelled this document'); //Deleting the document cy.visit('/app/custom-submittable-doctype'); cy.get('.list-row > .level-left > .list-subject > .select-like > .list-row-checkbox').eq(0).click(); cy.get('.page-head > .container > .row > .col > .standard-actions > .actions-btn-group > .btn').contains('Actions').click(); cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(7).click(); - cy.click_modal_primary_button('Yes', {force : true, delay: 700}); + cy.click_modal_primary_button('Yes', {force: true, delay: 700}); //Deleting the custom doctype cy.visit('/app/doctype'); cy.get('.list-row > .level-left > .list-subject > .select-like > .list-row-checkbox').eq(0).click(); cy.get('.page-head > .container > .row > .col > .standard-actions > .actions-btn-group > .btn').contains('Actions').click(); cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); - cy.click_modal_primary_button('Yes'); + cy.click_modal_primary_button('Yes'); }); }); \ No newline at end of file From ccfe4a857c0d1db472715dad15e94bc3d5fbc11c Mon Sep 17 00:00:00 2001 From: MitulDavid Date: Mon, 9 Aug 2021 17:28:57 +0530 Subject: [PATCH 0210/1383] refactor: Minor changes to doc image upload, UI test --- cypress/integration/file_uploader.js | 6 +++--- frappe/handler.py | 10 +++++++++- frappe/public/js/frappe/file_uploader/FilePreview.vue | 2 +- frappe/public/js/frappe/file_uploader/FileUploader.vue | 10 +++++----- frappe/public/js/frappe/file_uploader/index.js | 2 -- 5 files changed, 18 insertions(+), 12 deletions(-) diff --git a/cypress/integration/file_uploader.js b/cypress/integration/file_uploader.js index 252b768dd7..e1e232c058 100644 --- a/cypress/integration/file_uploader.js +++ b/cypress/integration/file_uploader.js @@ -63,11 +63,11 @@ context('FileUploader', () => { }); cy.get_open_dialog().find('.file-name').should('contain', 'sample_image.jpg'); - cy.get_open_dialog().find(':nth-child(1) > .file-actions > .file-action-buttons > :nth-child(1)').first().click(); + cy.get_open_dialog().find('.btn-crop').first().click(); cy.get_open_dialog().find('.image-cropper-actions > .btn-primary').should('contain', 'Crop'); cy.get_open_dialog().find('.image-cropper-actions > .btn-primary').click(); - cy.get_open_dialog().find(':nth-child(1) > :nth-child(2) > .optimize-checkbox').first().should('contain', 'Optimize'); - cy.get_open_dialog().find(':nth-child(1) > :nth-child(2) > .optimize-checkbox').first().click(); + cy.get_open_dialog().find('.optimize-checkbox').first().should('contain', 'Optimize'); + cy.get_open_dialog().find('.optimize-checkbox').first().click(); cy.intercept('POST', '/api/method/upload_file').as('upload_file'); cy.get_open_dialog().find('.btn-modal-primary').click(); diff --git a/frappe/handler.py b/frappe/handler.py index abbcb02cde..7a6a730345 100755 --- a/frappe/handler.py +++ b/frappe/handler.py @@ -157,7 +157,15 @@ def upload_file(): content_type = guess_type(filename)[0] if optimize and content_type.startswith("image/"): - content = optimize_image(content, content_type) + args = { + "content": content, + "content_type": content_type + } + if frappe.form_dict.max_width: + args["max_width"] = int(frappe.form_dict.max_width) + if frappe.form_dict.max_height: + args["max_height"] = int(frappe.form_dict.max_height) + content = optimize_image(**args) frappe.local.uploaded_file = content frappe.local.uploaded_filename = filename diff --git a/frappe/public/js/frappe/file_uploader/FilePreview.vue b/frappe/public/js/frappe/file_uploader/FilePreview.vue index 892ebcaefa..43dbacb17d 100644 --- a/frappe/public/js/frappe/file_uploader/FilePreview.vue +++ b/frappe/public/js/frappe/file_uploader/FilePreview.vue @@ -42,7 +42,7 @@

      - +

      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⋙V0FmJ7PC42{*%ZyjX@wM2R9PPN`xi)fBg&` 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

diff --git a/frappe/public/js/frappe/file_uploader/FileUploader.vue b/frappe/public/js/frappe/file_uploader/FileUploader.vue index 6ff472cb50..1a377e8b00 100644 --- a/frappe/public/js/frappe/file_uploader/FileUploader.vue +++ b/frappe/public/js/frappe/file_uploader/FileUploader.vue @@ -218,11 +218,6 @@ export default { } }); } - if(this.attach_doc_image) { - this.allow_web_link = false; - this.allow_take_photo = false; - this.google_drive_settings.enabled = false; - } }, watch: { files(newvalue, oldvalue) { @@ -486,6 +481,11 @@ export default { form_data.append('optimize', true); } + if (this.attach_doc_image) { + form_data.append('max_width', 200); + form_data.append('max_height', 200); + } + xhr.send(form_data); }); }, diff --git a/frappe/public/js/frappe/file_uploader/index.js b/frappe/public/js/frappe/file_uploader/index.js index 73b334116f..44b1fd6c39 100644 --- a/frappe/public/js/frappe/file_uploader/index.js +++ b/frappe/public/js/frappe/file_uploader/index.js @@ -28,9 +28,7 @@ export default class FileUploader { } if (attach_doc_image) { - disable_file_browser = true; restrictions.allowed_file_types = ['.jpg', '.png']; - this.dialog && this.dialog.footer.addClass('hide'); } this.$fileuploader = new Vue({ From a028e9f83005c1b0b66a225fa754e131893d7da8 Mon Sep 17 00:00:00 2001 From: Saqib Ansari Date: Mon, 9 Aug 2021 17:30:50 +0530 Subject: [PATCH 0211/1383] fix: undefined variable errorMessage --- frappe/public/js/frappe/scanner/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/scanner/index.js b/frappe/public/js/frappe/scanner/index.js index efc87f397b..54097ddde8 100644 --- a/frappe/public/js/frappe/scanner/index.js +++ b/frappe/public/js/frappe/scanner/index.js @@ -44,7 +44,7 @@ frappe.ui.Scanner = class Scanner { } ) .catch(err => { - console.warn(errorMessage); + console.error(err); }); } From d20ed0edd73b9576a428639ffe1a16cb69d14b54 Mon Sep 17 00:00:00 2001 From: Saqib Ansari Date: Mon, 9 Aug 2021 17:51:22 +0530 Subject: [PATCH 0212/1383] feat: stop scanning on dialog hide --- frappe/public/js/frappe/scanner/index.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/scanner/index.js b/frappe/public/js/frappe/scanner/index.js index 54097ddde8..9709355661 100644 --- a/frappe/public/js/frappe/scanner/index.js +++ b/frappe/public/js/frappe/scanner/index.js @@ -5,6 +5,7 @@ frappe.ui.Scanner = class Scanner { this.dialog = null; this.handler = null; this.options = options; + this.is_alive = false; if (!("multiple" in this.options)) { this.options.multiple = false; @@ -37,6 +38,7 @@ frappe.ui.Scanner = class Scanner { } if (!this.options.multiple) { this.stop_scan(); + this.hide_dialog(); } }, errorMessage => { @@ -44,14 +46,18 @@ frappe.ui.Scanner = class Scanner { } ) .catch(err => { + this.is_alive = false; console.error(err); }); + this.is_alive = true; } stop_scan() { - if (this.handler) { + if (this.handler && this.is_alive) { this.handler.stop().then(() => { + this.is_alive = false; this.$scan_area.empty(); + this.hide_dialog(); }); } } @@ -70,6 +76,9 @@ frappe.ui.Scanner = class Scanner { this.$scan_area.addClass("barcode-scanner"); this.scan_area_id = frappe.dom.set_unique_id(this.$scan_area); this.scan(); + }, + on_hide: () => { + this.stop_scan(); } }); return dialog; From 5058a77056a33048d7de4f2213e6723aebd10e0c Mon Sep 17 00:00:00 2001 From: Saqib Ansari Date: Mon, 9 Aug 2021 17:53:23 +0530 Subject: [PATCH 0213/1383] feat: handle exceptions on scan --- frappe/public/js/frappe/scanner/index.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/scanner/index.js b/frappe/public/js/frappe/scanner/index.js index 9709355661..e9adb6c41e 100644 --- a/frappe/public/js/frappe/scanner/index.js +++ b/frappe/public/js/frappe/scanner/index.js @@ -34,7 +34,11 @@ frappe.ui.Scanner = class Scanner { { fps: 10, qrbox: 250 }, (decodedText, decodedResult) => { if (this.options.on_scan) { - this.options.on_scan(decodedResult); + try { + this.options.on_scan(decodedResult); + } catch (error) { + console.error(error); + } } if (!this.options.multiple) { this.stop_scan(); From 51e45de74758035f8f3e2654935be0fb60892689 Mon Sep 17 00:00:00 2001 From: Saqib Ansari Date: Mon, 9 Aug 2021 17:55:47 +0530 Subject: [PATCH 0214/1383] feat: Barcode option for data fields --- frappe/model/__init__.py | 3 +- frappe/public/icons/timeless/symbol-defs.svg | 4 ++ frappe/public/js/frappe/form/controls/data.js | 41 +++++++++++++++++++ 3 files changed, 47 insertions(+), 1 deletion(-) diff --git a/frappe/model/__init__.py b/frappe/model/__init__.py index 362f4c79b3..1acd7ee670 100644 --- a/frappe/model/__init__.py +++ b/frappe/model/__init__.py @@ -72,7 +72,8 @@ data_field_options = ( 'Email', 'Name', 'Phone', - 'URL' + 'URL', + 'Barcode' ) default_fields = ( diff --git a/frappe/public/icons/timeless/symbol-defs.svg b/frappe/public/icons/timeless/symbol-defs.svg index 7845811627..b7fc6f0a9c 100644 --- a/frappe/public/icons/timeless/symbol-defs.svg +++ b/frappe/public/icons/timeless/symbol-defs.svg @@ -563,6 +563,10 @@ + + + diff --git a/frappe/public/js/frappe/form/controls/data.js b/frappe/public/js/frappe/form/controls/data.js index 977789fc1b..e4a7dd6d59 100644 --- a/frappe/public/js/frappe/form/controls/data.js +++ b/frappe/public/js/frappe/form/controls/data.js @@ -67,6 +67,10 @@ frappe.ui.form.ControlData = class ControlData extends frappe.ui.form.ControlInp if (this.df.options == 'URL') { this.setup_url_field(); } + + if (this.df.options == 'Barcode') { + this.setup_barcode_field(); + } } setup_url_field() { @@ -113,6 +117,43 @@ frappe.ui.form.ControlData = class ControlData extends frappe.ui.form.ControlInp }); } + setup_barcode_field() { + this.$wrapper.find('.control-input').append( + ` + + ${frappe.utils.icon('scan', 'sm')} + + ` + ); + + this.$scan_btn = this.$wrapper.find('.link-btn'); + + this.$input.on("focus", () => { + setTimeout(() => { + this.$scan_btn.toggle(true); + }, 500); + }); + + const me = this; + this.$scan_btn.on('click', 'a', () => { + new frappe.ui.Scanner({ + dialog: true, + multiple: false, + on_scan(data) { + if (data && data.result && data.result.text) { + me.set_value(data.result.text); + } + } + }); + }); + + this.$input.on("blur", () => { + setTimeout(() => { + this.$scan_btn.toggle(false); + }, 500); + }); + } + bind_change_event() { const change_handler = e => { if (this.change) this.change(e); From 99442cca4aa0a7b74a835cefbe8429a82ecb565d Mon Sep 17 00:00:00 2001 From: Saqib Ansari Date: Mon, 9 Aug 2021 18:44:24 +0530 Subject: [PATCH 0215/1383] fix: hide empty dialog if camera not found --- frappe/public/js/frappe/scanner/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/frappe/public/js/frappe/scanner/index.js b/frappe/public/js/frappe/scanner/index.js index e9adb6c41e..37b5a9eaba 100644 --- a/frappe/public/js/frappe/scanner/index.js +++ b/frappe/public/js/frappe/scanner/index.js @@ -51,6 +51,7 @@ frappe.ui.Scanner = class Scanner { ) .catch(err => { this.is_alive = false; + this.hide_dialog(); console.error(err); }); this.is_alive = true; From b46b5546f700d8f0d4a0dbe96ba06b5cd756e7e1 Mon Sep 17 00:00:00 2001 From: Komal-Saraf0609 Date: Mon, 9 Aug 2021 20:42:26 +0530 Subject: [PATCH 0216/1383] test: Corrected function description and shorten some of the selectors by removing unwanted classes --- cypress/integration/timeline.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/cypress/integration/timeline.js b/cypress/integration/timeline.js index 415f85da00..c7bbe29e5a 100644 --- a/cypress/integration/timeline.js +++ b/cypress/integration/timeline.js @@ -53,7 +53,7 @@ context('Timeline', () => { cy.get('.modal.show > .modal-dialog > .modal-content > .modal-footer > .standard-actions > .btn-primary').contains('Yes').click({force: true}); }); - it('Cancel functionality for timeline', () => { + it('Timeline should have submit and cancel activity information', () => { cy.visit('/app/doctype'); //Creating custom doctype @@ -64,31 +64,31 @@ context('Timeline', () => { //Adding a new entry for the created custom doctype cy.fill_field('title', 'Test'); - cy.get('.modal.show > .modal-dialog > .modal-content > .modal-footer > .standard-actions > .btn-primary').click(); + cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Save').click(); cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Submit').click(); cy.visit('/app/custom-submittable-doctype'); - cy.get('.list-row > .level-left > .list-subject > .bold > .ellipsis').eq(0).click(); + cy.get('.list-subject > .bold > .ellipsis').eq(0).click(); //To check if the submission of the documemt is visible in the timeline content cy.get('.timeline-content').should('contain', 'Administrator submitted this document'); - cy.get('.page-head > .container > .row > .col > .standard-actions > .btn-secondary').contains('Cancel').click({delay: 900}); cy.get('.modal.show > .modal-dialog > .modal-content > .modal-footer > .standard-actions > .btn-primary').contains('Yes').click(); + cy.get('.page-actions > .standard-actions > .btn-secondary').contains('Cancel').click({delay: 900}); + cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Yes').click(); //To check if the cancellation of the documemt is visible in the timeline content cy.get('.timeline-content').should('contain', 'Administrator cancelled this document'); //Deleting the document cy.visit('/app/custom-submittable-doctype'); - cy.get('.list-row > .level-left > .list-subject > .select-like > .list-row-checkbox').eq(0).click(); - cy.get('.page-head > .container > .row > .col > .standard-actions > .actions-btn-group > .btn').contains('Actions').click(); + cy.get('.list-subject > .select-like > .list-row-checkbox').eq(0).click(); + cy.get('.page-actions > .standard-actions > .actions-btn-group > .btn').contains('Actions').click(); cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(7).click(); cy.click_modal_primary_button('Yes', {force: true, delay: 700}); //Deleting the custom doctype cy.visit('/app/doctype'); - cy.get('.list-row > .level-left > .list-subject > .select-like > .list-row-checkbox').eq(0).click(); - cy.get('.page-head > .container > .row > .col > .standard-actions > .actions-btn-group > .btn').contains('Actions').click(); + cy.get('.list-subject > .select-like > .list-row-checkbox').eq(0).click(); + cy.get('.page-actions > .standard-actions > .actions-btn-group > .btn').contains('Actions').click(); cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); cy.click_modal_primary_button('Yes'); - }); }); \ No newline at end of file From 401b56ee391e2d0b8c050996199b0bed4db13300 Mon Sep 17 00:00:00 2001 From: MitulDavid Date: Tue, 10 Aug 2021 08:26:44 +0530 Subject: [PATCH 0217/1383] fix: Image with .jpeg extension breaks file uploader --- frappe/public/js/frappe/file_uploader/FileUploader.vue | 2 +- frappe/public/js/frappe/file_uploader/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/public/js/frappe/file_uploader/FileUploader.vue b/frappe/public/js/frappe/file_uploader/FileUploader.vue index 1a377e8b00..90aa545941 100644 --- a/frappe/public/js/frappe/file_uploader/FileUploader.vue +++ b/frappe/public/js/frappe/file_uploader/FileUploader.vue @@ -294,7 +294,7 @@ export default { } }); this.files = this.files.concat(files); - if(this.attach_doc_image) { + if(this.files.length != 0 && this.attach_doc_image) { this.toggle_image_cropper(0); } }, diff --git a/frappe/public/js/frappe/file_uploader/index.js b/frappe/public/js/frappe/file_uploader/index.js index 44b1fd6c39..daad9857ee 100644 --- a/frappe/public/js/frappe/file_uploader/index.js +++ b/frappe/public/js/frappe/file_uploader/index.js @@ -28,7 +28,7 @@ export default class FileUploader { } if (attach_doc_image) { - restrictions.allowed_file_types = ['.jpg', '.png']; + restrictions.allowed_file_types = ['.jpg', '.jpeg', '.png']; } this.$fileuploader = new Vue({ From 291d7b0f16db00b89ec765fd5376b2d58fad0762 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 10 Aug 2021 10:13:19 +0530 Subject: [PATCH 0218/1383] fix: Call is_rtl function to get the actual value --- frappe/utils/pdf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/utils/pdf.py b/frappe/utils/pdf.py index 9cbece5dbe..fc82bc2749 100644 --- a/frappe/utils/pdf.py +++ b/frappe/utils/pdf.py @@ -179,7 +179,7 @@ def prepare_header_footer(soup): "html_id": html_id, "css": css, "lang": frappe.local.lang, - "layout_direction": "rtl" if is_rtl else "ltr" + "layout_direction": "rtl" if is_rtl() else "ltr" }) # create temp file From 256b678d8a9e159df85cc494c5ad659e3f6de7fa Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 10 Aug 2021 10:45:21 +0530 Subject: [PATCH 0219/1383] fix: removed padding tune & some minor UX fixes --- .../js/frappe/views/workspace/blocks/block.js | 36 -- .../js/frappe/views/workspace/blocks/card.js | 8 - .../js/frappe/views/workspace/blocks/chart.js | 8 - .../frappe/views/workspace/blocks/header.js | 18 +- .../views/workspace/blocks/onboarding.js | 12 - .../views/workspace/blocks/paragraph.js | 12 - .../frappe/views/workspace/blocks/shortcut.js | 8 - .../frappe/views/workspace/blocks/spacer.js | 10 +- .../views/workspace/blocks/spacing_tune.js | 445 +----------------- .../js/frappe/views/workspace/workspace.js | 2 +- frappe/public/scss/desk/desktop.scss | 10 +- 11 files changed, 13 insertions(+), 556 deletions(-) diff --git a/frappe/public/js/frappe/views/workspace/blocks/block.js b/frappe/public/js/frappe/views/workspace/blocks/block.js index fd8ad9f45f..aed3c2f727 100644 --- a/frappe/public/js/frappe/views/workspace/blocks/block.js +++ b/frappe/public/js/frappe/views/workspace/blocks/block.js @@ -31,10 +31,6 @@ export default class Block { rendered() { var e = this.wrapper.closest('.ce-block'); e.classList.add("col-" + this.get_col()); - e.classList.add("pt-" + this.pt); - e.classList.add("pr-" + this.pr); - e.classList.add("pb-" + this.pb); - e.classList.add("pl-" + this.pl); } new(block, widget_type = block) { @@ -116,36 +112,4 @@ export default class Block { } return col; } - - get_padding() { - let direction = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "l"; - let padding = 0; - let pad_name = "p" + direction + "-0"; - let wrapper = this.wrapper.closest('.ce-block'); - let pad_left = new RegExp(/\pl-.+?\b/, "g"); - let pad_right = new RegExp(/\pr-.+?\b/, "g"); - let pad_top = new RegExp(/\pt-.+?\b/, "g"); - let pad_bottom = new RegExp(/\pb-.+?\b/, "g"); - - const get_padding = (pad_direction) => { - if (wrapper.className.match(pad_direction)) { - wrapper.classList.forEach(function (cn) { - cn.match(pad_direction) && (pad_name = cn); - }); - let parts = pad_name.split("-"); - padding = parseInt(parts[1]); - } - }; - - if ("l" == direction) { - get_padding(pad_left); - } else if ("r" == direction) { - get_padding(pad_right); - } else if ("t" == direction) { - get_padding(pad_top); - } else if ("b" == direction) { - get_padding(pad_bottom); - } - return padding; - } } \ No newline at end of file diff --git a/frappe/public/js/frappe/views/workspace/blocks/card.js b/frappe/public/js/frappe/views/workspace/blocks/card.js index 269952b504..975b32eea7 100644 --- a/frappe/public/js/frappe/views/workspace/blocks/card.js +++ b/frappe/public/js/frappe/views/workspace/blocks/card.js @@ -15,10 +15,6 @@ export default class Card extends Block { super({ data, api, config, readOnly, block }); this.sections = {}; this.col = this.data.col ? this.data.col : "12"; - this.pt = this.data.pt ? this.data.pt : "0"; - this.pr = this.data.pr ? this.data.pr : "0"; - this.pb = this.data.pb ? this.data.pb : "0"; - this.pl = this.data.pl ? this.data.pl : "0"; this.allow_customization = !this.readOnly; this.options = { allow_sorting: this.allow_customization, @@ -57,10 +53,6 @@ export default class Card extends Block { return { card_name: blockContent.getAttribute('card_name'), col: this.get_col(), - pt: this.get_padding("t"), - pr: this.get_padding("r"), - pb: this.get_padding("b"), - pl: this.get_padding("l"), new: this.new_block_widget }; } diff --git a/frappe/public/js/frappe/views/workspace/blocks/chart.js b/frappe/public/js/frappe/views/workspace/blocks/chart.js index 30a576d0a9..e41063e6fc 100644 --- a/frappe/public/js/frappe/views/workspace/blocks/chart.js +++ b/frappe/public/js/frappe/views/workspace/blocks/chart.js @@ -14,10 +14,6 @@ export default class Chart extends Block { constructor({ data, api, config, readOnly, block }) { super({ data, api, config, readOnly, block }); this.col = this.data.col ? this.data.col : "12"; - this.pt = this.data.pt ? this.data.pt : "0"; - this.pr = this.data.pr ? this.data.pr : "0"; - this.pb = this.data.pb ? this.data.pb : "0"; - this.pl = this.data.pl ? this.data.pl : "0"; this.allow_customization = !this.readOnly; this.options = { allow_sorting: this.allow_customization, @@ -57,10 +53,6 @@ export default class Chart extends Block { return { chart_name: blockContent.getAttribute('chart_name'), col: this.get_col(), - pt: this.get_padding("t"), - pr: this.get_padding("r"), - pb: this.get_padding("b"), - pl: this.get_padding("l"), new: this.new_block_widget }; } diff --git a/frappe/public/js/frappe/views/workspace/blocks/header.js b/frappe/public/js/frappe/views/workspace/blocks/header.js index 0f03437298..356f9c3244 100644 --- a/frappe/public/js/frappe/views/workspace/blocks/header.js +++ b/frappe/public/js/frappe/views/workspace/blocks/header.js @@ -18,10 +18,6 @@ export default class Header extends Block { this.data = data; this.col = this.data.col ? this.data.col : "12"; - this.pt = this.data.pt ? this.data.pt : "0"; - this.pr = this.data.pr ? this.data.pr : "0"; - this.pb = this.data.pb ? this.data.pb : "0"; - this.pl = this.data.pl ? this.data.pl : "0"; } normalizeData(data) { @@ -34,10 +30,6 @@ export default class Header extends Block { newData.text = data.text || ''; newData.level = parseInt(data.level) || this.defaultLevel.number; newData.col = parseInt(data.col) || 12; - newData.pt = parseInt(data.pt) || 0; - newData.pr = parseInt(data.pr) || 0; - newData.pb = parseInt(data.pb) || 0; - newData.pl = parseInt(data.pl) || 0; return newData; } @@ -159,21 +151,13 @@ export default class Header extends Block { return { text: toolsContent.innerText, level: this.currentLevel.number, - col: this.get_col(), - pt: this.get_padding("t"), - pr: this.get_padding("r"), - pb: this.get_padding("b"), - pl: this.get_padding("l") + col: this.get_col() }; } rendered() { var e = this._element.closest('.ce-block'); e.classList.add("col-" + this.get_col()); - e.classList.add("pt-" + this.pt); - e.classList.add("pr-" + this.pr); - e.classList.add("pb-" + this.pb); - e.classList.add("pl-" + this.pl); } static get conversionConfig() { diff --git a/frappe/public/js/frappe/views/workspace/blocks/onboarding.js b/frappe/public/js/frappe/views/workspace/blocks/onboarding.js index a73f4f6b0e..7176b7726d 100644 --- a/frappe/public/js/frappe/views/workspace/blocks/onboarding.js +++ b/frappe/public/js/frappe/views/workspace/blocks/onboarding.js @@ -15,10 +15,6 @@ export default class Onboarding extends Block { constructor({ data, api, config, readOnly, block }) { super({ data, api, config, readOnly, block }); this.col = this.data.col ? this.data.col : "12"; - this.pt = this.data.pt ? this.data.pt : "0"; - this.pr = this.data.pr ? this.data.pr : "0"; - this.pb = this.data.pb ? this.data.pb : "0"; - this.pl = this.data.pl ? this.data.pl : "0"; this.allow_customization = !this.readOnly; this.options = { allow_sorting: this.allow_customization, @@ -35,10 +31,6 @@ export default class Onboarding extends Block { $(e).hide(); } e.classList.add("col-" + this.get_col()); - e.classList.add("pt-" + this.pt); - e.classList.add("pr-" + this.pr); - e.classList.add("pb-" + this.pb); - e.classList.add("pl-" + this.pl); } new(block, widget_type = block) { @@ -131,10 +123,6 @@ export default class Onboarding extends Block { return { onboarding_name: blockContent.getAttribute('onboarding_name'), col: this.get_col(), - pt: this.get_padding("t"), - pr: this.get_padding("r"), - pb: this.get_padding("b"), - pl: this.get_padding("l"), new: this.new_block_widget }; } diff --git a/frappe/public/js/frappe/views/workspace/blocks/paragraph.js b/frappe/public/js/frappe/views/workspace/blocks/paragraph.js index 9ee6d4bd03..b594f3459a 100644 --- a/frappe/public/js/frappe/views/workspace/blocks/paragraph.js +++ b/frappe/public/js/frappe/views/workspace/blocks/paragraph.js @@ -24,10 +24,6 @@ export default class Paragraph extends Block { this.data = data; this.col = this.data.col ? this.data.col : "12"; - this.pt = this.data.pt ? this.data.pt : "0"; - this.pr = this.data.pr ? this.data.pr : "0"; - this.pb = this.data.pb ? this.data.pb : "0"; - this.pl = this.data.pl ? this.data.pl : "0"; } onKeyUp(e) { @@ -132,20 +128,12 @@ export default class Paragraph extends Block { return { text: toolsContent.innerText, col: this.get_col(), - pt: this.get_padding("t"), - pr: this.get_padding("r"), - pb: this.get_padding("b"), - pl: this.get_padding("l") }; } rendered() { var e = this._element.closest('.ce-block'); e.classList.add("col-" + this.get_col()); - e.classList.add("pt-" + this.pt); - e.classList.add("pr-" + this.pr); - e.classList.add("pb-" + this.pb); - e.classList.add("pl-" + this.pl); } onPaste(event) { diff --git a/frappe/public/js/frappe/views/workspace/blocks/shortcut.js b/frappe/public/js/frappe/views/workspace/blocks/shortcut.js index 1701431899..0943de202d 100644 --- a/frappe/public/js/frappe/views/workspace/blocks/shortcut.js +++ b/frappe/public/js/frappe/views/workspace/blocks/shortcut.js @@ -14,10 +14,6 @@ export default class Shortcut extends Block { constructor({ data, api, config, readOnly, block }) { super({ data, api, config, readOnly, block }); this.col = this.data.col ? this.data.col : "12"; - this.pt = this.data.pt ? this.data.pt : "0"; - this.pr = this.data.pr ? this.data.pr : "0"; - this.pb = this.data.pb ? this.data.pb : "0"; - this.pl = this.data.pl ? this.data.pl : "0"; this.allow_customization = !this.readOnly; this.options = { allow_sorting: this.allow_customization, @@ -55,10 +51,6 @@ export default class Shortcut extends Block { return { shortcut_name: blockContent.getAttribute('shortcut_name'), col: this.get_col(), - pt: this.get_padding("t"), - pr: this.get_padding("r"), - pb: this.get_padding("b"), - pl: this.get_padding("l"), new: this.new_block_widget }; } diff --git a/frappe/public/js/frappe/views/workspace/blocks/spacer.js b/frappe/public/js/frappe/views/workspace/blocks/spacer.js index 5994d49057..3309cad4a4 100644 --- a/frappe/public/js/frappe/views/workspace/blocks/spacer.js +++ b/frappe/public/js/frappe/views/workspace/blocks/spacer.js @@ -14,10 +14,6 @@ export default class Spacer extends Block { constructor({ data, api, config, readOnly }) { super({ data, api, config, readOnly }); this.col = this.data.col ? this.data.col : "12"; - this.pt = this.data.pt ? this.data.pt : "0"; - this.pr = this.data.pr ? this.data.pr : "0"; - this.pb = this.data.pb ? this.data.pb : "0"; - this.pl = this.data.pl ? this.data.pl : "0"; } render() { @@ -80,11 +76,7 @@ export default class Spacer extends Block { save() { return { - col: this.get_col(), - pt: this.get_padding("t"), - pr: this.get_padding("r"), - pb: this.get_padding("b"), - pl: this.get_padding("l") + col: this.get_col() }; } } \ No newline at end of file diff --git a/frappe/public/js/frappe/views/workspace/blocks/spacing_tune.js b/frappe/public/js/frappe/views/workspace/blocks/spacing_tune.js index d69f39c875..8c4839d484 100644 --- a/frappe/public/js/frappe/views/workspace/blocks/spacing_tune.js +++ b/frappe/public/js/frappe/views/workspace/blocks/spacing_tune.js @@ -12,7 +12,7 @@ export default class SpacingTune { sidebar: 'cdx-settings-sidebar', animation: 'wobble', }; - this.data = { colWidth: 12, pl: 0, pr: 0, pt: 0, pb: 0 }; + this.data = { colWidth: 12 }; this.wrapper = undefined; this.sidebar = undefined; } @@ -25,27 +25,10 @@ export default class SpacingTune { decreaseWidthButton.classList.add(this.CSS.button); let increaseWidthButton = document.createElement('div'); increaseWidthButton.classList.add(this.CSS.button); - let paddingButton = document.createElement('div'); - paddingButton.classList.add(this.CSS.button); - layoutWrapper.appendChild(paddingButton); layoutWrapper.appendChild(decreaseWidthButton); layoutWrapper.appendChild(increaseWidthButton); - // paddingButton.appendChild($.svg('padding', 15, 15)); - paddingButton.innerHTML = ``; - this.api.tooltip.onHover(paddingButton, 'Padding', { - placement: 'top', - hidingDelay: 500, - }); - this.api.listeners.on( - paddingButton, - 'click', - () => me.showPadding(paddingButton), - false - ); - - // decreaseWidthButton.appendChild($.svg('decrease-width', 15, 15)); decreaseWidthButton.innerHTML = ``; this.api.tooltip.onHover(decreaseWidthButton, 'Shrink', { placement: 'top', @@ -58,7 +41,6 @@ export default class SpacingTune { false ); - // increaseWidthButton.appendChild(); increaseWidthButton.innerHTML = ``; this.api.tooltip.onHover(increaseWidthButton, 'Expand', { placement: 'top', @@ -89,7 +71,6 @@ export default class SpacingTune { let currentBlockElement = currentBlock.holder; - // let block = this.api.blocks.getBlock(currentBlockElement); let className = 'col-12'; let colClass = new RegExp(/\bcol-.+?\b/, 'g'); if (currentBlockElement.className.match(colClass)) { @@ -122,7 +103,6 @@ export default class SpacingTune { const currentBlockElement = currentBlock.holder; - // let block = this.api.blocks.getBlock(currentBlockElement); let className = 'col-12'; const colClass = new RegExp(/\bcol-.+?\b/, 'g'); if (currentBlockElement.className.match(colClass)) { @@ -140,427 +120,4 @@ export default class SpacingTune { } } } - - showPadding(button) { - let me = this; - if (button.classList.contains('cdx-settings-button--active')) { - this.sidebar.remove(); - button.classList.remove('cdx-settings-button--active'); - } else { - button.classList.add('cdx-settings-button--active'); - - let sidebarWrapper = document.createElement('div'); - sidebarWrapper.classList.add(this.CSS.sidebar); - - let paddingLeftCaption = document.createElement('button'); - paddingLeftCaption.classList.add(this.CSS.button, 'disabled'); - // paddingLeftCaption.appendChild($.svg('arrow-left', 10, 10)); - paddingLeftCaption.innerHTML = ``; - - let paddingRightCaption = document.createElement('button'); - paddingRightCaption.classList.add(this.CSS.button, 'disabled'); - // paddingRightCaption.appendChild($.svg('arrow-right', 10, 10)); - paddingRightCaption.innerHTML = ``; - - let paddingTopCaption = document.createElement('button'); - paddingTopCaption.classList.add(this.CSS.button, 'disabled'); - // paddingTopCaption.appendChild($.svg('arrow-up', 10, 10)); - paddingTopCaption.innerHTML = ``; - - let paddingBottomCaption = document.createElement('button'); - paddingBottomCaption.classList.add(this.CSS.button, 'disabled'); - // paddingBottomCaption.appendChild($.svg('arrow-down', 10, 10)); - paddingBottomCaption.innerHTML = ``; - - let increasePaddingLeft = document.createElement('button'); - increasePaddingLeft.classList.add(this.CSS.button); - - let decreasePaddingLeft = document.createElement('button'); - decreasePaddingLeft.classList.add(this.CSS.button); - - let increasePaddingRight = document.createElement('button'); - increasePaddingRight.classList.add(this.CSS.button); - - let decreasePaddingRight = document.createElement('button'); - decreasePaddingRight.classList.add(this.CSS.button); - - let increasePaddingTop = document.createElement('button'); - increasePaddingTop.classList.add(this.CSS.button); - - let decreasePaddingTop = document.createElement('button'); - decreasePaddingTop.classList.add(this.CSS.button); - - let increasePaddingBottom = document.createElement('button'); - increasePaddingBottom.classList.add(this.CSS.button); - - let decreasePaddingBottom = document.createElement('button'); - decreasePaddingBottom.classList.add(this.CSS.button); - - this.sidebar = sidebarWrapper; - - // Left Padding - sidebarWrapper.appendChild(paddingLeftCaption); - - // increasePaddingLeft.appendChild($.svg('plus', 15, 15)); - increasePaddingLeft.innerHTML = ``; - - this.api.listeners.on( - increasePaddingLeft, - 'click', - () => me.increasePaddingLeft(), - false - ); - sidebarWrapper.appendChild(increasePaddingLeft); - - // decreasePaddingLeft.appendChild($.svg('minus', 15, 15)); - decreasePaddingLeft.innerHTML = ``; - - this.api.listeners.on( - decreasePaddingLeft, - 'click', - () => me.decreasePaddingLeft(), - false - ); - sidebarWrapper.appendChild(decreasePaddingLeft); - - // Right Padding - sidebarWrapper.appendChild(paddingRightCaption); - // increasePaddingRight.appendChild($.svg('plus', 15, 15)); - increasePaddingRight.innerHTML = ``; - - this.api.listeners.on( - increasePaddingRight, - 'click', - () => me.increasePaddingRight(), - false - ); - sidebarWrapper.appendChild(increasePaddingRight); - - // decreasePaddingRight.appendChild($.svg('minus', 15, 15)); - decreasePaddingRight.innerHTML = ``; - - this.api.listeners.on( - decreasePaddingRight, - 'click', - () => me.decreasePaddingRight(), - false - ); - sidebarWrapper.appendChild(decreasePaddingRight); - - // Top Padding - sidebarWrapper.appendChild(paddingTopCaption); - // increasePaddingTop.appendChild($.svg('plus', 15, 15)); - increasePaddingTop.innerHTML = ``; - - this.api.listeners.on( - increasePaddingTop, - 'click', - () => me.increasePaddingTop(), - false - ); - sidebarWrapper.appendChild(increasePaddingTop); - - // decreasePaddingTop.appendChild($.svg('minus', 15, 15)); - decreasePaddingTop.innerHTML = ``; - - this.api.listeners.on( - decreasePaddingTop, - 'click', - () => me.decreasePaddingTop(), - false - ); - sidebarWrapper.appendChild(decreasePaddingTop); - - // Bottom Padding - sidebarWrapper.appendChild(paddingBottomCaption); - // increasePaddingBottom.appendChild($.svg('plus', 15, 15)); - increasePaddingBottom.innerHTML = ``; - - this.api.listeners.on( - increasePaddingBottom, - 'click', - () => me.increasePaddingBottom(), - false - ); - sidebarWrapper.appendChild(increasePaddingBottom); - - // decreasePaddingBottom.appendChild($.svg('minus', 15, 15)); - decreasePaddingBottom.innerHTML = ``; - - this.api.listeners.on( - decreasePaddingBottom, - 'click', - () => me.decreasePaddingBottom(), - false - ); - sidebarWrapper.appendChild(decreasePaddingBottom); - - this.wrapper.appendChild(sidebarWrapper); - } - } - - increasePaddingLeft() { - const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); - - if (currentBlockIndex < 0) { - return; - } - - const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); - if (!currentBlock) { - return; - } - - const currentBlockElement = currentBlock.holder; - - // let block = this.api.blocks.getBlock(currentBlockElement); - let className = 'pl-0'; - const paddingClass = new RegExp(/\pl-.+?\b/, 'g'); - if (currentBlockElement.className.match(paddingClass)) { - currentBlockElement.classList.forEach( cn => { - if (cn.match(paddingClass)) { - className = cn; - } - }); - let parts = className.split('-'); - let padding = parseInt(parts[1]); - if (padding <= 4) { - currentBlockElement.classList.remove('pl-'+padding); - padding = padding + 1; - currentBlockElement.classList.add('pl-'+padding); - } - } - - } - - decreasePaddingLeft() { - const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); - - if (currentBlockIndex < 0) { - return; - } - - const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); - if (!currentBlock) { - return; - } - - const currentBlockElement = currentBlock.holder; - - // let block = this.api.blocks.getBlock(currentBlockElement); - let className = 'pl-0'; - const paddingClass = new RegExp(/\pl-.+?\b/, 'g'); - if (currentBlockElement.className.match(paddingClass)) { - currentBlockElement.classList.forEach( cn => { - if (cn.match(paddingClass)) { - className = cn; - } - }); - let parts = className.split('-'); - let padding = parseInt(parts[1]); - if (padding >= 1) { - currentBlockElement.classList.remove('pl-'+padding); - padding = padding - 1; - currentBlockElement.classList.add('pl-'+padding); - } - } - } - - increasePaddingRight() { - const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); - - if (currentBlockIndex < 0) { - return; - } - - const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); - if (!currentBlock) { - return; - } - - const currentBlockElement = currentBlock.holder; - - // let block = this.api.blocks.getBlock(currentBlockElement); - let className = 'pr-0'; - const paddingClass = new RegExp(/\pr-.+?\b/, 'g'); - if (currentBlockElement.className.match(paddingClass)) { - currentBlockElement.classList.forEach( cn => { - if (cn.match(paddingClass)) { - className = cn; - } - }); - let parts = className.split('-'); - let padding = parseInt(parts[1]); - if (padding <= 4) { - currentBlockElement.classList.remove('pr-'+padding); - padding = padding + 1; - currentBlockElement.classList.add('pr-'+padding); - } - } - } - - decreasePaddingRight() { - const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); - - if (currentBlockIndex < 0) { - return; - } - - const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); - if (!currentBlock) { - return; - } - - const currentBlockElement = currentBlock.holder; - - // let block = this.api.blocks.getBlock(currentBlockElement); - let className = 'pr-0'; - const paddingClass = new RegExp(/\pr-.+?\b/, 'g'); - if (currentBlockElement.className.match(paddingClass)) { - currentBlockElement.classList.forEach( cn => { - if (cn.match(paddingClass)) { - className = cn; - } - }); - let parts = className.split('-'); - let padding = parseInt(parts[1]); - if (padding >= 1) { - currentBlockElement.classList.remove('pr-'+padding); - padding = padding - 1; - currentBlockElement.classList.add('pr-'+padding); - } - } - } - - increasePaddingTop() { - const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); - - if (currentBlockIndex < 0) { - return; - } - - const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); - if (!currentBlock) { - return; - } - - const currentBlockElement = currentBlock.holder; - - // let block = this.api.blocks.getBlock(currentBlockElement); - let className = 'pt-0'; - const paddingClass = new RegExp(/\pt-.+?\b/, 'g'); - if (currentBlockElement.className.match(paddingClass)) { - currentBlockElement.classList.forEach( cn => { - if (cn.match(paddingClass)) { - className = cn; - } - }); - let parts = className.split('-'); - let padding = parseInt(parts[1]); - if (padding <= 4) { - currentBlockElement.classList.remove('pt-'+padding); - padding = padding + 1; - currentBlockElement.classList.add('pt-'+padding); - } - } - } - - decreasePaddingTop() { - const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); - - if (currentBlockIndex < 0) { - return; - } - - const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); - if (!currentBlock) { - return; - } - - const currentBlockElement = currentBlock.holder; - - // let block = this.api.blocks.getBlock(currentBlockElement); - let className = 'pt-0'; - const paddingClass = new RegExp(/\pt-.+?\b/, 'g'); - if (currentBlockElement.className.match(paddingClass)) { - currentBlockElement.classList.forEach( cn => { - if (cn.match(paddingClass)) { - className = cn; - } - }); - let parts = className.split('-'); - let padding = parseInt(parts[1]); - if (padding >= 1) { - currentBlockElement.classList.remove('pt-'+padding); - padding = padding - 1; - currentBlockElement.classList.add('pt-'+padding); - } - } - } - - increasePaddingBottom() { - const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); - - if (currentBlockIndex < 0) { - return; - } - - const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); - if (!currentBlock) { - return; - } - - const currentBlockElement = currentBlock.holder; - - // let block = this.api.blocks.getBlock(currentBlockElement); - let className = 'pb-0'; - const paddingClass = new RegExp(/\pb-.+?\b/, 'g'); - if (currentBlockElement.className.match(paddingClass)) { - currentBlockElement.classList.forEach( cn => { - if (cn.match(paddingClass)) { - className = cn; - } - }); - let parts = className.split('-'); - let padding = parseInt(parts[1]); - if (padding <= 4) { - currentBlockElement.classList.remove('pb-'+padding); - padding = padding + 1; - currentBlockElement.classList.add('pb-'+padding); - } - } - } - - decreasePaddingBottom() { - const currentBlockIndex = this.api.blocks.getCurrentBlockIndex(); - - if (currentBlockIndex < 0) { - return; - } - - const currentBlock = this.api.blocks.getBlockByIndex(currentBlockIndex); - if (!currentBlock) { - return; - } - - const currentBlockElement = currentBlock.holder; - - // let block = this.api.blocks.getBlock(currentBlockElement); - let className = 'pb-0'; - const paddingClass = new RegExp(/\pb-.+?\b/, 'g'); - if (currentBlockElement.className.match(paddingClass)) { - currentBlockElement.classList.forEach( cn => { - if (cn.match(paddingClass)) { - className = cn; - } - }); - let parts = className.split('-'); - let padding = parseInt(parts[1]); - if (padding >= 1) { - currentBlockElement.classList.remove('pb-'+padding); - padding = padding - 1; - currentBlockElement.classList.add('pb-'+padding); - } - } - } } \ No newline at end of file diff --git a/frappe/public/js/frappe/views/workspace/workspace.js b/frappe/public/js/frappe/views/workspace/workspace.js index e315704e3d..43639c2f4a 100644 --- a/frappe/public/js/frappe/views/workspace/workspace.js +++ b/frappe/public/js/frappe/views/workspace/workspace.js @@ -418,7 +418,7 @@ frappe.views.Workspace = class Workspace { me.editor.blocks.insert(key, {}, {}, index, true); me.editor.caret.setToLastBlock('start', 0); $('.ce-block:last-child')[0].scrollIntoView(); - }, `${frappe.utils.icon('small-add', 'xs')} ${__('Add Block')}`); + }, __('Add Block')); }); } diff --git a/frappe/public/scss/desk/desktop.scss b/frappe/public/scss/desk/desktop.scss index 88dd7e14c2..0db526978f 100644 --- a/frappe/public/scss/desk/desktop.scss +++ b/frappe/public/scss/desk/desktop.scss @@ -983,7 +983,15 @@ body { .ce-settings { width: fit-content; - + + .ce-settings__button, .cdx-settings-button { + color: #707684; + } + + .cdx-settings-button--active { + color: #388ae5; + } + .cdx-settings-button.disabled{ pointer-events: none; opacity: .5 From ed99915a7909e0cb53d910409531fbc13a9a1ce7 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 10 Aug 2021 11:20:23 +0530 Subject: [PATCH 0220/1383] refactor: Refactored code --- frappe/public/js/frappe/form/controls/base_control.js | 6 +----- frappe/public/js/frappe/form/controls/datetime.js | 3 ++- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/frappe/public/js/frappe/form/controls/base_control.js b/frappe/public/js/frappe/form/controls/base_control.js index 7977458ad7..d6c268a28a 100644 --- a/frappe/public/js/frappe/form/controls/base_control.js +++ b/frappe/public/js/frappe/form/controls/base_control.js @@ -160,11 +160,7 @@ frappe.ui.form.Control = class BaseControl { validate_and_set_in_model(value, e) { var me = this; let force_value_set = (this.doc && this.doc.__run_link_triggers); - let model_value = this.get_model_value(); - - model_value = this.parse_model_value && this.parse_model_value(model_value); - - let is_value_same = (model_value === value); + let is_value_same = (this.get_model_value() === value); if (this.inside_change_event || (!force_value_set && is_value_same)) { return Promise.resolve(); diff --git a/frappe/public/js/frappe/form/controls/datetime.js b/frappe/public/js/frappe/form/controls/datetime.js index 7a3cef2304..3fb00a6f26 100644 --- a/frappe/public/js/frappe/form/controls/datetime.js +++ b/frappe/public/js/frappe/form/controls/datetime.js @@ -37,7 +37,8 @@ frappe.ui.form.ControlDatetime = class ControlDatetime extends frappe.ui.form.Co } } - parse_model_value(value) { + get_model_value() { + let value = super.get_model_value() return frappe.datetime.get_datetime_as_string(value); } }; From 9da6fcadc8b1062afd14d4c6943a8f1a2d07e7eb Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 10 Aug 2021 11:31:16 +0530 Subject: [PATCH 0221/1383] fix: sider fix --- frappe/public/js/frappe/form/controls/datetime.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/controls/datetime.js b/frappe/public/js/frappe/form/controls/datetime.js index 3fb00a6f26..f7a2798a99 100644 --- a/frappe/public/js/frappe/form/controls/datetime.js +++ b/frappe/public/js/frappe/form/controls/datetime.js @@ -38,7 +38,7 @@ frappe.ui.form.ControlDatetime = class ControlDatetime extends frappe.ui.form.Co } get_model_value() { - let value = super.get_model_value() + let value = super.get_model_value(); return frappe.datetime.get_datetime_as_string(value); } }; From 5bed8031a2c233d859ff0ea4df6df6842254cf36 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 10 Aug 2021 17:52:42 +0530 Subject: [PATCH 0222/1383] fix: removed padding code from wspace json files & patch --- frappe/automation/workspace/tools/tools.json | 2 +- frappe/core/workspace/build/build.json | 2 +- frappe/core/workspace/settings/settings.json | 2 +- frappe/core/workspace/users/users.json | 2 +- .../workspace/customization/customization.json | 2 +- .../workspace/integrations/integrations.json | 2 +- frappe/patches/v13_0/update_workspace2.py | 16 ++++++++-------- .../views/workspace/blocks/spacing_tune.js | 4 ++-- frappe/website/workspace/website/website.json | 2 +- 9 files changed, 17 insertions(+), 17 deletions(-) diff --git a/frappe/automation/workspace/tools/tools.json b/frappe/automation/workspace/tools/tools.json index f3b9e881b0..f556be1c07 100644 --- a/frappe/automation/workspace/tools/tools.json +++ b/frappe/automation/workspace/tools/tools.json @@ -1,7 +1,7 @@ { "category": "", "charts": [], - "content": "[{\"type\": \"header\", \"data\": {\"text\": \"Your Shortcuts\", \"level\": 4, \"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"ToDo\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Note\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"File\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Assignment Rule\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Auto Repeat\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"spacer\", \"data\": {\"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"header\", \"data\": {\"text\": \"Reports & Masters\", \"level\": 4, \"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Tools\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Email\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Automation\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Event Streaming\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}]", + "content": "[{\"type\": \"header\", \"data\": {\"text\": \"Your Shortcuts\", \"level\": 4, \"col\": 12}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"ToDo\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Note\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"File\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Assignment Rule\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Auto Repeat\", \"col\": 4}}, {\"type\": \"spacer\", \"data\": {\"col\": 12}}, {\"type\": \"header\", \"data\": {\"text\": \"Reports & Masters\", \"level\": 4, \"col\": 12}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Tools\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Email\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Automation\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Event Streaming\", \"col\": 4}}]", "creation": "2020-03-02 14:53:24.980279", "developer_mode_only": 0, "disable_user_customization": 0, diff --git a/frappe/core/workspace/build/build.json b/frappe/core/workspace/build/build.json index 22384369e3..464052ba39 100644 --- a/frappe/core/workspace/build/build.json +++ b/frappe/core/workspace/build/build.json @@ -2,7 +2,7 @@ "cards_label": "Elements", "category": "", "charts": [], - "content": "[{\"type\": \"header\", \"data\": {\"text\": \"Your Shortcuts\", \"level\": 4, \"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"DocType\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Workspace\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Report\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"spacer\", \"data\": {\"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"header\", \"data\": {\"text\": \"Elements\", \"level\": 4, \"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Modules\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Models\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Views\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Scripting\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}]", + "content": "[{\"type\": \"header\", \"data\": {\"text\": \"Your Shortcuts\", \"level\": 4, \"col\": 12}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"DocType\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Workspace\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Report\", \"col\": 4}}, {\"type\": \"spacer\", \"data\": {\"col\": 12}}, {\"type\": \"header\", \"data\": {\"text\": \"Elements\", \"level\": 4, \"col\": 12}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Modules\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Models\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Views\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Scripting\", \"col\": 4}}]", "creation": "2021-01-02 10:51:16.579957", "developer_mode_only": 0, "disable_user_customization": 0, diff --git a/frappe/core/workspace/settings/settings.json b/frappe/core/workspace/settings/settings.json index 24c19d3a95..93a6c81c90 100644 --- a/frappe/core/workspace/settings/settings.json +++ b/frappe/core/workspace/settings/settings.json @@ -1,7 +1,7 @@ { "category": "", "charts": [], - "content": "[{\"type\": \"header\", \"data\": {\"text\": \"Settings\", \"level\": 4, \"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"System Settings\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Print Settings\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Website Settings\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"spacer\", \"data\": {\"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"header\", \"data\": {\"text\": \"Reports & Masters\", \"level\": 4, \"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Data\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Email / Notifications\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Website\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Core\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Printing\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Workflow\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}]", + "content": "[{\"type\": \"header\", \"data\": {\"text\": \"Settings\", \"level\": 4, \"col\": 12}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"System Settings\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Print Settings\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Website Settings\", \"col\": 4}}, {\"type\": \"spacer\", \"data\": {\"col\": 12}}, {\"type\": \"header\", \"data\": {\"text\": \"Reports & Masters\", \"level\": 4, \"col\": 12}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Data\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Email / Notifications\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Website\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Core\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Printing\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Workflow\", \"col\": 4}}]", "creation": "2020-03-02 15:09:40.527211", "developer_mode_only": 0, "disable_user_customization": 0, diff --git a/frappe/core/workspace/users/users.json b/frappe/core/workspace/users/users.json index d4086b9c23..09a835ea2c 100644 --- a/frappe/core/workspace/users/users.json +++ b/frappe/core/workspace/users/users.json @@ -1,7 +1,7 @@ { "category": "", "charts": [], - "content": "[{\"type\": \"header\", \"data\": {\"text\": \"Your Shortcuts\", \"level\": 4, \"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"User\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Role\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Permission Manager\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"User Profile\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"User Type\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"spacer\", \"data\": {\"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"header\", \"data\": {\"text\": \"Reports & Masters\", \"level\": 4, \"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Users\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Logs\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Permissions\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}]", + "content": "[{\"type\": \"header\", \"data\": {\"text\": \"Your Shortcuts\", \"level\": 4, \"col\": 12}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"User\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Role\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Permission Manager\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"User Profile\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"User Type\", \"col\": 4}}, {\"type\": \"spacer\", \"data\": {\"col\": 12}}, {\"type\": \"header\", \"data\": {\"text\": \"Reports & Masters\", \"level\": 4, \"col\": 12}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Users\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Logs\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Permissions\", \"col\": 4}}]", "creation": "2020-03-02 15:12:16.754449", "developer_mode_only": 0, "disable_user_customization": 0, diff --git a/frappe/custom/workspace/customization/customization.json b/frappe/custom/workspace/customization/customization.json index e23de76775..136b1a57eb 100644 --- a/frappe/custom/workspace/customization/customization.json +++ b/frappe/custom/workspace/customization/customization.json @@ -1,7 +1,7 @@ { "category": "", "charts": [], - "content": "[{\"type\": \"header\", \"data\": {\"text\": \"Your Shortcuts\", \"level\": 4, \"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Customize Form\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Custom Role\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Client Script\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Server Script\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"spacer\", \"data\": {\"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"header\", \"data\": {\"text\": \"Reports & Masters\", \"level\": 4, \"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Dashboards\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Form Customization\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Other\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}]", + "content": "[{\"type\": \"header\", \"data\": {\"text\": \"Your Shortcuts\", \"level\": 4, \"col\": 12}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Customize Form\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Custom Role\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Client Script\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Server Script\", \"col\": 4}}, {\"type\": \"spacer\", \"data\": {\"col\": 12}}, {\"type\": \"header\", \"data\": {\"text\": \"Reports & Masters\", \"level\": 4, \"col\": 12}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Dashboards\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Form Customization\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Other\", \"col\": 4}}]", "creation": "2020-03-02 15:15:03.839594", "developer_mode_only": 0, "disable_user_customization": 0, diff --git a/frappe/integrations/workspace/integrations/integrations.json b/frappe/integrations/workspace/integrations/integrations.json index 02540d7c5d..4167858db2 100644 --- a/frappe/integrations/workspace/integrations/integrations.json +++ b/frappe/integrations/workspace/integrations/integrations.json @@ -1,7 +1,7 @@ { "category": "", "charts": [], - "content": "[{\"type\": \"header\", \"data\": {\"text\": \"Reports & Masters\", \"level\": 4, \"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Backup\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Google Services\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Authentication\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Payments\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Settings\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}]", + "content": "[{\"type\": \"header\", \"data\": {\"text\": \"Reports & Masters\", \"level\": 4, \"col\": 12}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Backup\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Google Services\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Authentication\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Payments\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Settings\", \"col\": 4}}]", "creation": "2020-03-02 15:16:18.714190", "developer_mode_only": 0, "disable_user_customization": 0, diff --git a/frappe/patches/v13_0/update_workspace2.py b/frappe/patches/v13_0/update_workspace2.py index f5f54fc7ee..2d7eb4cc76 100644 --- a/frappe/patches/v13_0/update_workspace2.py +++ b/frappe/patches/v13_0/update_workspace2.py @@ -14,35 +14,35 @@ def execute(): def create_content(doc): content = [] if doc.onboarding: - content.append({"type":"onboarding","data":{"onboarding_name":doc.onboarding,"col":12,"pt":0,"pr":0,"pb":0,"pl":0}}) + content.append({"type":"onboarding","data":{"onboarding_name":doc.onboarding,"col":12}}) if doc.charts: invalid_links = [] for c in doc.charts: if c.get_invalid_links()[0]: invalid_links.append(c) else: - content.append({"type":"chart","data":{"chart_name":c.label,"col":12,"pt":0,"pr":0,"pb":0,"pl":0}}) + content.append({"type":"chart","data":{"chart_name":c.label,"col":12}}) for l in invalid_links: del doc.charts[doc.charts.index(l)] if doc.shortcuts: invalid_links = [] if doc.charts: - content.append({"type":"spacer","data":{"col":12,"pt":0,"pr":0,"pb":0,"pl":0}}) - content.append({"type":"header","data":{"text":doc.shortcuts_label or _("Your Shortcuts"),"level":4,"col":12,"pt":0,"pr":0,"pb":0,"pl":0}}) + content.append({"type":"spacer","data":{"col":12}}) + content.append({"type":"header","data":{"text":doc.shortcuts_label or _("Your Shortcuts"),"level":4,"col":12}}) for s in doc.shortcuts: if s.get_invalid_links()[0]: invalid_links.append(s) else: - content.append({"type":"shortcut","data":{"shortcut_name":s.label,"col":4,"pt":0,"pr":0,"pb":0,"pl":0}}) + content.append({"type":"shortcut","data":{"shortcut_name":s.label,"col":4}}) for l in invalid_links: del doc.shortcuts[doc.shortcuts.index(l)] if doc.links: invalid_links = [] - content.append({"type":"spacer","data":{"col":12,"pt":0,"pr":0,"pb":0,"pl":0}}) - content.append({"type":"header","data":{"text":doc.cards_label or _("Reports & Masters"),"level":4,"col":12,"pt":0,"pr":0,"pb":0,"pl":0}}) + content.append({"type":"spacer","data":{"col":12}}) + content.append({"type":"header","data":{"text":doc.cards_label or _("Reports & Masters"),"level":4,"col":12}}) for l in doc.links: if l.type == 'Card Break': - content.append({"type":"card","data":{"card_name":l.label,"col":4,"pt":0,"pr":0,"pb":0,"pl":0}}) + content.append({"type":"card","data":{"card_name":l.label,"col":4}}) if l.get_invalid_links()[0]: invalid_links.append(l) for l in invalid_links: diff --git a/frappe/public/js/frappe/views/workspace/blocks/spacing_tune.js b/frappe/public/js/frappe/views/workspace/blocks/spacing_tune.js index 8c4839d484..365f7f590e 100644 --- a/frappe/public/js/frappe/views/workspace/blocks/spacing_tune.js +++ b/frappe/public/js/frappe/views/workspace/blocks/spacing_tune.js @@ -22,9 +22,9 @@ export default class SpacingTune { let layoutWrapper = document.createElement('div'); layoutWrapper.classList.add(this.CSS.wrapper); let decreaseWidthButton = document.createElement('div'); - decreaseWidthButton.classList.add(this.CSS.button); + decreaseWidthButton.classList.add(this.CSS.button, 'ce-shrink-button'); let increaseWidthButton = document.createElement('div'); - increaseWidthButton.classList.add(this.CSS.button); + increaseWidthButton.classList.add(this.CSS.button, 'ce-expand-button'); layoutWrapper.appendChild(decreaseWidthButton); layoutWrapper.appendChild(increaseWidthButton); diff --git a/frappe/website/workspace/website/website.json b/frappe/website/workspace/website/website.json index 13136046ca..8d22f84b5e 100644 --- a/frappe/website/workspace/website/website.json +++ b/frappe/website/workspace/website/website.json @@ -1,7 +1,7 @@ { "category": "", "charts": [], - "content": "[{\"type\": \"onboarding\", \"data\": {\"onboarding_name\":\"Website\", \"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"header\", \"data\": {\"text\": \"Your Shortcuts\", \"level\": 4, \"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Blog Post\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Blogger\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Web Page\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Web Form\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Website Settings\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"spacer\", \"data\": {\"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"header\", \"data\": {\"text\": \"Reports & Masters\", \"level\": 4, \"col\": 12, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Setup\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Blog\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Web Site\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Portal\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Knowledge Base\", \"col\": 4, \"pt\": 0, \"pr\": 0, \"pb\": 0, \"pl\": 0}}]", + "content": "[{\"type\": \"onboarding\", \"data\": {\"onboarding_name\":\"Website\", \"col\": 12}}, {\"type\": \"header\", \"data\": {\"text\": \"Your Shortcuts\", \"level\": 4, \"col\": 12}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Blog Post\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Blogger\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Web Page\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Web Form\", \"col\": 4}}, {\"type\": \"shortcut\", \"data\": {\"shortcut_name\": \"Website Settings\", \"col\": 4}}, {\"type\": \"spacer\", \"data\": {\"col\": 12}}, {\"type\": \"header\", \"data\": {\"text\": \"Reports & Masters\", \"level\": 4, \"col\": 12}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Setup\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Blog\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Web Site\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Portal\", \"col\": 4}}, {\"type\": \"card\", \"data\": {\"card_name\": \"Knowledge Base\", \"col\": 4}}]", "creation": "2020-03-02 14:13:51.089373", "developer_mode_only": 0, "disable_user_customization": 0, From e5da8b3359bb05a351501ce53a84c2f6dab6824f Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 10 Aug 2021 18:20:38 +0530 Subject: [PATCH 0223/1383] test: UI test for Workspace 2.0 --- cypress/integration/workspace.js | 86 +++++++++++++++++++ .../js/frappe/views/workspace/workspace.js | 1 + 2 files changed, 87 insertions(+) create mode 100644 cypress/integration/workspace.js diff --git a/cypress/integration/workspace.js b/cypress/integration/workspace.js new file mode 100644 index 0000000000..b1e9fd759a --- /dev/null +++ b/cypress/integration/workspace.js @@ -0,0 +1,86 @@ +context('Workspace 2.0', () => { + before(() => { + cy.login(); + cy.visit('/app/website'); + }); + + it('Navigate to page from sidebar', () => { + cy.get('.codex-editor__redactor .ce-block'); + cy.get('.sidebar-item-container[item-name="Settings"]').first().click(); + cy.location('pathname').should('eq', '/app/settings'); + }); + + it('Create Private Page', () => { + cy.get('.codex-editor__redactor .ce-block'); + cy.get('.custom-actions button[data-label="Create%20Page"]').click(); + cy.fill_field('title', 'Test Private Page', 'Data'); + cy.fill_field('icon', 'edit', 'Icon'); + cy.get_open_dialog().find('.modal-header').click(); + cy.get_open_dialog().find('.btn-primary').click(); + + // check if sidebar item is added in pubic section + cy.get('.sidebar-item-container[item-name="Test Private Page"]').should('have.attr', 'item-public', '0'); + + cy.get('.standard-actions .btn-primary[data-label="Save Customizations"]').click(); + cy.wait(300); + cy.get('.sidebar-item-container[item-name="Test Private Page"]').should('have.attr', 'item-public', '0'); + }); + + it('Add New Block', () => { + cy.get('.codex-editor__redactor .ce-block'); + cy.get('.standard-actions .btn-secondary[data-label=Customize]').click(); + + cy.get('.custom-actions .inner-group-button[data-label="Add%20Block"]').click(); + cy.get('.custom-actions .inner-group-button .dropdown-menu .block-menu-item-label').contains('Heading').click(); + cy.get(".ce-block:last").type('Header'); + cy.get(".ce-block:last").find('.ce-header').should('exist'); + + cy.get('.custom-actions .inner-group-button[data-label="Add%20Block"]').click(); + cy.get('.custom-actions .inner-group-button .dropdown-menu .block-menu-item-label').contains('Text').click(); + cy.get(".ce-block:last").type('Paragraph text'); + cy.get(".ce-block:last").find('.ce-paragraph').should('exist'); + }); + + it('Delete A Block', () => { + cy.get(".ce-block:last").find('.delete-paragraph').click(); + cy.get(".ce-block:last").find('.ce-paragraph').should('not.exist'); + }); + + it('Shrink and Expand A Block', () => { + cy.get(".ce-block:last").find('.tune-btn').click(); + cy.get('.ce-settings--opened .ce-shrink-button').click(); + cy.get(".ce-block:last").should('have.class', 'col-11'); + cy.get('.ce-settings--opened .ce-shrink-button').click(); + cy.get(".ce-block:last").should('have.class', 'col-10'); + cy.get('.ce-settings--opened .ce-shrink-button').click(); + cy.get(".ce-block:last").should('have.class', 'col-9'); + cy.get('.ce-settings--opened .ce-expand-button').click(); + cy.get(".ce-block:last").should('have.class', 'col-10'); + cy.get('.ce-settings--opened .ce-expand-button').click(); + cy.get(".ce-block:last").should('have.class', 'col-11'); + cy.get('.ce-settings--opened .ce-expand-button').click(); + cy.get(".ce-block:last").should('have.class', 'col-12'); + }); + + it('Change Header Text Size', () => { + cy.get('.ce-settings--opened .cdx-settings-button[data-level="3"]').click(); + cy.get(".ce-block:last").find('.widget-head h3').should('exist'); + cy.get('.ce-settings--opened .cdx-settings-button[data-level="4"]').click(); + cy.get(".ce-block:last").find('.widget-head h4').should('exist'); + + cy.get('.standard-actions .btn-primary[data-label="Save Customizations"]').click(); + }); + + it('Delete Private Page', () => { + cy.get('.codex-editor__redactor .ce-block'); + cy.get('.standard-actions .btn-secondary[data-label=Customize]').click(); + + cy.get('.sidebar-item-container[item-name="Test Private Page"]').find('.sidebar-item-control .delete-page').click(); + cy.wait(300); + cy.get('.modal-footer > .standard-actions > .btn-modal-primary:visible').first().click(); + cy.get('.standard-actions .btn-primary[data-label="Save Customizations"]').click(); + cy.get('.codex-editor__redactor .ce-block'); + cy.get('.sidebar-item-container[item-name="Test Private Page"]').should('not.exist'); + }); + +}); \ No newline at end of file diff --git a/frappe/public/js/frappe/views/workspace/workspace.js b/frappe/public/js/frappe/views/workspace/workspace.js index 43639c2f4a..4cbede34e6 100644 --- a/frappe/public/js/frappe/views/workspace/workspace.js +++ b/frappe/public/js/frappe/views/workspace/workspace.js @@ -386,6 +386,7 @@ frappe.views.Workspace = class Workspace { () => { this.page.clear_primary_action(); this.page.clear_secondary_action(); + this.page.clear_inner_toolbar(); this.undo.readOnly = true; this.save_page(); this.editor.readOnly.toggle(); From 3fbacb97f42e06da35ea8747e360566f3a73c388 Mon Sep 17 00:00:00 2001 From: Komal-Saraf0609 Date: Tue, 10 Aug 2021 18:53:20 +0530 Subject: [PATCH 0224/1383] test: Added test cases for folder navigation and checking if the nested folder contains the added file --- cypress/integration/folder_navigation.js | 79 ++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 cypress/integration/folder_navigation.js diff --git a/cypress/integration/folder_navigation.js b/cypress/integration/folder_navigation.js new file mode 100644 index 0000000000..4a389101b5 --- /dev/null +++ b/cypress/integration/folder_navigation.js @@ -0,0 +1,79 @@ +context('Folder Navigation', () => { + before(() => { + cy.visit('/login'); + cy.login(); + cy.visit('/app/file'); + }); + + it('Adding Folders', () => { + //Adding filter to go into the home folder + cy.get('.filter-selector > .btn').click(); + cy.get('.filter-action-buttons > div > .btn-secondary').contains('Clear Filters').click(); + cy.get('.filter-action-buttons > .text-muted').click(); + cy.get('.fieldname-select-area > .awesomplete > .form-control').type('Fol{enter}'); + cy.get('.filter-field > .form-group > .link-field > .awesomplete > .input-with-feedback').type('Home{enter}'); + cy.get('.filter-action-buttons > div > .btn-primary').click(); + + //Adding folder (Test Folder) + cy.get('.menu-btn-group > .btn').click(); + cy.get('.menu-btn-group > .dropdown-menu > .user-action > .grey-link').eq(2).click(); + cy.get('form > .frappe-control > .form-group > .control-input-wrapper > .control-input > .input-with-feedback').type('Test Folder'); + cy.get('.modal-footer > .standard-actions > .btn-primary').click(); + }); + + it('Navigating the nested folders, checking if the URL formed is correct, checking if the added content in the child folder is correct', () => { + //Navigating inside the Attachments folder + cy.get('[title="Attachments"] > span').click(); + + //To check if the URL formed after visiting the attachments folder is correct + cy.location('pathname').should('eq', '/app/file/view/home/Attachments'); + cy.visit('/app/file/view/home/Attachments'); + + //Adding folder inside the attachments folder + cy.get('.menu-btn-group > .btn').click(); + cy.get('.menu-btn-group > .dropdown-menu > .user-action > .grey-link').eq(2).click(); + cy.get('form > .frappe-control > .form-group > .control-input-wrapper > .control-input > .input-with-feedback').type('Test Folder'); + cy.get('.modal-footer > .standard-actions > .btn-primary').click(); + + //Navigating inside the added folder in the Attachments folder + cy.get('[title="Test Folder"] > span').click(); + + //To check if the URL is correct after visiting the Test Folder + cy.location('pathname').should('eq', '/app/file/view/home/Attachments/Test%20Folder'); + cy.visit('/app/file/view/home/Attachments/Test%20Folder'); + + //Adding a file inside the Test Folder + cy.get('.primary-action').contains('Add File').eq(0).click({force : true}); + cy.get('.mt-2 > .btn > .mt-1').eq(2).click(); + cy.get('.input-group > .form-control').type('https://wallpaperplay.com/walls/full/8/2/b/72402.jpg'); + cy.get('.btn-primary').contains('Upload').click(); + + //To check if the added file is present in the Test Folder + cy.get('span.level-item > span').should('contain','Test Folder'); + cy.get('.list-row-container').eq(0).should('contain.text','72402.jpg'); + cy.get('.list-row-checkbox').eq(0).click(); + + //Deleting the added file from the Test folder + cy.get('.actions-btn-group > .btn').click(); + cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); + cy.wait(700); + cy.click_modal_primary_button('Yes', {force : true, delay: 700}); + cy.wait(700); + + //Deleting the Test Folder + cy.visit('/app/file/view/home/Attachments'); + cy.get('.list-row-checkbox').eq(0).click(); + cy.get('.actions-btn-group > .btn').click(); + cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); + cy.click_modal_primary_button('Yes'); + }); + + it('Deleting Test Folder from the home', () => { + //Deleting the Test Folder added in the home directory + cy.visit('/app/file/view/home'); + cy.get('.list-row-container > .list-row > .level-left > .list-subject > .list-row-checkbox').eq(0).click({force : true, delay : 500}); + cy.get('.actions-btn-group > .btn').click(); + cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); + cy.click_modal_primary_button('Yes', {force : true}); + }); +}); \ No newline at end of file From 09cfd3b0266652f31634d7565d49e2894bdeef47 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 10 Aug 2021 19:06:13 +0530 Subject: [PATCH 0225/1383] test: minor fix --- cypress/integration/workspace.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cypress/integration/workspace.js b/cypress/integration/workspace.js index b1e9fd759a..2c3a8434ee 100644 --- a/cypress/integration/workspace.js +++ b/cypress/integration/workspace.js @@ -27,17 +27,18 @@ context('Workspace 2.0', () => { }); it('Add New Block', () => { + cy.wait(500); cy.get('.codex-editor__redactor .ce-block'); cy.get('.standard-actions .btn-secondary[data-label=Customize]').click(); cy.get('.custom-actions .inner-group-button[data-label="Add%20Block"]').click(); cy.get('.custom-actions .inner-group-button .dropdown-menu .block-menu-item-label').contains('Heading').click(); - cy.get(".ce-block:last").type('Header'); + cy.get(".ce-block:last").find('h2').type('Header'); cy.get(".ce-block:last").find('.ce-header').should('exist'); cy.get('.custom-actions .inner-group-button[data-label="Add%20Block"]').click(); cy.get('.custom-actions .inner-group-button .dropdown-menu .block-menu-item-label').contains('Text').click(); - cy.get(".ce-block:last").type('Paragraph text'); + cy.get(".ce-block:last").find('.ce-paragraph').type('Paragraph text'); cy.get(".ce-block:last").find('.ce-paragraph').should('exist'); }); From 166574b1d065ac0c0461a671d7fe837a9d35b7ce Mon Sep 17 00:00:00 2001 From: Komal-Saraf0609 Date: Tue, 10 Aug 2021 19:10:27 +0530 Subject: [PATCH 0226/1383] test: Fixed sider issues --- cypress/integration/folder_navigation.js | 122 +++++++++++------------ 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/cypress/integration/folder_navigation.js b/cypress/integration/folder_navigation.js index 4a389101b5..d4fe569828 100644 --- a/cypress/integration/folder_navigation.js +++ b/cypress/integration/folder_navigation.js @@ -5,75 +5,75 @@ context('Folder Navigation', () => { cy.visit('/app/file'); }); - it('Adding Folders', () => { - //Adding filter to go into the home folder - cy.get('.filter-selector > .btn').click(); - cy.get('.filter-action-buttons > div > .btn-secondary').contains('Clear Filters').click(); - cy.get('.filter-action-buttons > .text-muted').click(); - cy.get('.fieldname-select-area > .awesomplete > .form-control').type('Fol{enter}'); - cy.get('.filter-field > .form-group > .link-field > .awesomplete > .input-with-feedback').type('Home{enter}'); - cy.get('.filter-action-buttons > div > .btn-primary').click(); - - //Adding folder (Test Folder) - cy.get('.menu-btn-group > .btn').click(); - cy.get('.menu-btn-group > .dropdown-menu > .user-action > .grey-link').eq(2).click(); - cy.get('form > .frappe-control > .form-group > .control-input-wrapper > .control-input > .input-with-feedback').type('Test Folder'); - cy.get('.modal-footer > .standard-actions > .btn-primary').click(); - }); + it('Adding Folders', () => { + //Adding filter to go into the home folder + cy.get('.filter-selector > .btn').click(); + cy.get('.filter-action-buttons > div > .btn-secondary').contains('Clear Filters').click(); + cy.get('.filter-action-buttons > .text-muted').click(); + cy.get('.fieldname-select-area > .awesomplete > .form-control').type('Fol{enter}'); + cy.get('.filter-field > .form-group > .link-field > .awesomplete > .input-with-feedback').type('Home{enter}'); + cy.get('.filter-action-buttons > div > .btn-primary').click(); - it('Navigating the nested folders, checking if the URL formed is correct, checking if the added content in the child folder is correct', () => { - //Navigating inside the Attachments folder - cy.get('[title="Attachments"] > span').click(); + //Adding folder (Test Folder) + cy.get('.menu-btn-group > .btn').click(); + cy.get('.menu-btn-group > .dropdown-menu > .user-action > .grey-link').eq(2).click(); + cy.get('form > .frappe-control > .form-group > .control-input-wrapper > .control-input > .input-with-feedback').type('Test Folder'); + cy.get('.modal-footer > .standard-actions > .btn-primary').click(); + }); - //To check if the URL formed after visiting the attachments folder is correct - cy.location('pathname').should('eq', '/app/file/view/home/Attachments'); - cy.visit('/app/file/view/home/Attachments'); + it('Navigating the nested folders, checking if the URL formed is correct, checking if the added content in the child folder is correct', () => { + //Navigating inside the Attachments folder + cy.get('[title="Attachments"] > span').click(); - //Adding folder inside the attachments folder - cy.get('.menu-btn-group > .btn').click(); - cy.get('.menu-btn-group > .dropdown-menu > .user-action > .grey-link').eq(2).click(); - cy.get('form > .frappe-control > .form-group > .control-input-wrapper > .control-input > .input-with-feedback').type('Test Folder'); - cy.get('.modal-footer > .standard-actions > .btn-primary').click(); + //To check if the URL formed after visiting the attachments folder is correct + cy.location('pathname').should('eq', '/app/file/view/home/Attachments'); + cy.visit('/app/file/view/home/Attachments'); - //Navigating inside the added folder in the Attachments folder - cy.get('[title="Test Folder"] > span').click(); + //Adding folder inside the attachments folder + cy.get('.menu-btn-group > .btn').click(); + cy.get('.menu-btn-group > .dropdown-menu > .user-action > .grey-link').eq(2).click(); + cy.get('form > .frappe-control > .form-group > .control-input-wrapper > .control-input > .input-with-feedback').type('Test Folder'); + cy.get('.modal-footer > .standard-actions > .btn-primary').click(); - //To check if the URL is correct after visiting the Test Folder - cy.location('pathname').should('eq', '/app/file/view/home/Attachments/Test%20Folder'); - cy.visit('/app/file/view/home/Attachments/Test%20Folder'); + //Navigating inside the added folder in the Attachments folder + cy.get('[title="Test Folder"] > span').click(); - //Adding a file inside the Test Folder - cy.get('.primary-action').contains('Add File').eq(0).click({force : true}); - cy.get('.mt-2 > .btn > .mt-1').eq(2).click(); - cy.get('.input-group > .form-control').type('https://wallpaperplay.com/walls/full/8/2/b/72402.jpg'); - cy.get('.btn-primary').contains('Upload').click(); + //To check if the URL is correct after visiting the Test Folder + cy.location('pathname').should('eq', '/app/file/view/home/Attachments/Test%20Folder'); + cy.visit('/app/file/view/home/Attachments/Test%20Folder'); - //To check if the added file is present in the Test Folder - cy.get('span.level-item > span').should('contain','Test Folder'); - cy.get('.list-row-container').eq(0).should('contain.text','72402.jpg'); - cy.get('.list-row-checkbox').eq(0).click(); + //Adding a file inside the Test Folder + cy.get('.primary-action').contains('Add File').eq(0).click({force: true}); + cy.get('.mt-2 > .btn > .mt-1').eq(2).click(); + cy.get('.input-group > .form-control').type('https://wallpaperplay.com/walls/full/8/2/b/72402.jpg'); + cy.get('.btn-primary').contains('Upload').click(); - //Deleting the added file from the Test folder - cy.get('.actions-btn-group > .btn').click(); - cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); - cy.wait(700); - cy.click_modal_primary_button('Yes', {force : true, delay: 700}); - cy.wait(700); + //To check if the added file is present in the Test Folder + cy.get('span.level-item > span').should('contain', 'Test Folder'); + cy.get('.list-row-container').eq(0).should('contain.text', '72402.jpg'); + cy.get('.list-row-checkbox').eq(0).click(); - //Deleting the Test Folder - cy.visit('/app/file/view/home/Attachments'); - cy.get('.list-row-checkbox').eq(0).click(); - cy.get('.actions-btn-group > .btn').click(); - cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); - cy.click_modal_primary_button('Yes'); - }); + //Deleting the added file from the Test folder + cy.get('.actions-btn-group > .btn').click(); + cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); + cy.wait(700); + cy.click_modal_primary_button('Yes', {force: true, delay: 700}); + cy.wait(700); - it('Deleting Test Folder from the home', () => { - //Deleting the Test Folder added in the home directory - cy.visit('/app/file/view/home'); - cy.get('.list-row-container > .list-row > .level-left > .list-subject > .list-row-checkbox').eq(0).click({force : true, delay : 500}); - cy.get('.actions-btn-group > .btn').click(); - cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); - cy.click_modal_primary_button('Yes', {force : true}); - }); + //Deleting the Test Folder + cy.visit('/app/file/view/home/Attachments'); + cy.get('.list-row-checkbox').eq(0).click(); + cy.get('.actions-btn-group > .btn').click(); + cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); + cy.click_modal_primary_button('Yes'); + }); + + it('Deleting Test Folder from the home', () => { + //Deleting the Test Folder added in the home directory + cy.visit('/app/file/view/home'); + cy.get('.list-row-container > .list-row > .level-left > .list-subject > .list-row-checkbox').eq(0).click({force: true, delay: 500}); + cy.get('.actions-btn-group > .btn').click(); + cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); + cy.click_modal_primary_button('Yes', {force: true}); + }); }); \ No newline at end of file From 23d8c336b44f0d36a4697391d8c4535abe3daa2f Mon Sep 17 00:00:00 2001 From: Saqib Ansari Date: Tue, 10 Aug 2021 19:47:44 +0530 Subject: [PATCH 0227/1383] chore: ignore console statements --- frappe/public/js/frappe/scanner/index.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frappe/public/js/frappe/scanner/index.js b/frappe/public/js/frappe/scanner/index.js index 37b5a9eaba..0b9acf7f9e 100644 --- a/frappe/public/js/frappe/scanner/index.js +++ b/frappe/public/js/frappe/scanner/index.js @@ -26,7 +26,7 @@ frappe.ui.Scanner = class Scanner { start_scan() { if (!this.handler) { - this.handler = new Html5Qrcode(this.scan_area_id); + this.handler = new Html5Qrcode(this.scan_area_id); // eslint-disable-line } this.handler .start( @@ -37,7 +37,7 @@ frappe.ui.Scanner = class Scanner { try { this.options.on_scan(decodedResult); } catch (error) { - console.error(error); + console.error(error); // eslint-disable-line } } if (!this.options.multiple) { @@ -45,14 +45,14 @@ frappe.ui.Scanner = class Scanner { this.hide_dialog(); } }, - errorMessage => { + errorMessage => { // eslint-disable-line // parse error, ignore it. } ) .catch(err => { this.is_alive = false; this.hide_dialog(); - console.error(err); + console.error(err); // eslint-disable-line }); this.is_alive = true; } From 1619f967919f7a039e6286100a7b82e60a946c0e Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 10 Aug 2021 21:14:35 +0530 Subject: [PATCH 0228/1383] fix: adding child page to sidebar minor fix --- frappe/public/js/frappe/views/workspace/workspace.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/frappe/public/js/frappe/views/workspace/workspace.js b/frappe/public/js/frappe/views/workspace/workspace.js index 4cbede34e6..a7bb58e6a1 100644 --- a/frappe/public/js/frappe/views/workspace/workspace.js +++ b/frappe/public/js/frappe/views/workspace/workspace.js @@ -633,15 +633,13 @@ frappe.views.Workspace = class Workspace { ); $sidebar_item.find('.sidebar-item-control .drag-handle').css('margin-right', '8px'); + let $sidebar_section = is_public ? $sidebar[0] : $sidebar[1]; + if (!parent) { - if (is_public) { - $sidebar_item.appendTo($sidebar[0]); - } else { - $sidebar.last().removeClass('hidden'); - $sidebar_item.appendTo($sidebar[1]); - } + !is_public && $sidebar.last().removeClass('hidden'); + $sidebar_item.appendTo($sidebar_section); } else { - let $item_container = $sidebar.find(`[item-name="${parent}"]`); + let $item_container = $($sidebar_section).find(`[item-name="${parent}"]`); let $child_section = $item_container.find('.sidebar-child-item'); let $drop_icon = $item_container.find('.drop-icon'); if (!$child_section[0]) { From 6af73a115553865f2c2caec36dc9767339d22a1a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Aug 2021 22:18:59 +0000 Subject: [PATCH 0229/1383] chore(deps): bump path-parse from 1.0.6 to 1.0.7 Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7. - [Release notes](https://github.com/jbgutierrez/path-parse/releases) - [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7) --- updated-dependencies: - dependency-name: path-parse dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 899e095549..ac01a5170f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5084,9 +5084,9 @@ path-key@^3.1.0: integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-to-regexp@0.1.7: version "0.1.7" From b4453396f492ed62b1d17362acc694e989d2848d Mon Sep 17 00:00:00 2001 From: Mohammad Hasnain Mohsin Rajan Date: Wed, 11 Aug 2021 12:23:03 +0530 Subject: [PATCH 0230/1383] fix: website_content_field based indexing fails since fields are not passed correctly(#13907) --- frappe/search/website_search.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/search/website_search.py b/frappe/search/website_search.py index 95bc9b9211..ad9d8c3ba8 100644 --- a/frappe/search/website_search.py +++ b/frappe/search/website_search.py @@ -98,7 +98,7 @@ def slugs_with_web_view(_items_to_index): fields=["route", doctype.website_search_field] filters={doctype.is_published_field: 1}, if doctype.website_search_field: - docs = frappe.get_all(doctype.name, filters=filters, fields=fields.append("title")) + docs = frappe.get_all(doctype.name, filters=filters, fields=fields + ["title"]) for doc in docs: content = frappe.utils.md_to_html(getattr(doc, doctype.website_search_field)) soup = BeautifulSoup(content, "html.parser") From 46c6b6621e1d5b331070ce521dc80f2c4cc2c4bc Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Wed, 11 Aug 2021 20:00:46 +0530 Subject: [PATCH 0231/1383] refactor: Newsletter * Re-send Newsletter only to the recipients who haven't received it yet (Check Email Queue before setting email recipients) * Re-structed code, broken larger methods to "byte" sized "bits" (hehe) * Added validations for recipients list * Added Newsletter.newsletter_recipients property * Used newer APIs and Fixed namespaces for usages/imports * Added convenience methods for Newsletter APIs * Added type annotations for all(?) methods --- frappe/email/doctype/newsletter/newsletter.py | 394 ++++++++++-------- 1 file changed, 231 insertions(+), 163 deletions(-) diff --git a/frappe/email/doctype/newsletter/newsletter.py b/frappe/email/doctype/newsletter/newsletter.py index 97d77549b7..5f420785e1 100755 --- a/frappe/email/doctype/newsletter/newsletter.py +++ b/frappe/email/doctype/newsletter/newsletter.py @@ -1,241 +1,309 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt +from typing import Dict, List + import frappe import frappe.utils -from frappe import throw, _ + +from frappe import _ from frappe.website.website_generator import WebsiteGenerator from frappe.utils.verified_command import get_signed_params, verify_request from frappe.email.doctype.email_group.email_group import add_subscribers -from frappe.utils import parse_addr, now_datetime, markdown, validate_email_address + class Newsletter(WebsiteGenerator): def onload(self): - if self.email_sent: - self.get("__onload").status_count = dict(frappe.db.sql("""select status, count(name) - from `tabEmail Queue` where reference_doctype=%s and reference_name=%s - group by status""", (self.doctype, self.name))) or None + self.setup_newsletter_status() def validate(self): - self.route = "newsletters/" + self.name - if self.send_from: - validate_email_address(self.send_from, True) + self.route = f"newsletters/{self.name}" + self.validate_sender_address() + self.validate_recipient_address() + + @property + def newsletter_recipients(self) -> List[str]: + if getattr(self, "_recipients", None) == None: + self._recipients = self.get_recipients() + return self._recipients @frappe.whitelist() - def test_send(self, doctype="Lead"): - self.recipients = frappe.utils.split_emails(self.test_email_id) - self.queue_all(test_email=True) + def test_send(self): + test_emails = frappe.utils.split_emails(self.test_email_id) + self.queue_all(test_email=test_emails) frappe.msgprint(_("Test email sent to {0}").format(self.test_email_id)) @frappe.whitelist() def send_emails(self): """send emails to leads and customers""" if self.email_sent: - throw(_("Newsletter has already been sent")) + frappe.throw(_("Newsletter has already been sent")) - self.recipients = self.get_recipients() + if not self.newsletter_recipients: + frappe.throw(_("Newsletter should have atleast one recipient")) - if self.recipients: - self.queue_all() - frappe.msgprint(_("Email queued to {0} recipients").format(len(self.recipients))) + self.queue_all() + frappe.msgprint(_("Email queued to {0} recipients").format(len(self.newsletter_recipients))) - else: - frappe.msgprint(_("Newsletter should have atleast one recipient")) + def setup_newsletter_status(self): + """Setup analytical status for current Newsletter. Can be accessible from desk. + """ + if self.email_sent: + status_count = frappe.get_all("Email Queue", + filters={"reference_doctype": self.doctype, "reference_name": self.name}, + fields=["status", "count(name)"], + group_by="status", + as_list=True, + ) + self.get("__onload").status_count = dict(status_count) - def queue_all(self, test_email=False): - if not self.get("recipients"): - # in case it is called via worker - self.recipients = self.get_recipients() + def validate_sender_address(self): + """Validate self.send_from is a valid email address or not. + """ + if self.send_from: + frappe.utils.validate_email_address(self.send_from, throw=True) - self.validate_send() - - sender = self.send_from or frappe.utils.get_formatted_email(self.owner) - - if not frappe.flags.in_test: - frappe.db.auto_commit_on_many_writes = True - - attachments = [] - if self.send_attachments: - files = frappe.get_all("File", fields=["name"], filters={"attached_to_doctype": "Newsletter", - "attached_to_name": self.name}, order_by="creation desc") - - for file in files: - try: - # these attachments will be attached on-demand - # and won't be stored in the message - attachments.append({"fid": file.name}) - except IOError: - frappe.throw(_("Unable to find attachment {0}").format(file.name)) - - args = { - "message": self.get_message(), - "name": self.name - } - frappe.sendmail(recipients=self.recipients, sender=sender, - subject=self.subject, message=self.get_message(), template="newsletter", - reference_doctype=self.doctype, reference_name=self.name, - add_unsubscribe_link=self.send_unsubscribe_link, attachments=attachments, - unsubscribe_method="/unsubscribe", - unsubscribe_params={"name": self.name}, - send_priority=0, queue_separately=True, args=args) - - if not frappe.flags.in_test: - frappe.db.auto_commit_on_many_writes = False - - if not test_email: - self.db_set("email_sent", 1) - self.db_set("schedule_send", now_datetime()) - self.db_set("scheduled_to_send", len(self.recipients)) - - def get_message(self): - if self.content_type == "HTML": - return frappe.render_template(self.message_html, {"doc": self.as_dict()}) - return { - 'Rich Text': self.message, - 'Markdown': markdown(self.message_md) - }[self.content_type or 'Rich Text'] - - def get_recipients(self): - """Get recipients from Email Group""" - recipients_list = [] - for email_group in get_email_groups(self.name): - for d in frappe.db.get_all("Email Group Member", ["email"], - {"unsubscribed": 0, "email_group": email_group.email_group}): - recipients_list.append(d.email) - return list(set(recipients_list)) + def validate_recipient_address(self): + """Validate if self.newsletter_recipients are all valid email addresses or not. + """ + for recipient in self.newsletter_recipients: + frappe.utils.validate_email_address(recipient, throw=True) def validate_send(self): + """Validate if Newsletter can be sent. + """ if self.get("__islocal"): - throw(_("Please save the Newsletter before sending")) + frappe.throw(_("Please save the Newsletter before sending")) - if not self.recipients: + if not self.newsletter_recipients: frappe.throw(_("Newsletter should have at least one recipient")) + def get_linked_email_queue(self) -> List[str]: + """Get list of email queue linked to this newsletter. + """ + return frappe.get_all("Email Queue", + filters={ + "reference_doctype": self.doctype, + "reference_name": self.name, + }, + pluck="name", + ) + + def get_success_recipients(self) -> List[str]: + """Recipients who have already recieved the newsletter. + + Couldn't think of a better name ;) + """ + return frappe.get_all("Email Queue Recipient", + filters={ + "status": ("in", ["Not Sent", "Sending", "Sent"]), + "parentfield": ("in", self.get_linked_email_queue()), + }, + pluck="recipient", + ) + + def get_pending_recipients(self) -> List[str]: + """Get list of pending recipients of the newsletter. These + recipients may not have receive the newsletter in the previous iteration. + """ + return [ + x for x in self.newsletter_recipients if x not in self.get_success_recipients() + ] + + def queue_all(self, test_email: str = None): + """Queue Newsletter to all the recipients generated from the `Email Group` + table + + Args: + test_email (str, optional): Send test Newsletter to set email. Defaults to None. + """ + if test_email: + frappe.utils.validate_email_address(test_email, throw=True) + else: + self.validate() + self.validate_send() + + newsletter_recipients = test_email or self.get_pending_recipients() + self.send_newsletter(emails=newsletter_recipients) + + if not test_email: + self.email_sent = True + self.schedule_send = frappe.utils.now_datetime() + self.scheduled_to_send = len(newsletter_recipients) + self.save() + + def get_attachments(self) -> List[Dict[str, str]]: + """Get list of attachments on current Newsletter + """ + attachments = [] + + if self.send_attachments: + files = frappe.get_all( + "File", + filters={"attached_to_doctype": "Newsletter", "attached_to_name": self.name}, + order_by="creation desc", + pluck="name", + ) + attachments.extend({"fid": file} for file in files) + + return attachments + + def send_newsletter(self, emails: List[str]): + # TODO: get rid of this maybe? + message = self.get_message() + attachments = self.get_attachments() + sender = self.send_from or frappe.utils.get_formatted_email(self.owner) + args = {"message": message, "name": self.name} + + frappe.db.auto_commit_on_many_writes = not frappe.flags.in_test + + frappe.sendmail( + subject=self.subject, + sender=sender, + recipients=emails, + message=message, + attachments=attachments, + template="newsletter", + add_unsubscribe_link=self.send_unsubscribe_link, + unsubscribe_method="/unsubscribe", + unsubscribe_params={"name": self.name}, + reference_doctype=self.doctype, + reference_name=self.name, + queue_separately=True, + send_priority=0, + args=args, + ) + + frappe.db.auto_commit_on_many_writes = not frappe.flags.in_test + + def get_message(self) -> str: + if self.content_type == "HTML": + return frappe.render_template(self.message_html, {"doc": self.as_dict()}) + if self.content_type == "Markdown": + return frappe.utils.markdown(self.message_md) + # fallback to Rich Text + return self.message + + def get_recipients(self) -> List[str]: + """Get recipients from Email Group""" + emails = frappe.get_all( + "Email Group Member", + filters={"unsubscribed": 0, "email_group": ("in", self.get_email_groups())}, + pluck="email", + ) + return list(set(emails)) + + def get_email_groups(self) -> List[str]: + return frappe.db.get_all( + "Newsletter Email Group", + filters={"parent": self.name, "parenttype": "Newsletter"}, + pluck="email_group", + ) + + def get_attachments(self) -> List[Dict]: + return frappe.get_all( + "File", + fields=["name", "file_name", "file_url", "is_private"], + filters={ + "attached_to_name": self.name, + "attached_to_doctype": "Newsletter", + "is_private": 0, + }, + ) + def get_context(self, context): newsletters = get_newsletter_list("Newsletter", None, None, 0) if newsletters: newsletter_list = [d.name for d in newsletters] if self.name not in newsletter_list: - frappe.redirect_to_message(_('Permission Error'), - _("You are not permitted to view the newsletter.")) + frappe.redirect_to_message( + _("Permission Error"), _("You are not permitted to view the newsletter.") + ) frappe.local.flags.redirect_location = frappe.local.response.location raise frappe.Redirect else: - context.attachments = get_attachments(self.name) + context.attachments = self.get_attachments() context.no_cache = 1 context.show_sidebar = True -def get_attachments(name): - return frappe.get_all("File", - fields=["name", "file_name", "file_url", "is_private"], - filters = {"attached_to_name": name, "attached_to_doctype": "Newsletter", "is_private":0}) - - -def get_email_groups(name): - return frappe.db.get_all("Newsletter Email Group", ["email_group"],{"parent":name, "parenttype":"Newsletter"}) - - @frappe.whitelist(allow_guest=True) def confirmed_unsubscribe(email, group): """ unsubscribe the email(user) from the mailing list(email_group) """ - frappe.flags.ignore_permissions=True + frappe.flags.ignore_permissions = True doc = frappe.get_doc("Email Group Member", {"email": email, "email_group": group}) if not doc.unsubscribed: doc.unsubscribed = 1 - doc.save(ignore_permissions = True) - -def create_lead(email_id): - """create a lead if it does not exist""" - from frappe.model.naming import get_default_naming_series - full_name, email_id = parse_addr(email_id) - if frappe.db.get_value("Lead", {"email_id": email_id}): - return - - lead = frappe.get_doc({ - "doctype": "Lead", - "email_id": email_id, - "lead_name": full_name or email_id, - "status": "Lead", - "naming_series": get_default_naming_series("Lead"), - "company": frappe.db.get_default("Company"), - "source": "Email" - }) - lead.insert() + doc.save(ignore_permissions=True) @frappe.whitelist(allow_guest=True) -def subscribe(email, email_group=_('Website')): - url = frappe.utils.get_url("/api/method/frappe.email.doctype.newsletter.newsletter.confirm_subscription") +\ - "?" + get_signed_params({"email": email, "email_group": email_group}) +def subscribe(email, email_group=_("Website")): + """API endpoint to subscribe an email to a particular email group. Triggers a confirmation email. + """ - email_template = frappe.db.get_value('Email Group', email_group, ['confirmation_email_template']) + # build subscription confirmation URL + api_endpoint = frappe.utils.get_url( + "/api/method/frappe.email.doctype.newsletter.newsletter.confirm_subscription" + ) + signed_params = get_signed_params({"email": email, "email_group": email_group}) + confirm_subscription_url = f"{api_endpoint}?{signed_params}" - content='' - if email_template: - args = dict( - email=email, - confirmation_url=url, - email_group=email_group - ) + # fetch custom template if available + email_confirmation_template = frappe.db.get_value( + "Email Group", email_group, "confirmation_email_template" + ) - email_template = frappe.get_doc("Email Template", email_template) + # build email and send + if email_confirmation_template: + args = {"email": email, "confirmation_url": confirm_subscription_url, "email_group": email_group} + email_template = frappe.get_doc("Email Template", email_confirmation_template) + email_subject = email_template.subject content = frappe.render_template(email_template.response, args) - - if not content: - messages = ( + else: + email_subject = _("Confirm Your Email") + translatable_content = ( _("Thank you for your interest in subscribing to our updates"), _("Please verify your Email Address"), - url, - _("Click here to verify") + confirm_subscription_url, + _("Click here to verify"), ) - content = """ -

{0}. {1}.

-
- """.format(*messages) +

{0}. {1}.

+

{3}

+ """.format(*translatable_content) + + frappe.sendmail( + email, + subject=email_subject, + content=content, + now=True, + ) - frappe.sendmail(email, subject=getattr('email_template', 'subject', '') or _("Confirm Your Email"), content=content, now=True) @frappe.whitelist(allow_guest=True) -def confirm_subscription(email, email_group=_('Website')): +def confirm_subscription(email, email_group=_("Website")): + """API endpoint to confirm email subscription. + This endpoint is called when user clicks on the link sent to their mail. + """ if not verify_request(): return if not frappe.db.exists("Email Group", email_group): - frappe.get_doc({ - "doctype": "Email Group", - "title": email_group - }).insert(ignore_permissions=True) + frappe.get_doc({"doctype": "Email Group", "title": email_group}).insert( + ignore_permissions=True + ) frappe.flags.ignore_permissions = True add_subscribers(email_group, email) frappe.db.commit() - frappe.respond_as_web_page(_("Confirmed"), + frappe.respond_as_web_page( + _("Confirmed"), _("{0} has been successfully added to the Email Group.").format(email), - indicator_color='green') - - -def send_newsletter(newsletter): - try: - doc = frappe.get_doc("Newsletter", newsletter) - doc.queue_all() - - except: - frappe.db.rollback() - - # wasn't able to send emails :( - doc.db_set("email_sent", 0) - frappe.db.commit() - - frappe.log_error(title='Send Newsletter') - - raise - - else: - frappe.db.commit() + indicator_color="green", + ) def get_list_context(context=None): From e80d5f25c6259ef2fb6fdddff7dfc61a8f77354c Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Wed, 11 Aug 2021 20:12:50 +0530 Subject: [PATCH 0232/1383] refactor: Newsletter failure handling Don't raise after handling generic Exception class. Just log error and go on. This way, other newsletters will continue to loop instead of breaking after one failure Added more context (docname) to logged error --- frappe/email/doctype/newsletter/newsletter.py | 34 +++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/frappe/email/doctype/newsletter/newsletter.py b/frappe/email/doctype/newsletter/newsletter.py index 5f420785e1..8857952a29 100755 --- a/frappe/email/doctype/newsletter/newsletter.py +++ b/frappe/email/doctype/newsletter/newsletter.py @@ -336,12 +336,34 @@ def get_newsletter_list(doctype, txt, filters, limit_start, limit_page_length=20 '''.format(','.join(['%s'] * len(email_group_list)), limit_page_length, limit_start), email_group_list, as_dict=1) + def send_scheduled_email(): """Send scheduled newsletter to the recipients.""" - scheduled_newsletter = frappe.get_all('Newsletter', filters = { - 'schedule_send': ('<=', now_datetime()), - 'email_sent': 0, - 'schedule_sending': 1 - }, fields = ['name'], ignore_ifnull=True) + scheduled_newsletter = frappe.get_all( + "Newsletter", + filters={ + "schedule_send": ("<=", frappe.utils.now_datetime()), + "email_sent": False, + "schedule_sending": True, + }, + ignore_ifnull=True, + pluck="name", + ) + for newsletter in scheduled_newsletter: - send_newsletter(newsletter.name) + try: + frappe.get_doc("Newsletter", newsletter).queue_all() + + except Exception: + frappe.db.rollback() + + # wasn't able to send emails :( + frappe.db.set_value("Newsletter", newsletter, "email_sent", 0) + message = ( + f"Newsletter {newsletter} failed to send" + "\n\n" + f"Traceback: {frappe.get_traceback()}" + ) + frappe.log_error(title="Send Newsletter", message=message) + + frappe.db.commit() From cda48832f459a2eefbead43d5004cbe72759d5db Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Wed, 11 Aug 2021 20:42:57 +0530 Subject: [PATCH 0233/1383] chore(test): Update API usages Striving for better readability * Use frappe.db.delete instead of frappe.db.sql * Use named kwargs instead of positional --- .../doctype/newsletter/test_newsletter.py | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/frappe/email/doctype/newsletter/test_newsletter.py b/frappe/email/doctype/newsletter/test_newsletter.py index 3abd339ed9..c1f6c7d4a9 100644 --- a/frappe/email/doctype/newsletter/test_newsletter.py +++ b/frappe/email/doctype/newsletter/test_newsletter.py @@ -24,7 +24,7 @@ emails = [ class TestNewsletter(unittest.TestCase): def setUp(self): frappe.set_user("Administrator") - frappe.db.sql("delete from `tabEmail Group Member`") + frappe.db.delete("Email Group Member") if not frappe.db.exists("Email Group", "_Test Email Group"): frappe.get_doc({"doctype": "Email Group", "title": "_Test Email Group"}).insert() @@ -66,9 +66,10 @@ class TestNewsletter(unittest.TestCase): @staticmethod def send_newsletter(published=0, schedule_send=None): - frappe.db.sql("delete from `tabEmail Queue`") - frappe.db.sql("delete from `tabEmail Queue Recipient`") - frappe.db.sql("delete from `tabNewsletter`") + frappe.db.delete("Email Queue") + frappe.db.delete("Email Queue Recipient") + frappe.db.delete("Newsletter") + newsletter = frappe.get_doc({ "doctype": "Newsletter", "subject": "_Test Newsletter", @@ -78,26 +79,26 @@ class TestNewsletter(unittest.TestCase): "published": published, "schedule_sending": bool(schedule_send), "schedule_send": schedule_send - }).insert(ignore_permissions=True) - + }) + newsletter.insert(ignore_permissions=True) newsletter.append("email_group", {"email_group": "_Test Email Group"}) newsletter.save() + if schedule_send: send_scheduled_email() - return - - newsletter.send_emails() - return newsletter.name + else: + newsletter.send_emails() + return newsletter.name def test_portal(self): - self.send_newsletter(1) + self.send_newsletter(published=1) frappe.set_user("test1@example.com") newsletters = get_newsletter_list("Newsletter", None, None, 0) self.assertEqual(len(newsletters), 1) def test_newsletter_context(self): context = frappe._dict() - newsletter_name = self.send_newsletter(1) + newsletter_name = self.send_newsletter(published=1) frappe.set_user("test2@example.com") doc = frappe.get_doc("Newsletter", newsletter_name) doc.get_context(context) From b28a5beb539dd54cda18d9c1015f0715a414d322 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Wed, 11 Aug 2021 21:01:56 +0530 Subject: [PATCH 0234/1383] refactor(minor): Newsletter Controller * Resolve conflicting methods in the controller * Add docstring --- frappe/email/doctype/newsletter/newsletter.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/frappe/email/doctype/newsletter/newsletter.py b/frappe/email/doctype/newsletter/newsletter.py index 8857952a29..1ad0538036 100755 --- a/frappe/email/doctype/newsletter/newsletter.py +++ b/frappe/email/doctype/newsletter/newsletter.py @@ -23,7 +23,7 @@ class Newsletter(WebsiteGenerator): @property def newsletter_recipients(self) -> List[str]: - if getattr(self, "_recipients", None) == None: + if getattr(self, "_recipients", None) is None: self._recipients = self.get_recipients() return self._recipients @@ -132,7 +132,7 @@ class Newsletter(WebsiteGenerator): self.scheduled_to_send = len(newsletter_recipients) self.save() - def get_attachments(self) -> List[Dict[str, str]]: + def get_newsletter_attachments(self) -> List[Dict[str, str]]: """Get list of attachments on current Newsletter """ attachments = [] @@ -149,9 +149,11 @@ class Newsletter(WebsiteGenerator): return attachments def send_newsletter(self, emails: List[str]): + """Trigger email generation for `emails` and add it in Email Queue. + """ # TODO: get rid of this maybe? message = self.get_message() - attachments = self.get_attachments() + attachments = self.get_newsletter_attachments() sender = self.send_from or frappe.utils.get_formatted_email(self.owner) args = {"message": message, "name": self.name} @@ -200,7 +202,7 @@ class Newsletter(WebsiteGenerator): pluck="email_group", ) - def get_attachments(self) -> List[Dict]: + def get_attachments(self) -> List[Dict[str, str]]: return frappe.get_all( "File", fields=["name", "file_name", "file_url", "is_private"], From 5372a73ca472148a11982650bf23c06637a9cff8 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Thu, 12 Aug 2021 10:44:09 +0530 Subject: [PATCH 0235/1383] fix: Generate Custom Report & Custom Documents Card --- .../js/frappe/views/workspace/workspace.js | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/views/workspace/workspace.js b/frappe/public/js/frappe/views/workspace/workspace.js index a7bb58e6a1..145cd3f56e 100644 --- a/frappe/public/js/frappe/views/workspace/workspace.js +++ b/frappe/public/js/frappe/views/workspace/workspace.js @@ -314,6 +314,9 @@ frappe.views.Workspace = class Workspace { let this_page = pages.filter(p => p.title == page.name)[0]; this.setup_actions(page); this.content = this_page && JSON.parse(this_page.content); + + this.add_custom_cards_in_content(); + $('.item-anchor').addClass('disable-click'); this.get_data(this_page).then(() => { this.prepare_editorjs(); @@ -324,6 +327,15 @@ frappe.views.Workspace = class Workspace { } } + add_custom_cards_in_content() { + let index = -1; + this.content.find((item, i) => { if (item.type == 'card') index = i }); + if (index !== -1) { + this.content.splice(index+1, 0, {"type": "card", "data": {"card_name": "Custom Documents", "col": 4}}); + this.content.splice(index+2, 0, {"type": "card", "data": {"card_name": "Custom Reports", "col": 4}}); + } + } + prepare_editorjs() { if (this.editor) { this.editor.isReady.then(() => { @@ -690,6 +702,12 @@ frappe.views.Workspace = class Workspace { } }); + let blocks = outputData.blocks.filter( + item => item.type != 'card' || + (item.data.card_name !== 'Custom Documents' && + item.data.card_name !== 'Custom Reports') + ); + frappe.call({ method: "frappe.desk.doctype.workspace.workspace.save_page", args: { @@ -701,7 +719,7 @@ frappe.views.Workspace = class Workspace { sb_private_items: me.sorted_private_items, deleted_pages: me.deleted_sidebar_items, new_widgets: new_widgets, - blocks: JSON.stringify(outputData.blocks), + blocks: JSON.stringify(blocks), save: save }, callback: function(res) { From f8a673618336636b791f05f1de2ef2a5012df20e Mon Sep 17 00:00:00 2001 From: shariquerik Date: Thu, 12 Aug 2021 10:57:05 +0530 Subject: [PATCH 0236/1383] fix: Removing hide cards feature --- frappe/public/js/frappe/widgets/base_widget.js | 1 - 1 file changed, 1 deletion(-) diff --git a/frappe/public/js/frappe/widgets/base_widget.js b/frappe/public/js/frappe/widgets/base_widget.js index b9e60ea008..e6ae64d9dc 100644 --- a/frappe/public/js/frappe/widgets/base_widget.js +++ b/frappe/public/js/frappe/widgets/base_widget.js @@ -101,7 +101,6 @@ export default class Widget { make_widget() { this.widget = $(`
From e8d958dd3ef7f9c8be7e480574aab73c2b8ac98b Mon Sep 17 00:00:00 2001 From: shariquerik Date: Thu, 12 Aug 2021 11:09:31 +0530 Subject: [PATCH 0237/1383] fix: sider fix --- frappe/public/js/frappe/views/workspace/workspace.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/views/workspace/workspace.js b/frappe/public/js/frappe/views/workspace/workspace.js index 145cd3f56e..f4779e9733 100644 --- a/frappe/public/js/frappe/views/workspace/workspace.js +++ b/frappe/public/js/frappe/views/workspace/workspace.js @@ -329,7 +329,9 @@ frappe.views.Workspace = class Workspace { add_custom_cards_in_content() { let index = -1; - this.content.find((item, i) => { if (item.type == 'card') index = i }); + this.content.find((item, i) => { + if (item.type == 'card') index = i; + }); if (index !== -1) { this.content.splice(index+1, 0, {"type": "card", "data": {"card_name": "Custom Documents", "col": 4}}); this.content.splice(index+2, 0, {"type": "card", "data": {"card_name": "Custom Reports", "col": 4}}); From b897a41b088a564f63f80b28d4413bd2aaa1485f Mon Sep 17 00:00:00 2001 From: Komal-Saraf0609 Date: Thu, 12 Aug 2021 13:25:24 +0530 Subject: [PATCH 0238/1383] test: Added test script for dashboard links (tests if any doc is added to any dashboard connection, the counter for it is updated or not) --- cypress/integration/dashboard_links.js | 39 ++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 cypress/integration/dashboard_links.js diff --git a/cypress/integration/dashboard_links.js b/cypress/integration/dashboard_links.js new file mode 100644 index 0000000000..4a3a7e25ed --- /dev/null +++ b/cypress/integration/dashboard_links.js @@ -0,0 +1,39 @@ +context('Dashboard links', () => { + before(() => { + cy.visit('/login'); + cy.login(); + cy.visit('/app/user'); + }); + + it('Adding a new contact, checking for the counter on the dashboard and deleting the created contact', () => { + cy.get('.list-row-col > .level-item > .ellipsis').eq(0).click(); + + //To check if initially the dashboard contains only the "Contact" link and there is no counter + cy.get('[data-doctype="Contact"]').should('contain','Contact'); + + //Adding a new contact + cy.get('.btn[data-doctype="Contact"]').click(); + cy.get('.has-error > .form-group > .control-input-wrapper > .control-input > .input-with-feedback').type('Admin'); + cy.get('#page-Contact > .page-head > .container > .row > .col > .standard-actions > .primary-action').click(); + cy.visit('/app/user'); + cy.get('.list-row-col > .level-item > .ellipsis').eq(0).click(); + + //To check if the counter for contact doc is "1" after adding the contact + cy.get('[data-doctype="Contact"] > .count').should('contain','1'); + cy.get('[data-doctype="Contact"]').contains('Contact').click(); + + //Deleting the newly created contact + cy.visit('/app/contact'); + cy.get('.list-subject > .select-like > .list-row-checkbox').eq(0).click(); + cy.get('.actions-btn-group > .btn').contains('Actions').click(); + cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); + cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Yes').click({delay : 700}); + + + //To check if the counter from the "Contact" doc link is removed + cy.visit('/app/user'); + cy.wait(700); + cy.get('.list-row-col > .level-item > .ellipsis').eq(0).click(); + cy.get('[data-doctype="Contact"]').should('contain','Contact'); + }); +}); \ No newline at end of file From 06efca0fa659afb6437cc8ad525807baa37c14e2 Mon Sep 17 00:00:00 2001 From: Komal-Saraf0609 Date: Thu, 12 Aug 2021 13:48:03 +0530 Subject: [PATCH 0239/1383] test: Fixed sider issues --- cypress/integration/dashboard_links.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cypress/integration/dashboard_links.js b/cypress/integration/dashboard_links.js index 4a3a7e25ed..6bf2d22dad 100644 --- a/cypress/integration/dashboard_links.js +++ b/cypress/integration/dashboard_links.js @@ -9,7 +9,7 @@ context('Dashboard links', () => { cy.get('.list-row-col > .level-item > .ellipsis').eq(0).click(); //To check if initially the dashboard contains only the "Contact" link and there is no counter - cy.get('[data-doctype="Contact"]').should('contain','Contact'); + cy.get('[data-doctype="Contact"]').should('contain', 'Contact'); //Adding a new contact cy.get('.btn[data-doctype="Contact"]').click(); @@ -19,7 +19,7 @@ context('Dashboard links', () => { cy.get('.list-row-col > .level-item > .ellipsis').eq(0).click(); //To check if the counter for contact doc is "1" after adding the contact - cy.get('[data-doctype="Contact"] > .count').should('contain','1'); + cy.get('[data-doctype="Contact"] > .count').should('contain', '1'); cy.get('[data-doctype="Contact"]').contains('Contact').click(); //Deleting the newly created contact @@ -27,13 +27,13 @@ context('Dashboard links', () => { cy.get('.list-subject > .select-like > .list-row-checkbox').eq(0).click(); cy.get('.actions-btn-group > .btn').contains('Actions').click(); cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); - cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Yes').click({delay : 700}); + cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Yes').click({delay: 700}); //To check if the counter from the "Contact" doc link is removed cy.visit('/app/user'); cy.wait(700); cy.get('.list-row-col > .level-item > .ellipsis').eq(0).click(); - cy.get('[data-doctype="Contact"]').should('contain','Contact'); + cy.get('[data-doctype="Contact"]').should('contain', 'Contact'); }); }); \ No newline at end of file From fa53d7473ead5eed0bbb7acedfcad7b68468e927 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Thu, 12 Aug 2021 15:55:34 +0530 Subject: [PATCH 0240/1383] fix: Updated Public Page edit restriction message for user without access --- frappe/public/js/frappe/views/workspace/workspace.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/public/js/frappe/views/workspace/workspace.js b/frappe/public/js/frappe/views/workspace/workspace.js index f4779e9733..41bd278e57 100644 --- a/frappe/public/js/frappe/views/workspace/workspace.js +++ b/frappe/public/js/frappe/views/workspace/workspace.js @@ -445,9 +445,9 @@ frappe.views.Workspace = class Workspace { if (!item.is_editable) { $(`${frappe.utils.icon("lock", "sm")}`) .appendTo(sidebar_control); - sidebar_control.find('.sidebar-info').click(() => { + sidebar_control.parent().click(() => { frappe.show_alert({ - message: __("Only owner can sort of edit this page"), + message: __("Only Workspace Manager can sort or edit this page"), indicator: 'info' }, 5); }); From c5eb78edd7dbd4ccb4c9397a9caca290d427628a Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 12 Aug 2021 16:12:04 +0530 Subject: [PATCH 0241/1383] refactor: Simplify validations, fix test_send --- frappe/email/doctype/newsletter/newsletter.py | 57 +++++++++++-------- 1 file changed, 34 insertions(+), 23 deletions(-) diff --git a/frappe/email/doctype/newsletter/newsletter.py b/frappe/email/doctype/newsletter/newsletter.py index 1ad0538036..c575cc9ce0 100755 --- a/frappe/email/doctype/newsletter/newsletter.py +++ b/frappe/email/doctype/newsletter/newsletter.py @@ -1,5 +1,5 @@ -# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors -# License: GNU General Public License v3. See license.txt +# Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors +# MIT License. See LICENSE from typing import Dict, List @@ -11,6 +11,8 @@ from frappe.website.website_generator import WebsiteGenerator from frappe.utils.verified_command import get_signed_params, verify_request from frappe.email.doctype.email_group.email_group import add_subscribers +from .exceptions import NewsletterAlreadySentError, NoRecipientFoundError, NewsletterNotSavedError + class Newsletter(WebsiteGenerator): def onload(self): @@ -30,17 +32,14 @@ class Newsletter(WebsiteGenerator): @frappe.whitelist() def test_send(self): test_emails = frappe.utils.split_emails(self.test_email_id) - self.queue_all(test_email=test_emails) + self.queue_all(test_emails=test_emails) frappe.msgprint(_("Test email sent to {0}").format(self.test_email_id)) @frappe.whitelist() def send_emails(self): """send emails to leads and customers""" - if self.email_sent: - frappe.throw(_("Newsletter has already been sent")) - - if not self.newsletter_recipients: - frappe.throw(_("Newsletter should have atleast one recipient")) + self.validate_newsletter_status() + self.validate_newsletter_recipients() self.queue_all() frappe.msgprint(_("Email queued to {0} recipients").format(len(self.newsletter_recipients))) @@ -53,10 +52,29 @@ class Newsletter(WebsiteGenerator): filters={"reference_doctype": self.doctype, "reference_name": self.name}, fields=["status", "count(name)"], group_by="status", + order_by="status", as_list=True, ) self.get("__onload").status_count = dict(status_count) + def validate_send(self): + """Validate if Newsletter can be sent. + """ + self.validate_newsletter_status() + self.validate_newsletter_recipients() + + def validate_newsletter_status(self): + if self.email_sent: + frappe.throw(_("Newsletter has already been sent"), exc=NewsletterAlreadySentError) + + if self.get("__islocal"): + frappe.throw(_("Please save the Newsletter before sending"), exc=NewsletterNotSavedError) + + def validate_newsletter_recipients(self): + if not self.newsletter_recipients: + frappe.throw(_("Newsletter should have atleast one recipient"), exc=NoRecipientFoundError) + self.validate_recipient_address() + def validate_sender_address(self): """Validate self.send_from is a valid email address or not. """ @@ -69,15 +87,6 @@ class Newsletter(WebsiteGenerator): for recipient in self.newsletter_recipients: frappe.utils.validate_email_address(recipient, throw=True) - def validate_send(self): - """Validate if Newsletter can be sent. - """ - if self.get("__islocal"): - frappe.throw(_("Please save the Newsletter before sending")) - - if not self.newsletter_recipients: - frappe.throw(_("Newsletter should have at least one recipient")) - def get_linked_email_queue(self) -> List[str]: """Get list of email queue linked to this newsletter. """ @@ -110,23 +119,25 @@ class Newsletter(WebsiteGenerator): x for x in self.newsletter_recipients if x not in self.get_success_recipients() ] - def queue_all(self, test_email: str = None): + def queue_all(self, test_emails: List[str] = None): """Queue Newsletter to all the recipients generated from the `Email Group` table Args: - test_email (str, optional): Send test Newsletter to set email. Defaults to None. + test_email (List[str], optional): Send test Newsletter to the passed set of emails. + Defaults to None. """ - if test_email: - frappe.utils.validate_email_address(test_email, throw=True) + if test_emails: + for test_email in test_emails: + frappe.utils.validate_email_address(test_email, throw=True) else: self.validate() self.validate_send() - newsletter_recipients = test_email or self.get_pending_recipients() + newsletter_recipients = test_emails or self.get_pending_recipients() self.send_newsletter(emails=newsletter_recipients) - if not test_email: + if not test_emails: self.email_sent = True self.schedule_send = frappe.utils.now_datetime() self.scheduled_to_send = len(newsletter_recipients) From a5010af92a022fcea6dcee1efa35e1a5d8020d12 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 12 Aug 2021 16:12:55 +0530 Subject: [PATCH 0242/1383] test: Update tests for Newsletter Added tests for better coverage: Increased to 77% ~ near complete coverage of controller class, missing tests for API endpoints --- .../doctype/newsletter/test_newsletter.py | 183 ++++++++++++++---- 1 file changed, 149 insertions(+), 34 deletions(-) diff --git a/frappe/email/doctype/newsletter/test_newsletter.py b/frappe/email/doctype/newsletter/test_newsletter.py index c1f6c7d4a9..2d5b8864f1 100644 --- a/frappe/email/doctype/newsletter/test_newsletter.py +++ b/frappe/email/doctype/newsletter/test_newsletter.py @@ -1,17 +1,26 @@ -# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors -# License: GNU General Public License v3. See license.txt +# Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors +# MIT License. See LICENSE + import unittest from random import choice +from typing import Union +from unittest.mock import MagicMock, PropertyMock, patch import frappe -from frappe.email.doctype.newsletter.newsletter import ( - confirmed_unsubscribe, - send_scheduled_email, +from frappe.desk.form.load import run_onload +from frappe.email.doctype.newsletter.exceptions import ( + NewsletterAlreadySentError, NoRecipientFoundError +) +from frappe.email.doctype.newsletter.newsletter import ( + Newsletter, + confirmed_unsubscribe, + get_newsletter_list, + send_scheduled_email ) -from frappe.email.doctype.newsletter.newsletter import get_newsletter_list from frappe.email.queue import flush from frappe.utils import add_days, getdate + test_dependencies = ["Email Group"] emails = [ "test_subscriber1@example.com", @@ -20,14 +29,33 @@ emails = [ "test1@example.com", ] +def get_dotted_path(obj: type) -> str: + klass = obj.__class__ + module = klass.__module__ + if module == 'builtins': + return klass.__qualname__ # avoid outputs like 'builtins.str' + return f"{module}.{klass.__qualname__}" + + +class TestNewsletterMixin: + @classmethod + def setUpclass(self): + frappe.db.delete("Newsletter") -class TestNewsletter(unittest.TestCase): def setUp(self): frappe.set_user("Administrator") frappe.db.delete("Email Group Member") + self.setup_email_group() + def tearDown(self): + frappe.db.delete("Newsletter") + + def setup_email_group(self): if not frappe.db.exists("Email Group", "_Test Email Group"): - frappe.get_doc({"doctype": "Email Group", "title": "_Test Email Group"}).insert() + frappe.get_doc({ + "doctype": "Email Group", + "title": "_Test Email Group" + }).insert() for email in emails: frappe.get_doc({ @@ -36,6 +64,54 @@ class TestNewsletter(unittest.TestCase): "email_group": "_Test Email Group" }).insert() + def send_newsletter(self, published=0, schedule_send=None) -> Union[str, None]: + frappe.db.delete("Email Queue") + frappe.db.delete("Email Queue Recipient") + frappe.db.delete("Newsletter") + newsletter_options = { + "published": published, + "schedule_sending": bool(schedule_send), + "schedule_send": schedule_send + } + newsletter = self.get_newsletter(**newsletter_options) + + if schedule_send: + send_scheduled_email() + else: + newsletter.send_emails() + return newsletter.name + + @staticmethod + def get_newsletter(**kwargs) -> "Newsletter": + """Generate and return Newsletter object + """ + newsletter_content = { + "doctype": "Newsletter", + "subject": "_Test Newsletter", + "send_from": "Test Sender ", + "content_type": "Rich Text", + "message": "Testing my news.", + } + newsletter = frappe.get_doc({**newsletter_content, **kwargs}) + newsletter.append("email_group", {"email_group": "_Test Email Group"}) + + newsletter.insert(ignore_permissions=True) + newsletter.save() + newsletter.reload() + + attached_files = frappe.get_all("File", { + "attached_to_doctype": newsletter.doctype, + "attached_to_name": newsletter.name, + }, + pluck="name", + ) + for file in attached_files: + frappe.delete_doc("File", file) + + return newsletter + + +class TestNewsletter(TestNewsletterMixin, unittest.TestCase): def test_send(self): self.send_newsletter() @@ -64,32 +140,6 @@ class TestNewsletter(unittest.TestCase): if email != to_unsubscribe: self.assertTrue(email in recipients) - @staticmethod - def send_newsletter(published=0, schedule_send=None): - frappe.db.delete("Email Queue") - frappe.db.delete("Email Queue Recipient") - frappe.db.delete("Newsletter") - - newsletter = frappe.get_doc({ - "doctype": "Newsletter", - "subject": "_Test Newsletter", - "send_from": "Test Sender ", - "content_type": "Rich Text", - "message": "Testing my news.", - "published": published, - "schedule_sending": bool(schedule_send), - "schedule_send": schedule_send - }) - newsletter.insert(ignore_permissions=True) - newsletter.append("email_group", {"email_group": "_Test Email Group"}) - newsletter.save() - - if schedule_send: - send_scheduled_email() - else: - newsletter.send_emails() - return newsletter.name - def test_portal(self): self.send_newsletter(published=1) frappe.set_user("test1@example.com") @@ -113,3 +163,68 @@ class TestNewsletter(unittest.TestCase): recipients = [e.recipients[0].recipient for e in email_queue_list] for email in emails: self.assertTrue(email in recipients) + + def test_newsletter_test_send(self): + """Test "Test Send" functionality of Newsletter + """ + newsletter = self.get_newsletter() + newsletter.test_email_id = choice(emails) + newsletter.test_send() + + self.assertFalse(newsletter.email_sent) + newsletter.save = MagicMock() + self.assertFalse(newsletter.save.called) + + def test_newsletter_status(self): + """Test for Newsletter's stats on onload event + """ + newsletter = self.get_newsletter() + newsletter.email_sent = True + # had to use run_onload as calling .onload directly bought weird errors + # like TestNewsletter has no attribute "_TestNewsletter__onload" + run_onload(newsletter) + self.assertIsInstance(newsletter.get("__onload").status_count, dict) + + def test_already_sent_newsletter(self): + newsletter = self.get_newsletter() + newsletter.send_emails() + + with self.assertRaises(NewsletterAlreadySentError): + newsletter.send_emails() + + def test_newsletter_with_no_recipient(self): + newsletter = self.get_newsletter() + property_path = f"{get_dotted_path(newsletter)}.newsletter_recipients" + + with patch(property_path, new_callable=PropertyMock) as mock_newsletter_recipients: + mock_newsletter_recipients.return_value = [] + with self.assertRaises(NoRecipientFoundError): + newsletter.send_emails() + + def test_send_newsletter_with_attachments(self): + newsletter = self.get_newsletter() + newsletter.reload() + file_attachment = frappe.get_doc({ + "doctype": "File", + "file_name": "test1.txt", + "attached_to_doctype": newsletter.doctype, + "attached_to_name": newsletter.name, + "content": frappe.mock("paragraph") + }) + file_attachment.save() + newsletter.send_attachments = True + newsletter_attachments = newsletter.get_newsletter_attachments() + self.assertEqual(len(newsletter_attachments), 1) + self.assertEqual(newsletter_attachments[0]["fid"], file_attachment.name) + + def test_send_scheduled_email_error_handling(self): + newsletter = self.get_newsletter(schedule_send=add_days(getdate(), -1)) + job_path = "frappe.email.doctype.newsletter.newsletter.Newsletter.queue_all" + m = MagicMock(side_effect=frappe.OutgoingEmailError) + + with self.assertRaises(frappe.OutgoingEmailError): + with patch(job_path, new_callable=m): + send_scheduled_email() + + newsletter.reload() + self.assertEqual(newsletter.email_sent, 0) From 1015283731a446124b1b763886b8caefeb398491 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 12 Aug 2021 16:23:40 +0530 Subject: [PATCH 0243/1383] fix(global_search): Typecast variable for comparision Previously start was being type casted with int. That was reverted by refactoring query to use new Query Builder This bug was introduced via ee3c84beef82ae37be04414866827510c8d0ebff --- frappe/utils/global_search.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/utils/global_search.py b/frappe/utils/global_search.py index 072e3a7c62..e58d6097c8 100644 --- a/frappe/utils/global_search.py +++ b/frappe/utils/global_search.py @@ -442,7 +442,7 @@ def search(text, start=0, limit=20, doctype=""): elif allowed_doctypes: query = query.where(global_search.doctype.isin(allowed_doctypes)) - if start > 0: + if cint(start) > 0: query = query.offset(start) result = frappe.db.sql(query, as_dict=True) From d5739cd43bb7b2cbc566158bedb4f080ae965f6f Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 12 Aug 2021 16:46:09 +0530 Subject: [PATCH 0244/1383] fix: Add exceptions classes for Newsletter --- frappe/email/doctype/newsletter/exceptions.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 frappe/email/doctype/newsletter/exceptions.py diff --git a/frappe/email/doctype/newsletter/exceptions.py b/frappe/email/doctype/newsletter/exceptions.py new file mode 100644 index 0000000000..a6c688dbe8 --- /dev/null +++ b/frappe/email/doctype/newsletter/exceptions.py @@ -0,0 +1,13 @@ +# Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors +# MIT License. See LICENSE + +from frappe.exceptions import ValidationError + +class NewsletterAlreadySentError(ValidationError): + pass + +class NoRecipientFoundError(ValidationError): + pass + +class NewsletterNotSavedError(ValidationError): + pass From 43b9b452ff34b6318e967b01d4374d2ee2542211 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 12 Aug 2021 17:30:23 +0530 Subject: [PATCH 0245/1383] fix: Don't clear Newsletter table at setupClass --- frappe/email/doctype/newsletter/test_newsletter.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/frappe/email/doctype/newsletter/test_newsletter.py b/frappe/email/doctype/newsletter/test_newsletter.py index 2d5b8864f1..8662b6d726 100644 --- a/frappe/email/doctype/newsletter/test_newsletter.py +++ b/frappe/email/doctype/newsletter/test_newsletter.py @@ -38,10 +38,6 @@ def get_dotted_path(obj: type) -> str: class TestNewsletterMixin: - @classmethod - def setUpclass(self): - frappe.db.delete("Newsletter") - def setUp(self): frappe.set_user("Administrator") frappe.db.delete("Email Group Member") From e4e79dd4246739066b67c5a19b2479660c52496c Mon Sep 17 00:00:00 2001 From: shariquerik Date: Thu, 12 Aug 2021 17:41:53 +0530 Subject: [PATCH 0246/1383] test: minor fix --- cypress/integration/workspace.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cypress/integration/workspace.js b/cypress/integration/workspace.js index 2c3a8434ee..0021c7117f 100644 --- a/cypress/integration/workspace.js +++ b/cypress/integration/workspace.js @@ -24,13 +24,14 @@ context('Workspace 2.0', () => { cy.get('.standard-actions .btn-primary[data-label="Save Customizations"]').click(); cy.wait(300); cy.get('.sidebar-item-container[item-name="Test Private Page"]').should('have.attr', 'item-public', '0'); - }); - it('Add New Block', () => { cy.wait(500); cy.get('.codex-editor__redactor .ce-block'); cy.get('.standard-actions .btn-secondary[data-label=Customize]').click(); + }); + it('Add New Block', () => { + cy.get('.codex-editor__redactor .ce-block'); cy.get('.custom-actions .inner-group-button[data-label="Add%20Block"]').click(); cy.get('.custom-actions .inner-group-button .dropdown-menu .block-menu-item-label').contains('Heading').click(); cy.get(".ce-block:last").find('h2').type('Header'); From 8fc2577e9afeba8d1598665938740ce5c32b81f2 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 12 Aug 2021 17:44:14 +0530 Subject: [PATCH 0247/1383] fix: Remove cross import statements --- frappe/query_builder/utils.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/frappe/query_builder/utils.py b/frappe/query_builder/utils.py index 2655de35bc..67e2c392f3 100644 --- a/frappe/query_builder/utils.py +++ b/frappe/query_builder/utils.py @@ -1,5 +1,6 @@ from enum import Enum from typing import Any, Callable, Dict, get_type_hints +from importlib import import_module from pypika import Query @@ -19,6 +20,9 @@ class ImportMapper: db = db_type_is(frappe.conf.db_type or "mariadb") return self.func_map[db](*args, **kwds) +class BuilderIdentificationFailed(Exception): + def __init__(self): + super().__init__("Couldn't guess builder") def get_query_builder(type_of_db: str) -> Query: """[return the query builder object] @@ -33,6 +37,10 @@ def get_query_builder(type_of_db: str) -> Query: picks = {db_type_is.MARIADB: MariaDB, db_type_is.POSTGRES: Postgres} return picks[db] +def get_attr(method_string): + modulename = '.'.join(method_string.split('.')[:-1]) + methodname = method_string.split('.')[-1] + return getattr(import_module(modulename), methodname) def patch_query_execute(): """Patch the Query Builder with helper execute method @@ -43,12 +51,7 @@ def patch_query_execute(): def execute_query(query, **kwargs): return frappe.db.sql(query, **kwargs) - class BuilderIdentificationFailed(Exception): - def __init__(self, message=None): - message = message or "Couldn't guess builder" - super().__init__(message) - - query_class = frappe.get_attr(str(frappe.qb).split("'")[1]) + query_class = get_attr(str(frappe.qb).split("'")[1]) builder_class = get_type_hints(query_class._builder).get('return') if not builder_class: From 189f9f81ae454842de9bc3bb36beb06c50b0ecd6 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 12 Aug 2021 17:47:38 +0530 Subject: [PATCH 0248/1383] fix(Newsletter): Remove "double" validations Validations for checking recipients and statuses were being checked again later on, via validate_send. This gets rid of doing it twice --- frappe/email/doctype/newsletter/newsletter.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/frappe/email/doctype/newsletter/newsletter.py b/frappe/email/doctype/newsletter/newsletter.py index c575cc9ce0..b08964c006 100755 --- a/frappe/email/doctype/newsletter/newsletter.py +++ b/frappe/email/doctype/newsletter/newsletter.py @@ -38,9 +38,6 @@ class Newsletter(WebsiteGenerator): @frappe.whitelist() def send_emails(self): """send emails to leads and customers""" - self.validate_newsletter_status() - self.validate_newsletter_recipients() - self.queue_all() frappe.msgprint(_("Email queued to {0} recipients").format(len(self.newsletter_recipients))) From 30cf8fd58dcd32f014c0a4c925c77575922219f5 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 12 Aug 2021 18:36:43 +0530 Subject: [PATCH 0249/1383] refactor: Use run instead of frappe.db.sql --- frappe/cache_manager.py | 7 +++---- frappe/config/__init__.py | 8 ++++++-- frappe/patches/v12_0/set_correct_assign_value_in_docs.py | 6 ++---- frappe/utils/global_search.py | 2 +- .../website/report/website_analytics/website_analytics.py | 5 ++--- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/frappe/cache_manager.py b/frappe/cache_manager.py index c17ae583ed..2ee3b46b7c 100644 --- a/frappe/cache_manager.py +++ b/frappe/cache_manager.py @@ -145,10 +145,9 @@ def build_table_count_cache(): table_rows = frappe.qb.Field("table_rows").as_("count") information_schema = frappe.qb.Schema("information_schema") - query = frappe.qb.from_(information_schema.tables).select(table_name, table_rows) - - data = frappe.db.sql(query, as_dict=1) - + data = ( + frappe.qb.from_(information_schema.tables).select(table_name, table_rows) + ).run(as_dict=True) counts = {d.get('name').lstrip('tab'): d.get('count', None) for d in data} _cache.set_value("information_schema:counts", counts) diff --git a/frappe/config/__init__.py b/frappe/config/__init__.py index e7f0f1a763..aa441b7d71 100644 --- a/frappe/config/__init__.py +++ b/frappe/config/__init__.py @@ -43,9 +43,13 @@ def get_all_empty_tables_by_module(): table_name = frappe.qb.Field("table_name") information_schema = frappe.qb.Schema("information_schema") - query = frappe.qb.from_(information_schema.tables).select(table_name).where(table_rows == 0) + empty_tables = ( + frappe.qb.from_(information_schema.tables) + .select(table_name) + .where(table_rows == 0) + ).run() - empty_tables = {r[0] for r in frappe.db.sql(query)} + empty_tables = {r[0] for r in empty_tables} results = frappe.get_all("DocType", fields=["name", "module"]) empty_tables_by_module = {} diff --git a/frappe/patches/v12_0/set_correct_assign_value_in_docs.py b/frappe/patches/v12_0/set_correct_assign_value_in_docs.py index 79bacef5a2..5aaadd00e8 100644 --- a/frappe/patches/v12_0/set_correct_assign_value_in_docs.py +++ b/frappe/patches/v12_0/set_correct_assign_value_in_docs.py @@ -7,16 +7,14 @@ def execute(): ToDo = frappe.qb.DocType("ToDo") assignees = GroupConcat("owner").distinct().as_("assignees") - query = ( + assignments = ( frappe.qb.from_(ToDo) .select(ToDo.name, ToDo.reference_type, assignees) .where(Coalesce(ToDo.reference_type, "") != "") .where(Coalesce(ToDo.reference_name, "") != "") .where(ToDo.status != "Cancelled") .groupby(ToDo.reference_type, ToDo.reference_name) - ) - - assignments = frappe.db.sql(query, as_dict=True) + ).run(as_dict=True) for doc in assignments: assignments = doc.assignees.split(",") diff --git a/frappe/utils/global_search.py b/frappe/utils/global_search.py index e58d6097c8..be941abd51 100644 --- a/frappe/utils/global_search.py +++ b/frappe/utils/global_search.py @@ -445,7 +445,7 @@ def search(text, start=0, limit=20, doctype=""): if cint(start) > 0: query = query.offset(start) - result = frappe.db.sql(query, as_dict=True) + result = query.run(as_dict=True) results.extend(result) diff --git a/frappe/website/report/website_analytics/website_analytics.py b/frappe/website/report/website_analytics/website_analytics.py index 99fce02f1e..b4e76ba9fd 100644 --- a/frappe/website/report/website_analytics/website_analytics.py +++ b/frappe/website/report/website_analytics/website_analytics.py @@ -64,7 +64,7 @@ class WebsiteAnalytics(object): case = frappe.qb.terms.Case().when(WebPageView.is_unique == "1", "1") count_is_unique = Count(case).as_("unique_count") - query = ( + return ( frappe.qb.from_(WebPageView) .select("path", count_all, count_is_unique) .where( @@ -72,8 +72,7 @@ class WebsiteAnalytics(object): ) .groupby(WebPageView.path) .orderby("count", Order=frappe.qb.desc) - ) - return frappe.db.sql(query) + ).run() def _get_query_for_mariadb(self): filters_range = self.filters.range From bf14e1f2b1f1bbbefdd87c0d925bfd755475f0f1 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 12 Aug 2021 18:37:05 +0530 Subject: [PATCH 0250/1383] test: Add test for patch_query_execute --- frappe/tests/test_query_builder.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/frappe/tests/test_query_builder.py b/frappe/tests/test_query_builder.py index c5ad457b2a..7a0935a63b 100644 --- a/frappe/tests/test_query_builder.py +++ b/frappe/tests/test_query_builder.py @@ -42,6 +42,12 @@ class TestBuilderBase(object): self.assertEqual("__Auth", frappe.qb.DocType("__Auth").get_sql()) self.assertEqual("Notes", frappe.qb.Table("Notes").get_sql()) + def test_run_patcher(self): + query = frappe.qb.from_("ToDo").select("*").limit(1) + data = query.run(as_dict=True) + self.assertTrue("run" in dir(query)) + self.assertIsInstance(query.run, Callable) + self.assertIsInstance(data, list) @run_only_if(db_type_is.MARIADB) class TestBuilderMaria(unittest.TestCase, TestBuilderBase): From 0ada55120738fbf1ebaafaf3fe050f8eccb299b6 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Thu, 12 Aug 2021 19:52:28 +0530 Subject: [PATCH 0251/1383] fix: Removed build.json, changed patch to v14 --- frappe/patches.txt | 2 +- .../{v13_0 => v14_0}/update_workspace2.py | 0 frappe/public/build.json | 300 ------------------ .../js/frappe/views/workspace/workspace.js | 12 +- 4 files changed, 7 insertions(+), 307 deletions(-) rename frappe/patches/{v13_0 => v14_0}/update_workspace2.py (100%) delete mode 100755 frappe/public/build.json diff --git a/frappe/patches.txt b/frappe/patches.txt index d7cd697717..87919b0247 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -180,6 +180,6 @@ frappe.patches.v12_0.rename_uploaded_files_with_proper_name frappe.patches.v13_0.queryreport_columns frappe.patches.v13_0.jinja_hook frappe.patches.v13_0.update_notification_channel_if_empty -frappe.patches.v13_0.update_workspace2 frappe.patches.v14_0.drop_data_import_legacy frappe.patches.v14_0.rename_cancelled_documents +frappe.patches.v14_0.update_workspace2 diff --git a/frappe/patches/v13_0/update_workspace2.py b/frappe/patches/v14_0/update_workspace2.py similarity index 100% rename from frappe/patches/v13_0/update_workspace2.py rename to frappe/patches/v14_0/update_workspace2.py diff --git a/frappe/public/build.json b/frappe/public/build.json deleted file mode 100755 index ccdb895366..0000000000 --- a/frappe/public/build.json +++ /dev/null @@ -1,300 +0,0 @@ -{ - "css/frappe-web-b4.css": "public/scss/website.scss", - "css/frappe-chat-web.css": [ - "public/css/font-awesome.css", - "public/css/octicons/octicons.css", - "public/less/chat.less" - ], - "concat:js/moment-bundle.min.js": [ - "node_modules/moment/min/moment-with-locales.min.js", - "node_modules/moment-timezone/builds/moment-timezone-with-data.min.js" - ], - "js/chat.js": "public/js/frappe/chat.js", - "js/frappe-recorder.min.js": "public/js/frappe/recorder/recorder.js", - "js/checkout.min.js": "public/js/integrations/razorpay.js", - "js/frappe-web.min.js": [ - "public/js/frappe/class.js", - "public/js/frappe/polyfill.js", - "public/js/lib/md5.min.js", - "public/js/frappe/provide.js", - "public/js/frappe/format.js", - "public/js/frappe/utils/number_format.js", - "public/js/frappe/utils/utils.js", - "public/js/frappe/utils/common.js", - "public/js/frappe/ui/messages.js", - "public/js/frappe/translate.js", - "public/js/frappe/utils/pretty_date.js", - "public/js/frappe/microtemplate.js", - "public/js/frappe/query_string.js", - - "public/js/frappe/upload.js", - - "public/js/frappe/model/meta.js", - "public/js/frappe/model/model.js", - "public/js/frappe/model/perm.js", - - "website/js/website.js", - "public/js/frappe/socketio_client.js" - ], - "js/bootstrap-4-web.min.js": "website/js/bootstrap-4.js", - "js/control.min.js": [ - "node_modules/air-datepicker/dist/js/datepicker.min.js", - "node_modules/air-datepicker/dist/js/i18n/datepicker.cs.js", - "node_modules/air-datepicker/dist/js/i18n/datepicker.da.js", - "node_modules/air-datepicker/dist/js/i18n/datepicker.de.js", - "node_modules/air-datepicker/dist/js/i18n/datepicker.en.js", - "node_modules/air-datepicker/dist/js/i18n/datepicker.es.js", - "node_modules/air-datepicker/dist/js/i18n/datepicker.fi.js", - "node_modules/air-datepicker/dist/js/i18n/datepicker.fr.js", - "node_modules/air-datepicker/dist/js/i18n/datepicker.hu.js", - "node_modules/air-datepicker/dist/js/i18n/datepicker.nl.js", - "node_modules/air-datepicker/dist/js/i18n/datepicker.pl.js", - "node_modules/air-datepicker/dist/js/i18n/datepicker.pt-BR.js", - "node_modules/air-datepicker/dist/js/i18n/datepicker.pt.js", - "node_modules/air-datepicker/dist/js/i18n/datepicker.ro.js", - "node_modules/air-datepicker/dist/js/i18n/datepicker.sk.js", - "node_modules/air-datepicker/dist/js/i18n/datepicker.zh.js", - "public/js/frappe/ui/capture.js", - "public/js/frappe/form/controls/control.js" - ], - "js/dialog.min.js": [ - "public/js/frappe/dom.js", - "public/js/frappe/form/formatters.js", - "public/js/frappe/form/layout.js", - "public/js/frappe/ui/field_group.js", - "public/js/frappe/form/link_selector.js", - "public/js/frappe/form/multi_select_dialog.js", - "public/js/frappe/ui/dialog.js" - ], - "css/desk.min.css": [ - "public/js/lib/leaflet/leaflet.css", - "public/js/lib/leaflet/leaflet.draw.css", - "public/js/lib/leaflet/L.Control.Locate.css", - "public/js/lib/leaflet/easy-button.css", - "public/css/font-awesome.css", - "public/css/octicons/octicons.css", - "public/less/desk.less", - "public/less/module.less", - "public/less/mobile.less", - "public/less/controls.less", - "public/less/chat.less", - "public/css/fonts/inter/inter.css", - "node_modules/frappe-charts/dist/frappe-charts.min.css", - "node_modules/plyr/dist/plyr.css", - "public/scss/desk.scss" - ], - "css/frappe-rtl.css": [ - "public/css/bootstrap-rtl.css", - "public/css/desk-rtl.css", - "public/css/report-rtl.css" - ], - "css/printview.css": [ - "public/css/bootstrap.css", - "public/scss/print.scss" - ], - "concat:js/libs.min.js": [ - "public/js/lib/Sortable.min.js", - "public/js/lib/jquery/jquery.hotkeys.js", - "node_modules/bootstrap/dist/js/bootstrap.bundle.min.js", - "node_modules/vue/dist/vue.min.js", - "node_modules/moment/min/moment-with-locales.min.js", - "node_modules/moment-timezone/builds/moment-timezone-with-data.min.js", - "node_modules/socket.io-client/dist/socket.io.slim.js", - "node_modules/localforage/dist/localforage.min.js", - "public/js/lib/jSignature.min.js", - "public/js/lib/leaflet/leaflet.js", - "public/js/lib/leaflet/leaflet.draw.js", - "public/js/lib/leaflet/L.Control.Locate.js", - "public/js/lib/leaflet/easy-button.js" - ], - "js/desk.min.js": [ - "public/js/frappe/translate.js", - "public/js/frappe/class.js", - "public/js/frappe/polyfill.js", - "public/js/frappe/provide.js", - "public/js/frappe/assets.js", - "public/js/frappe/format.js", - "public/js/frappe/form/formatters.js", - "public/js/frappe/dom.js", - "public/js/frappe/ui/messages.js", - "public/js/frappe/ui/keyboard.js", - "public/js/frappe/ui/colors.js", - "public/js/frappe/ui/sidebar.js", - "public/js/frappe/ui/link_preview.js", - - "public/js/frappe/request.js", - "public/js/frappe/socketio_client.js", - "public/js/frappe/utils/utils.js", - "public/js/frappe/event_emitter.js", - "public/js/frappe/router.js", - "public/js/frappe/router_history.js", - "public/js/frappe/defaults.js", - "public/js/frappe/roles_editor.js", - "public/js/frappe/module_editor.js", - "public/js/frappe/microtemplate.js", - - "public/js/frappe/ui/page.html", - "public/js/frappe/ui/page.js", - "public/js/frappe/ui/slides.js", - "public/js/frappe/ui/onboarding_dialog.js", - "public/js/frappe/ui/find.js", - "public/js/frappe/ui/iconbar.js", - "public/js/frappe/form/layout.js", - "public/js/frappe/ui/field_group.js", - "public/js/frappe/form/link_selector.js", - "public/js/frappe/form/multi_select_dialog.js", - "public/js/frappe/ui/dialog.js", - "public/js/frappe/ui/capture.js", - "public/js/frappe/ui/app_icon.js", - "public/js/frappe/ui/theme_switcher.js", - - "public/js/frappe/model/model.js", - "public/js/frappe/db.js", - "public/js/frappe/model/meta.js", - "public/js/frappe/model/sync.js", - "public/js/frappe/model/create_new.js", - "public/js/frappe/model/perm.js", - "public/js/frappe/model/workflow.js", - "public/js/frappe/model/user_settings.js", - - "public/js/lib/md5.min.js", - "public/js/frappe/utils/user.js", - "public/js/frappe/utils/common.js", - "public/js/frappe/utils/urllib.js", - "public/js/frappe/utils/pretty_date.js", - "public/js/frappe/utils/tools.js", - "public/js/frappe/utils/datetime.js", - "public/js/frappe/utils/number_format.js", - "public/js/frappe/utils/help.js", - "public/js/frappe/utils/help_links.js", - "public/js/frappe/utils/address_and_contact.js", - "public/js/frappe/utils/preview_email.js", - "public/js/frappe/utils/file_manager.js", - - "public/js/frappe/upload.js", - "public/js/frappe/ui/tree.js", - - "public/js/frappe/views/container.js", - "public/js/frappe/views/breadcrumbs.js", - "public/js/frappe/views/factory.js", - "public/js/frappe/views/pageview.js", - - "public/js/frappe/ui/toolbar/awesome_bar.js", - "public/js/frappe/ui/toolbar/energy_points_notifications.js", - "public/js/frappe/ui/notifications/notifications.js", - "public/js/frappe/ui/toolbar/search.js", - "public/js/frappe/ui/toolbar/tag_utils.js", - "public/js/frappe/ui/toolbar/search.html", - "public/js/frappe/ui/toolbar/search_utils.js", - "public/js/frappe/ui/toolbar/about.js", - "public/js/frappe/ui/toolbar/navbar.html", - "public/js/frappe/ui/toolbar/toolbar.js", - "public/js/frappe/ui/toolbar/notifications.js", - "public/js/frappe/views/communication.js", - "public/js/frappe/views/translation_manager.js", - "public/js/frappe/views/workspace/workspace.js", - "public/js/frappe/views/workspace/blocks/index.js", - - "public/js/frappe/widgets/widget_group.js", - - "public/js/frappe/ui/sort_selector.html", - "public/js/frappe/ui/sort_selector.js", - - "public/js/frappe/change_log.html", - "public/js/frappe/ui/workspace_loading_skeleton.html", - "public/js/frappe/desk.js", - "public/js/frappe/query_string.js", - - "public/js/frappe/ui/comment.js", - - "public/js/frappe/chat.js", - "public/js/frappe/utils/energy_point_utils.js", - "public/js/frappe/utils/dashboard_utils.js", - "public/js/frappe/ui/chart.js", - "public/js/frappe/ui/datatable.js", - "public/js/frappe/ui/driver.js", - "public/js/frappe/ui/plyr.js", - "public/js/frappe/barcode_scanner/index.js" - ], - "js/form.min.js": [ - "public/js/frappe/form/templates/**.html", - "public/js/frappe/form/controls/control.js", - "public/js/frappe/views/formview.js", - "public/js/frappe/form/form.js", - "public/js/frappe/meta_tag.js" - ], - "js/list.min.js": [ - "public/js/frappe/ui/listing.html", - - "public/js/frappe/model/indicator.js", - "public/js/frappe/ui/filters/filter.js", - "public/js/frappe/ui/filters/filter_list.js", - "public/js/frappe/ui/filters/field_select.js", - "public/js/frappe/ui/filters/edit_filter.html", - "public/js/frappe/ui/tags.js", - "public/js/frappe/ui/tag_editor.js", - "public/js/frappe/ui/like.js", - "public/js/frappe/ui/liked_by.html", - "public/html/print_template.html", - - "public/js/frappe/list/base_list.js", - "public/js/frappe/list/list_view.js", - "public/js/frappe/list/list_factory.js", - - "public/js/frappe/list/list_view_select.js", - "public/js/frappe/list/list_sidebar.js", - "public/js/frappe/list/list_sidebar.html", - "public/js/frappe/list/list_sidebar_stat.html", - "public/js/frappe/list/list_sidebar_group_by.js", - "public/js/frappe/list/list_view_permission_restrictions.html", - - "public/js/frappe/views/gantt/gantt_view.js", - "public/js/frappe/views/calendar/calendar.js", - "public/js/frappe/views/dashboard/dashboard_view.js", - "public/js/frappe/views/image/image_view.js", - "public/js/frappe/views/map/map_view.js", - "public/js/frappe/views/kanban/kanban_view.js", - "public/js/frappe/views/inbox/inbox_view.js", - "public/js/frappe/views/file/file_view.js", - - "public/js/frappe/views/treeview.js", - "public/js/frappe/views/interaction.js", - - "public/js/frappe/views/image/image_view_item_row.html", - "public/js/frappe/views/image/photoswipe_dom.html", - - "public/js/frappe/views/kanban/kanban_board.html", - "public/js/frappe/views/kanban/kanban_column.html", - "public/js/frappe/views/kanban/kanban_card.html" - ], - "css/report.min.css": [ - "node_modules/frappe-datatable/dist/frappe-datatable.css", - "public/css/tree_grid.css" - ], - "js/report.min.js": [ - "public/js/lib/clusterize.min.js", - "public/js/frappe/views/reports/report_factory.js", - "public/js/frappe/views/reports/report_view.js", - "public/js/frappe/views/reports/query_report.js", - "public/js/frappe/views/reports/print_grid.html", - "public/js/frappe/views/reports/print_tree.html", - "public/js/frappe/ui/group_by/group_by.html", - "public/js/frappe/ui/group_by/group_by.js", - "public/js/frappe/views/reports/report_utils.js" - ], - "js/web_form.min.js": [ - "public/js/frappe/utils/datetime.js", - "public/js/frappe/web_form/webform_script.js" - ], - "css/web_form.css": [ - "website/css/web_form.css", - "public/css/octicons/octicons.css", - "public/scss/controls.scss", - "node_modules/frappe-datatable/dist/frappe-datatable.css" - ], - "css/email.css": "public/scss/email.scss", - "js/barcode_scanner.min.js": "public/js/frappe/barcode_scanner/quagga.js", - "js/user_profile_controller.min.js": "desk/page/user_profile/user_profile_controller.js", - "css/login.css": "public/scss/login.scss", - "js/data_import_tools.min.js": "public/js/frappe/data_import/index.js" -} diff --git a/frappe/public/js/frappe/views/workspace/workspace.js b/frappe/public/js/frappe/views/workspace/workspace.js index 41bd278e57..b46c220d9d 100644 --- a/frappe/public/js/frappe/views/workspace/workspace.js +++ b/frappe/public/js/frappe/views/workspace/workspace.js @@ -21,7 +21,7 @@ frappe.views.Workspace = class Workspace { this.wrapper = $(wrapper); this.page = wrapper.page; this.blocks = frappe.wspace_block.blocks; - this.isReadOnly = true; + this.is_read_only = true; this.new_page = null; this.sorted_public_items = []; this.sorted_private_items = []; @@ -356,7 +356,7 @@ frappe.views.Workspace = class Workspace { let pages = page.public ? this.public_pages : this.private_pages; let current_page = pages.filter(p => p.title == page.name)[0]; - if (!this.isReadOnly) { + if (!this.is_read_only) { this.setup_customization_buttons(current_page.is_editable); return; } @@ -367,7 +367,7 @@ frappe.views.Workspace = class Workspace { current_page.is_editable && this.page.set_secondary_action(__("Customize"), () => { if (!this.editor || !this.editor.readOnly) return; - this.isReadOnly = false; + this.is_read_only = false; this.editor.readOnly.toggle(); this.editor.isReady.then(() => { this.initialize_editorjs_undo(); @@ -404,7 +404,7 @@ frappe.views.Workspace = class Workspace { this.undo.readOnly = true; this.save_page(); this.editor.readOnly.toggle(); - this.isReadOnly = true; + this.is_read_only = true; }, null, __("Saving") @@ -417,7 +417,7 @@ frappe.views.Workspace = class Workspace { this.page.clear_secondary_action(); this.page.clear_inner_toolbar(); this.editor.readOnly.toggle(); - this.isReadOnly = true; + this.is_read_only = true; this.deleted_sidebar_items = []; this.reload(); frappe.show_alert({ message: __("Customizations Discarded"), indicator: "info" }); @@ -595,7 +595,7 @@ frappe.views.Workspace = class Workspace { ] }).then(() => { if (this.editor.configuration.readOnly) { - this.isReadOnly = false; + this.is_read_only = false; this.editor.readOnly.toggle(); } this.add_page_to_sidebar(values); From d3e7f0ac36148289ee2df5ee81c43bd6fb8457bd Mon Sep 17 00:00:00 2001 From: shariquerik Date: Thu, 12 Aug 2021 20:30:15 +0530 Subject: [PATCH 0252/1383] test: minor fix --- cypress/integration/workspace.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cypress/integration/workspace.js b/cypress/integration/workspace.js index 0021c7117f..d1ca3d8cd1 100644 --- a/cypress/integration/workspace.js +++ b/cypress/integration/workspace.js @@ -1,10 +1,12 @@ context('Workspace 2.0', () => { before(() => { + cy.visit('/login'); cy.login(); cy.visit('/app/website'); }); it('Navigate to page from sidebar', () => { + cy.visit('/app/build'); cy.get('.codex-editor__redactor .ce-block'); cy.get('.sidebar-item-container[item-name="Settings"]').first().click(); cy.location('pathname').should('eq', '/app/settings'); From bdad9e8751e2d8c75ae66a419a387b9a09916a78 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Thu, 12 Aug 2021 21:02:32 +0530 Subject: [PATCH 0253/1383] test: focus and type error fix --- cypress/integration/workspace.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cypress/integration/workspace.js b/cypress/integration/workspace.js index d1ca3d8cd1..9701e54c5e 100644 --- a/cypress/integration/workspace.js +++ b/cypress/integration/workspace.js @@ -36,12 +36,12 @@ context('Workspace 2.0', () => { cy.get('.codex-editor__redactor .ce-block'); cy.get('.custom-actions .inner-group-button[data-label="Add%20Block"]').click(); cy.get('.custom-actions .inner-group-button .dropdown-menu .block-menu-item-label').contains('Heading').click(); - cy.get(".ce-block:last").find('h2').type('Header'); + cy.get(".ce-block:last").find('h2').click({force: true}).type('Header'); cy.get(".ce-block:last").find('.ce-header').should('exist'); cy.get('.custom-actions .inner-group-button[data-label="Add%20Block"]').click(); cy.get('.custom-actions .inner-group-button .dropdown-menu .block-menu-item-label').contains('Text').click(); - cy.get(".ce-block:last").find('.ce-paragraph').type('Paragraph text'); + cy.get(".ce-block:last").find('.ce-paragraph').click({force: true}).type('Paragraph text'); cy.get(".ce-block:last").find('.ce-paragraph').should('exist'); }); From e63222cc9ac38855039df553f9024e1028f5b9e2 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Thu, 12 Aug 2021 16:33:09 +0530 Subject: [PATCH 0254/1383] fix: grid frozen issue --- frappe/public/js/frappe/form/grid.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/grid.js b/frappe/public/js/frappe/form/grid.js index cad32954e9..cda052553f 100644 --- a/frappe/public/js/frappe/form/grid.js +++ b/frappe/public/js/frappe/form/grid.js @@ -37,6 +37,8 @@ export default class Grid { } this.is_grid = true; + this.debounced_refresh = this.refresh.bind(this); + this.debounced_refresh = frappe.utils.debounce(this.debounced_refresh, 500); } allow_on_grid_editing() { @@ -675,6 +677,7 @@ export default class Grid { if (!idx) { idx = this.grid_rows.length - 1; } + setTimeout(() => { this.grid_rows[idx].row .find('input[type="Text"],textarea,select').filter(':visible:first').focus(); @@ -934,6 +937,6 @@ export default class Grid { // update the parent too (for new rows) this.docfields.find(d => d.fieldname === fieldname)[property] = value; - this.refresh(); + this.debounced_refresh(); } } From 4598b26c73814ec7170d533f637ce60f84ee091d Mon Sep 17 00:00:00 2001 From: Sagar Vora Date: Sat, 31 Jul 2021 13:24:18 +0530 Subject: [PATCH 0255/1383] fix: multiple issues with Email Inbox --- frappe/public/js/frappe/ui/toolbar/awesome_bar.js | 7 ++++++- frappe/public/js/frappe/views/inbox/inbox_view.js | 11 ++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/frappe/public/js/frappe/ui/toolbar/awesome_bar.js b/frappe/public/js/frappe/ui/toolbar/awesome_bar.js index b85de18be2..952fd62aa1 100644 --- a/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +++ b/frappe/public/js/frappe/ui/toolbar/awesome_bar.js @@ -194,9 +194,14 @@ frappe.search.AwesomeBar = class AwesomeBar { var out = [], routes = []; options.forEach(function(option) { if(option.route) { - if(option.route[0] === "List" && option.route[2] !== 'Report') { + if ( + option.route[0] === "List" && + option.route[2] !== 'Report' && + option.route[2] !== 'Inbox' + ) { option.route.splice(2); } + var str_route = (typeof option.route==='string') ? option.route : option.route.join('/'); if(routes.indexOf(str_route)===-1) { diff --git a/frappe/public/js/frappe/views/inbox/inbox_view.js b/frappe/public/js/frappe/views/inbox/inbox_view.js index 8b53bd49a9..6c5b330a9f 100644 --- a/frappe/public/js/frappe/views/inbox/inbox_view.js +++ b/frappe/public/js/frappe/views/inbox/inbox_view.js @@ -94,19 +94,20 @@ frappe.views.InboxView = class InboxView extends frappe.views.ListView { this.render_list(); this.on_row_checked(); this.render_count(); - this.render_tags(); } get_meta_html(email) { const attachment = email.has_attachment ? `` : ''; - const form_link = frappe.utils.get_form_link(email.reference_doctype, email.reference_name); - const link = email.reference_doctype && email.reference_doctype !== this.doctype ? - ` - ` : ''; + `; + } const communication_date = comment_when(email.communication_date, true); const status = From cefa75c8dc06d7f0604b1ed874d1963a9f0c9ae9 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Fri, 13 Aug 2021 12:44:25 +0530 Subject: [PATCH 0256/1383] test: Setup email group at the start of testcase --- frappe/email/doctype/newsletter/test_newsletter.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/frappe/email/doctype/newsletter/test_newsletter.py b/frappe/email/doctype/newsletter/test_newsletter.py index 8662b6d726..f67b99bd94 100644 --- a/frappe/email/doctype/newsletter/test_newsletter.py +++ b/frappe/email/doctype/newsletter/test_newsletter.py @@ -38,10 +38,12 @@ def get_dotted_path(obj: type) -> str: class TestNewsletterMixin: + @classmethod + def setUpClass(cls): + cls.setup_email_group() + def setUp(self): frappe.set_user("Administrator") - frappe.db.delete("Email Group Member") - self.setup_email_group() def tearDown(self): frappe.db.delete("Newsletter") From f2641c37f2c910ca317751411d6a87357975eb11 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Fri, 13 Aug 2021 13:02:58 +0530 Subject: [PATCH 0257/1383] test: Delete newsletters and email docs created in test --- .../email/doctype/newsletter/test_newsletter.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/frappe/email/doctype/newsletter/test_newsletter.py b/frappe/email/doctype/newsletter/test_newsletter.py index f67b99bd94..961d4d3377 100644 --- a/frappe/email/doctype/newsletter/test_newsletter.py +++ b/frappe/email/doctype/newsletter/test_newsletter.py @@ -28,6 +28,8 @@ emails = [ "test_subscriber3@example.com", "test1@example.com", ] +newsletters = [] + def get_dotted_path(obj: type) -> str: klass = obj.__class__ @@ -46,7 +48,14 @@ class TestNewsletterMixin: frappe.set_user("Administrator") def tearDown(self): - frappe.db.delete("Newsletter") + frappe.set_user("Administrator") + for newsletter in newsletters: + frappe.db.delete("Email Queue", { + "reference_doctype": "Newsletter", + "reference_name": newsletter, + }) + frappe.delete_doc("Newsletter", newsletter) + newsletters.remove(newsletter) def setup_email_group(self): if not frappe.db.exists("Email Group", "_Test Email Group"): @@ -63,9 +72,6 @@ class TestNewsletterMixin: }).insert() def send_newsletter(self, published=0, schedule_send=None) -> Union[str, None]: - frappe.db.delete("Email Queue") - frappe.db.delete("Email Queue Recipient") - frappe.db.delete("Newsletter") newsletter_options = { "published": published, "schedule_sending": bool(schedule_send), @@ -96,6 +102,7 @@ class TestNewsletterMixin: newsletter.insert(ignore_permissions=True) newsletter.save() newsletter.reload() + newsletters.add(newsletter.name) attached_files = frappe.get_all("File", { "attached_to_doctype": newsletter.doctype, From 6feae59b20a739602d408c15a874b5cbb5f0de81 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Fri, 13 Aug 2021 17:23:01 +0530 Subject: [PATCH 0258/1383] fix: Hanlde Newsletter.get_email_groups & tests cleanup --- frappe/email/doctype/newsletter/newsletter.py | 8 +++- .../doctype/newsletter/test_newsletter.py | 42 ++++++++++++------- 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/frappe/email/doctype/newsletter/newsletter.py b/frappe/email/doctype/newsletter/newsletter.py index b08964c006..667d0fb34c 100755 --- a/frappe/email/doctype/newsletter/newsletter.py +++ b/frappe/email/doctype/newsletter/newsletter.py @@ -204,7 +204,10 @@ class Newsletter(WebsiteGenerator): return list(set(emails)) def get_email_groups(self) -> List[str]: - return frappe.db.get_all( + # wondering why the 'or'? i can't figure out why both aren't equivalent - @gavin + return [ + x.email_group for x in self.email_group + ] or frappe.get_all( "Newsletter Email Group", filters={"parent": self.name, "parenttype": "Newsletter"}, pluck="email_group", @@ -376,4 +379,5 @@ def send_scheduled_email(): ) frappe.log_error(title="Send Newsletter", message=message) - frappe.db.commit() + if not frappe.flags.in_test: + frappe.db.commit() diff --git a/frappe/email/doctype/newsletter/test_newsletter.py b/frappe/email/doctype/newsletter/test_newsletter.py index 961d4d3377..abbcc6440c 100644 --- a/frappe/email/doctype/newsletter/test_newsletter.py +++ b/frappe/email/doctype/newsletter/test_newsletter.py @@ -40,12 +40,9 @@ def get_dotted_path(obj: type) -> str: class TestNewsletterMixin: - @classmethod - def setUpClass(cls): - cls.setup_email_group() - def setUp(self): frappe.set_user("Administrator") + self.setup_email_group() def tearDown(self): frappe.set_user("Administrator") @@ -55,6 +52,7 @@ class TestNewsletterMixin: "reference_name": newsletter, }) frappe.delete_doc("Newsletter", newsletter) + frappe.db.delete("Newsletter Email Group", newsletter) newsletters.remove(newsletter) def setup_email_group(self): @@ -65,13 +63,24 @@ class TestNewsletterMixin: }).insert() for email in emails: - frappe.get_doc({ - "doctype": "Email Group Member", + doctype = "Email Group Member" + email_filters = { "email": email, "email_group": "_Test Email Group" - }).insert() + } + try: + frappe.get_doc({ + "doctype": doctype, + **email_filters, + }).insert() + except Exception: + frappe.db.update(doctype, email_filters, "unsubscribed", 0) def send_newsletter(self, published=0, schedule_send=None) -> Union[str, None]: + frappe.db.delete("Email Queue") + frappe.db.delete("Email Queue Recipient") + frappe.db.delete("Newsletter") + newsletter_options = { "published": published, "schedule_sending": bool(schedule_send), @@ -89,20 +98,23 @@ class TestNewsletterMixin: def get_newsletter(**kwargs) -> "Newsletter": """Generate and return Newsletter object """ + doctype = "Newsletter" newsletter_content = { - "doctype": "Newsletter", "subject": "_Test Newsletter", "send_from": "Test Sender ", "content_type": "Rich Text", "message": "Testing my news.", } - newsletter = frappe.get_doc({**newsletter_content, **kwargs}) - newsletter.append("email_group", {"email_group": "_Test Email Group"}) + similar_newsletters = frappe.db.get_all(doctype, newsletter_content, pluck="name") - newsletter.insert(ignore_permissions=True) - newsletter.save() + for similar_newsletter in similar_newsletters: + frappe.delete_doc(doctype, similar_newsletter) + + newsletter = frappe.get_doc({"doctype": doctype, **newsletter_content, **kwargs}) + newsletter.append("email_group", {"email_group": "_Test Email Group"}) + newsletter.save(ignore_permissions=True) newsletter.reload() - newsletters.add(newsletter.name) + newsletters.append(newsletter.name) attached_files = frappe.get_all("File", { "attached_to_doctype": newsletter.doctype, @@ -148,8 +160,8 @@ class TestNewsletter(TestNewsletterMixin, unittest.TestCase): def test_portal(self): self.send_newsletter(published=1) frappe.set_user("test1@example.com") - newsletters = get_newsletter_list("Newsletter", None, None, 0) - self.assertEqual(len(newsletters), 1) + newsletter_list = get_newsletter_list("Newsletter", None, None, 0) + self.assertEqual(len(newsletter_list), 1) def test_newsletter_context(self): context = frappe._dict() From ccebece486ffea29c34161d0ace0e504a9b335ef Mon Sep 17 00:00:00 2001 From: Suraj Shetty <13928957+surajshetty3416@users.noreply.github.com> Date: Fri, 13 Aug 2021 17:37:20 +0530 Subject: [PATCH 0259/1383] ci(Mergify): configuration update Signed-off-by: Suraj Shetty --- .mergify.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.mergify.yml b/.mergify.yml index c759c1e3ec..1a81a28594 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -1,4 +1,16 @@ pull_request_rules: + - name: Auto-close PRs on stable branch + conditions: + - or: + - base=version-13 + - base=version-12 + actions: + close: + comment: + message: | + @{{author}}, thanks for the contribution, but we do not accept pull requests on a stable branch. Please raise PR on an appropriate hotfix branch. + https://github.com/frappe/erpnext/wiki/Pull-Request-Checklist#which-branch + - name: Automatic merge on CI success and review conditions: - status-success=Sider From ead26527b7c0df4b4b011bd0962e751f15aa01b1 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Fri, 13 Aug 2021 18:14:47 +0530 Subject: [PATCH 0260/1383] ci: ignore js only changes while running unittests (#13932) * ci: ignore js only changes while running unittests - IF PR only changes JS files then unittests / patch tests wont run. - Change done to save resources / concurrent builds. * ci: ignore md files in build --- .github/workflows/patch-mariadb-tests.yml | 7 ++++++- .github/workflows/server-mariadb-tests.yml | 6 ++++++ .github/workflows/server-postgres-tests.yml | 3 +++ .github/workflows/ui-tests.yml | 2 ++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/.github/workflows/patch-mariadb-tests.yml b/.github/workflows/patch-mariadb-tests.yml index e8627a01fb..82be4d06b5 100644 --- a/.github/workflows/patch-mariadb-tests.yml +++ b/.github/workflows/patch-mariadb-tests.yml @@ -1,6 +1,11 @@ name: Patch -on: [pull_request, workflow_dispatch] +on: + pull_request: + paths-ignore: + - '**.js' + - '**.md' + workflow_dispatch: jobs: test: diff --git a/.github/workflows/server-mariadb-tests.yml b/.github/workflows/server-mariadb-tests.yml index 2476102e3d..8d5bd690a1 100644 --- a/.github/workflows/server-mariadb-tests.yml +++ b/.github/workflows/server-mariadb-tests.yml @@ -2,9 +2,15 @@ name: Server on: pull_request: + paths-ignore: + - '**.js' + - '**.md' workflow_dispatch: push: branches: [ develop ] + paths-ignore: + - '**.js' + - '**.md' jobs: test: diff --git a/.github/workflows/server-postgres-tests.yml b/.github/workflows/server-postgres-tests.yml index 4325eebaad..8c97c7f84b 100644 --- a/.github/workflows/server-postgres-tests.yml +++ b/.github/workflows/server-postgres-tests.yml @@ -2,6 +2,9 @@ name: Server on: pull_request: + paths-ignore: + - '**.js' + - '**.md' workflow_dispatch: jobs: diff --git a/.github/workflows/ui-tests.yml b/.github/workflows/ui-tests.yml index f342c0709e..d76e5e77ea 100644 --- a/.github/workflows/ui-tests.yml +++ b/.github/workflows/ui-tests.yml @@ -2,6 +2,8 @@ name: UI on: pull_request: + paths-ignore: + - '**.md' workflow_dispatch: push: branches: [ develop ] From 4312d15f574004c21d0dd7557c7145edd5e4350b Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Sat, 14 Aug 2021 19:35:36 +0530 Subject: [PATCH 0261/1383] perf: Grid rendering --- frappe/public/js/frappe/form/grid.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frappe/public/js/frappe/form/grid.js b/frappe/public/js/frappe/form/grid.js index cda052553f..8de1600c05 100644 --- a/frappe/public/js/frappe/form/grid.js +++ b/frappe/public/js/frappe/form/grid.js @@ -502,7 +502,7 @@ export default class Grid { this.set_editable_grid_column_disp(fieldname, show); } - this.refresh(true); + this.debounced_refresh(); } set_editable_grid_column_disp(fieldname, show) { @@ -546,17 +546,17 @@ export default class Grid { toggle_reqd(fieldname, reqd) { this.get_docfield(fieldname).reqd = reqd; - this.refresh(); + this.debounced_refresh(); } toggle_enable(fieldname, enable) { this.get_docfield(fieldname).read_only = enable ? 0 : 1; - this.refresh(); + this.debounced_refresh(); } toggle_display(fieldname, show) { this.get_docfield(fieldname).hidden = show ? 0 : 1; - this.refresh(); + this.debounced_refresh(); } toggle_checkboxes(enable) { From 1e38d5a281d0438be3a45134fff632cbce410313 Mon Sep 17 00:00:00 2001 From: Samuel Danieli <23150094+scdanieli@users.noreply.github.com> Date: Mon, 16 Aug 2021 18:55:09 +0200 Subject: [PATCH 0262/1383] fix: broken link --- frappe/automation/doctype/auto_repeat/auto_repeat.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/automation/doctype/auto_repeat/auto_repeat.js b/frappe/automation/doctype/auto_repeat/auto_repeat.js index 896a10dfe0..80f2255f47 100644 --- a/frappe/automation/doctype/auto_repeat/auto_repeat.js +++ b/frappe/automation/doctype/auto_repeat/auto_repeat.js @@ -30,7 +30,7 @@ frappe.ui.form.on('Auto Repeat', { refresh: function(frm) { // auto repeat message if (frm.is_new()) { - let customize_form_link = `${__('Customize Form')}`; + let customize_form_link = `${__('Customize Form')}`; frm.dashboard.set_headline(__('To configure Auto Repeat, enable "Allow Auto Repeat" from {0}.', [customize_form_link])); } From 82b4a1ebc6d3768db04303c51e80d67ff63e3f81 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 17 Aug 2021 09:29:17 +0530 Subject: [PATCH 0263/1383] refactor(user): Remove unused code --- frappe/core/doctype/user/user.py | 67 -------------------------------- 1 file changed, 67 deletions(-) diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py index 5d799f8ee9..307ed69789 100644 --- a/frappe/core/doctype/user/user.py +++ b/frappe/core/doctype/user/user.py @@ -1048,73 +1048,6 @@ def update_gravatar(name): if gravatar: frappe.db.set_value('User', name, 'user_image', gravatar) -@frappe.whitelist(allow_guest=True) -def send_token_via_sms(tmp_id,phone_no=None,user=None): - try: - from frappe.core.doctype.sms_settings.sms_settings import send_request - except: - return False - - if not frappe.cache().ttl(tmp_id + '_token'): - return False - ss = frappe.get_doc('SMS Settings', 'SMS Settings') - if not ss.sms_gateway_url: - return False - - token = frappe.cache().get(tmp_id + '_token') - args = {ss.message_parameter: 'verification code is {}'.format(token)} - - for d in ss.get("parameters"): - args[d.parameter] = d.value - - if user: - user_phone = frappe.db.get_value('User', user, ['phone','mobile_no'], as_dict=1) - usr_phone = user_phone.mobile_no or user_phone.phone - if not usr_phone: - return False - else: - if phone_no: - usr_phone = phone_no - else: - return False - - args[ss.receiver_parameter] = usr_phone - status = send_request(ss.sms_gateway_url, args, use_post=ss.use_post) - - if 200 <= status < 300: - frappe.cache().delete(tmp_id + '_token') - return True - else: - return False - -@frappe.whitelist(allow_guest=True) -def send_token_via_email(tmp_id,token=None): - import pyotp - - user = frappe.cache().get(tmp_id + '_user') - count = token or frappe.cache().get(tmp_id + '_token') - - if ((not user) or (user == 'None') or (not count)): - return False - user_email = frappe.db.get_value('User',user, 'email') - if not user_email: - return False - - otpsecret = frappe.cache().get(tmp_id + '_otp_secret') - hotp = pyotp.HOTP(otpsecret) - - frappe.sendmail( - recipients=user_email, - sender=None, - subject="Verification Code", - template="verification_code", - args=dict(code=hotp.at(int(count))), - delayed=False, - retry=3 - ) - - return True - @frappe.whitelist(allow_guest=True) def reset_otp_secret(user): otp_issuer = frappe.db.get_value('System Settings', 'System Settings', 'otp_issuer_name') From 4c5959afd66f01c17d1fdda4421e2a982e66e12a Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 17 Aug 2021 09:54:19 +0530 Subject: [PATCH 0264/1383] refactor: Move reset_otp_secret to twofactor.py --- frappe/core/doctype/user/user.js | 2 +- frappe/core/doctype/user/user.py | 18 ------------------ frappe/twofactor.py | 20 ++++++++++++++++++++ 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/frappe/core/doctype/user/user.js b/frappe/core/doctype/user/user.js index 8c5b89c5fc..96726d875c 100644 --- a/frappe/core/doctype/user/user.js +++ b/frappe/core/doctype/user/user.js @@ -166,7 +166,7 @@ frappe.ui.form.on('User', { frm.add_custom_button(__("Reset OTP Secret"), function() { frappe.call({ - method: "frappe.core.doctype.user.user.reset_otp_secret", + method: "frappe.twofactor.reset_otp_secret", args: { "user": frm.doc.name } diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py index 307ed69789..590af3af25 100644 --- a/frappe/core/doctype/user/user.py +++ b/frappe/core/doctype/user/user.py @@ -1048,24 +1048,6 @@ def update_gravatar(name): if gravatar: frappe.db.set_value('User', name, 'user_image', gravatar) -@frappe.whitelist(allow_guest=True) -def reset_otp_secret(user): - otp_issuer = frappe.db.get_value('System Settings', 'System Settings', 'otp_issuer_name') - user_email = frappe.db.get_value('User',user, 'email') - if frappe.session.user in ["Administrator", user] : - frappe.defaults.clear_default(user + '_otplogin') - frappe.defaults.clear_default(user + '_otpsecret') - email_args = { - 'recipients':user_email, 'sender':None, 'subject':'OTP Secret Reset - {}'.format(otp_issuer or "Frappe Framework"), - 'message':'

Your OTP secret on {} has been reset. If you did not perform this reset and did not request it, please contact your System Administrator immediately.

'.format(otp_issuer or "Frappe Framework"), - 'delayed':False, - 'retry':3 - } - enqueue(method=frappe.sendmail, queue='short', timeout=300, event=None, is_async=True, job_name=None, now=False, **email_args) - return frappe.msgprint(_("OTP Secret has been reset. Re-registration will be required on next login.")) - else: - return frappe.throw(_("OTP secret can only be reset by the Administrator.")) - def throttle_user_creation(): if frappe.flags.in_import: return diff --git a/frappe/twofactor.py b/frappe/twofactor.py index c2fb6d5de9..b2f562c20d 100644 --- a/frappe/twofactor.py +++ b/frappe/twofactor.py @@ -398,3 +398,23 @@ def should_remove_barcode_image(barcode): def disable(): frappe.db.set_value('System Settings', None, 'enable_two_factor_auth', 0) + +@frappe.whitelist() +def reset_otp_secret(user): + otp_issuer = frappe.db.get_value('System Settings', 'System Settings', 'otp_issuer_name') + user_email = frappe.db.get_value('User', user, 'email') + if frappe.session.user in ["Administrator", user] : + frappe.defaults.clear_default(user + '_otplogin') + frappe.defaults.clear_default(user + '_otpsecret') + email_args = { + 'recipients': user_email, + 'sender': None, + 'subject': _('OTP Secret Reset - {0}').format(otp_issuer or "Frappe Framework"), + 'message': _('

Your OTP secret on {0} has been reset. If you did not perform this reset and did not request it, please contact your System Administrator immediately.

').format(otp_issuer or "Frappe Framework"), + 'delayed':False, + 'retry':3 + } + enqueue(method=frappe.sendmail, queue='short', timeout=300, event=None, is_async=True, job_name=None, now=False, **email_args) + return frappe.msgprint(_("OTP Secret has been reset. Re-registration will be required on next login.")) + else: + return frappe.throw(_("OTP secret can only be reset by the Administrator.")) \ No newline at end of file From 87f05c2e6bae9b8cef7ccf4e7bd38f086bd4057e Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Tue, 17 Aug 2021 09:57:32 +0530 Subject: [PATCH 0265/1383] ci: Handle payload elements as not set/None alt motive: Re-trigger GHAs that have been showing waiting for too long ;) --- .github/helper/documentation.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/helper/documentation.py b/.github/helper/documentation.py index 08d1d1aa9c..f8ee3fa10b 100644 --- a/.github/helper/documentation.py +++ b/.github/helper/documentation.py @@ -32,9 +32,9 @@ if __name__ == "__main__": if response.ok: payload = response.json() - title = payload.get("title", "").lower() - head_sha = payload.get("head", {}).get("sha") - body = payload.get("body", "").lower() + title = (payload.get("title") or "").lower() + head_sha = (payload.get("head") or {}).get("sha") + body = (payload.get("body") or "").lower() if title.startswith("feat") and head_sha and "no-docs" not in body: if docs_link_exists(body): From 3f2a93201b90bd7c130f576c5510aaf71d3c37c0 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 17 Aug 2021 10:00:39 +0530 Subject: [PATCH 0266/1383] refactor: Move email account related code to email_account.py --- frappe/core/doctype/user/user.py | 71 ------------------- .../doctype/email_account/email_account.py | 70 ++++++++++++++++-- 2 files changed, 66 insertions(+), 75 deletions(-) diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py index 590af3af25..5e80083791 100644 --- a/frappe/core/doctype/user/user.py +++ b/frappe/core/doctype/user/user.py @@ -21,11 +21,6 @@ from frappe.core.doctype.user_type.user_type import user_linked_with_permission_ STANDARD_USERS = ("Guest", "Administrator") - -class MaxUsersReachedError(frappe.ValidationError): - pass - - class User(Document): __new_password = None @@ -731,72 +726,6 @@ def set_email_password(email_account, user, password): return False return True - -def setup_user_email_inbox(email_account, awaiting_password, email_id, enable_outgoing): - """ setup email inbox for user """ - def add_user_email(user): - user = frappe.get_doc("User", user) - row = user.append("user_emails", {}) - - row.email_id = email_id - row.email_account = email_account - row.awaiting_password = awaiting_password or 0 - row.enable_outgoing = enable_outgoing or 0 - - user.save(ignore_permissions=True) - - udpate_user_email_settings = False - if not all([email_account, email_id]): - return - - user_names = frappe.db.get_values("User", { "email": email_id }, as_dict=True) - if not user_names: - return - - for user in user_names: - user_name = user.get("name") - - # check if inbox is alreay configured - user_inbox = frappe.db.get_value("User Email", { - "email_account": email_account, - "parent": user_name - }, ["name"]) or None - - if not user_inbox: - add_user_email(user_name) - else: - # update awaiting password for email account - udpate_user_email_settings = True - - if udpate_user_email_settings: - frappe.db.sql("""UPDATE `tabUser Email` SET awaiting_password = %(awaiting_password)s, - enable_outgoing = %(enable_outgoing)s WHERE email_account = %(email_account)s""", { - "email_account": email_account, - "enable_outgoing": enable_outgoing, - "awaiting_password": awaiting_password or 0 - }) - else: - users = " and ".join([frappe.bold(user.get("name")) for user in user_names]) - frappe.msgprint(_("Enabled email inbox for user {0}").format(users)) - - ask_pass_update() - -def remove_user_email_inbox(email_account): - """ remove user email inbox settings if email account is deleted """ - if not email_account: - return - - users = frappe.get_all("User Email", filters={ - "email_account": email_account - }, fields=["parent as name"]) - - for user in users: - doc = frappe.get_doc("User", user.get("name")) - to_remove = [ row for row in doc.user_emails if row.email_account == email_account ] - [ doc.remove(row) for row in to_remove ] - - doc.save(ignore_permissions=True) - def ask_pass_update(): # update the sys defaults as to awaiting users from frappe.utils import set_default diff --git a/frappe/email/doctype/email_account/email_account.py b/frappe/email/doctype/email_account/email_account.py index ecd59f42bb..78e0be1017 100755 --- a/frappe/email/doctype/email_account/email_account.py +++ b/frappe/email/doctype/email_account/email_account.py @@ -137,8 +137,6 @@ class EmailAccount(Document): def on_update(self): """Check there is only one default of each type.""" - from frappe.core.doctype.user.user import setup_user_email_inbox - self.check_automatic_linking_email_account() self.there_must_be_only_one_default() setup_user_email_inbox(email_account=self.name, awaiting_password=self.awaiting_password, @@ -532,8 +530,6 @@ class EmailAccount(Document): def on_trash(self): """Clear communications where email account is linked""" - from frappe.core.doctype.user.user import remove_user_email_inbox - frappe.db.sql("update `tabCommunication` set email_account='' where email_account=%s", self.name) remove_user_email_inbox(email_account=self.name) @@ -724,3 +720,69 @@ def get_max_email_uid(email_account): else: max_uid = cint(result[0].get("uid", 0)) + 1 return max_uid + + +def setup_user_email_inbox(email_account, awaiting_password, email_id, enable_outgoing): + """ setup email inbox for user """ + from frappe.core.doctype.user import ask_pass_update + def add_user_email(user): + user = frappe.get_doc("User", user) + row = user.append("user_emails", {}) + + row.email_id = email_id + row.email_account = email_account + row.awaiting_password = awaiting_password or 0 + row.enable_outgoing = enable_outgoing or 0 + + user.save(ignore_permissions=True) + + udpate_user_email_settings = False + if not all([email_account, email_id]): + return + + user_names = frappe.db.get_values("User", { "email": email_id }, as_dict=True) + if not user_names: + return + + for user in user_names: + user_name = user.get("name") + + # check if inbox is alreay configured + user_inbox = frappe.db.get_value("User Email", { + "email_account": email_account, + "parent": user_name + }, ["name"]) or None + + if not user_inbox: + add_user_email(user_name) + else: + # update awaiting password for email account + udpate_user_email_settings = True + + if udpate_user_email_settings: + frappe.db.sql("""UPDATE `tabUser Email` SET awaiting_password = %(awaiting_password)s, + enable_outgoing = %(enable_outgoing)s WHERE email_account = %(email_account)s""", { + "email_account": email_account, + "enable_outgoing": enable_outgoing, + "awaiting_password": awaiting_password or 0 + }) + else: + users = " and ".join([frappe.bold(user.get("name")) for user in user_names]) + frappe.msgprint(_("Enabled email inbox for user {0}").format(users)) + ask_pass_update() + +def remove_user_email_inbox(email_account): + """ remove user email inbox settings if email account is deleted """ + if not email_account: + return + + users = frappe.get_all("User Email", filters={ + "email_account": email_account + }, fields=["parent as name"]) + + for user in users: + doc = frappe.get_doc("User", user.get("name")) + to_remove = [ row for row in doc.user_emails if row.email_account == email_account ] + [ doc.remove(row) for row in to_remove ] + + doc.save(ignore_permissions=True) From f6a757be5087f4d3bc262fcc0003ac09e213e6f9 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 17 Aug 2021 10:08:12 +0530 Subject: [PATCH 0267/1383] test: Add test case for user rename --- frappe/core/doctype/user/test_user.py | 93 ++++++++++----------------- 1 file changed, 33 insertions(+), 60 deletions(-) diff --git a/frappe/core/doctype/user/test_user.py b/frappe/core/doctype/user/test_user.py index 392128834d..383967a549 100644 --- a/frappe/core/doctype/user/test_user.py +++ b/frappe/core/doctype/user/test_user.py @@ -1,13 +1,10 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # MIT License. See license.txt -import frappe, unittest, uuid +import frappe, unittest from frappe.model.delete_doc import delete_doc -from frappe.utils.data import today, add_to_date -from frappe import _dict from frappe.utils import get_url -from frappe.core.doctype.user.user import get_total_users -from frappe.core.doctype.user.user import MaxUsersReachedError, test_password_strength +from frappe.core.doctype.user.user import test_password_strength from frappe.core.doctype.user.user import extract_mentions from frappe.frappeclient import FrappeClient @@ -119,37 +116,6 @@ class TestUser(unittest.TestCase): # system manager now added by Administrator self.assertTrue("System Manager" in [d.role for d in me.get("roles")]) - # def test_deny_multiple_sessions(self): - # from frappe.installer import update_site_config - # clear_limit('users') - # - # # allow one session - # user = frappe.get_doc('User', 'test@example.com') - # user.simultaneous_sessions = 1 - # user.new_password = 'Eastern_43A1W' - # user.save() - # - # def test_request(conn): - # value = conn.get_value('User', 'first_name', {'name': 'test@example.com'}) - # self.assertTrue('first_name' in value) - # - # from frappe.frappeclient import FrappeClient - # update_site_config('deny_multiple_sessions', 0) - # - # conn1 = FrappeClient(get_url(), "test@example.com", "Eastern_43A1W", verify=False) - # test_request(conn1) - # - # conn2 = FrappeClient(get_url(), "test@example.com", "Eastern_43A1W", verify=False) - # test_request(conn2) - # - # update_site_config('deny_multiple_sessions', 1) - # conn3 = FrappeClient(get_url(), "test@example.com", "Eastern_43A1W", verify=False) - # test_request(conn3) - # - # # first connection should fail - # test_request(conn1) - - def test_delete_user(self): new_user = frappe.get_doc(dict(doctype='User', email='test-for-delete@example.com', first_name='Tester Delete User')).insert() @@ -227,6 +193,7 @@ class TestUser(unittest.TestCase): self.assertEqual(extract_mentions(comment)[0], "test_user@example.com") self.assertEqual(extract_mentions(comment)[1], "test.again@example1.com") + frappe.delete_doc("User Group", "Team") doc = frappe.get_doc({ 'doctype': 'User Group', 'name': 'Team', @@ -236,7 +203,8 @@ class TestUser(unittest.TestCase): 'user': 'test1@example.com' }] }) - doc.insert(ignore_if_duplicate=True) + + doc.insert() comment = '''
@@ -267,31 +235,36 @@ class TestUser(unittest.TestCase): self.assertEqual(res1.status_code, 200) self.assertEqual(res2.status_code, 417) - # def test_user_rollback(self): - # """ - # FIXME: This is failing with PR #12693 as Rollback can't happen if notifications sent on user creation. - # Make sure that notifications disabled. - # """ - # frappe.db.commit() - # frappe.db.begin() - # user_id = str(uuid.uuid4()) - # email = f'{user_id}@example.com' - # try: - # frappe.flags.in_import = True # disable throttling - # frappe.get_doc(dict( - # doctype='User', - # email=email, - # first_name=user_id, - # )).insert() - # finally: - # frappe.flags.in_import = False + def test_user_rename(self): + old_name = "test_user_rename@example.com" + new_name = "test_user_rename_new@example.com" + user = frappe.get_doc({ + "doctype": "User", + "email": old_name, + "enabled": 1, + "first_name": "_Test", + "new_password": "Eastern_43A1W", + "roles": [ + { + "doctype": "Has Role", + "parentfield": "roles", + "role": "System Manager" + }] + }).insert(ignore_permissions=True, ignore_if_duplicate=True) - # # Check user has been added - # self.assertIsNotNone(frappe.db.get("User", {"email": email})) + frappe.rename_doc('User', user.name, new_name) + self.assertTrue(frappe.db.exists("Notification Settings", new_name)) - # # Check that rollback works - # frappe.db.rollback() - # self.assertIsNone(frappe.db.get("User", {"email": email})) + frappe.delete_doc("User", new_name) + + def test_signup(self): + pass + + def test_password_update(self): + pass + + def test_password_verification(self): + pass def delete_contact(user): frappe.db.sql("DELETE FROM `tabContact` WHERE `email_id`= %s", user) From 475c3ec8b8eb13aa09922805a722f0d2f4d05c4f Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 17 Aug 2021 10:24:12 +0530 Subject: [PATCH 0268/1383] fix: import error --- frappe/email/doctype/email_account/email_account.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/email/doctype/email_account/email_account.py b/frappe/email/doctype/email_account/email_account.py index 78e0be1017..b29d4ee9cd 100755 --- a/frappe/email/doctype/email_account/email_account.py +++ b/frappe/email/doctype/email_account/email_account.py @@ -724,7 +724,7 @@ def get_max_email_uid(email_account): def setup_user_email_inbox(email_account, awaiting_password, email_id, enable_outgoing): """ setup email inbox for user """ - from frappe.core.doctype.user import ask_pass_update + from frappe.core.doctype.user.user import ask_pass_update def add_user_email(user): user = frappe.get_doc("User", user) row = user.append("user_emails", {}) From 9b15009e7a359f6a543b9690a67c3d6aa20e395c Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 17 Aug 2021 11:08:35 +0530 Subject: [PATCH 0269/1383] fix: Enable paragraph text styling (Bold, Italic, link) --- .../public/js/frappe/views/workspace/blocks/paragraph.js | 7 +++++-- frappe/public/scss/desk/desktop.scss | 6 +++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/frappe/public/js/frappe/views/workspace/blocks/paragraph.js b/frappe/public/js/frappe/views/workspace/blocks/paragraph.js index b594f3459a..26afa65d51 100644 --- a/frappe/public/js/frappe/views/workspace/blocks/paragraph.js +++ b/frappe/public/js/frappe/views/workspace/blocks/paragraph.js @@ -123,10 +123,10 @@ export default class Paragraph extends Block { return true; } - save(toolsContent) { + save() { this.wrapper = this._element; return { - text: toolsContent.innerText, + text: this.wrapper.innerHTML, col: this.get_col(), }; } @@ -155,6 +155,9 @@ export default class Paragraph extends Block { return { text: { br: true, + b: true, + i: true, + a: true } }; } diff --git a/frappe/public/scss/desk/desktop.scss b/frappe/public/scss/desk/desktop.scss index 0db526978f..49ed07bbce 100644 --- a/frappe/public/scss/desk/desktop.scss +++ b/frappe/public/scss/desk/desktop.scss @@ -946,7 +946,11 @@ body { &.new-widget { align-items: inherit; } - + + &.ce-paragraph { + display: block; + } + .paragraph-control { display: flex; flex-direction: row-reverse; From 0215bd06ecce32b22033f98afaa69f6a34748982 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 17 Aug 2021 11:09:22 +0530 Subject: [PATCH 0270/1383] fix: Make Shortcut's & Card's default size col-4 --- frappe/public/js/frappe/views/workspace/blocks/card.js | 2 +- frappe/public/js/frappe/views/workspace/blocks/shortcut.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/public/js/frappe/views/workspace/blocks/card.js b/frappe/public/js/frappe/views/workspace/blocks/card.js index 975b32eea7..15e27fed40 100644 --- a/frappe/public/js/frappe/views/workspace/blocks/card.js +++ b/frappe/public/js/frappe/views/workspace/blocks/card.js @@ -14,7 +14,7 @@ export default class Card extends Block { constructor({ data, api, config, readOnly, block }) { super({ data, api, config, readOnly, block }); this.sections = {}; - this.col = this.data.col ? this.data.col : "12"; + this.col = this.data.col ? this.data.col : "4"; this.allow_customization = !this.readOnly; this.options = { allow_sorting: this.allow_customization, diff --git a/frappe/public/js/frappe/views/workspace/blocks/shortcut.js b/frappe/public/js/frappe/views/workspace/blocks/shortcut.js index 0943de202d..f7482a06f3 100644 --- a/frappe/public/js/frappe/views/workspace/blocks/shortcut.js +++ b/frappe/public/js/frappe/views/workspace/blocks/shortcut.js @@ -13,7 +13,7 @@ export default class Shortcut extends Block { constructor({ data, api, config, readOnly, block }) { super({ data, api, config, readOnly, block }); - this.col = this.data.col ? this.data.col : "12"; + this.col = this.data.col ? this.data.col : "4"; this.allow_customization = !this.readOnly; this.options = { allow_sorting: this.allow_customization, From 013f1f471df8010c81ab65874085e7e11f78e64e Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 17 Aug 2021 11:11:15 +0530 Subject: [PATCH 0271/1383] fix: Switch Public-Private, Change Customize to Edit, Add Settings button to redirect to workspace document --- frappe/desk/desktop.py | 2 +- .../js/frappe/views/workspace/workspace.js | 30 +++++++++++-------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/frappe/desk/desktop.py b/frappe/desk/desktop.py index 27b985e429..e9036b98b0 100644 --- a/frappe/desk/desktop.py +++ b/frappe/desk/desktop.py @@ -368,7 +368,7 @@ def get_desktop_page(page): on desk. Args: - page (string): page name + page (json): page data Returns: dict: dictionary of cards, charts and shortcuts to be displayed on website diff --git a/frappe/public/js/frappe/views/workspace/workspace.js b/frappe/public/js/frappe/views/workspace/workspace.js index b46c220d9d..719645feea 100644 --- a/frappe/public/js/frappe/views/workspace/workspace.js +++ b/frappe/public/js/frappe/views/workspace/workspace.js @@ -32,8 +32,8 @@ frappe.views.Workspace = class Workspace { 'private': {} }; this.sidebar_categories = [ - 'Public', - frappe.user.first_name() || 'Private' + 'My Workspaces', + 'Public' ]; this.tools = { header: { @@ -357,7 +357,7 @@ frappe.views.Workspace = class Workspace { let current_page = pages.filter(p => p.title == page.name)[0]; if (!this.is_read_only) { - this.setup_customization_buttons(current_page.is_editable); + this.setup_customization_buttons(current_page); return; } @@ -365,20 +365,20 @@ frappe.views.Workspace = class Workspace { this.page.clear_secondary_action(); this.page.clear_inner_toolbar(); - current_page.is_editable && this.page.set_secondary_action(__("Customize"), () => { + current_page.is_editable && this.page.set_secondary_action(__("Edit"), () => { if (!this.editor || !this.editor.readOnly) return; this.is_read_only = false; this.editor.readOnly.toggle(); this.editor.isReady.then(() => { this.initialize_editorjs_undo(); - this.setup_customization_buttons(true); + this.setup_customization_buttons(current_page); this.show_sidebar_actions(); this.make_sidebar_sortable(); this.make_blocks_sortable(); }); }); - this.page.add_inner_button(__("Create Page"), () => { + this.page.add_inner_button(__("Create Workspace"), () => { this.initialize_new_page(); }); } @@ -389,13 +389,13 @@ frappe.views.Workspace = class Workspace { this.undo.readOnly = false; } - setup_customization_buttons(is_editable) { + setup_customization_buttons(page) { let me = this; this.page.clear_primary_action(); this.page.clear_secondary_action(); this.page.clear_inner_toolbar(); - is_editable && this.page.set_primary_action( + page.is_editable && this.page.set_primary_action( __("Save Customizations"), () => { this.page.clear_primary_action(); @@ -424,6 +424,10 @@ frappe.views.Workspace = class Workspace { } ); + page.name && this.page.add_inner_button(__("Settings"), () => { + frappe.set_route(`workspace/${page.name}`); + }); + Object.keys(this.blocks).forEach(key => { this.page.add_inner_button(` ${this.blocks[key].toolbox.icon} @@ -446,7 +450,7 @@ frappe.views.Workspace = class Workspace { $(`${frappe.utils.icon("lock", "sm")}`) .appendTo(sidebar_control); sidebar_control.parent().click(() => { - frappe.show_alert({ + !this.is_read_only && frappe.show_alert({ message: __("Only Workspace Manager can sort or edit this page"), indicator: 'info' }, 5); @@ -498,9 +502,9 @@ frappe.views.Workspace = class Workspace { prepare_sorted_sidebar(is_public) { if (is_public) { - this.sorted_public_items = this.sort_sidebar(this.sidebar.find('.standard-sidebar-section').first()); + this.sorted_public_items = this.sort_sidebar(this.sidebar.find('.standard-sidebar-section').last()); } else { - this.sorted_private_items = this.sort_sidebar(this.sidebar.find('.standard-sidebar-section').last()); + this.sorted_private_items = this.sort_sidebar(this.sidebar.find('.standard-sidebar-section').first()); } } @@ -578,7 +582,7 @@ frappe.views.Workspace = class Workspace { if (!this.validate_page(values)) return; d.hide(); this.initialize_editorjs_undo(); - this.setup_customization_buttons(true); + this.setup_customization_buttons({is_editable: true}); this.title = values.title; this.icon = values.icon; this.parent = values.parent; @@ -647,7 +651,7 @@ frappe.views.Workspace = class Workspace { ); $sidebar_item.find('.sidebar-item-control .drag-handle').css('margin-right', '8px'); - let $sidebar_section = is_public ? $sidebar[0] : $sidebar[1]; + let $sidebar_section = is_public ? $sidebar[1] : $sidebar[0]; if (!parent) { !is_public && $sidebar.last().removeClass('hidden'); From 3e7e35351b043e6d36cc6e23a8250e6cf6e1d437 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 17 Aug 2021 11:20:05 +0530 Subject: [PATCH 0272/1383] refactor: Move set_email_password code to email_account.py --- frappe/core/doctype/user/user.py | 13 ------------- .../email/doctype/email_account/email_account.py | 14 ++++++++++++++ frappe/public/js/frappe/desk.js | 2 +- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py index 5e80083791..86d2f7726e 100644 --- a/frappe/core/doctype/user/user.py +++ b/frappe/core/doctype/user/user.py @@ -713,19 +713,6 @@ def get_email_awaiting(user): where parent = %(user)s""",{"user":user}) return False -@frappe.whitelist(allow_guest=False) -def set_email_password(email_account, user, password): - account = frappe.get_doc("Email Account", email_account) - if account.awaiting_password: - account.awaiting_password = 0 - account.password = password - try: - account.save(ignore_permissions=True) - except Exception: - frappe.db.rollback() - return False - - return True def ask_pass_update(): # update the sys defaults as to awaiting users from frappe.utils import set_default diff --git a/frappe/email/doctype/email_account/email_account.py b/frappe/email/doctype/email_account/email_account.py index b29d4ee9cd..a1ddbf7a68 100755 --- a/frappe/email/doctype/email_account/email_account.py +++ b/frappe/email/doctype/email_account/email_account.py @@ -786,3 +786,17 @@ def remove_user_email_inbox(email_account): [ doc.remove(row) for row in to_remove ] doc.save(ignore_permissions=True) + +@frappe.whitelist(allow_guest=False) +def set_email_password(email_account, user, password): + account = frappe.get_doc("Email Account", email_account) + if account.awaiting_password: + account.awaiting_password = 0 + account.password = password + try: + account.save(ignore_permissions=True) + except Exception: + frappe.db.rollback() + return False + + return True \ No newline at end of file diff --git a/frappe/public/js/frappe/desk.js b/frappe/public/js/frappe/desk.js index 810b6a404a..99fc4da182 100644 --- a/frappe/public/js/frappe/desk.js +++ b/frappe/public/js/frappe/desk.js @@ -230,7 +230,7 @@ frappe.Application = class Application { s.fields_dict.checking.$wrapper.html(''); s.show(); frappe.call({ - method: 'frappe.core.doctype.user.user.set_email_password', + method: 'frappe.email.doctype.email_account.email_account.set_email_password', args: { "email_account": email_account[i]["email_account"], "user": user, From 7e72a0f304401c212a6460ba3cf5658ca28f7e26 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 17 Aug 2021 11:21:31 +0530 Subject: [PATCH 0273/1383] fix: Disabled user check in signup --- frappe/core/doctype/user/user.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py index 86d2f7726e..378e10a409 100644 --- a/frappe/core/doctype/user/user.py +++ b/frappe/core/doctype/user/user.py @@ -764,10 +764,10 @@ def sign_up(email, full_name, redirect_to): user = frappe.db.get("User", {"email": email}) if user: - if user.disabled: - return 0, _("Registered but disabled") - else: + if user.enabled: return 0, _("Already Registered") + else: + return 0, _("Registered but disabled") else: if frappe.db.sql("""select count(*) from tabUser where HOUR(TIMEDIFF(CURRENT_TIMESTAMP, TIMESTAMP(modified)))=1""")[0][0] > 300: From 8924fd071606bb96ee01a383e11e96d077d85b87 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 17 Aug 2021 11:22:04 +0530 Subject: [PATCH 0274/1383] test: Add signup test case --- frappe/core/doctype/user/test_user.py | 28 ++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/frappe/core/doctype/user/test_user.py b/frappe/core/doctype/user/test_user.py index 383967a549..41479fb05c 100644 --- a/frappe/core/doctype/user/test_user.py +++ b/frappe/core/doctype/user/test_user.py @@ -4,10 +4,11 @@ import frappe, unittest from frappe.model.delete_doc import delete_doc from frappe.utils import get_url -from frappe.core.doctype.user.user import test_password_strength -from frappe.core.doctype.user.user import extract_mentions +from frappe.core.doctype.user.user import test_password_strength, extract_mentions, sign_up from frappe.frappeclient import FrappeClient +from unittest.mock import patch + test_records = frappe.get_test_records('User') class TestUser(unittest.TestCase): @@ -258,7 +259,28 @@ class TestUser(unittest.TestCase): frappe.delete_doc("User", new_name) def test_signup(self): - pass + import frappe.website.utils + import frappe.exceptions + random_user = frappe.mock('email') + random_user_name = frappe.mock('name') + # disabled signup + with patch.object(frappe.core.doctype.user.user, "is_signup_disabled", return_value=True): + self.assertRaisesRegex(frappe.exceptions.ValidationError, "Sign Up is disabled", + sign_up, random_user, random_user_name, "/signup") + + self.assertTupleEqual(sign_up(random_user, random_user_name, "/welcome"), (1, "Please check your email for verification")) + self.assertEqual(frappe.cache().hget('redirect_after_login', random_user), "/welcome") + + # re-register + self.assertTupleEqual(sign_up(random_user, random_user_name, "/welcome"), (0, "Already Registered")) + + # disabled user + user = frappe.get_doc("User", random_user) + user.enabled = 0 + user.save() + + self.assertTupleEqual(sign_up(random_user, random_user_name, "/welcome"), (0, "Registered but disabled")) + def test_password_update(self): pass From e401366cf9480468d8b5bd4c0af385a0f71575e8 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 17 Aug 2021 12:12:46 +0530 Subject: [PATCH 0275/1383] test: Renamed changed values --- cypress/integration/workspace.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cypress/integration/workspace.js b/cypress/integration/workspace.js index 9701e54c5e..f18e48aadc 100644 --- a/cypress/integration/workspace.js +++ b/cypress/integration/workspace.js @@ -14,7 +14,7 @@ context('Workspace 2.0', () => { it('Create Private Page', () => { cy.get('.codex-editor__redactor .ce-block'); - cy.get('.custom-actions button[data-label="Create%20Page"]').click(); + cy.get('.custom-actions button[data-label="Create%20Workspace"]').click(); cy.fill_field('title', 'Test Private Page', 'Data'); cy.fill_field('icon', 'edit', 'Icon'); cy.get_open_dialog().find('.modal-header').click(); @@ -29,7 +29,7 @@ context('Workspace 2.0', () => { cy.wait(500); cy.get('.codex-editor__redactor .ce-block'); - cy.get('.standard-actions .btn-secondary[data-label=Customize]').click(); + cy.get('.standard-actions .btn-secondary[data-label=Edit]').click(); }); it('Add New Block', () => { @@ -77,7 +77,7 @@ context('Workspace 2.0', () => { it('Delete Private Page', () => { cy.get('.codex-editor__redactor .ce-block'); - cy.get('.standard-actions .btn-secondary[data-label=Customize]').click(); + cy.get('.standard-actions .btn-secondary[data-label=Edit]').click(); cy.get('.sidebar-item-container[item-name="Test Private Page"]').find('.sidebar-item-control .delete-page').click(); cy.wait(300); From f0cc541a716ca892f4772c022e8f4ac87fb38da0 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Tue, 17 Aug 2021 12:36:54 +0530 Subject: [PATCH 0276/1383] feat: Add util to convert compressed tables to DYNAMIC NOTE: This shouldn't be considered as a finished command. Only run this if you understand what you're doing --- frappe/commands/utils.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/frappe/commands/utils.py b/frappe/commands/utils.py index f2395ae490..54ee559cf5 100644 --- a/frappe/commands/utils.py +++ b/frappe/commands/utils.py @@ -512,6 +512,29 @@ def console(context): IPython.embed(display_banner="", header="", colors="neutral") +@click.command('convert-database') +@pass_context +def convert_database(context): + "convert row_formats to DNAMIC from older formats -- innodb mariadb v10.6.3" + site = get_site(context) + frappe.init(site=site) + frappe.connect() + + information_schema = frappe.qb.Schema("information_schema") + queried_tables = frappe.qb.from_( + information_schema.tables + ).select("table_name").where( + information_schema.tables.row_format=="Compressed" + ).run() + tables = [x[0] for x in queried_tables] + + for table in tables: + frappe.db.sql(f"ALTER TABLE `{table}` ROW_FORMAT=DYNAMIC") + + frappe.db.commit() + frappe.destroy() + + @click.command('run-tests') @click.option('--app', help="For App") @click.option('--doctype', help="For DocType") @@ -796,6 +819,7 @@ commands = [ build, clear_cache, clear_website_cache, + convert_database, jupyter, console, destroy_all_sessions, From f8826750d4016c606eebb55ea7bf5fbde5b734d5 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Tue, 17 Aug 2021 12:38:19 +0530 Subject: [PATCH 0277/1383] chore: Use DYNAMIC row_format instead of deprecated COMPRESSED refs: * MariaDB 10.6 gets rid of the COMPRESSED row_format * https://dev.mysql.com/worklog/task/?id=8307 * https://stackoverflow.com/questions/24321896/mysql-row-format-compressed-vs-dynamic --- frappe/database/mariadb/database.py | 2 +- frappe/database/mariadb/framework_mariadb.sql | 22 +++++++++---------- frappe/database/mariadb/schema.py | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/frappe/database/mariadb/database.py b/frappe/database/mariadb/database.py index d4a119804b..9fc485e133 100644 --- a/frappe/database/mariadb/database.py +++ b/frappe/database/mariadb/database.py @@ -195,7 +195,7 @@ class MariaDBDatabase(Database): `password` TEXT NOT NULL, `encrypted` INT(1) NOT NULL DEFAULT 0, PRIMARY KEY (`doctype`, `name`, `fieldname`) - ) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci""") + ) ENGINE=InnoDB ROW_FORMAT=DYNAMIC CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci""") def create_global_search_table(self): if not '__global_search' in self.get_tables(): diff --git a/frappe/database/mariadb/framework_mariadb.sql b/frappe/database/mariadb/framework_mariadb.sql index f8841e9417..426fae6d3e 100644 --- a/frappe/database/mariadb/framework_mariadb.sql +++ b/frappe/database/mariadb/framework_mariadb.sql @@ -71,7 +71,7 @@ CREATE TABLE `tabDocField` ( KEY `label` (`label`), KEY `fieldtype` (`fieldtype`), KEY `fieldname` (`fieldname`) -) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +) ENGINE=InnoDB ROW_FORMAT=DYNAMIC CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- @@ -108,7 +108,7 @@ CREATE TABLE `tabDocPerm` ( `email` int(1) NOT NULL DEFAULT 1, PRIMARY KEY (`name`), KEY `parent` (`parent`) -) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +) ENGINE=InnoDB ROW_FORMAT=DYNAMIC CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -- Table structure for table `tabDocType Action` @@ -132,7 +132,7 @@ CREATE TABLE `tabDocType Action` ( PRIMARY KEY (`name`), KEY `parent` (`parent`), KEY `modified` (`modified`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=COMPRESSED; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; -- -- Table structure for table `tabDocType Action` @@ -155,7 +155,7 @@ CREATE TABLE `tabDocType Link` ( PRIMARY KEY (`name`), KEY `parent` (`parent`), KEY `modified` (`modified`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=COMPRESSED; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; -- -- Table structure for table `tabDocType` @@ -226,7 +226,7 @@ CREATE TABLE `tabDocType` ( `sender_field` varchar(255) DEFAULT NULL, PRIMARY KEY (`name`), KEY `parent` (`parent`) -) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +) ENGINE=InnoDB ROW_FORMAT=DYNAMIC CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -- Table structure for table `tabSeries` @@ -237,7 +237,7 @@ CREATE TABLE `tabSeries` ( `name` varchar(100), `current` int(10) NOT NULL DEFAULT 0, PRIMARY KEY(`name`) -) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +) ENGINE=InnoDB ROW_FORMAT=DYNAMIC CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- @@ -254,7 +254,7 @@ CREATE TABLE `tabSessions` ( `device` varchar(255) DEFAULT 'desktop', `status` varchar(20) DEFAULT NULL, KEY `sid` (`sid`) -) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +) ENGINE=InnoDB ROW_FORMAT=DYNAMIC CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- @@ -267,7 +267,7 @@ CREATE TABLE `tabSingles` ( `field` varchar(255) DEFAULT NULL, `value` text, KEY `singles_doctype_field_index` (`doctype`, `field`) -) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +) ENGINE=InnoDB ROW_FORMAT=DYNAMIC CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -- Table structure for table `__Auth` @@ -281,7 +281,7 @@ CREATE TABLE `__Auth` ( `password` TEXT NOT NULL, `encrypted` INT(1) NOT NULL DEFAULT 0, PRIMARY KEY (`doctype`, `name`, `fieldname`) -) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +) ENGINE=InnoDB ROW_FORMAT=DYNAMIC CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -- Table structure for table `tabFile` @@ -309,7 +309,7 @@ CREATE TABLE `tabFile` ( KEY `parent` (`parent`), KEY `attached_to_name` (`attached_to_name`), KEY `attached_to_doctype` (`attached_to_doctype`) -) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +) ENGINE=InnoDB ROW_FORMAT=DYNAMIC CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -- Table structure for table `tabDefaultValue` @@ -332,4 +332,4 @@ CREATE TABLE `tabDefaultValue` ( PRIMARY KEY (`name`), KEY `parent` (`parent`), KEY `defaultvalue_parent_defkey_index` (`parent`,`defkey`) -) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +) ENGINE=InnoDB ROW_FORMAT=DYNAMIC CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; diff --git a/frappe/database/mariadb/schema.py b/frappe/database/mariadb/schema.py index b40af59286..c5091cfe8f 100644 --- a/frappe/database/mariadb/schema.py +++ b/frappe/database/mariadb/schema.py @@ -29,7 +29,7 @@ class MariaDBTable(DBTable): %sindex parent(parent), index modified(modified)) ENGINE={engine} - ROW_FORMAT=COMPRESSED + ROW_FORMAT=DYNAMIC CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci""".format(varchar_len=frappe.db.VARCHAR_LEN, engine=self.meta.get("engine") or 'InnoDB') % (self.table_name, add_text)) From 7f338edca11fb367e6126e5c9f0e33112965c9f4 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Tue, 17 Aug 2021 12:50:11 +0530 Subject: [PATCH 0278/1383] feat: Command to trim tables Maintenance command to get rid of extra columns in your DocType tables. These columns are remnants of "deleted" fields through customizations or upgrades --- frappe/commands/site.py | 28 +++++++++++++++- frappe/database/mariadb/database.py | 4 +-- frappe/model/meta.py | 50 ++++++++++++++++++++--------- 3 files changed, 63 insertions(+), 19 deletions(-) diff --git a/frappe/commands/site.py b/frappe/commands/site.py index 9098e31738..27e8e737ea 100755 --- a/frappe/commands/site.py +++ b/frappe/commands/site.py @@ -738,6 +738,31 @@ def build_search_index(context): finally: frappe.destroy() +@click.command('trim-tables') +@click.option('--dry-run', is_flag=True, default=False, help='Show what would be deleted') +@click.option('--format', default='table', type=click.Choice(['json', 'table']), help='Output format') +@pass_context +def trim_tables(context, dry_run, format): + from frappe.model.meta import trim_tables + + for site in context.sites: + frappe.init(site=site) + frappe.connect() + try: + trimmed_data = trim_tables(dry_run=dry_run) + handle_data(trimmed_data, format=format) + finally: + frappe.destroy() + +def handle_data(data: dict, format='json'): + if format == 'json': + import json + print(json.dumps({frappe.local.site: data}, indent=1, sort_keys=True)) + else: + click.secho(f"Site {frappe.local.site}", fg='green') + for table, columns in data.items(): + print(f"{table}: {', '.join(columns)}") + commands = [ add_system_manager, backup, @@ -766,5 +791,6 @@ commands = [ add_to_hosts, start_ngrok, build_search_index, - partial_restore + partial_restore, + trim_tables, ] diff --git a/frappe/database/mariadb/database.py b/frappe/database/mariadb/database.py index d4a119804b..0bf6450cda 100644 --- a/frappe/database/mariadb/database.py +++ b/frappe/database/mariadb/database.py @@ -135,8 +135,8 @@ class MariaDBDatabase(Database): table_name = get_table_name(doctype) return self.sql(f"DESC `{table_name}`") - def change_column_type(self, table: str, column: str, type: str) -> Union[List, Tuple]: - table_name = get_table_name(table) + def change_column_type(self, doctype: str, column: str, type: str) -> Union[List, Tuple]: + table_name = get_table_name(doctype) return self.sql(f"ALTER TABLE `{table_name}` MODIFY `{column}` {type} NOT NULL") # exception types diff --git a/frappe/model/meta.py b/frappe/model/meta.py index de794ba77f..f42cac59c3 100644 --- a/frappe/model/meta.py +++ b/frappe/model/meta.py @@ -15,6 +15,7 @@ Example: ''' from datetime import datetime +import click import frappe, json, os from frappe.utils import cstr, cint, cast_fieldtype from frappe.model import default_fields, no_value_fields, optional_fields, data_fieldtypes, table_fields @@ -658,27 +659,44 @@ def get_default_df(fieldname): fieldtype = "Data" ) -def trim_tables(doctype=None): +def trim_tables(doctype=None, dry_run=False): """ Removes database fields that don't exist in the doctype (json or custom field). This may be needed as maintenance since removing a field in a DocType doesn't automatically delete the db field. """ - ignore_fields = default_fields + optional_fields - - filters={ "issingle": 0 } + UPDATED_TABLES = {} + filters = {"issingle": 0} if doctype: filters["name"] = doctype - for doctype in frappe.db.get_all("DocType", filters=filters): - doctype = doctype.name - columns = frappe.db.get_table_columns(doctype) - fields = frappe.get_meta(doctype).get_fieldnames_with_value() - columns_to_remove = [f for f in list(set(columns) - set(fields)) if f not in ignore_fields - and not f.startswith("_")] - if columns_to_remove: - print(doctype, "columns removed:", columns_to_remove) - columns_to_remove = ", ".join("drop `{0}`".format(c) for c in columns_to_remove) - query = """alter table `tab{doctype}` {columns}""".format( - doctype=doctype, columns=columns_to_remove) - frappe.db.sql_ddl(query) + for doctype in frappe.db.get_all("DocType", filters=filters, pluck="name"): + try: + dropped_columns = trim_table(doctype, dry_run=dry_run) + if dropped_columns: + UPDATED_TABLES[doctype] = dropped_columns + except frappe.db.TableMissingError: + click.secho(f"Ignoring missing table for DocType: {doctype}", fg="yellow", err=True) + click.secho(f"Consider removing record in the DocType table for {doctype}", fg="yellow", err=True) + except Exception as e: + click.echo(e, err=True) + + return UPDATED_TABLES + + +def trim_table(doctype, dry_run=True): + ignore_fields = default_fields + optional_fields + columns = frappe.db.get_table_columns(doctype) + fields = frappe.get_meta(doctype, cached=False).get_fieldnames_with_value() + is_internal = lambda f: f not in ignore_fields and not f.startswith("_") + columns_to_remove = [ + f for f in list(set(columns) - set(fields)) if is_internal(f) + ] + DROPPED_COLUMNS = columns_to_remove[:] + + if columns_to_remove and not dry_run: + columns_to_remove = ", ".join(f"DROP `{c}`" for c in columns_to_remove) + frappe.db.sql_ddl(f"ALTER TABLE `tab{doctype}` {columns_to_remove}") + # frappe.clear_cache(doctype=doctype) + + return DROPPED_COLUMNS From d36d6055ae24469933993bf30458350a2b42dee5 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 17 Aug 2021 13:45:39 +0530 Subject: [PATCH 0279/1383] refactor: Remove check demo and redundant code --- frappe/core/doctype/user/user.py | 46 ++++++++++++-------------------- 1 file changed, 17 insertions(+), 29 deletions(-) diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py index 378e10a409..b33e6916f5 100644 --- a/frappe/core/doctype/user/user.py +++ b/frappe/core/doctype/user/user.py @@ -51,8 +51,6 @@ class User(Document): frappe.cache().delete_key('enabled_users') def validate(self): - self.check_demo() - # clear new password self.__new_password = self.new_password self.new_password = "" @@ -132,10 +130,6 @@ class User(Document): """Returns true if current user is the session user""" return self.name == frappe.session.user - def check_demo(self): - if frappe.session.user == 'demo@erpnext.com': - frappe.throw(_('Cannot change user details in demo. Please signup for a new account at https://erpnext.com'), title=_('Not Allowed')) - def set_full_name(self): self.full_name = " ".join(filter(None, [self.first_name, self.last_name])) @@ -393,7 +387,6 @@ class User(Document): def before_rename(self, old_name, new_name, merge=False): - self.check_demo() frappe.clear_cache(user=old_name) self.validate_rename(old_name, new_name) @@ -725,24 +718,19 @@ def ask_pass_update(): def _get_user_for_update_password(key, old_password): # verify old password + result = frappe._dict() if key: - user = frappe.db.get_value("User", {"reset_password_key": key}) - if not user: - return { - 'message': _("The Link specified has either been used before or Invalid") - } + result.user = frappe.db.get_value("User", {"reset_password_key": key}) + if not result.user: + result.message = _("The Link specified has either been used before or Invalid") elif old_password: # verify old password frappe.local.login_manager.check_password(frappe.session.user, old_password) user = frappe.session.user + result.user = user - else: - return - - return { - 'user': user - } + return result def reset_user_data(user): user_doc = frappe.get_doc("User", user) @@ -1048,18 +1036,18 @@ def generate_keys(user): :param user: str """ - if "System Manager" in frappe.get_roles(): - user_details = frappe.get_doc("User", user) - api_secret = frappe.generate_hash(length=15) - # if api key is not set generate api key - if not user_details.api_key: - api_key = frappe.generate_hash(length=15) - user_details.api_key = api_key - user_details.api_secret = api_secret - user_details.save() + frappe.only_for("System Manager") + user_details = frappe.get_doc("User", user) + api_secret = frappe.generate_hash(length=15) + # if api key is not set generate api key + if not user_details.api_key: + api_key = frappe.generate_hash(length=15) + user_details.api_key = api_key + user_details.api_secret = api_secret + user_details.save() + + return {"api_secret": api_secret} - return {"api_secret": api_secret} - frappe.throw(frappe._("Not Permitted"), frappe.PermissionError) @frappe.whitelist() def switch_theme(theme): From 81a59377518a566aca8c92a01eec8c2cfa05c7cc Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 17 Aug 2021 13:47:58 +0530 Subject: [PATCH 0280/1383] test: Add "password update" test --- frappe/core/doctype/user/test_user.py | 59 +++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 7 deletions(-) diff --git a/frappe/core/doctype/user/test_user.py b/frappe/core/doctype/user/test_user.py index 41479fb05c..72650679ae 100644 --- a/frappe/core/doctype/user/test_user.py +++ b/frappe/core/doctype/user/test_user.py @@ -4,11 +4,14 @@ import frappe, unittest from frappe.model.delete_doc import delete_doc from frappe.utils import get_url -from frappe.core.doctype.user.user import test_password_strength, extract_mentions, sign_up +from frappe.core.doctype.user.user import (test_password_strength, + extract_mentions, sign_up, update_password, verify_password) from frappe.frappeclient import FrappeClient from unittest.mock import patch +import frappe.exceptions +user_module = frappe.core.doctype.user.user test_records = frappe.get_test_records('User') class TestUser(unittest.TestCase): @@ -21,7 +24,7 @@ class TestUser(unittest.TestCase): def test_user_type(self): new_user = frappe.get_doc(dict(doctype='User', email='test-for-type@example.com', - first_name='Tester')).insert() + first_name='Tester')).insert(ignore_if_duplicate=True) self.assertEqual(new_user.user_type, 'Website User') # social login userid for frappe @@ -119,7 +122,7 @@ class TestUser(unittest.TestCase): def test_delete_user(self): new_user = frappe.get_doc(dict(doctype='User', email='test-for-delete@example.com', - first_name='Tester Delete User')).insert() + first_name='Tester Delete User')).insert(ignore_if_duplicate=True) self.assertEqual(new_user.user_type, 'Website User') # role with desk access @@ -260,11 +263,10 @@ class TestUser(unittest.TestCase): def test_signup(self): import frappe.website.utils - import frappe.exceptions random_user = frappe.mock('email') random_user_name = frappe.mock('name') # disabled signup - with patch.object(frappe.core.doctype.user.user, "is_signup_disabled", return_value=True): + with patch.object(user_module, "is_signup_disabled", return_value=True): self.assertRaisesRegex(frappe.exceptions.ValidationError, "Sign Up is disabled", sign_up, random_user, random_user_name, "/signup") @@ -282,8 +284,51 @@ class TestUser(unittest.TestCase): self.assertTupleEqual(sign_up(random_user, random_user_name, "/welcome"), (0, "Registered but disabled")) - def test_password_update(self): - pass + def test_reset_password(self): + from frappe.utils import set_request + from frappe.auth import CookieManager + from frappe.auth import LoginManager + old_password = "Eastern_43A1W" + new_password = "easy_password" + + set_request(path="/random") + frappe.local.cookie_manager = CookieManager() + frappe.local.login_manager = LoginManager() + + frappe.set_user("test@example.com") + test_user = frappe.get_doc("User", "test@example.com") + test_user.reset_password() + frappe.cache().hset('redirect_after_login', test_user.email, "/some_portal_page") + self.assertEqual(update_password(new_password, key=test_user.reset_password_key), "/app") + self.assertEqual(update_password(new_password, key="wrong_key"), "The Link specified has either been used before or Invalid") + + # password verification should fail with old password + self.assertRaises(frappe.exceptions.AuthenticationError, verify_password, old_password) + verify_password(new_password) + + # reset password + update_password(old_password, old_password=new_password) + + self.assertRaisesRegex(frappe.exceptions.ValidationError, "Invalid key type", update_password, "test", 1, ['like', '%']) + + password_strength_response = { + "feedback": { + "password_policy_validation_passed": False, + "suggestions": ["Fix password"] + } + } + + # password strength failure test + with patch.object(user_module, "test_password_strength", return_value=password_strength_response): + self.assertRaisesRegex(frappe.exceptions.ValidationError, "Fix password", update_password, new_password, 0, test_user.reset_password_key) + + + # test redirect URL for website users + frappe.set_user("test2@example.com") + self.assertEqual(update_password(new_password, old_password=old_password), "/") + # reset password + update_password(old_password, old_password=new_password) + def test_password_verification(self): pass From 4a6b0e35df26edbf26f1cdee9fd4ef704f8b42cb Mon Sep 17 00:00:00 2001 From: Saqib Ansari Date: Tue, 17 Aug 2021 14:06:39 +0530 Subject: [PATCH 0281/1383] fix: dom element for sections breaks in form tours --- frappe/public/js/frappe/form/form_tour.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/form_tour.js b/frappe/public/js/frappe/form/form_tour.js index 17547b243d..0694aa634a 100644 --- a/frappe/public/js/frappe/form/form_tour.js +++ b/frappe/public/js/frappe/form/form_tour.js @@ -82,10 +82,16 @@ frappe.ui.form.FormTour = class FormTour { get_step(step_info, on_next) { const { name, fieldname, title, description, position, is_table_field } = step_info; + let element = `.frappe-control[data-fieldname='${fieldname}']`; + const field = this.frm.get_field(fieldname); - let element = field ? field.wrapper : `.frappe-control[data-fieldname='${fieldname}']`; + if (field) { + // wrapper for section breaks returns in a list + element = field.wrapper[0] ? field.wrapper[0] : field.wrapper; + } if (is_table_field) { + // TODO: fix wrapper for grid sections element = `.grid-row-open .frappe-control[data-fieldname='${fieldname}']`; } From ddf4bb80b88403f1fa61f05e1d0e4d06e2bb5332 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 17 Aug 2021 14:30:17 +0530 Subject: [PATCH 0282/1383] fix: Signup throttling for postgres --- frappe/core/doctype/user/user.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py index b33e6916f5..3f91ebe54c 100644 --- a/frappe/core/doctype/user/user.py +++ b/frappe/core/doctype/user/user.py @@ -15,7 +15,6 @@ from frappe.desk.doctype.notification_settings.notification_settings import crea from frappe.utils.user import get_system_managers from frappe.website.utils import is_signup_disabled from frappe.rate_limiter import rate_limit -from frappe.utils.background_jobs import enqueue from frappe.core.doctype.user_type.user_type import user_linked_with_permission_on_doctype @@ -757,9 +756,7 @@ def sign_up(email, full_name, redirect_to): else: return 0, _("Registered but disabled") else: - if frappe.db.sql("""select count(*) from tabUser where - HOUR(TIMEDIFF(CURRENT_TIMESTAMP, TIMESTAMP(modified)))=1""")[0][0] > 300: - + if frappe.db.get_creation_count('User', 60) > 300: frappe.respond_as_web_page(_('Temporarily Disabled'), _('Too many users signed up recently, so the registration is disabled. Please try back in an hour'), http_status_code=429) From ba369da61b395c63e7aad096a36dbff22b446c9d Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 17 Aug 2021 14:33:34 +0530 Subject: [PATCH 0283/1383] test: Add test case to validate user signup throttling --- frappe/core/doctype/user/test_user.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frappe/core/doctype/user/test_user.py b/frappe/core/doctype/user/test_user.py index 72650679ae..d901bfa608 100644 --- a/frappe/core/doctype/user/test_user.py +++ b/frappe/core/doctype/user/test_user.py @@ -283,6 +283,11 @@ class TestUser(unittest.TestCase): self.assertTupleEqual(sign_up(random_user, random_user_name, "/welcome"), (0, "Registered but disabled")) + # throttle user creation + with patch.object(user_module.frappe.db, "get_creation_count", return_value=301): + self.assertRaisesRegex(frappe.exceptions.ValidationError, "Throttled", + sign_up, frappe.mock('email'), random_user_name, "/signup") + def test_reset_password(self): from frappe.utils import set_request From d41121643e6339a59fed3c134ec91f532cb24a76 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Tue, 17 Aug 2021 15:59:12 +0530 Subject: [PATCH 0284/1383] fix: broken template in password reset --- frappe/templates/emails/password_reset.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/templates/emails/password_reset.html b/frappe/templates/emails/password_reset.html index d9e38e38f2..cd0d820615 100644 --- a/frappe/templates/emails/password_reset.html +++ b/frappe/templates/emails/password_reset.html @@ -3,5 +3,5 @@

{{_("Reset your password")}}

{{_("Thank you")}},
- {{ user_fullname }} + {{ created_by }}

From b417218f1d6261478f4c7e6ef41e53633965df1f Mon Sep 17 00:00:00 2001 From: MitulDavid Date: Tue, 17 Aug 2021 19:06:01 +0530 Subject: [PATCH 0285/1383] test: Add support for Testing-Library queries within Cypress tests --- cypress/integration/awesome_bar.js | 14 ++++++------- cypress/integration/control_barcode.js | 6 +++--- cypress/integration/control_icon.js | 10 ++++----- cypress/integration/control_link.js | 4 ++-- cypress/integration/control_select.js | 2 ++ cypress/integration/depends_on.js | 6 +++--- cypress/integration/file_uploader.js | 29 +++++++++++++------------- cypress/support/commands.js | 1 + frappe/commands/utils.py | 4 +++- 9 files changed, 41 insertions(+), 35 deletions(-) diff --git a/cypress/integration/awesome_bar.js b/cypress/integration/awesome_bar.js index 3e12101532..08a2a71843 100644 --- a/cypress/integration/awesome_bar.js +++ b/cypress/integration/awesome_bar.js @@ -10,9 +10,9 @@ context('Awesome Bar', () => { }); it('navigates to doctype list', () => { - cy.get('#navbar-search').type('todo', { delay: 200 }); - cy.get('#navbar-search + ul').should('be.visible'); - cy.get('#navbar-search').type('{downarrow}{enter}', { delay: 100 }); + cy.findByPlaceholderText('Search or type a command (Ctrl + G)').type('todo', { delay: 200 }); + cy.findByRole('listbox').should('be.visible'); + cy.findByPlaceholderText('Search or type a command (Ctrl + G)').type('{downarrow}{enter}', { delay: 100 }); cy.get('.title-text').should('contain', 'To Do'); @@ -20,24 +20,24 @@ context('Awesome Bar', () => { }); it('find text in doctype list', () => { - cy.get('#navbar-search') + cy.findByPlaceholderText('Search or type a command (Ctrl + G)') .type('test in todo{downarrow}{enter}', { delay: 200 }); cy.get('.title-text').should('contain', 'To Do'); - cy.get('[data-original-title="Name"] > .input-with-feedback') + cy.findByPlaceholderText('Name') .should('have.value', '%test%'); }); it('navigates to new form', () => { - cy.get('#navbar-search') + cy.findByPlaceholderText('Search or type a command (Ctrl + G)') .type('new blog post{downarrow}{enter}', { delay: 200 }); cy.get('.title-text:visible').should('have.text', 'New Blog Post'); }); it('calculates math expressions', () => { - cy.get('#navbar-search') + cy.findByPlaceholderText('Search or type a command (Ctrl + G)') .type('55 + 32{downarrow}{enter}', { delay: 200 }); cy.get('.modal-title').should('contain', 'Result'); diff --git a/cypress/integration/control_barcode.js b/cypress/integration/control_barcode.js index 1df5e64f0e..51984fdbd2 100644 --- a/cypress/integration/control_barcode.js +++ b/cypress/integration/control_barcode.js @@ -20,7 +20,7 @@ context('Control Barcode', () => { it('should generate barcode on setting a value', () => { get_dialog_with_barcode().as('dialog'); - cy.get('.frappe-control[data-fieldname=barcode] input') + cy.findByRole('textbox') .focus() .type('123456789') .blur(); @@ -37,11 +37,11 @@ context('Control Barcode', () => { it('should reset when input is cleared', () => { get_dialog_with_barcode().as('dialog'); - cy.get('.frappe-control[data-fieldname=barcode] input') + cy.findByRole('textbox') .focus() .type('123456789') .blur(); - cy.get('.frappe-control[data-fieldname=barcode] input') + cy.findByRole('textbox') .clear() .blur(); cy.get('.frappe-control[data-fieldname=barcode] svg[data-barcode-value="123456789"]') diff --git a/cypress/integration/control_icon.js b/cypress/integration/control_icon.js index f92927f267..73927a15c6 100644 --- a/cypress/integration/control_icon.js +++ b/cypress/integration/control_icon.js @@ -17,17 +17,17 @@ context('Control Icon', () => { it('should set icon', () => { get_dialog_with_icon().as('dialog'); - cy.get('.frappe-control[data-fieldname=icon] input').first().click(); + cy.findByRole('textbox').first().click(); cy.get('.icon-picker .icon-wrapper[id=active]').first().click(); - cy.get('.frappe-control[data-fieldname=icon] input').first().should('have.value', 'active'); + cy.findByRole('textbox').first().should('have.value', 'active'); cy.get('@dialog').then(dialog => { let value = dialog.get_value('icon'); expect(value).to.equal('active'); }); cy.get('.icon-picker .icon-wrapper[id=resting]').first().click(); - cy.get('.frappe-control[data-fieldname=icon] input').first().should('have.value', 'resting'); + cy.findByRole('textbox').first().should('have.value', 'resting'); cy.get('@dialog').then(dialog => { let value = dialog.get_value('icon'); expect(value).to.equal('resting'); @@ -36,14 +36,14 @@ context('Control Icon', () => { it('search for icon and clear search input', () => { let search_text = 'ed'; - cy.get('.icon-picker input[type=search]').first().click().type(search_text); + cy.findByRole('searchbox').first().click().type(search_text); cy.get('.icon-section .icon-wrapper:not(.hidden)').then(i => { cy.get(`.icon-section .icon-wrapper[id*='${search_text}']`).then(icons => { expect(i.length).to.equal(icons.length); }); }); - cy.get('.icon-picker input[type=search]').clear().blur(); + cy.findByRole('searchbox').clear().blur(); cy.get('.icon-section .icon-wrapper').should('not.have.class', 'hidden'); }); diff --git a/cypress/integration/control_link.js b/cypress/integration/control_link.js index 8f9257e9c4..d2aa467af1 100644 --- a/cypress/integration/control_link.js +++ b/cypress/integration/control_link.js @@ -35,7 +35,7 @@ context('Control Link', () => { cy.wait('@search_link'); cy.get('@input').type('todo for link', { delay: 200 }); cy.wait('@search_link'); - cy.get('.frappe-control[data-fieldname=link] ul').should('be.visible'); + cy.findByRole('listbox').should('be.visible'); cy.get('.frappe-control[data-fieldname=link] input').type('{enter}', { delay: 100 }); cy.get('.frappe-control[data-fieldname=link] input').blur(); cy.get('@dialog').then(dialog => { @@ -71,7 +71,7 @@ context('Control Link', () => { cy.get('@input').type(todos[0]).blur(); cy.wait('@validate_link'); cy.get('@input').focus(); - cy.get('.frappe-control[data-fieldname=link] .link-btn') + cy.findByTitle('Open Link') .should('be.visible') .click(); cy.location('pathname').should('eq', `/app/todo/${todos[0]}`); diff --git a/cypress/integration/control_select.js b/cypress/integration/control_select.js index 0bc719b4a7..8e18d21260 100644 --- a/cypress/integration/control_select.js +++ b/cypress/integration/control_select.js @@ -24,8 +24,10 @@ context('Control Select', () => { cy.get('@control').get('.select-icon').should('exist'); cy.get('@control').get('.placeholder').should('have.css', 'display', 'block'); cy.get('@select').select('Option 1'); + cy.findByDisplayValue('Option 1').should('exist'); cy.get('@control').get('.placeholder').should('have.css', 'display', 'none'); cy.get('@select').invoke('val', ''); + cy.findByDisplayValue('Option 1').should('not.exist'); cy.get('@control').get('.placeholder').should('have.css', 'display', 'block'); diff --git a/cypress/integration/depends_on.js b/cypress/integration/depends_on.js index d33babb134..9aa6b5d89d 100644 --- a/cypress/integration/depends_on.js +++ b/cypress/integration/depends_on.js @@ -62,11 +62,11 @@ context('Depends On', () => { it('should set the field as mandatory depending on other fields value', () => { cy.new_form('Test Depends On'); cy.fill_field('test_field', 'Some Value'); - cy.get('button.primary-action').contains('Save').click(); + cy.findByRole('button', {name: 'Save'}).click(); cy.get('.msgprint-dialog .modal-title').contains('Missing Fields').should('be.visible'); cy.hide_dialog(); cy.fill_field('test_field', 'Random value'); - cy.get('button.primary-action').contains('Save').click(); + cy.findByRole('button', {name: 'Save'}).click(); cy.get('.msgprint-dialog .modal-title').contains('Missing Fields').should('not.be.visible'); }); it('should set the field as read only depending on other fields value', () => { @@ -84,7 +84,7 @@ context('Depends On', () => { cy.fill_field('dependant_field', 'Some Value'); //cy.fill_field('test_field', 'Some Other Value'); cy.get('.frappe-control[data-fieldname="child_test_depends_on_field"]').as('table'); - cy.get('@table').find('button.grid-add-row').click(); + cy.get('@table').findByRole('button', {name: 'Add Row'}).click(); cy.get('@table').find('[data-idx="1"]').as('row1'); cy.get('@row1').find('.btn-open-row').click(); cy.get('@row1').find('.form-in-grid').as('row1-form_in_grid'); diff --git a/cypress/integration/file_uploader.js b/cypress/integration/file_uploader.js index e1e232c058..3d4f92df3c 100644 --- a/cypress/integration/file_uploader.js +++ b/cypress/integration/file_uploader.js @@ -25,7 +25,7 @@ context('FileUploader', () => { cy.get_open_dialog().find('.file-name').should('contain', 'example.json'); cy.intercept('POST', '/api/method/upload_file').as('upload_file'); - cy.get_open_dialog().find('.btn-modal-primary').click(); + cy.get_open_dialog().findByRole('button', {name: 'Upload'}).click(); cy.wait('@upload_file').its('response.statusCode').should('eq', 200); cy.get('.modal:visible').should('not.exist'); }); @@ -33,11 +33,11 @@ context('FileUploader', () => { it('should accept uploaded files', () => { open_upload_dialog(); - cy.get_open_dialog().find('.btn-file-upload div:contains("Library")').click(); - cy.get('.file-filter').type('example.json'); - cy.get_open_dialog().find('.tree-label:contains("example.json")').first().click(); + cy.get_open_dialog().findByRole('button', {name: 'Library'}).click(); + cy.findByPlaceholderText('Search by filename or extension').type('example.json'); + cy.get_open_dialog().findAllByText('example.json').first().click(); cy.intercept('POST', '/api/method/upload_file').as('upload_file'); - cy.get_open_dialog().find('.btn-primary').click(); + cy.get_open_dialog().findByRole('button', {name: 'Upload'}).click(); cy.wait('@upload_file').its('response.body.message') .should('have.property', 'file_name', 'example.json'); cy.get('.modal:visible').should('not.exist'); @@ -46,10 +46,12 @@ context('FileUploader', () => { it('should accept web links', () => { open_upload_dialog(); - cy.get_open_dialog().find('.btn-file-upload div:contains("Link")').click(); - cy.get_open_dialog().find('.file-web-link input').type('https://github.com', { delay: 100, force: true }); + cy.get_open_dialog().findByRole('button', {name: 'Link'}).click(); + cy.get_open_dialog() + .findByPlaceholderText('Attach a web link') + .type('https://github.com', { delay: 100, force: true }); cy.intercept('POST', '/api/method/upload_file').as('upload_file'); - cy.get_open_dialog().find('.btn-primary').click(); + cy.get_open_dialog().findByRole('button', {name: 'Upload'}).click(); cy.wait('@upload_file').its('response.body.message') .should('have.property', 'file_url', 'https://github.com'); cy.get('.modal:visible').should('not.exist'); @@ -62,15 +64,14 @@ context('FileUploader', () => { subjectType: 'drag-n-drop', }); - cy.get_open_dialog().find('.file-name').should('contain', 'sample_image.jpg'); + cy.get_open_dialog().findAllByText('sample_image.jpg').should('exist'); cy.get_open_dialog().find('.btn-crop').first().click(); - cy.get_open_dialog().find('.image-cropper-actions > .btn-primary').should('contain', 'Crop'); - cy.get_open_dialog().find('.image-cropper-actions > .btn-primary').click(); - cy.get_open_dialog().find('.optimize-checkbox').first().should('contain', 'Optimize'); - cy.get_open_dialog().find('.optimize-checkbox').first().click(); + cy.get_open_dialog().findByRole('button', {name: 'Crop'}).click(); + cy.get_open_dialog().findAllByRole('checkbox', {name: 'Optimize'}).should('exist'); + cy.get_open_dialog().findAllByLabelText('Optimize').first().click(); cy.intercept('POST', '/api/method/upload_file').as('upload_file'); - cy.get_open_dialog().find('.btn-modal-primary').click(); + cy.get_open_dialog().findByRole('button', {name: 'Upload'}).click(); cy.wait('@upload_file').its('response.statusCode').should('eq', 200); cy.get('.modal:visible').should('not.exist'); }); diff --git a/cypress/support/commands.js b/cypress/support/commands.js index a81ba60fb0..c941652487 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -1,4 +1,5 @@ import 'cypress-file-upload'; +import '@testing-library/cypress/add-commands'; // *********************************************** // This example commands.js shows you how to // create various custom commands and overwrite diff --git a/frappe/commands/utils.py b/frappe/commands/utils.py index f2395ae490..ac574841fe 100644 --- a/frappe/commands/utils.py +++ b/frappe/commands/utils.py @@ -597,16 +597,18 @@ def run_ui_tests(context, app, headless=False, parallel=True, ci_build_id=None): node_bin = subprocess.getoutput("npm bin") cypress_path = "{0}/cypress".format(node_bin) plugin_path = "{0}/../cypress-file-upload".format(node_bin) + testing_library_path = f"{node_bin}/../@testing-library" # check if cypress in path...if not, install it. if not ( os.path.exists(cypress_path) and os.path.exists(plugin_path) + and os.path.exists(testing_library_path) and cint(subprocess.getoutput("npm view cypress version")[:1]) >= 6 ): # install cypress click.secho("Installing Cypress...", fg="yellow") - frappe.commands.popen("yarn add cypress@^6 cypress-file-upload@^5 --no-lockfile") + frappe.commands.popen("yarn add cypress@^6 cypress-file-upload@^5 @testing-library/cypress@^8 --no-lockfile") # run for headless mode run_or_open = 'run --browser firefox --record' if headless else 'open' From 05166f919c070fc36b34e7b79f48061fc81850dc Mon Sep 17 00:00:00 2001 From: leela Date: Tue, 17 Aug 2021 22:48:52 +0530 Subject: [PATCH 0286/1383] fix: rename cancelled docs patch query use backquotes in queries where column names are dynamic(To avoid query issues incase reserved keywords used as a table columns.) --- frappe/patches/v14_0/rename_cancelled_documents.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frappe/patches/v14_0/rename_cancelled_documents.py b/frappe/patches/v14_0/rename_cancelled_documents.py index fbe49c2351..4b565d4f76 100644 --- a/frappe/patches/v14_0/rename_cancelled_documents.py +++ b/frappe/patches/v14_0/rename_cancelled_documents.py @@ -129,9 +129,9 @@ def update_linked_doctypes(doctype, cancelled_doc_names): update `tab{linked_dt}` set - {column}=CONCAT({column}, '-CANC') + `{column}`=CONCAT(`{column}`, '-CANC') where - {column} in %(cancelled_doc_names)s; + `{column}` in %(cancelled_doc_names)s; """.format(linked_dt=linked_dt, column=field), {'cancelled_doc_names': cancelled_doc_names}) else: @@ -151,9 +151,9 @@ def update_dynamic_linked_doctypes(doctype, cancelled_doc_names): update `tab{linked_dt}` set - {column}=CONCAT({column}, '-CANC') + `{column}`=CONCAT(`{column}`, '-CANC') where - {column} in %(cancelled_doc_names)s and {doctype_fieldname}=%(dt)s; + `{column}` in %(cancelled_doc_names)s and {doctype_fieldname}=%(dt)s; """.format(linked_dt=linked_dt, column=fieldname, doctype_fieldname=doctype_fieldname), {'cancelled_doc_names': cancelled_doc_names, 'dt': doctype}) else: From 604263929f91ae03a69b28b82e4d750b5e4061a9 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Wed, 18 Aug 2021 08:20:22 +0530 Subject: [PATCH 0287/1383] test: Add more assersions to test cases - for better coverage --- frappe/core/doctype/user/test_user.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/frappe/core/doctype/user/test_user.py b/frappe/core/doctype/user/test_user.py index d901bfa608..6a6ec8d2f4 100644 --- a/frappe/core/doctype/user/test_user.py +++ b/frappe/core/doctype/user/test_user.py @@ -144,7 +144,7 @@ class TestUser(unittest.TestCase): self.assertFalse(frappe.db.exists('User', new_user.name)) def test_password_strength(self): - # Test Password without Password Strenth Policy + # Test Password without Password Strength Policy frappe.db.set_value("System Settings", "System Settings", "enable_password_policy", 0) # password policy is disabled, test_password_strength should be ignored @@ -163,6 +163,17 @@ class TestUser(unittest.TestCase): result = test_password_strength("Eastern_43A1W") self.assertEqual(result['feedback']['password_policy_validation_passed'], True) + + # test password strength while saving user with new password + user = frappe.get_doc("User", "test@example.com") + frappe.flags.in_test = False + user.new_password = "password" + self.assertRaisesRegex(frappe.exceptions.ValidationError, "Invalid Password", user.save) + user.reload() + user.new_password = "Eastern_43A1W" + user.save() + frappe.flags.in_test = True + def test_comment_mentions(self): comment = ''' @@ -215,7 +226,10 @@ class TestUser(unittest.TestCase): Testing comment for @Team - + and + + @Unknown Team + please check
''' From d1c63a4b54356505262be88cca5dda990df3a920 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Wed, 18 Aug 2021 08:22:48 +0530 Subject: [PATCH 0288/1383] refactor: Move code to appropriate location - update_roles had no use in user.py so moved it to role_profile.py where it is actually used --- frappe/core/doctype/role_profile/role_profile.py | 9 +++++++-- frappe/core/doctype/user/user.py | 9 --------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/frappe/core/doctype/role_profile/role_profile.py b/frappe/core/doctype/role_profile/role_profile.py index 0f58da5b5e..986cf834eb 100644 --- a/frappe/core/doctype/role_profile/role_profile.py +++ b/frappe/core/doctype/role_profile/role_profile.py @@ -3,6 +3,7 @@ # For license information, please see license.txt from frappe.model.document import Document +import frappe class RoleProfile(Document): def autoname(self): @@ -11,5 +12,9 @@ class RoleProfile(Document): def on_update(self): """ Changes in role_profile reflected across all its user """ - from frappe.core.doctype.user.user import update_roles - update_roles(self.name) + users = frappe.get_all('User', filters={'role_profile_name': self.name}) + roles = [role.role for role in self.roles] + for d in users: + user = frappe.get_doc('User', d) + user.set('roles', []) + user.add_roles(*roles) diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py index 3f91ebe54c..1336f6eab7 100644 --- a/frappe/core/doctype/user/user.py +++ b/frappe/core/doctype/user/user.py @@ -966,15 +966,6 @@ def get_module_profile(module_profile): module_profile = frappe.get_doc('Module Profile', {'module_profile_name': module_profile}) return module_profile.get('block_modules') -def update_roles(role_profile): - users = frappe.get_all('User', filters={'role_profile_name': role_profile}) - role_profile = frappe.get_doc('Role Profile', role_profile) - roles = [role.role for role in role_profile.roles] - for d in users: - user = frappe.get_doc('User', d) - user.set('roles', []) - user.add_roles(*roles) - def create_contact(user, ignore_links=False, ignore_mandatory=False): from frappe.contacts.doctype.contact.contact import get_contact_name if user.name in ["Administrator", "Guest"]: return From 7217277394cbc5d677463a9564af12bf3a1cc073 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Wed, 18 Aug 2021 09:03:03 +0530 Subject: [PATCH 0289/1383] test: Fix flaky test --- frappe/core/doctype/user/test_user.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/frappe/core/doctype/user/test_user.py b/frappe/core/doctype/user/test_user.py index 6a6ec8d2f4..1ce22e758c 100644 --- a/frappe/core/doctype/user/test_user.py +++ b/frappe/core/doctype/user/test_user.py @@ -317,8 +317,9 @@ class TestUser(unittest.TestCase): frappe.set_user("test@example.com") test_user = frappe.get_doc("User", "test@example.com") test_user.reset_password() - frappe.cache().hset('redirect_after_login', test_user.email, "/some_portal_page") - self.assertEqual(update_password(new_password, key=test_user.reset_password_key), "/app") + pwd_key = test_user.reset_password_key + test_user.reload() + self.assertEqual(update_password(new_password, key=pwd_key), "/app") self.assertEqual(update_password(new_password, key="wrong_key"), "The Link specified has either been used before or Invalid") # password verification should fail with old password @@ -347,6 +348,7 @@ class TestUser(unittest.TestCase): self.assertEqual(update_password(new_password, old_password=old_password), "/") # reset password update_password(old_password, old_password=new_password) + frappe.set_user("Administrator") def test_password_verification(self): From 093c72e9635b8f0060645812871a3d5b98e4c384 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Wed, 18 Aug 2021 09:04:01 +0530 Subject: [PATCH 0290/1383] test: Update role profile test case with more assertions --- .../doctype/role_profile/test_role_profile.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/frappe/core/doctype/role_profile/test_role_profile.py b/frappe/core/doctype/role_profile/test_role_profile.py index 53e0a1b043..57b77d868b 100644 --- a/frappe/core/doctype/role_profile/test_role_profile.py +++ b/frappe/core/doctype/role_profile/test_role_profile.py @@ -8,6 +8,7 @@ test_dependencies = ['Role'] class TestRoleProfile(unittest.TestCase): def test_make_new_role_profile(self): + frappe.delete_doc_if_exists('Role Profile', 'Test 1', force=1) new_role_profile = frappe.get_doc(dict(doctype='Role Profile', role_profile='Test 1')).insert() self.assertEqual(new_role_profile.role_profile, 'Test 1') @@ -19,7 +20,25 @@ class TestRoleProfile(unittest.TestCase): new_role_profile.save() self.assertEqual(new_role_profile.roles[0].role, '_Test Role 2') + # user with a role profile + random_user = frappe.mock("email") + random_user_name = frappe.mock("name") + + random_user = frappe.get_doc({ + "doctype": "User", + "email": random_user, + "enabled": 1, + "first_name": random_user_name, + "new_password": "Eastern_43A1W", + "role_profile_name": 'Test 1' + }).insert(ignore_permissions=True, ignore_if_duplicate=True) + self.assertListEqual([role.role for role in random_user.roles], [role.role for role in new_role_profile.roles]) + # clear roles new_role_profile.roles = [] new_role_profile.save() self.assertEqual(new_role_profile.roles, []) + + # user roles with the role profile should also be updated + random_user.reload() + self.assertListEqual(random_user.roles, []) \ No newline at end of file From fe15028df3fa527dc0029678a1697232000cbb36 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Wed, 18 Aug 2021 10:20:08 +0530 Subject: [PATCH 0291/1383] test: Fix reset password test --- frappe/core/doctype/user/test_records.json | 16 +++++++++++++++- frappe/core/doctype/user/test_user.py | 8 +++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/frappe/core/doctype/user/test_records.json b/frappe/core/doctype/user/test_records.json index f9033d4660..21fe3ff69d 100644 --- a/frappe/core/doctype/user/test_records.json +++ b/frappe/core/doctype/user/test_records.json @@ -70,5 +70,19 @@ "role": "System Manager" } ] - } + }, + { + "doctype": "User", + "email": "testpassword@example.com", + "enabled": 1, + "first_name": "_Test", + "new_password": "Eastern_43A1W", + "roles": [ + { + "doctype": "Has Role", + "parentfield": "roles", + "role": "System Manager" + } + ] + } ] diff --git a/frappe/core/doctype/user/test_user.py b/frappe/core/doctype/user/test_user.py index 1ce22e758c..6534e70235 100644 --- a/frappe/core/doctype/user/test_user.py +++ b/frappe/core/doctype/user/test_user.py @@ -314,12 +314,10 @@ class TestUser(unittest.TestCase): frappe.local.cookie_manager = CookieManager() frappe.local.login_manager = LoginManager() - frappe.set_user("test@example.com") - test_user = frappe.get_doc("User", "test@example.com") + frappe.set_user("testpassword@example.com") + test_user = frappe.get_doc("User", "testpassword@example.com") test_user.reset_password() - pwd_key = test_user.reset_password_key - test_user.reload() - self.assertEqual(update_password(new_password, key=pwd_key), "/app") + self.assertEqual(update_password(new_password, key=test_user.reset_password_key), "/app") self.assertEqual(update_password(new_password, key="wrong_key"), "The Link specified has either been used before or Invalid") # password verification should fail with old password From 3fd60b70eeec03b29d426407a3202d111bef7658 Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Wed, 18 Aug 2021 11:42:44 +0530 Subject: [PATCH 0292/1383] fix: Length change for docfield not updated in Database --- frappe/custom/doctype/customize_form/customize_form.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/frappe/custom/doctype/customize_form/customize_form.py b/frappe/custom/doctype/customize_form/customize_form.py index 8de194fb00..94f25a41aa 100644 --- a/frappe/custom/doctype/customize_form/customize_form.py +++ b/frappe/custom/doctype/customize_form/customize_form.py @@ -193,6 +193,16 @@ class CustomizeForm(Document): if prop == "fieldtype": self.validate_fieldtype_change(df, meta_df[0].get(prop), df.get(prop)) + elif prop == "length": + old_value_length = cint(meta_df[0].get(prop)) + new_value_length = cint(df.get(prop)) + + if new_value_length and (old_value_length > new_value_length): + self.check_length_for_fieldtypes.append({'df': df, 'old_value': meta_df[0].get(prop)}) + self.validate_fieldtype_length() + else: + self.flags.update_db = True + elif prop == "allow_on_submit" and df.get(prop): if not frappe.db.get_value("DocField", {"parent": self.doc_type, "fieldname": df.fieldname}, "allow_on_submit"): From cf67f9d28332ca139d1607108688f52c86941226 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Wed, 18 Aug 2021 12:01:44 +0530 Subject: [PATCH 0293/1383] fix(minor): remove url from metatags --- frappe/website/website_components/metatags.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/frappe/website/website_components/metatags.py b/frappe/website/website_components/metatags.py index 045bef8fe1..e26098b773 100644 --- a/frappe/website/website_components/metatags.py +++ b/frappe/website/website_components/metatags.py @@ -1,5 +1,7 @@ import frappe +METATAGS = ('title', 'description', 'image', 'author', 'published_on') + class MetaTags(): def __init__(self, path, context): self.path = path @@ -12,7 +14,7 @@ class MetaTags(): self.set_metatags_from_website_route_meta() def init_metatags_from_context(self): - for key in ('title', 'description', 'image', 'author', 'url', 'published_on'): + for key in METATAGS: if key not in self.tags and self.context.get(key): self.tags[key] = self.context[key] @@ -28,12 +30,12 @@ class MetaTags(): if "og:type" not in self.tags: self.tags["og:type"] = "article" - for key in ('title', 'description', 'image', 'author', 'url'): + for key in METATAGS: if self.tags.get(key): self.tags['og:' + key] = self.tags.get(key) def set_twitter_tags(self): - for key in ('title', 'description', 'image', 'author', 'url'): + for key in METATAGS: if self.tags.get(key): self.tags['twitter:' + key] = self.tags.get(key) From 68b9ae808bf9e1eeed29b7f5eba8f074a6e53014 Mon Sep 17 00:00:00 2001 From: hasnain2808 Date: Wed, 18 Aug 2021 12:35:05 +0530 Subject: [PATCH 0294/1383] feat: maxLines in ace editor --- frappe/public/js/frappe/form/controls/code.js | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/frappe/public/js/frappe/form/controls/code.js b/frappe/public/js/frappe/form/controls/code.js index 5af7cf2863..29749a8a27 100644 --- a/frappe/public/js/frappe/form/controls/code.js +++ b/frappe/public/js/frappe/form/controls/code.js @@ -9,12 +9,7 @@ frappe.ui.form.ControlCode = class ControlCode extends frappe.ui.form.ControlTex this.ace_editor_target = $('
') .appendTo(this.input_area); - this.expanded = false; - this.$expand_button = $(``).click(() => { - this.expanded = !this.expanded; - this.refresh_height(); - this.toggle_label(); - }).appendTo(this.$input_wrapper); + // styling this.ace_editor_target.addClass('border rounded'); this.ace_editor_target.css('height', 300); @@ -22,6 +17,18 @@ frappe.ui.form.ControlCode = class ControlCode extends frappe.ui.form.ControlTex // initialize const ace = window.ace; this.editor = ace.edit(this.ace_editor_target.get(0)); + + if (this.df.maxLines) + this.editor.setOption("maxLines", this.df.maxLines); + else{ + this.expanded = false; + this.$expand_button = $(``).click(() => { + this.expanded = !this.expanded; + this.refresh_height(); + this.toggle_label(); + }).appendTo(this.$input_wrapper); + } + this.editor.setTheme('ace/theme/tomorrow'); this.editor.setOption("showPrintMargin", false); this.editor.setOption("wrap", this.df.wrap); From 3baa33d5da5b797587ba249e4ed723eba2242a3f Mon Sep 17 00:00:00 2001 From: Shariq Ansari <30859809+shariquerik@users.noreply.github.com> Date: Wed, 18 Aug 2021 13:21:10 +0530 Subject: [PATCH 0295/1383] fix: Use IP Address instead of Email field (#13553) --- frappe/core/doctype/feedback/feedback.json | 17 +++++++------- frappe/core/doctype/feedback/test_feedback.py | 4 ++-- .../templates/includes/feedback/feedback.html | 16 +++++--------- .../templates/includes/feedback/feedback.py | 22 ++++++++++++++----- frappe/website/doctype/blog_post/blog_post.py | 7 ++++-- 5 files changed, 38 insertions(+), 28 deletions(-) diff --git a/frappe/core/doctype/feedback/feedback.json b/frappe/core/doctype/feedback/feedback.json index cf8a180e27..b77e7a6677 100644 --- a/frappe/core/doctype/feedback/feedback.json +++ b/frappe/core/doctype/feedback/feedback.json @@ -8,8 +8,8 @@ "reference_doctype", "reference_name", "column_break_3", - "email", "rating", + "ip_address", "section_break_6", "feedback" ], @@ -18,12 +18,6 @@ "fieldname": "column_break_3", "fieldtype": "Column Break" }, - { - "fieldname": "email", - "fieldtype": "Data", - "label": "Email", - "reqd": 1 - }, { "fieldname": "rating", "fieldtype": "Float", @@ -56,11 +50,18 @@ "label": "Reference Name", "options": "reference_doctype", "reqd": 1 + }, + { + "fieldname": "ip_address", + "fieldtype": "Data", + "hidden": 1, + "label": "IP Address", + "read_only": 1 } ], "index_web_pages_for_search": 1, "links": [], - "modified": "2021-06-14 15:11:26.005805", + "modified": "2021-06-23 12:45:42.045696", "modified_by": "Administrator", "module": "Core", "name": "Feedback", diff --git a/frappe/core/doctype/feedback/test_feedback.py b/frappe/core/doctype/feedback/test_feedback.py index 702f9d8ac1..2a96d86874 100644 --- a/frappe/core/doctype/feedback/test_feedback.py +++ b/frappe/core/doctype/feedback/test_feedback.py @@ -12,12 +12,12 @@ class TestFeedback(unittest.TestCase): frappe.db.sql("delete from `tabFeedback` where reference_doctype = 'Blog Post'") from frappe.templates.includes.feedback.feedback import add_feedback, update_feedback - feedback = add_feedback('Blog Post', test_blog.name, 5, 'New feedback','test@test.com') + feedback = add_feedback('Blog Post', test_blog.name, 5, 'New feedback') self.assertEqual(feedback.feedback, 'New feedback') self.assertEqual(feedback.rating, 5) - updated_feedback = update_feedback('Blog Post', test_blog.name, 6, 'Updated feedback', 'test@test.com') + updated_feedback = update_feedback('Blog Post', test_blog.name, 6, 'Updated feedback') self.assertEqual(updated_feedback.feedback, 'Updated feedback') self.assertEqual(updated_feedback.rating, 6) diff --git a/frappe/templates/includes/feedback/feedback.html b/frappe/templates/includes/feedback/feedback.html index 55d44e95fb..f180fa5e42 100644 --- a/frappe/templates/includes/feedback/feedback.html +++ b/frappe/templates/includes/feedback/feedback.html @@ -7,9 +7,6 @@
-
- -
{% for rating in [1, 2, 3, 4, 5 ,6, 7, 8, 9, 10] %} @@ -41,7 +38,6 @@ feedback && $("#submit-feedback").html(__("Update")); if (frappe.is_user_logged_in()) { - $(".feedback_email").parent().toggleClass("hidden"); if (feedback) { $("[name='feedback']").val(feedback); toggle_feedback(); @@ -83,12 +79,12 @@ $('#submit-feedback').click((ev) => { let update = ev.target.innerText !== __("Submit"); + let rating = $('.rating').find('.rating-click').length; let args = { reference_doctype: "{{ reference_doctype or doctype }}", reference_name: "{{ reference_name or name }}", rating: rating, - feedback: $("[name='feedback']").val(), - feedback_email: $("[name='feedback_email']").val() || frappe.user_id + feedback: $("[name='feedback']").val() } if (args.rating == 0) { @@ -101,16 +97,14 @@ return false; } - if (args.feedback_email!=='Administrator' && !validate_email(args.feedback_email)) { - frappe.msgprint("{{ _("Please enter a valid email address.") }}"); - return false; - } - if (!update) { frappe.call({ method: "frappe.templates.includes.feedback.feedback.add_feedback", args: args, callback: function(r) { + if (!r.message) { + return + } toggle_feedback(); if (!frappe.is_user_logged_in()) { $("[name='feedback']").val(''); diff --git a/frappe/templates/includes/feedback/feedback.py b/frappe/templates/includes/feedback/feedback.py index 1830a3e09e..b15d9567d7 100644 --- a/frappe/templates/includes/feedback/feedback.py +++ b/frappe/templates/includes/feedback/feedback.py @@ -3,21 +3,33 @@ from __future__ import unicode_literals import frappe +from frappe.utils import add_to_date, now from frappe import _ @frappe.whitelist(allow_guest=True) -def add_feedback(reference_doctype, reference_name, rating, feedback, feedback_email): +def add_feedback(reference_doctype, reference_name, rating, feedback): doc = frappe.get_doc(reference_doctype, reference_name) if doc.disable_feedback == 1: return + feedback_count = frappe.db.count("Feedback", { + "reference_doctype": reference_doctype, + "reference_name": reference_name, + "ip_address": frappe.local.request_ip, + "creation": (">", add_to_date(now(), hours=-1)) + }) + + if feedback_count > 20: + frappe.msgprint(_('Hourly feedback limit reached')) + return + doc = frappe.new_doc('Feedback') doc.reference_doctype = reference_doctype doc.reference_name = reference_name doc.rating = rating doc.feedback = feedback - doc.email = feedback_email + doc.ip_address = frappe.local.request_ip doc.save(ignore_permissions=True) subject = _('New Feedback on {0}: {1}').format(reference_doctype, reference_name) @@ -25,13 +37,13 @@ def add_feedback(reference_doctype, reference_name, rating, feedback, feedback_e return doc @frappe.whitelist() -def update_feedback(reference_doctype, reference_name, rating, feedback, feedback_email): +def update_feedback(reference_doctype, reference_name, rating, feedback): doc = frappe.get_doc(reference_doctype, reference_name) if doc.disable_feedback == 1: return filters = { - "email": feedback_email, + "owner": frappe.session.user, "reference_doctype": reference_doctype, "reference_name": reference_name } @@ -49,7 +61,7 @@ def send_mail(feedback, subject): doc = frappe.get_doc(feedback.reference_doctype, feedback.reference_name) message = ("

{0} ({1})

".format(feedback.feedback, feedback.rating) - + "

{2}

".format(frappe.utils.get_request_site_address(), + + "

{2}

".format(frappe.utils.get_request_site_address(), feedback.name, _("View Feedback"))) diff --git a/frappe/website/doctype/blog_post/blog_post.py b/frappe/website/doctype/blog_post/blog_post.py index 965fc8e3e0..cb887a2ffc 100644 --- a/frappe/website/doctype/blog_post/blog_post.py +++ b/frappe/website/doctype/blog_post/blog_post.py @@ -147,12 +147,15 @@ class BlogPost(WebsiteGenerator): context.comment_text = _('{0} comments').format(len(context.comment_list)) def load_feedback(self, context): + user = frappe.session.user + if user == 'Guest': + user = '' feedback = frappe.get_all('Feedback', - fields=['email', 'feedback', 'rating'], + fields=['feedback', 'rating'], filters=dict( reference_doctype=self.doctype, reference_name=self.name, - email=frappe.session.user + owner=user ) ) context.user_feedback = feedback[0] if feedback else '' From f3e0a30ec78bd7a3cfbe2690e137597a61c3f6ec Mon Sep 17 00:00:00 2001 From: Mohammad Hasnain Mohsin Rajan Date: Wed, 18 Aug 2021 13:55:33 +0530 Subject: [PATCH 0296/1383] style: add space after else keyword --- frappe/public/js/frappe/form/controls/code.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/controls/code.js b/frappe/public/js/frappe/form/controls/code.js index 29749a8a27..b5653a68a7 100644 --- a/frappe/public/js/frappe/form/controls/code.js +++ b/frappe/public/js/frappe/form/controls/code.js @@ -20,7 +20,7 @@ frappe.ui.form.ControlCode = class ControlCode extends frappe.ui.form.ControlTex if (this.df.maxLines) this.editor.setOption("maxLines", this.df.maxLines); - else{ + else { this.expanded = false; this.$expand_button = $(``).click(() => { this.expanded = !this.expanded; From 03c975a1f1ea59eeb38818427954c90240d8b886 Mon Sep 17 00:00:00 2001 From: Mohammad Hasnain Mohsin Rajan Date: Wed, 18 Aug 2021 14:03:22 +0530 Subject: [PATCH 0297/1383] fix: use snake case Co-authored-by: Suraj Shetty <13928957+surajshetty3416@users.noreply.github.com> --- frappe/public/js/frappe/form/controls/code.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/controls/code.js b/frappe/public/js/frappe/form/controls/code.js index b5653a68a7..0f0565cf3e 100644 --- a/frappe/public/js/frappe/form/controls/code.js +++ b/frappe/public/js/frappe/form/controls/code.js @@ -19,7 +19,7 @@ frappe.ui.form.ControlCode = class ControlCode extends frappe.ui.form.ControlTex this.editor = ace.edit(this.ace_editor_target.get(0)); if (this.df.maxLines) - this.editor.setOption("maxLines", this.df.maxLines); + this.editor.setOption("maxLines", this.df.max_lines); else { this.expanded = false; this.$expand_button = $(``).click(() => { From 6da11e7a2640f1b42bb540530a5be05c872085cb Mon Sep 17 00:00:00 2001 From: hasnain2808 Date: Wed, 18 Aug 2021 14:06:11 +0530 Subject: [PATCH 0298/1383] fix: use snake case --- frappe/public/js/frappe/form/controls/code.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/controls/code.js b/frappe/public/js/frappe/form/controls/code.js index 0f0565cf3e..210bf57839 100644 --- a/frappe/public/js/frappe/form/controls/code.js +++ b/frappe/public/js/frappe/form/controls/code.js @@ -18,7 +18,7 @@ frappe.ui.form.ControlCode = class ControlCode extends frappe.ui.form.ControlTex const ace = window.ace; this.editor = ace.edit(this.ace_editor_target.get(0)); - if (this.df.maxLines) + if (this.df.max_lines) this.editor.setOption("maxLines", this.df.max_lines); else { this.expanded = false; From 93198b7123efde04c0251e75c34c250e3bca4ee4 Mon Sep 17 00:00:00 2001 From: MitulDavid Date: Wed, 18 Aug 2021 19:11:01 +0530 Subject: [PATCH 0299/1383] test: Replace existing queries with Testing-Library queries --- cypress/integration/awesome_bar.js | 2 +- cypress/integration/control_barcode.js | 6 ++-- cypress/integration/control_icon.js | 10 +++--- cypress/integration/control_link.js | 2 +- cypress/integration/form.js | 2 +- cypress/integration/form_tour.js | 16 ++++----- cypress/integration/grid_pagination.js | 4 +-- cypress/integration/list_view_settings.js | 12 +++---- cypress/integration/login.js | 12 +++---- cypress/integration/recorder.js | 16 ++++----- cypress/integration/report_view.js | 2 +- cypress/integration/timeline.js | 40 +++++++++++------------ 12 files changed, 62 insertions(+), 62 deletions(-) diff --git a/cypress/integration/awesome_bar.js b/cypress/integration/awesome_bar.js index 08a2a71843..fb09b384a8 100644 --- a/cypress/integration/awesome_bar.js +++ b/cypress/integration/awesome_bar.js @@ -11,7 +11,7 @@ context('Awesome Bar', () => { it('navigates to doctype list', () => { cy.findByPlaceholderText('Search or type a command (Ctrl + G)').type('todo', { delay: 200 }); - cy.findByRole('listbox').should('be.visible'); + cy.get('.awesomplete').findByRole('listbox').should('be.visible'); cy.findByPlaceholderText('Search or type a command (Ctrl + G)').type('{downarrow}{enter}', { delay: 100 }); cy.get('.title-text').should('contain', 'To Do'); diff --git a/cypress/integration/control_barcode.js b/cypress/integration/control_barcode.js index 51984fdbd2..5f1ab86d41 100644 --- a/cypress/integration/control_barcode.js +++ b/cypress/integration/control_barcode.js @@ -20,7 +20,7 @@ context('Control Barcode', () => { it('should generate barcode on setting a value', () => { get_dialog_with_barcode().as('dialog'); - cy.findByRole('textbox') + cy.get('.frappe-control[data-fieldname=barcode]').findByRole('textbox') .focus() .type('123456789') .blur(); @@ -37,11 +37,11 @@ context('Control Barcode', () => { it('should reset when input is cleared', () => { get_dialog_with_barcode().as('dialog'); - cy.findByRole('textbox') + cy.get('.frappe-control[data-fieldname=barcode]').findByRole('textbox') .focus() .type('123456789') .blur(); - cy.findByRole('textbox') + cy.get('.frappe-control[data-fieldname=barcode]').findByRole('textbox') .clear() .blur(); cy.get('.frappe-control[data-fieldname=barcode] svg[data-barcode-value="123456789"]') diff --git a/cypress/integration/control_icon.js b/cypress/integration/control_icon.js index 73927a15c6..5c531a0823 100644 --- a/cypress/integration/control_icon.js +++ b/cypress/integration/control_icon.js @@ -17,17 +17,17 @@ context('Control Icon', () => { it('should set icon', () => { get_dialog_with_icon().as('dialog'); - cy.findByRole('textbox').first().click(); + cy.get('.frappe-control[data-fieldname=icon]').findByRole('textbox').click(); cy.get('.icon-picker .icon-wrapper[id=active]').first().click(); - cy.findByRole('textbox').first().should('have.value', 'active'); + cy.get('.frappe-control[data-fieldname=icon]').findByRole('textbox').should('have.value', 'active'); cy.get('@dialog').then(dialog => { let value = dialog.get_value('icon'); expect(value).to.equal('active'); }); cy.get('.icon-picker .icon-wrapper[id=resting]').first().click(); - cy.findByRole('textbox').first().should('have.value', 'resting'); + cy.get('.frappe-control[data-fieldname=icon]').findByRole('textbox').should('have.value', 'resting'); cy.get('@dialog').then(dialog => { let value = dialog.get_value('icon'); expect(value).to.equal('resting'); @@ -36,14 +36,14 @@ context('Control Icon', () => { it('search for icon and clear search input', () => { let search_text = 'ed'; - cy.findByRole('searchbox').first().click().type(search_text); + cy.get('.icon-picker').findByRole('searchbox').click().type(search_text); cy.get('.icon-section .icon-wrapper:not(.hidden)').then(i => { cy.get(`.icon-section .icon-wrapper[id*='${search_text}']`).then(icons => { expect(i.length).to.equal(icons.length); }); }); - cy.findByRole('searchbox').clear().blur(); + cy.get('.icon-picker').findByRole('searchbox').clear().blur(); cy.get('.icon-section .icon-wrapper').should('not.have.class', 'hidden'); }); diff --git a/cypress/integration/control_link.js b/cypress/integration/control_link.js index d2aa467af1..7d44a71d06 100644 --- a/cypress/integration/control_link.js +++ b/cypress/integration/control_link.js @@ -35,7 +35,7 @@ context('Control Link', () => { cy.wait('@search_link'); cy.get('@input').type('todo for link', { delay: 200 }); cy.wait('@search_link'); - cy.findByRole('listbox').should('be.visible'); + cy.get('.frappe-control[data-fieldname=link]').findByRole('listbox').should('be.visible'); cy.get('.frappe-control[data-fieldname=link] input').type('{enter}', { delay: 100 }); cy.get('.frappe-control[data-fieldname=link] input').blur(); cy.get('@dialog').then(dialog => { diff --git a/cypress/integration/form.js b/cypress/integration/form.js index 909955c1df..d20750b1d5 100644 --- a/cypress/integration/form.js +++ b/cypress/integration/form.js @@ -26,7 +26,7 @@ context('Form', () => { cy.visit('/app/contact'); cy.add_filter(); cy.get('.filter-field .input-with-feedback.form-control').type('123', { force: true }); - cy.get('.filter-popover .apply-filters').click({ force: true }); + cy.findByRole('button', {name: 'Apply Filters'}).click({ force: true }); cy.visit('/app/contact/Test Form Contact 3'); cy.get('.prev-doc').should('be.visible').click(); cy.get('.msgprint-dialog .modal-body').contains('No further records').should('be.visible'); diff --git a/cypress/integration/form_tour.js b/cypress/integration/form_tour.js index d12be63f3b..d2d39679a8 100644 --- a/cypress/integration/form_tour.js +++ b/cypress/integration/form_tour.js @@ -9,7 +9,7 @@ context('Form Tour', () => { const open_test_form_tour = () => { cy.visit('/app/form-tour/Test Form Tour'); - cy.get('button[data-label="Show%20Tour"]').should('be.visible').and('contain', 'Show Tour').as('show_tour'); + cy.findByRole('button', {name: 'Show Tour'}).should('be.visible').as('show_tour'); cy.get('@show_tour').click(); cy.wait(500); cy.url().should('include', '/app/contact'); @@ -23,7 +23,7 @@ context('Form Tour', () => { cy.get('#driver-popover-item').should('be.visible'); cy.get('.frappe-control[data-fieldname="first_name"]').as('first_name'); cy.get('@first_name').should('have.class', 'driver-highlighted-element'); - cy.get('.driver-next-btn').as('next_btn'); + cy.get('#driver-popover-item').findByRole('button', {name: 'Next'}).as('next_btn'); // next btn shouldn't move to next step, if first name is not entered cy.get('@next_btn').click(); @@ -39,7 +39,7 @@ context('Form Tour', () => { // assert field is highlighted cy.get('.frappe-control[data-fieldname="last_name"]').as('last_name'); cy.get('@last_name').should('have.class', 'driver-highlighted-element'); - + // after filling the field, next step should be highlighted cy.fill_field('last_name', 'Test Last Name', 'Data'); cy.wait(500); @@ -49,12 +49,12 @@ context('Form Tour', () => { // assert field is highlighted cy.get('.frappe-control[data-fieldname="phone_nos"]').as('phone_nos'); cy.get('@phone_nos').should('have.class', 'driver-highlighted-element'); - + // move to next step cy.wait(500); cy.get('@next_btn').click(); cy.wait(500); - + // assert add row btn is highlighted cy.get('@phone_nos').find('.grid-add-row').as('add_row'); cy.get('@add_row').should('have.class', 'driver-highlighted-element'); @@ -78,11 +78,11 @@ context('Form Tour', () => { // collapse row cy.get('.grid-row-open .grid-collapse-row').click(); cy.wait(500); - + // assert save btn is highlighted cy.get('.primary-action').should('have.class', 'driver-highlighted-element'); - cy.get('@next_btn').should('contain', 'Save'); + cy.wait(500); + cy.get('#driver-popover-item').findByRole('button', {name: 'Save'}).should('be.visible'); }); }); - \ No newline at end of file diff --git a/cypress/integration/grid_pagination.js b/cypress/integration/grid_pagination.js index 8f6b79c1f4..c07230d2b8 100644 --- a/cypress/integration/grid_pagination.js +++ b/cypress/integration/grid_pagination.js @@ -30,12 +30,12 @@ context('Grid Pagination', () => { it('adds and deletes rows and changes page', () => { cy.visit('/app/contact/Test Contact'); cy.get('.frappe-control[data-fieldname="phone_nos"]').as('table'); - cy.get('@table').find('button.grid-add-row').click(); + cy.get('@table').findByRole('button', {name: 'Add Row'}).click(); cy.get('@table').find('.grid-body .row-index').should('contain', 1001); cy.get('@table').find('.current-page-number').should('contain', '21'); cy.get('@table').find('.total-page-number').should('contain', '21'); cy.get('@table').find('.grid-body .grid-row .grid-row-check').click({ force: true }); - cy.get('@table').find('button.grid-remove-rows').click(); + cy.get('@table').findByRole('button', {name: 'Delete'}).click(); cy.get('@table').find('.grid-body .row-index').last().should('contain', 1000); cy.get('@table').find('.current-page-number').should('contain', '20'); cy.get('@table').find('.total-page-number').should('contain', '20'); diff --git a/cypress/integration/list_view_settings.js b/cypress/integration/list_view_settings.js index 52512b911e..61d4b8aae5 100644 --- a/cypress/integration/list_view_settings.js +++ b/cypress/integration/list_view_settings.js @@ -17,9 +17,9 @@ context('List View Settings', () => { cy.get('.dropdown-menu li').filter(':visible').contains('List Settings').click(); cy.get('.modal-dialog').should('contain', 'DocType Settings'); - cy.get('input[data-fieldname="disable_count"]').check({ force: true }); - cy.get('input[data-fieldname="disable_sidebar_stats"]').check({ force: true }); - cy.get('button').filter(':visible').contains('Save').click(); + cy.findByLabelText('Disable Count').check({ force: true }); + cy.findByLabelText('Disable Sidebar Stats').check({ force: true }); + cy.findByRole('button', {name: 'Save'}).click(); cy.reload({ force: true }); @@ -29,8 +29,8 @@ context('List View Settings', () => { cy.get('.menu-btn-group button').click({ force: true }); cy.get('.dropdown-menu li').filter(':visible').contains('List Settings').click(); cy.get('.modal-dialog').should('contain', 'DocType Settings'); - cy.get('input[data-fieldname="disable_count"]').uncheck({ force: true }); - cy.get('input[data-fieldname="disable_sidebar_stats"]').uncheck({ force: true }); - cy.get('button').filter(':visible').contains('Save').click(); + cy.findByLabelText('Disable Count').uncheck({ force: true }); + cy.findByLabelText('Disable Sidebar Stats').uncheck({ force: true }); + cy.findByRole('button', {name: 'Save'}).click(); }); }); diff --git a/cypress/integration/login.js b/cypress/integration/login.js index 6b109dd18d..98739bb4c9 100644 --- a/cypress/integration/login.js +++ b/cypress/integration/login.js @@ -11,13 +11,13 @@ context('Login', () => { it('validates password', () => { cy.get('#login_email').type('Administrator'); - cy.get('.btn-login:visible').click(); + cy.findByRole('button', {name: 'Login'}).click(); cy.location('pathname').should('eq', '/login'); }); it('validates email', () => { cy.get('#login_password').type('qwe'); - cy.get('.btn-login:visible').click(); + cy.findByRole('button', {name: 'Login'}).click(); cy.location('pathname').should('eq', '/login'); }); @@ -25,8 +25,8 @@ context('Login', () => { cy.get('#login_email').type('Administrator'); cy.get('#login_password').type('qwer'); - cy.get('.btn-login:visible').click(); - cy.get('.btn-login:visible').contains('Invalid Login. Try again.'); + cy.findByRole('button', {name: 'Login'}).click(); + cy.findByRole('button', {name: 'Invalid Login. Try again.'}).should('exist'); cy.location('pathname').should('eq', '/login'); }); @@ -34,7 +34,7 @@ context('Login', () => { cy.get('#login_email').type('Administrator'); cy.get('#login_password').type(Cypress.config('adminPassword')); - cy.get('.btn-login:visible').click(); + cy.findByRole('button', {name: 'Login'}).click(); cy.location('pathname').should('eq', '/app'); cy.window().its('frappe.session.user').should('eq', 'Administrator'); }); @@ -60,7 +60,7 @@ context('Login', () => { cy.get('#login_email').type('Administrator'); cy.get('#login_password').type(Cypress.config('adminPassword')); - cy.get('.btn-login:visible').click(); + cy.findByRole('button', {name: 'Login'}).click(); // verify redirected location and url params after login cy.url().should('include', '/me?' + payload.toString().replace('+', '%20')); diff --git a/cypress/integration/recorder.js b/cypress/integration/recorder.js index 5b7692d8ff..7a62b2e6d9 100644 --- a/cypress/integration/recorder.js +++ b/cypress/integration/recorder.js @@ -16,24 +16,24 @@ context('Recorder', () => { it('Navigate to Recorder', () => { cy.visit('/app'); cy.awesomebar('recorder'); - cy.get('h3').should('contain', 'Recorder'); + cy.findByTitle('Recorder').should('exist'); cy.url().should('include', '/recorder/detail'); }); it('Recorder Empty State', () => { - cy.get('.title-text').should('contain', 'Recorder'); + cy.findByTitle('Recorder').should('exist'); cy.get('.indicator-pill').should('contain', 'Inactive').should('have.class', 'red'); - cy.get('.primary-action').should('contain', 'Start'); - cy.get('.btn-secondary').should('contain', 'Clear'); + cy.findByRole('button', {name: 'Start'}).should('exist'); + cy.findByRole('button', {name: 'Clear'}).should('exist'); cy.get('.msg-box').should('contain', 'Inactive'); - cy.get('.msg-box .btn-primary').should('contain', 'Start Recording'); + cy.findByRole('button', {name: 'Start Recording'}).should('exist'); }); it('Recorder Start', () => { - cy.get('.primary-action').should('contain', 'Start').click(); + cy.findByRole('button', {name: 'Start'}).click(); cy.get('.indicator-pill').should('contain', 'Active').should('have.class', 'green'); cy.get('.msg-box').should('contain', 'No Requests'); @@ -46,12 +46,12 @@ context('Recorder', () => { cy.get('.list-count').should('contain', '20 of '); cy.visit('/app/recorder'); - cy.get('.title-text').should('contain', 'Recorder'); + cy.findByTitle('Recorder').should('exist'); cy.get('.result-list').should('contain', '/api/method/frappe.desk.reportview.get'); }); it('Recorder View Request', () => { - cy.get('.primary-action').should('contain', 'Start').click(); + cy.findByRole('button', {name: 'Start'}).click(); cy.visit('/app/List/DocType/List'); cy.intercept('POST', '/api/method/frappe.desk.reportview.get').as('list_refresh'); diff --git a/cypress/integration/report_view.js b/cypress/integration/report_view.js index ea76246ae2..e762eebea1 100644 --- a/cypress/integration/report_view.js +++ b/cypress/integration/report_view.js @@ -23,7 +23,7 @@ context('Report View', () => { let cell = cy.get('.dt-row-0 > .dt-cell--col-4'); // select the cell cell.dblclick(); - cell.find('input[data-fieldname="enabled"]').check({ force: true }); + cell.findByRole('checkbox').check({ force: true }); cy.get('.dt-row-0 > .dt-cell--col-5').click(); cy.wait('@value-update'); cy.get('@doc').then(doc => { diff --git a/cypress/integration/timeline.js b/cypress/integration/timeline.js index c7bbe29e5a..7a8f3a159b 100644 --- a/cypress/integration/timeline.js +++ b/cypress/integration/timeline.js @@ -10,26 +10,26 @@ context('Timeline', () => { it('Adding new ToDo, adding new comment, verifying comment addition & deletion and deleting ToDo', () => { //Adding new ToDo cy.click_listview_primary_button('Add ToDo'); - cy.get('.modal-footer > .custom-actions > .btn').contains('Edit in full page').click(); - cy.get('.row > .section-body > .form-column > form > .frappe-control > .form-group > .control-input-wrapper > .control-input > .ql-container > .ql-editor').eq(0).type('Test ToDo', {force: true}); + cy.findByRole('button', {name: 'Edit in full page'}).click(); + cy.get('[data-fieldname="description"] .ql-editor').eq(0).type('Test ToDo', {force: true}); cy.wait(200); - cy.get('#page-ToDo > .page-head > .container > .row > .col > .standard-actions > .primary-action').contains('Save').click(); + cy.findByRole('button', {name: 'Save'}).click(); cy.wait(700); cy.visit('/app/todo'); - cy.get('.list-row > .level-left > .list-subject > .level-item.ellipsis > .ellipsis').eq(0).click(); + cy.get('.level-item.ellipsis').eq(0).click(); //To check if the comment box is initially empty and tying some text into it - cy.get('.comment-input-container > .frappe-control > .ql-container > .ql-editor').should('contain', '').type('Testing Timeline'); + cy.get('[data-fieldname="comment"] .ql-editor').should('contain', '').type('Testing Timeline'); //Adding new comment - cy.get('.comment-input-wrapper > .btn').contains('Comment').click(); + cy.findByRole('button', {name: 'Comment'}).click(); //To check if the commented text is visible in the timeline content cy.get('.timeline-content').should('contain', 'Testing Timeline'); //Editing comment cy.click_timeline_action_btn(0); - cy.get('.timeline-content > .timeline-message-box > .comment-edit-box > .frappe-control > .ql-container > .ql-editor').first().type(' 123'); + cy.get('.timeline-content [data-fieldname="comment"] .ql-editor').first().type(' 123'); cy.click_timeline_action_btn(0); //To check if the edited comment text is visible in timeline content @@ -37,20 +37,20 @@ context('Timeline', () => { //Discarding comment cy.click_timeline_action_btn(0); - cy.get('.actions > .btn').eq(1).first().click(); + cy.findByRole('button', {name: 'Dismiss'}).click(); //To check if after discarding the timeline content is same as previous cy.get('.timeline-content').should('contain', 'Testing Timeline 123'); //Deleting the added comment cy.get('.actions > .btn > .icon').first().click(); - cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Yes').click(); + cy.findByRole('button', {name: 'Yes'}).click(); cy.click_modal_primary_button('Yes'); //Deleting the added ToDo - cy.get('#page-ToDo > .page-head > .container > .row > .col > .standard-actions > .menu-btn-group > .btn').click({force: true}); - cy.get('.menu-btn-group > .dropdown-menu > li > .grey-link').eq(17).click({force: true}); - cy.get('.modal.show > .modal-dialog > .modal-content > .modal-footer > .standard-actions > .btn-primary').contains('Yes').click({force: true}); + cy.get('.menu-btn-group button').eq(1).click(); + cy.get('.menu-btn-group [data-label="Delete"]').click(); + cy.findByRole('button', {name: 'Yes'}).click(); }); it('Timeline should have submit and cancel activity information', () => { @@ -64,31 +64,31 @@ context('Timeline', () => { //Adding a new entry for the created custom doctype cy.fill_field('title', 'Test'); - cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Save').click(); - cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Submit').click(); + cy.findByRole('button', {name: 'Save'}).click(); + cy.findByRole('button', {name: 'Submit'}).click(); cy.visit('/app/custom-submittable-doctype'); cy.get('.list-subject > .bold > .ellipsis').eq(0).click(); //To check if the submission of the documemt is visible in the timeline content cy.get('.timeline-content').should('contain', 'Administrator submitted this document'); - cy.get('.page-actions > .standard-actions > .btn-secondary').contains('Cancel').click({delay: 900}); - cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Yes').click(); - + cy.findByRole('button', {name: 'Cancel'}).click({delay: 900}); + cy.findByRole('button', {name: 'Yes'}).click(); + //To check if the cancellation of the documemt is visible in the timeline content cy.get('.timeline-content').should('contain', 'Administrator cancelled this document'); //Deleting the document cy.visit('/app/custom-submittable-doctype'); cy.get('.list-subject > .select-like > .list-row-checkbox').eq(0).click(); - cy.get('.page-actions > .standard-actions > .actions-btn-group > .btn').contains('Actions').click(); + cy.findByRole('button', {name: 'Actions'}).click(); cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(7).click(); cy.click_modal_primary_button('Yes', {force: true, delay: 700}); //Deleting the custom doctype cy.visit('/app/doctype'); cy.get('.list-subject > .select-like > .list-row-checkbox').eq(0).click(); - cy.get('.page-actions > .standard-actions > .actions-btn-group > .btn').contains('Actions').click(); - cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); + cy.findByRole('button', {name: 'Actions'}).click(); + cy.get('.actions-btn-group [data-label="Delete"]').click(); cy.click_modal_primary_button('Yes'); }); }); \ No newline at end of file From 29dfffb9c5d1877170ef19e14740f335e079df0a Mon Sep 17 00:00:00 2001 From: MitulDavid Date: Wed, 18 Aug 2021 19:32:16 +0530 Subject: [PATCH 0300/1383] refactor: Replace .format() with f-strings --- frappe/commands/utils.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/frappe/commands/utils.py b/frappe/commands/utils.py index ac574841fe..be8304e45d 100644 --- a/frappe/commands/utils.py +++ b/frappe/commands/utils.py @@ -589,14 +589,14 @@ def run_ui_tests(context, app, headless=False, parallel=True, ci_build_id=None): admin_password = frappe.get_conf(site).admin_password # override baseUrl using env variable - site_env = 'CYPRESS_baseUrl={}'.format(site_url) - password_env = 'CYPRESS_adminPassword={}'.format(admin_password) if admin_password else '' + site_env = f'CYPRESS_baseUrl={site_url}' + password_env = f'CYPRESS_adminPassword={admin_password}' if admin_password else '' os.chdir(app_base_path) node_bin = subprocess.getoutput("npm bin") - cypress_path = "{0}/cypress".format(node_bin) - plugin_path = "{0}/../cypress-file-upload".format(node_bin) + cypress_path = f"{node_bin}/cypress" + plugin_path = f"{node_bin}/../cypress-file-upload" testing_library_path = f"{node_bin}/../@testing-library" # check if cypress in path...if not, install it. @@ -619,7 +619,7 @@ def run_ui_tests(context, app, headless=False, parallel=True, ci_build_id=None): formatted_command += ' --parallel' if ci_build_id: - formatted_command += ' --ci-build-id {}'.format(ci_build_id) + formatted_command += f' --ci-build-id {ci_build_id}' click.secho("Running Cypress...", fg="yellow") frappe.commands.popen(formatted_command, cwd=app_base_path, raise_err=True) From 5640366757860da10cf7b3af94307c89bfb0c5ab Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Wed, 18 Aug 2021 19:59:56 +0530 Subject: [PATCH 0301/1383] fix: Handle null values rows for XLSX format --- frappe/email/doctype/auto_email_report/auto_email_report.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/frappe/email/doctype/auto_email_report/auto_email_report.py b/frappe/email/doctype/auto_email_report/auto_email_report.py index f30279e308..90b869997e 100644 --- a/frappe/email/doctype/auto_email_report/auto_email_report.py +++ b/frappe/email/doctype/auto_email_report/auto_email_report.py @@ -133,8 +133,10 @@ class AutoEmailReport(Document): new_row = [] out.append(new_row) for df in columns: - if df.fieldname not in row: continue - new_row.append(frappe.format(row[df.fieldname], df, row)) + if row.get(df.fieldname): + new_row.append(frappe.format(row[df.fieldname], df, row)) + else: + new_row.append('') return out From eb37566ac0fb6434c752f7dabc93cf2113a8195e Mon Sep 17 00:00:00 2001 From: hasnain2808 Date: Wed, 18 Aug 2021 20:34:58 +0530 Subject: [PATCH 0302/1383] feat: min lines for ace editor --- frappe/public/js/frappe/form/controls/code.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/frappe/public/js/frappe/form/controls/code.js b/frappe/public/js/frappe/form/controls/code.js index 210bf57839..421af1cbb3 100644 --- a/frappe/public/js/frappe/form/controls/code.js +++ b/frappe/public/js/frappe/form/controls/code.js @@ -18,8 +18,12 @@ frappe.ui.form.ControlCode = class ControlCode extends frappe.ui.form.ControlTex const ace = window.ace; this.editor = ace.edit(this.ace_editor_target.get(0)); - if (this.df.max_lines) - this.editor.setOption("maxLines", this.df.max_lines); + if (this.df.max_lines || this.df.min_lines) { + if (this.df.max_lines) + this.editor.setOption("maxLines", this.df.max_lines); + if (this.df.min_lines) + this.editor.setOption("minLines", this.df.min_lines); + } else { this.expanded = false; this.$expand_button = $(``).click(() => { From 12c106719d6b24fc058eb4a83983edb14563542e Mon Sep 17 00:00:00 2001 From: Mohammad Hasnain Mohsin Rajan Date: Wed, 18 Aug 2021 20:44:36 +0530 Subject: [PATCH 0303/1383] style: close curly brace on the same line --- frappe/public/js/frappe/form/controls/code.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/frappe/public/js/frappe/form/controls/code.js b/frappe/public/js/frappe/form/controls/code.js index 421af1cbb3..27888fd49b 100644 --- a/frappe/public/js/frappe/form/controls/code.js +++ b/frappe/public/js/frappe/form/controls/code.js @@ -23,8 +23,7 @@ frappe.ui.form.ControlCode = class ControlCode extends frappe.ui.form.ControlTex this.editor.setOption("maxLines", this.df.max_lines); if (this.df.min_lines) this.editor.setOption("minLines", this.df.min_lines); - } - else { + } else { this.expanded = false; this.$expand_button = $(``).click(() => { this.expanded = !this.expanded; From 2fcd3b556da4427cf3286e438a650cf6d87c6cab Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Wed, 18 Aug 2021 22:53:35 +0530 Subject: [PATCH 0304/1383] fix: Use query report build_xlsx_data function for XLSX and CSV format --- frappe/desk/query_report.py | 4 +-- .../auto_email_report/auto_email_report.py | 31 ++++++++----------- 2 files changed, 15 insertions(+), 20 deletions(-) diff --git a/frappe/desk/query_report.py b/frappe/desk/query_report.py index b42c9c89a0..610eaf466a 100644 --- a/frappe/desk/query_report.py +++ b/frappe/desk/query_report.py @@ -391,7 +391,7 @@ def handle_duration_fieldtype_values(result, columns): return result -def build_xlsx_data(columns, data, visible_idx, include_indentation): +def build_xlsx_data(columns, data, visible_idx, include_indentation, ignore_visible_idx=False): result = [[]] column_widths = [] @@ -407,7 +407,7 @@ def build_xlsx_data(columns, data, visible_idx, include_indentation): # build table from result for row_idx, row in enumerate(data.result): # only pick up rows that are visible in the report - if row_idx in visible_idx: + if ignore_visible_idx or row_idx in visible_idx: row_data = [] if isinstance(row, dict): for col_idx, column in enumerate(data.columns): diff --git a/frappe/email/doctype/auto_email_report/auto_email_report.py b/frappe/email/doctype/auto_email_report/auto_email_report.py index 90b869997e..ccfff594b7 100644 --- a/frappe/email/doctype/auto_email_report/auto_email_report.py +++ b/frappe/email/doctype/auto_email_report/auto_email_report.py @@ -13,6 +13,7 @@ from frappe.utils import (format_time, get_link_to_form, get_url_to_report, from frappe.model.naming import append_number_if_name_exists from frappe.utils.csvutils import to_csv from frappe.utils.xlsxutils import make_xlsx +from frappe.desk.query_report import build_xlsx_data max_reports_per_user = frappe.local.conf.max_reports_per_user or 3 @@ -99,13 +100,21 @@ class AutoEmailReport(Document): return self.get_html_table(columns, data) elif self.format == 'XLSX': - spreadsheet_data = self.get_spreadsheet_data(columns, data) - xlsx_file = make_xlsx(spreadsheet_data, "Auto Email Report") + report_data = frappe._dict() + report_data['columns'] = columns + report_data['result'] = data + + xlsx_data, column_widths = build_xlsx_data(columns, report_data, [], 1, ignore_visible_idx=True) + xlsx_file = make_xlsx(xlsx_data, "Auto Email Report", column_widths=column_widths) return xlsx_file.getvalue() elif self.format == 'CSV': - spreadsheet_data = self.get_spreadsheet_data(columns, data) - return to_csv(spreadsheet_data) + report_data = frappe._dict() + report_data['columns'] = columns + report_data['result'] = data + + xlsx_data, column_widths = build_xlsx_data(columns, report_data, [], 1, ignore_visible_idx=True) + return to_csv(xlsx_data) else: frappe.throw(_('Invalid Output Format')) @@ -126,20 +135,6 @@ class AutoEmailReport(Document): 'edit_report_settings': get_link_to_form('Auto Email Report', self.name) }) - @staticmethod - def get_spreadsheet_data(columns, data): - out = [[_(df.label) for df in columns], ] - for row in data: - new_row = [] - out.append(new_row) - for df in columns: - if row.get(df.fieldname): - new_row.append(frappe.format(row[df.fieldname], df, row)) - else: - new_row.append('') - - return out - def get_file_name(self): return "{0}.{1}".format(self.report.replace(" ", "-").replace("/", "-"), self.format.lower()) From 68263b8663ba2e79622441209757db844c876be4 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Thu, 19 Aug 2021 12:27:44 +0530 Subject: [PATCH 0305/1383] fix: App without home page gives error when navigate to home --- frappe/public/js/frappe/router.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/public/js/frappe/router.js b/frappe/public/js/frappe/router.js index 4360f3e887..c27e443c06 100644 --- a/frappe/public/js/frappe/router.js +++ b/frappe/public/js/frappe/router.js @@ -354,8 +354,8 @@ frappe.router = { return a; } }).join('/'); - - return '/app/' + (path_string || 'home'); + let default_page = frappe.workspaces['home'] ? 'home' : Object.keys(frappe.workspaces)[0]; + return '/app/' + (path_string || default_page); }, push_state(url) { From b96b4c90f76b5500ec6899265e2ea216e1c8f0eb Mon Sep 17 00:00:00 2001 From: shariquerik Date: Thu, 19 Aug 2021 12:30:59 +0530 Subject: [PATCH 0306/1383] fix: Can't navigate to webpage with name same as private workspace --- frappe/public/js/frappe/router.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/router.js b/frappe/public/js/frappe/router.js index c27e443c06..484f1ac911 100644 --- a/frappe/public/js/frappe/router.js +++ b/frappe/public/js/frappe/router.js @@ -129,7 +129,7 @@ frappe.router = { if (frappe.workspaces[route[0]]) { // public workspace route = ['Workspaces', frappe.workspaces[route[0]].title]; - } else if (frappe.workspaces[route[1]]) { + } else if (route[0] == 'private' && frappe.workspaces[route[1]]) { // private workspace route = ['Workspaces', 'private', frappe.workspaces[route[1]].title]; } else if (this.routes[route[0]]) { From 461dfd6c6e14a08fdd5f5e0e7bb06a1e8769192b Mon Sep 17 00:00:00 2001 From: shariquerik Date: Thu, 19 Aug 2021 12:42:43 +0530 Subject: [PATCH 0307/1383] fix: Make Content hidden and added validation --- frappe/desk/doctype/workspace/workspace.json | 15 ++++++++------- frappe/desk/doctype/workspace/workspace.py | 3 +++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/frappe/desk/doctype/workspace/workspace.json b/frappe/desk/doctype/workspace/workspace.json index e2ae38faf1..e991ee3f8f 100644 --- a/frappe/desk/doctype/workspace/workspace.json +++ b/frappe/desk/doctype/workspace/workspace.json @@ -28,7 +28,6 @@ "pin_to_bottom", "hide_custom", "public", - "content_section", "content", "section_break_2", "charts_label", @@ -39,6 +38,7 @@ "section_break_18", "cards_label", "links", + "roles_section", "roles" ], "fields": [ @@ -239,14 +239,10 @@ "fieldtype": "Data", "label": "Parent Page" }, - { - "fieldname": "content_section", - "fieldtype": "Section Break", - "label": "Content" - }, { "fieldname": "content", "fieldtype": "Long Text", + "hidden": 1, "label": "Content" }, { @@ -259,10 +255,15 @@ "fieldtype": "Table", "label": "Roles", "options": "Has Role" + }, + { + "fieldname": "roles_section", + "fieldtype": "Section Break", + "label": "Roles" } ], "links": [], - "modified": "2021-08-05 11:49:09.028243", + "modified": "2021-08-19 12:36:29.825169", "modified_by": "Administrator", "module": "Desk", "name": "Workspace", diff --git a/frappe/desk/doctype/workspace/workspace.py b/frappe/desk/doctype/workspace/workspace.py index 0821ae03c4..693c34bcd1 100644 --- a/frappe/desk/doctype/workspace/workspace.py +++ b/frappe/desk/doctype/workspace/workspace.py @@ -17,6 +17,9 @@ class Workspace(Document): frappe.throw(_("You need to be in developer mode to edit this document")) validate_route_conflict(self.doctype, self.name) + if isinstance(self.content, list): + frappe.throw(_("Content data shoud be a list")) + duplicate_exists = frappe.db.exists("Workspace", { "name": ["!=", self.name], 'is_default': 1, 'extends': self.extends }) From 1032d3a7d1101b9e7d68032e7c9d7c244ca21cc3 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Thu, 19 Aug 2021 12:49:45 +0530 Subject: [PATCH 0308/1383] fix: Removed default collapsing sidebar section --- frappe/public/js/frappe/views/workspace/workspace.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/frappe/public/js/frappe/views/workspace/workspace.js b/frappe/public/js/frappe/views/workspace/workspace.js index b46c220d9d..8f11e711ca 100644 --- a/frappe/public/js/frappe/views/workspace/workspace.js +++ b/frappe/public/js/frappe/views/workspace/workspace.js @@ -174,10 +174,6 @@ frappe.views.Workspace = class Workspace { $(e.target).parent().find('.sidebar-item-container').toggleClass('hidden'); }); - if (!this.current_page.name) { - $title.trigger("click"); - } - if (Object.keys(root_pages).length === 0) { sidebar_section.addClass('hidden'); } From bb55ca4c29c584275ed6a14660552250da4744b9 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Thu, 19 Aug 2021 12:51:40 +0530 Subject: [PATCH 0309/1383] fix: Make title and label field mandatory --- frappe/desk/doctype/workspace/workspace.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/frappe/desk/doctype/workspace/workspace.json b/frappe/desk/doctype/workspace/workspace.json index e991ee3f8f..020f3153df 100644 --- a/frappe/desk/doctype/workspace/workspace.json +++ b/frappe/desk/doctype/workspace/workspace.json @@ -46,6 +46,7 @@ "fieldname": "label", "fieldtype": "Data", "label": "Name", + "reqd": 1, "unique": 1 }, { @@ -232,7 +233,8 @@ { "fieldname": "title", "fieldtype": "Data", - "label": "Title" + "label": "Title", + "reqd": 1 }, { "fieldname": "parent_page", @@ -263,7 +265,7 @@ } ], "links": [], - "modified": "2021-08-19 12:36:29.825169", + "modified": "2021-08-19 12:51:00.233017", "modified_by": "Administrator", "module": "Desk", "name": "Workspace", From 6a599f77ebf29a6e466ad44c75c915586ff8971a Mon Sep 17 00:00:00 2001 From: shariquerik Date: Thu, 19 Aug 2021 14:07:52 +0530 Subject: [PATCH 0310/1383] fix: Content validation --- frappe/desk/doctype/workspace/workspace.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frappe/desk/doctype/workspace/workspace.py b/frappe/desk/doctype/workspace/workspace.py index 693c34bcd1..31ae5754c1 100644 --- a/frappe/desk/doctype/workspace/workspace.py +++ b/frappe/desk/doctype/workspace/workspace.py @@ -17,7 +17,10 @@ class Workspace(Document): frappe.throw(_("You need to be in developer mode to edit this document")) validate_route_conflict(self.doctype, self.name) - if isinstance(self.content, list): + try: + if not isinstance(loads(self.content), list): + raise + except: frappe.throw(_("Content data shoud be a list")) duplicate_exists = frappe.db.exists("Workspace", { From ca4d220f145d0678f2621e3631a8993c2c3d02b3 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Thu, 19 Aug 2021 14:20:18 +0530 Subject: [PATCH 0311/1383] fix: sider fix --- frappe/desk/doctype/workspace/workspace.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/desk/doctype/workspace/workspace.py b/frappe/desk/doctype/workspace/workspace.py index 31ae5754c1..7795d02616 100644 --- a/frappe/desk/doctype/workspace/workspace.py +++ b/frappe/desk/doctype/workspace/workspace.py @@ -20,7 +20,7 @@ class Workspace(Document): try: if not isinstance(loads(self.content), list): raise - except: + except Exception: frappe.throw(_("Content data shoud be a list")) duplicate_exists = frappe.db.exists("Workspace", { From c681b1af27fb3c975496e8b8679c4fff997586fd Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Thu, 19 Aug 2021 14:40:20 +0530 Subject: [PATCH 0312/1383] fix: Make thumbnail function --- frappe/core/doctype/file/file.py | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/frappe/core/doctype/file/file.py b/frappe/core/doctype/file/file.py index e79b2bd761..f09f5bcaa2 100755 --- a/frappe/core/doctype/file/file.py +++ b/frappe/core/doctype/file/file.py @@ -21,7 +21,7 @@ import zipfile import requests import requests.exceptions from PIL import Image, ImageFile, ImageOps -from io import StringIO +from io import BytesIO from urllib.parse import quote, unquote import frappe @@ -270,16 +270,12 @@ class File(Document): def make_thumbnail(self, set_as_thumbnail=True, width=300, height=300, suffix="small", crop=False): if self.file_url: - if self.file_url.startswith("/files"): - try: + try: + if self.file_url.startswith(("/files", "/private/files")): image, filename, extn = get_local_image(self.file_url) - except IOError: - return - - else: - try: + else: image, filename, extn = get_web_image(self.file_url) - except (requests.exceptions.HTTPError, requests.exceptions.SSLError, IOError, TypeError): + except (requests.exceptions.HTTPError, requests.exceptions.SSLError, IOError, TypeError): return size = width, height @@ -289,16 +285,13 @@ class File(Document): image.thumbnail(size, Image.ANTIALIAS) thumbnail_url = filename + "_" + suffix + "." + extn - path = os.path.abspath(frappe.get_site_path("public", thumbnail_url.lstrip("/"))) try: image.save(path) - if set_as_thumbnail: self.db_set("thumbnail_url", thumbnail_url) - self.db_set("thumbnail_url", thumbnail_url) except IOError: frappe.msgprint(_("Unable to write file format for {0}").format(path)) return @@ -704,7 +697,7 @@ def get_web_image(file_url): raise try: - image = Image.open(StringIO(frappe.safe_decode(r.content))) + image = Image.open(BytesIO(r.content)) except Exception as e: frappe.msgprint(_("Image link '{0}' is not valid").format(file_url), raise_exception=e) @@ -886,7 +879,7 @@ def extract_images_from_html(doc, content): if b"," in content: content = content.split(b",")[1] content = base64.b64decode(content) - + content = optimize_image(content, mtype) if "filename=" in headers: From 1427712c8817a01fa3631535eb15267fc5120465 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Thu, 19 Aug 2021 14:41:25 +0530 Subject: [PATCH 0313/1383] test: Add test cases for file - file_url validations - make_thumbnail --- frappe/core/doctype/file/test_file.py | 52 +++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/frappe/core/doctype/file/test_file.py b/frappe/core/doctype/file/test_file.py index 649010c468..5b63da30ef 100644 --- a/frappe/core/doctype/file/test_file.py +++ b/frappe/core/doctype/file/test_file.py @@ -365,6 +365,58 @@ class TestFile(unittest.TestCase): file1.file_url = '/private/files/parent_dir2.txt' file1.save() + def test_file_url_validation(self): + test_file = frappe.get_doc({ + "doctype": "File", + "file_name": 'logo', + "file_url": 'https://frappe.io/files/frappe.png' + }) + + self.assertIsNone(test_file.validate()) + + # bad path + test_file.file_url = "/usr/bin/man" + self.assertRaisesRegex(frappe.exceptions.ValidationError, "URL must start with http:// or https://", test_file.validate) + + test_file.file_url = None + test_file.file_name = "/usr/bin/man" + self.assertRaisesRegex(frappe.exceptions.ValidationError, "There is some problem with the file url", test_file.validate) + + test_file.file_url = None + test_file.file_name = "_file" + self.assertRaisesRegex(IOError, "does not exist", test_file.validate) + + test_file.file_url = None + test_file.file_name = "/private/files/_file" + self.assertRaisesRegex(IOError, "does not exist", test_file.validate) + + def test_make_thumbnail(self): + # test web image + test_file = frappe.get_doc({ + "doctype": "File", + "file_name": 'logo', + "file_url": frappe.utils.get_url('/_test/assets/image.jpg'), + "docstatus": 0 + }).insert() + + test_file.make_thumbnail() + self.assertEquals(test_file.thumbnail_url, '/files/image_small.jpg') + + # test local image + test_file.db_set('thumbnail_url', None) + test_file.reload() + test_file.file_url = "/files/image_small.jpg" + test_file.make_thumbnail(suffix="xs") + self.assertEquals(test_file.thumbnail_url, '/files/image_small_xs.jpg') + + frappe.clear_messages() + test_file.db_set('thumbnail_url', None) + test_file.reload() + test_file.file_url = frappe.utils.get_url('unknown.jpg') + test_file.make_thumbnail(suffix="xs") + self.assertEqual(frappe.message_log[0], '{"message": "File \'http://test-site:8000/unknown.jpg\' not found"}') + self.assertEquals(test_file.thumbnail_url, None) + class TestAttachment(unittest.TestCase): test_doctype = 'Test For Attachment' From a7fb1816aa873e4afc8963f6dddc4b79640bfc9d Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Thu, 19 Aug 2021 15:27:25 +0530 Subject: [PATCH 0314/1383] refactor: Remove unused and redundant code --- frappe/core/doctype/file/file.py | 75 ----------------- .../prepared_report/prepared_report.py | 3 +- frappe/desk/form/utils.py | 2 +- frappe/model/delete_doc.py | 2 +- frappe/utils/file_manager.py | 80 +++---------------- .../personal_data_download_request.py | 2 +- 6 files changed, 14 insertions(+), 150 deletions(-) diff --git a/frappe/core/doctype/file/file.py b/frappe/core/doctype/file/file.py index f09f5bcaa2..b44a06876e 100755 --- a/frappe/core/doctype/file/file.py +++ b/frappe/core/doctype/file/file.py @@ -352,10 +352,6 @@ class File(Document): return files - def get_file_url(self): - data = frappe.db.get_value("File", self.file_data_name, ["file_name", "file_url"], as_dict=True) - return data.file_url or data.file_name - def exists_on_disk(self): exists = os.path.exists(self.get_full_path()) return exists @@ -424,33 +420,6 @@ class File(Document): return get_files_path(self.file_name, is_private=self.is_private) - def get_file_doc(self): - '''returns File object (Document) from given parameters or form_dict''' - r = frappe.form_dict - - if self.file_url is None: self.file_url = r.file_url - if self.file_name is None: self.file_name = r.file_name - if self.attached_to_doctype is None: self.attached_to_doctype = r.doctype - if self.attached_to_name is None: self.attached_to_name = r.docname - if self.attached_to_field is None: self.attached_to_field = r.docfield - if self.folder is None: self.folder = r.folder - if self.is_private is None: self.is_private = r.is_private - - if r.filedata: - file_doc = self.save_uploaded() - - elif r.file_url: - file_doc = self.save() - - return file_doc - - - def save_uploaded(self): - self.content = self.get_uploaded_content() - if self.content: - return self.save() - else: - raise Exception def get_uploaded_content(self): # should not be unicode when reading a file, hence using frappe.form @@ -532,14 +501,6 @@ class File(Document): 'file_url': self.file_url } - def get_file_data_from_hash(self): - for name in frappe.db.sql_list("select name from `tabFile` where content_hash=%s and is_private=%s", - (self.content_hash, self.is_private)): - b = frappe.get_doc('File', name) - return {k: b.get(k) for k in frappe.get_hooks()['write_file_keys']} - return False - - def check_max_file_size(self): max_file_size = get_max_file_size() file_size = len(self.content) @@ -733,48 +694,12 @@ def delete_file(path): os.remove(path) -def remove_file(fid=None, attached_to_doctype=None, attached_to_name=None, from_delete=False, delete_permanently=False): - """Remove file and File entry""" - file_name = None - if not (attached_to_doctype and attached_to_name): - attached = frappe.db.get_value("File", fid, - ["attached_to_doctype", "attached_to_name", "file_name"]) - if attached: - attached_to_doctype, attached_to_name, file_name = attached - - ignore_permissions, comment = False, None - if attached_to_doctype and attached_to_name and not from_delete: - doc = frappe.get_doc(attached_to_doctype, attached_to_name) - ignore_permissions = doc.has_permission("write") or False - if frappe.flags.in_web_form: - ignore_permissions = True - if not file_name: - file_name = frappe.db.get_value("File", fid, "file_name") - comment = doc.add_comment("Attachment Removed", _("Removed {0}").format(file_name)) - frappe.delete_doc("File", fid, ignore_permissions=ignore_permissions, delete_permanently=delete_permanently) - - return comment def get_max_file_size(): return cint(conf.get('max_file_size')) or 10485760 -def remove_all(dt, dn, from_delete=False, delete_permanently=False): - """remove all files in a transaction""" - try: - for fid in frappe.db.sql_list("""select name from `tabFile` where - attached_to_doctype=%s and attached_to_name=%s""", (dt, dn)): - if from_delete: - # If deleting a doc, directly delete files - frappe.delete_doc("File", fid, ignore_permissions=True, delete_permanently=delete_permanently) - else: - # Removes file and adds a comment in the document it is attached to - remove_file(fid=fid, attached_to_doctype=dt, attached_to_name=dn, - from_delete=from_delete, delete_permanently=delete_permanently) - except Exception as e: - if e.args[0]!=1054: raise # (temp till for patched) - def has_permission(doc, ptype=None, user=None): has_access = False diff --git a/frappe/core/doctype/prepared_report/prepared_report.py b/frappe/core/doctype/prepared_report/prepared_report.py index c68bb6a4f1..409aa6f217 100644 --- a/frappe/core/doctype/prepared_report/prepared_report.py +++ b/frappe/core/doctype/prepared_report/prepared_report.py @@ -11,8 +11,7 @@ from frappe.desk.query_report import generate_report_result from frappe.model.document import Document from frappe.utils import gzip_compress, gzip_decompress from frappe.utils.background_jobs import enqueue -from frappe.core.doctype.file.file import remove_all - +from frappe.utils.file_manager import remove_all class PreparedReport(Document): def before_insert(self): diff --git a/frappe/desk/form/utils.py b/frappe/desk/form/utils.py index bfceee6ea2..d7ac940d21 100644 --- a/frappe/desk/form/utils.py +++ b/frappe/desk/form/utils.py @@ -5,7 +5,7 @@ import frappe, json import frappe.desk.form.meta import frappe.desk.form.load from frappe.desk.form.document_follow import follow_document -from frappe.utils.file_manager import extract_images_from_html +from frappe.core.doctype.file.file import extract_images_from_html from frappe import _ diff --git a/frappe/model/delete_doc.py b/frappe/model/delete_doc.py index fbbf1a4852..c2f750b744 100644 --- a/frappe/model/delete_doc.py +++ b/frappe/model/delete_doc.py @@ -10,7 +10,7 @@ import frappe.model.meta from frappe import _ from frappe import get_module_path from frappe.model.dynamic_links import get_dynamic_link_map -from frappe.core.doctype.file.file import remove_all +from frappe.utils.file_manager import remove_all from frappe.utils.password import delete_all_passwords_for from frappe.model.naming import revert_series_if_last from frappe.utils.global_search import delete_for_document diff --git a/frappe/utils/file_manager.py b/frappe/utils/file_manager.py index 7efdff299b..eb4556c47c 100644 --- a/frappe/utils/file_manager.py +++ b/frappe/utils/file_manager.py @@ -213,28 +213,22 @@ def write_file(content, fname, is_private=0): return get_files_path(fname, is_private=is_private) -def remove_all(dt, dn, from_delete=False): +def remove_all(dt, dn, from_delete=False, delete_permanently=False): """remove all files in a transaction""" try: for fid in frappe.db.sql_list("""select name from `tabFile` where attached_to_doctype=%s and attached_to_name=%s""", (dt, dn)): - remove_file(fid, dt, dn, from_delete) + if from_delete: + # If deleting a doc, directly delete files + frappe.delete_doc("File", fid, ignore_permissions=True, delete_permanently=delete_permanently) + else: + # Removes file and adds a comment in the document it is attached to + remove_file(fid=fid, attached_to_doctype=dt, attached_to_name=dn, + from_delete=from_delete, delete_permanently=delete_permanently) except Exception as e: if e.args[0]!=1054: raise # (temp till for patched) - -def remove_file_by_url(file_url, doctype=None, name=None): - if doctype and name: - fid = frappe.db.get_value("File", {"file_url": file_url, - "attached_to_doctype": doctype, "attached_to_name": name}) - else: - fid = frappe.db.get_value("File", {"file_url": file_url}) - - if fid: - return remove_file(fid) - - -def remove_file(fid, attached_to_doctype=None, attached_to_name=None, from_delete=False): +def remove_file(fid=None, attached_to_doctype=None, attached_to_name=None, from_delete=False, delete_permanently=False): """Remove file and File entry""" file_name = None if not (attached_to_doctype and attached_to_name): @@ -252,8 +246,7 @@ def remove_file(fid, attached_to_doctype=None, attached_to_name=None, from_delet if not file_name: file_name = frappe.db.get_value("File", fid, "file_name") comment = doc.add_comment("Attachment Removed", _("Removed {0}").format(file_name)) - - frappe.delete_doc("File", fid, ignore_permissions=ignore_permissions) + frappe.delete_doc("File", fid, ignore_permissions=ignore_permissions, delete_permanently=delete_permanently) return comment @@ -372,59 +365,6 @@ def download_file(file_url): frappe.local.response.filecontent = filedata frappe.local.response.type = "download" -def extract_images_from_doc(doc, fieldname): - content = doc.get(fieldname) - content = extract_images_from_html(doc, content) - if frappe.flags.has_dataurl: - doc.set(fieldname, content) - - -def extract_images_from_html(doc, content): - frappe.flags.has_dataurl = False - - def _save_file(match): - data = match.group(1) - data = data.split("data:")[1] - headers, content = data.split(",") - mtype = headers.split(";")[0] - - if isinstance(content, str): - content = content.encode("utf-8") - if b"," in content: - content = content.split(b",")[1] - content = base64.b64decode(content) - - content = optimize_image(content, mtype) - - if "filename=" in headers: - filename = headers.split("filename=")[-1] - - # decode filename - if not isinstance(filename, str): - filename = str(filename, 'utf-8') - else: - filename = get_random_filename(content_type=mtype) - - doctype = doc.parenttype if doc.parent else doc.doctype - name = doc.parent or doc.name - - if doc.doctype == "Comment": - doctype = doc.reference_doctype - name = doc.reference_name - - # TODO fix this - file_url = save_file(filename, content, doctype, name, decode=False).get("file_url") - if not frappe.flags.has_dataurl: - frappe.flags.has_dataurl = True - - return ']*src\s*=\s*["\'](?=data:)(.*?)["\']', _save_file, content) - - return content - - def get_random_filename(extn=None, content_type=None): if extn: if not extn.startswith("."): diff --git a/frappe/website/doctype/personal_data_download_request/personal_data_download_request.py b/frappe/website/doctype/personal_data_download_request/personal_data_download_request.py index 9255adb8c2..e74e8190c4 100644 --- a/frappe/website/doctype/personal_data_download_request/personal_data_download_request.py +++ b/frappe/website/doctype/personal_data_download_request/personal_data_download_request.py @@ -28,7 +28,7 @@ class PersonalDataDownloadRequest(Document): }) f.save(ignore_permissions=True) - file_link = frappe.utils.get_url("/api/method/frappe.core.doctype.file.file.download_file") +\ + file_link = frappe.utils.get_url("/api/method/frappe.utils.file_manager.download_file") +\ "?" + get_signed_params({"file_url": f.file_url}) host_name = frappe.local.site frappe.sendmail( From 6b1955b34afafa930c0c8882ef76f05a23a1e2eb Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Thu, 19 Aug 2021 15:27:48 +0530 Subject: [PATCH 0315/1383] test: Add test image file --- frappe/core/doctype/file/test_file.py | 2 +- frappe/www/_test/assets/image.jpg | Bin 0 -> 161713 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 frappe/www/_test/assets/image.jpg diff --git a/frappe/core/doctype/file/test_file.py b/frappe/core/doctype/file/test_file.py index 5b63da30ef..1920148fca 100644 --- a/frappe/core/doctype/file/test_file.py +++ b/frappe/core/doctype/file/test_file.py @@ -397,7 +397,7 @@ class TestFile(unittest.TestCase): "file_name": 'logo', "file_url": frappe.utils.get_url('/_test/assets/image.jpg'), "docstatus": 0 - }).insert() + }).insert(ignore_permissions=True) test_file.make_thumbnail() self.assertEquals(test_file.thumbnail_url, '/files/image_small.jpg') diff --git a/frappe/www/_test/assets/image.jpg b/frappe/www/_test/assets/image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4a2c1552b991add9a356a460415626ad700f401b GIT binary patch literal 161713 zcmeFZ1yol{+c&&7e_EtLQW_DYyQE8`krwHcZV*W^Xb=!21?iA(1nCf@8&N={8w3&F zK|SX_=Y5~`oag(V=Uwaj*1Cr^dwz4xHCN5-*|X!%`Na7rmJ=CIYYPZcP+*48Aqc{P zuwf*K8lY5=aR5dIWfRD_0Aqu)4P<;60l}cW$Ye0e&vFQ0^51w0V5Z+ZNC0z!zC@t> z3^EtMgrNKeG6B-Rc>DJv+dC__>zDz{Y?bf{JN zI5;?<8$iy5eSeh7*0v7z)SAx5_AVCY&eWW2oYdNo5EloBfDk9A5CuMh`6 zL<=Pa{_-gw7@zVRmjO)s&<`aBy*PAfkTxR|lAof8&0D;pksH zFz^{U2J@$Fp8*{u=9jKjfYD-p$wvXQ(0}6#@fg1`F2I<-`F8>TgBUdEGZqAS1LYwA zKLqV3fDWbqwuh6015W=}jFHlR#nm71Ab#U{5G0g8=pf!uCfZNiE+G6HU&Im4`XvWI z27`7-4XDk{)GqaFBttV7~?M(^Dh|dFZe?DMVv3jR2Y<)ApaUc z4k0csYEC{OE&(BK!T*p3Sby?U{w_&CdEu9YhLnN=DF5>*_J64r=!GCNkdc5bNI!j3 z7Zd>KU*mVdaWPwvz#jxD|Kvr1E=Gp}gaYxKE(7Yw&@Va;EQOQ0Uk<#F9B>1@I_()`9c=O@3MKQ9T)m^fO5feLFfHlp5yy4 zUeGUAi3>XU?{WkfZU(TnoCd1^4~XQy#)liC{&`*kjsIGM=s@q^{&R71T-bZjdXX;B z#d=f*#3KWIv0~K#i~{gwfSUnE1sDzBet^+_<1v6QJip+d0~qsXd?4rxz&O8oHUY*3 zJvK2Q=n!BUfG_wLft$2IGa&s;*Z*P<`(Nn(K+c8d>wrH1U?2uM0XPug3)_&vc^dLt zFFwFefc)P9h9Uva#koxe=+S_V4=^*p&w&Mh=#2wB7wduupuhZ!4atChv7Sl-ddgqy zNd@>KR$73b4|pzOVghg>z!!8IfXe{B7N{cFvb0hksW ztX+U-1mKG#rE*(E9g^rmCnbN!$kKmn^FWXk`4|0$I~T&{r@8 ze{qAc`(tpS^9xrw**JcRh9FX7d`<{5HisadVZb&9L2Pe+Wt7i=Mgj#xdyu&B#jO0D zm>vE=e=V6Gvo-K;;9ku7pGjn%3xc{(##m0t9BDyf15S*5i@OLB_h8<-gB!oI70)_p~@_)$tSzef43TweXkX|7q!1NbFf)U*3=LFA* zz=`%>OHZC`Lr5ZE4pF0n`2s9~;KyLfmw?^~BsI7PAZ#QN_y^=kX9A{Y)^Dja|0Ero z2j>p18y+`a3|`m;Fa2GnJ1p~Tm)XhKsxImtAi>>Kj}XYL+}l#0$PJfU}qyiA(D$(3g3j~K~}uTbQe1S7m#nEvqC%+5N;Hf zIr29G5Sf3a#HfGa|GOyQ$6w`_OhX7T-aix09{`m9dz}8-=f8{3&%sFu(tk;g4P*n> zS{pFGLEM@ z!G}md%p>C>(<0OVjgF15L3AP$BC8?4`Wsyq;g9G;tRuRA&cr{P;0gE}5+M=;5-$?t zpF{uiTgl; zufl{d2CNSg!8))YtRm)#{os-@Cf&sb^=Fd&1N_gGvmpJ?N&BCdv>=VKy4aKdpXp+% zfvXYqzgjM?I~RKdkdVN+e!<`m_7F%HJBUBm)r;2uEIFDxB*S!I1YwvFCV%*23)%d zflV|Z>Np_6WB}pAYCtkE;KBoAiw=+=kVN{^E;-m1b_4C=&=26dA}k5ADu|@!KedCq z#(CHaz7I#hkKq6~3JwA_2lxT(2iwC2urcsQ19pNv;8@rl4hQXia3t&vxPt+g0&D@_ zgVkXdSQqvOf4-o_8TJ7j!Ehj`>%pPGYgtfUNOFK}0CEM=T!9WpAYTuZG9X6Uuqm)s z16ZyERv{-)SBLKc$y$K!0Qii6Zx^F34~~XFt`hK61@zDa9=gDufaVBnF$ewSVJl#T z31~9}Sr14thpmAeE0Fbo+}prXLm*uN#M=PK&;VH%NWBe8WpGpiSs5Iqe;#GQ(G7kG zG+*>J1l-C%gFN851(4cLdmLd)KvxHKBM>DUK)bL`1I!OqphX@~EPzMGfMyFUw*@s9 zV2d`;sROby=fe4n1(x0(5DnSeO`?m$9(0@hA!KaB=bINXdyPnHg@dTxVcnV&jn%VB-|y zVqy|f77~+|yQO%Gm0wL;O#1LzXGnI zfVBmrU(SL$5&{_o6%BZI30!wz1Of>efr5gJ3|f4DK2*U&!KdMrKqXK!Mx%8i zwYIf)bar+33=NNrj*U-DPJQ~ku(|H`939s1Ls^JWMS9rA?I5ikwd+`$Mu_3(fZn3(U!zp6s&Qe2^Ghb|)#u@K2^N`-v$kFupg?n06&oD%eCE_Bxu6z*{f`nW} zlKM*POJlrT*G4AsOBqOyEv|{yL7X$LTS;?VUn=`;q89DQ58vpm9KQFkFFtc_<3Ja| zV(L`U`$Dc3tIDnNMOapTs*HA-WF4)_>bbfeZt81A>o1Q2+pWG_(+G?16m^+OGd`>j zZI7dg#*0eFdTg~dg5zLsHE1)jKG*((aq1jW9wGB9BUUd;zMXlk$_MWp8aoZ{ZD(GAsI>8XyM zYY|x#T9Ru(6}++rztQ9%*fXEoJWOzCop`u$a_UTN6Q&WbDEv`pj8bb)oOHDgWhc#4sz{xY@~b%Vxu=Tn)Lx+*>7H83SneQ_Ud>RM zyN2>OTgdOGt>L&@2&E8Hlb40u@~p}=WS^6TB6H=!8^h)uRyqfd=7{wbkfJ7-CR?EB z)SJ)s*T%m1UEff!5Fm|BofJUKJ-6YDPfF;YIIhIVu(W1Uv1meTsuls+_SB z>wdPuNw&cmx5v~dq#`@9!${R3+Z5D_z2mK3o% zk=g9ipDXt=bY{D`o7BV+H(XK$#c~gdUel+BWz|ReB7L&tejLI<-ow}3h>=lk3cPuy)2+v#L;S(K2nuzrN|7I8ndM z@WPa8nTTLU#8}mzA5Ny)wN3dxw@PpqH6bM#harh)IT=zJ-#ZyuG5dlmiQfD*_qdA! z@;--de$;!+)GFQmrkkz~JAiiB&7sFpO-00KWM_a!gZUh?>M2ApLpXxVY4;BcmYh6fF-32UUo~SO z4KSPCV-xZi7(ca98hkMjm%uXNaiXREcm|V?t}d~tgM!lnvis;S{KHyn(w;6t_e$>! z%uus2P8ELhj`9_>S0gUHv1IngI5^dG=>q~==g@c_X_jtUuNjsmioyP-)ATtsYEWdG zm#BMHD~|uP`TC6ZG|7PdIaEZPz&&6`m=E7*z!#kN_xABP+R)pTDR{f)Sju+jNzwLA zB=<;E*!{hfyR`Dld(49L2Z$2;(}!`%c725g#96Cl$L6i4VK>!MacUR#3$%7;rQHiU zP;Y)Uapdl#j1V4jSMG|hHP5i)RlpOerO_3fua^2K_IST=G)a(}GYihd7xr_-NqmEL zd=_VuRcq&*JgK$xN~7GG3#)2kw@=u8BPi*{h5#h#Rr>x5?)#X>G+z2?}sBMO7M0{sNhq$=@!NA7?D@5#AC zeX=}jXKU9zZUJ!*CN$^h$aKQNtQm<|3Uz)8NADkER6{S-oyyn-S)LGEG(!R;X2xA~ zM8-GxtvMSjB<1=7)yXrE7b0^Uc5)3*oCp(`xd|&6UK*_hbS@u{45FB6A17Bm++K7S zyVaq*LQ-)OPQpy8z`PJ6_|+GuQMM$3`Jr<|S}e8S(-mb7>&bA|`!XK1S&B5;Q4mK) z84kt4+BvkEN5|P}iXL5cWu<N>bD3rBalH&2)_z4KGz)FY46nG+#^( zEiS@Hk+|Cn&?v8^i@bGiSBcJ(xIxoB&NqAhIRdBKo&p7Z9Zc^2lGveXjs3Qm(Tb*m z?bkAN8Jy`^TkWo;!iWfFWLjM^J`;a=o$A}0MKs98AB~+SXi#~%GVQsNPb`z+leGRU zYu#}Hlt{r-97^AO8x}FKU7})}udj>gCSAMfnO}~iPBza!6t!tDjQUX;O>VQR`~lhs z6yF-l7Y+aPrb)BQzpp2Mt&>!=t8-s;wY{PG61hX->$59z23G|-9yZqgu=Uj{yWMh^cPanw@Xnf*w2tz{(c+DdeNUo#E-glIr(N=VhH2`=D=+)PV63Z&U~VtZRTL>%^;NtHa-=gwyWxDt^XOEG&-0dD z6hWo_aCJ%b@?2beUx7i6sS_>!I>ys&ZV-+)r((BU6o}fVczd|Txv=|{ojQlBm!$Oe zz94;s;D z1*XJe6ljl1fRQF2C%RxG80 zNa2+3TYkw?dy}%^_Oi}k)-NFg$XGbHU9|0AXO)-|k4Z{1vGNyOpDIly3G}$y2qLOB zJE35l+qT909>Gk=(!XysL6^!Ia6AVVIuU=-obU1BUFH5;FXUnAsQ~_$YjfwAC z_hY%F)p@o2ZV*uu1jG(}J8>`e#t?9Dj{V@f)R+C<3|Xj6?2#jPhtJ+nQaJx)&wHUf zwp+2sSa=6NSbS&`o$=RKk=JMZTSr{FI+Z6*?!2seW`&iA*-8Q#Re$hhPA{Q1RU>*Z zNW7$0QRW{a(Tg{H^JAP6k9j6OF5i(P&b8tFR|>P-Tym*ac5M<*4v+HHdOEfq_=}+h z3M^`bnT(FB&BpY4IOISL@@8FPIs1iqZk8qt$T6rhrlo}$O5J^UK%HqZf5{pp*)AkR*G-fIV@G<>q$=E zd|(>36Lu20U3Bb_p|IYUV*gG_Sf!$R`$vP{{i+u!1C>wYX7m$|Xft;BCutcZgEf7> zI?6LmVl}!%>4%xZ{*;$xboL}Vb6Fa17rg#%7ykkG*i*VSWI~0S!mSHY;&LqGZ1<=K zIlvTGAp{Y=3_t!9Pw%l|=!-hM)bw%tvdQK%h5NZHWip<<8#MmkYtEsyq$hzx4NU25 z^O+CP=}1Y%B*lc*N1xBeO-K)19!9g~%U_J`kl*O6;ms;Xt$253w%*gg6v6_lL-xUk zr#7KnGGwi!&Ls(GAK3jmtJl=qy(pri3H@ zNgna0=tojLHxz^ex;kx!aN=+)El_5{R*UsxS`ldvZE7{}c6WwTQ$$(h3#^P;yN(L* zn+c*<#){h=&!IXx;g$|%(PJVd3{k~%$QFNPQ^AD`NuS;g3rZey0EN}{?8(+zX# z&D#_azB_j+^}9AlO=lpjE(VuKsmQ(PG`+{);+IUh^b?i(0`TY}q%qO%PISn<72H@E z%7{6|xYYH?pL!|8udd+-+U|*_5AQ&qWc({d;TH>2>53`+tzkY+8`2((VyW_@F9f?f z9i0XiFRLq$^M6sANMcXA278n)#*-lLpVo>c6e$nS_?feB3hqra30?~bZ$$(|oF$LQ z=vjDYZ@r10O$e7R6c6*)Nv4Q9Ivn5$F;jFVtSbnfZoamKeGV;H!_;7BS1G^JSF<&=mLweuLn&92h?=&}M9+M!>=zd4?PwIQKzy6&1YLQ= zoz^HOs@#KqKU`nR=&rL*ycQF>oOK|$sPVasdU+8oLpVaNk-ojBmj>&J^wVS{=X+m$ zG{uabuy{pNUmj0lyQw8;*BSR@AuOVSYA934rrgV4Hgd!?eQi3YhzyNIhA+J0o7uBZ zQqrNjb>Y*pq9Ni7CHqA5Wb!7Ylgbc#2zA0izvww6R5dK6eLG~AcxW?(?r|T>TN`I+ zwngyd9J&=lslIHQFR5!xUB}c+a_n`rmafvsuI^2e--*oEM@G@nSqPTLQ$k3xI0$#{ zFs$#R-@`G{UsMdOORh^AIp=KVwTKD|g8iqr>RdJPH0gM}TJwXQBPqD$nw99zu{uMj za)_!pPFGjA*u7hGd}_6^O7%n(J(hNT=o=9nF6x&OOdvb%$t63Y{b-Sxjuer$HXN3Pdo1M8V zRcg~zbEu%y$6l-5(^S#unFUSL5oyPVba?9s+;K1mo*aHkpC&t7=Ob;|*u#40 zk5hzlP|scXB}q$L%NWC@|1$@NBgXzYggH61JQGSn6Gr`9l}qo&;fX2L<3@F#XR>Wt z@kdJZkyp0xW!j#2QA5pVHK!~>J@4k%s*UyN?_ir5q0fGiPDjjy&zzx_df(+NQj4>8 z63ybe;cUmn*4M#Z8MH`neAQOnHkc{@E$v26p4h#!Myt4%=Zy8*api~?CUBW7|HFsh z#2zUUzUgZ6R@hC83m|DZ%D?;6rbA?<)-gJRKA>eD6D^Un`8Hx4vHyd~-I6=}kc`Xdr6_&u@vsup+1b(S9^Z0x9} zM%8!U=z9Ow$~T`66?(|?SruPzgz9~l+d zDJ<;!NTqEOlkOFIXCf`R$$A7D^?Wk834E>AP#-aK9H#pMiwR3;At-3<)p(5Hc*A<% z#|q!#4RwK~Fno!*_JkalPN!$3tnX@~N22lJy^W45)Q<*=xsQEWY$sE$XQKyP9ay?d z5r%9(c`11z^&IkfJ61hLV%OhgE^lw_Y-EiwS&=-ST0=d5<}02XTM?*4t90q^Q+u`r ztM~~8wr&5-sav@e3&;-|9@16vtB%t1t2C*^==e|IWP4DJs4+XdP>ZpZB1*3gRnd+j zMOR&LS~PugIIx$yc{fSAO=2PjdpIyB*|H?#9Ad0=8fzi7cAB!SLhDi1{zA7I@I!^j z!u)Yhl!(*~e!ju(Q&DS#2ls+b$2|elk;OfA<^|*~%w-0rm4m#&uP&^vG;Ul~B-cs1 z5yP()u~W^N?9Q~gmiXCwYa;ao4es=4Pm-H7D;PC-%0INrcj|Xmb{cV`D$?eZvc$aI zk}9wuT<1!S(pju5>(uV-Qt4S-Pi{*o{QN=tcT(c9McN+HGGzm&us{_fU#EdaUP~A` zzX!J4bz7KDJw9z}7*}pow38vDnqu7L+6=;r%8I`xaCYzU?Pq~rc5D)+j2)yb74uhx z=e32i7g*?$R#sJ?v6mB1OlS!nKM!m=&V3!X$(kyfpCNy}I>M8(DZ5V4tMLoZM=lfj z?_+5A$8UwX89fC$1ojULROfnK`1{{7Z%>zr`gOc~=G_!hHm#1aENSX6o63i3m~%Dl z1=t|O+rBTNh~{+dfCNmMcl>>Ct}MUV(khmYD>8blx_gvJK!MUF)&j28j9DQvSBkFF zGPEpEASQM`mMkC7G_gG6x*PEe}uzf)F!~3gi z9zEtxD>XVT!*fSe__%g!=qUqJ0hvs+fy#Xg=TcN>!3i#jmB?YLA1=D%{G7M29;zcd zMb~;wcQp$xG&<8yEA2D8lylGNlF2_$4{Hk$A3%0S;0=rVb!QRCmU2pd3+Jbt)hAim zy4z5ty?J+m6?MRgK&}BLd>57A?fr8oT4^^f_6V_P_((s>uZWm?NnIbG$3^^EzURuu zvuDQi(T^-hEs*U5R=}Kbt9_KLM;+D>N@x{AeT}&d?~$PnPEU4tmZ}j6+p|V&Ij!Y! z5=7+EomZ9pPb)?r%NeQ47xGIa=UxuPDOs9|d?Uh~pQZeGd3Ucq>?A@AQ?Q7IwAz*L zlE-r)tS=(|B^{joPRHLhU1G^MTFjaH(I||9!cP2zs_7?WeA>o#6Qnuo3euXga0Qx0 z{Rq@aXWAZgG*csS_IezwTs%(jCd_1+ynjQfA)tnW4vV0>U+i5fZii2SWwuL_&3m2D zyZD_VtxH|eE`uXf%LhMf4pN65?-J5y5m7kBc2)_4SZFX!>m(TO_B0bEkt{*@ME+>$ z^k;!(4)5sKrEf)VeveM3I9yyj!F=~}Is8LTKFhn$y8MtqSaj_0&Z>>-hXI$zek|4k zG~Cg{Xq1A>sWk^hF+;7{#V@{YWU$nlvcX2_ZgdV*ecnS^%^c?F0TDwvGzy!tDkb3A z(CgW+u1vYnQ_5y0{C8$JBZXo%$tWz4b%KGpb6JGQ@aS)Kjeu;gUQP6}tv z5!ZZoE#_p+N__N8cXzJfJCyow1;BZ-eEKLQ@vts!HrYA-@EoEaTD9)&E=uD5&U{(b3V+&~YzeVO%D_B_zPd#m6VSLP<(UOhJr~Pew;Zag~aOhK7)o z{u(_sBPBHrHH?CaijIbkgN}|vO@vSM$7`?udWrPk74YwOMgKo}R|L-^`Tylz(I=d@ zR<5p&LhS7JE^NkT4kqSorVe)Op2m*s;4LaUBqHYNXl!b0?n-T9ZfR{VO1oA6mX_Mu zOq5oeSBXQ(QOexPTHf2)T*F&g)70D6RM3o8>?Wp&r;w+eqn){{F}0`NeR~%nPf^;R z!i507AhXj_|73Bs6{S^mGr4bVO0A=$O0DVOaNpM2m0HTd*_@i2jhFT&CYZw_&Sn-u z>e8~mWr3O~?Qf&OH*;(r+-wfcmh7B@f`aTET#lgZ=)yl!u;ZL0)P2>hgi5P;CK{~6n#O@G?_ ze+&FAF#lHaPZ9Wcxc(_Ze{27Dxc(N7f2#aDT>liIzqS86Tz?D4KUMx6u78Tq-`f8j zuD^xjpDOz^X@xAuRB>u=%sr^^2)!iD*-n{jh{a0l)I zZngjZv1eNy#^Ec?PX_J_s*|wqKoglhTbNj((#gf%w~&#zxAb-s)cCOOBzC z;YW5t7uiE>T~P_;SF4V8-^AYGP(`PU?l~>fRvWn&6B1&Ts4dJRZMhbi`aPUw zIXJkF!X+*GmW%h-Vu@E+Co`h6jxColm1S=k?e{xHEWfs$)^D+OSd=ReZAhT*(jd>& z2&nP*evpoZn9!Q}5jJCA*x#xYS9~MG&BgPHN&*cviUmt!7YQ1J_Lf-~mP@zql$40s zOgEvrLWpmv*-f-rK?-d7RY+jV-?+Ov0~3QTApWCj-8e7n%{i~dB!L|YV>MGj>SUw+ z<7sM-qtE3ch8E>-UKo@&PWO@u+aqT@N9~!f6;PG`s&Xyo)=H2;H^tDP)q6keZ%IRY z{qaM~-*4V|!qEQeT?V~@|7)aFe@6*KF-G@$2k|pk4}76ALxM`^$4rf|0;S6^$w0O^ zB@1Sr#sPo$a#bg<7vEDJ?w4&=mW(tGH)2u-qc~&3><2VHY;$;z8NM_(Ut}23-<+KZ zj$-d3@vcb5YoYKs=oGl#!*8MID)-8hze8`vkR}i#gKsRHCagfF)L^MRDpRl*yR-Vf z<@A@-(aHjytnS$EsDKe{jiS5EgKE!hY${GWd*%v!Z=LiOx^F)rux)thoQX!RLRiO8 z{`yh!%?5YgQGx57afvcD z^{;e_J_X_tss)R4K>LNFrfpX#hu!#x4}?E5uH2tGvV6Yr{rQY;8BAfcGyd$wU@&cr zl(XGzjFop)K;GT=*s(&rJgPFn0R)V6aULCBh}>n$`q4;yNyhE?Qaq}M{l@1|1epz| zll!ImRi`4IzwXasQln4@tHnUZwTA-OOxm5 zL4D$L*6{avUSnQQ8#-twNf|WfO+ET*reMzzcbjdep)Yy8cEo7`oAbuKDlcn8uV&h2 ze~XzqG|=g>BSQ_o{-Z6%{0<2s)upRTWZ`O4h#SWg?d;Slr$NPVs2AJNryT5T+#X$u zoxo-0LTokv>DUNtZ6bH~UR^7_Z(e@Zb_%+-bUwDvK( zf9_*{ZqjCoSYbiu^|a$mZ*QiYdhOG&kC!H`lja(;t;mXV*wXC0{Ts^S&w?;?Ofk6pD$0xq~E7Yf}(nDJ}y;*ZqJ z_UiN6i4T_wn>ZI2N)$0Y^TFc$_xc_eQB~Vel;dExfSyZ5qWD=mcJ(F z)6!{c3M3`-m4ryT;zaiVqup(#PO04}2@_f6;g6>%P6{g-YYfF%-b;nme0zF2GYq*^ z3bdZ%;e}bg>#oLKUHk3Y+e^>KPjrJc!(Y{eGM9DtOQ`$1ol)k`xV{@#64uvPCxlNuCu@a=7%C(esJqdjjr?UbRxPu-czF^OzqLT2Xc6mO$XHINTb>d zijD@BgC!W-=u+C8QfHOitH67suZ}H&kAwpHJ(tr4_VU`LCMCpc)^HiL#2b;Exu;1x z#K;O9?K+lp5Or7~0?4V!erZdp8N3!1ygqkH^vVgyxH%SB4$JdGroeC*nh+CfANH@VDcaM!d^GlK9TQRk!zY`wqNGd3j3|{-)<5i{z zS32NSRQGHme@~CsxU@XUFyrTnt5CgjIS9O3EM9I&GPsFXmO3YRd044pldiXed%|+8 zDRj+_XCq^Cs7K>jY<$yWRkv}gX1?fhcZROB=TAQ?e$yc_3T5`R>@_{MsM0yU_lftc zC%iJ6VD;qDW_m(3Dt$6j7)b&~SZsu|oT1lgsTOu+F4{~Wq3D^$z<5%RPWN7q+Nvhk z)UE3Zjp!fsMoG(?2|@lQd`TR6Yn7E6-&+hde)SD1I@~6JNZJ zpms_sDOK}KpADDX0-}Lw@KN^Zcovo(pqCW;b zBou2XocnFmfi+EOw1}=grehtsUIr`nK^vBlqtnWGYRZoX2FIrM5ns2hUiZ0_`5CXy z@g=D4(p%kHY^FahgQx?Q$)h}1)}8dU>ar}`T~-sEIm<&_lN3Wgy>&z&@rVQju0MRS z@@)6><_z9A3xm5i+oN17vdUm?-RaK7#}*1il2}-mTS@j2+r@#aUj!;TYcVOs7o0i` z#frT5NAT^L7L#AIT<5GB)4LzPM(^&vN?{f(4qyGYc3bI^Ola>ePp=N2Ji|R^22~2z z`*7Iz;X|IRN_o*D=`H6qA+H-6IFG(IjNNINdRU4vRm5YHkG*e>HiKxzaf&_}8C95~ z?^x65Yml;!?@*W@yjG3=-OPez{Mu&Z?dYK9W8Z=SD!C||SDT+^GjQtH+lWcf^17zH zT2^g)ve#207Oh?%77iN_Ty9JO>R2!PiTF4)K(6Ju(Qh z6!W-tu$-#IxAE$_Z2@Dl48C;CoMd>tHQr)f)XmKgwRD1A1BM~x^jAr*^jz)T;CCtz zuugm_fJVhGE*eP@;q_i!iO*$q~lBw6!p~Q4tWPV}%ZOji|)jHotd!%H>4)lFGb_>xT7EL1>ofVej^gq{s zy~Cd!%%zV`8>K+#aa*VCc#vi?@^cHcywstvT#TdEH#0kz_2rW79bCEEB&LPls4F)n z=jX8&m#fo@854MmuZ!Lf-$MJAAUkp}QL%-$%GGK1GT1TezDJiM;pHI50f7#MDNoW8 zo2F4#y9SlaNjaiEas6AlIa$y6@PbBu%*oBIq#iudVOEVhsy-!lRa17>I;$wnES%wz zGN(2wW?Y_Lv>B=zaebLkohn%LOrb`vi{#-p3QE-v!LGyNb@IBA4x7ObLkjb8&t$lS zu`_h=uWzJ0rgWNX44-?<)WXByfuVtD`lREsLPoj#QeY)ht530_#KX>?Hc zqT5%eXWjjm=_jofY@(gpd6>k8D!%(Dy3kvbdcMMomm!f6LHG+{kD^w(*|}xd#5*b0 z$yG)}h&*O-=tyMDx#$+>V0@lZV+7*U$Kb7s6mli9xmR~zrRqO^GRv_P7>w)`#TOgY zq4LQv%fXJ&#W5}5y}4`!(b6^3TW@0B<&8%QAL|DklUa}6hq`M>4mHk*%G(F;S-n@y zJ)z)lD-gyZ`euKb^+7k^Y&+fkQ1>g(Efyo|D5?behtTNB7EU?0TW<~9+uQN7Dk?QK zjIn0kqn6x3l1ikXr*I^4)MRINMibm!6EI=^Uh?X6K>1}VSww->IVAP|RHX=<1y|ez zTwf|O*~L%pdm%>?n}lBNpbn&n$JE4Epf*~h&@zvFT2?2)Kx5j6}9HsAIIlChQ4X|luw>=X6b!X5g#=h%GR!r+2xyMd;q>k zU|#1!l_76Ismg7h9T_V*WjJY2JbYPnOMata#AL9YWQI$&?@jY;9BIGjyo)wwd8WPG z4;!yaJ9WG6tCj_NHfQwT-a68Z`h75|)maE;Thyhu+#QX(li&zfU(xXA@FXenBU$0T z`|yMNT9IJY5HFpBIZF%fb9voMl0~(;vgV;y;9H#7M@4x}_O`6-XBMY3#iAQ$a$M&S zR)a*=sr4}1OR4&%GTQ|%FG&HlXa)-iWu`QP;t@T5!-K|poGGf?qwD()7>3^-Iw7qL zAHz#8D$2M?g4K#Y>&Y=FEQ`6uZcSpkA4c37`ySz?S^p?;$vY|_%e_WISRS%umgrPF zT?-Dx;}5IUrH$~?8k1pGIF5UkvVa!Ulh!((yR4VVB<$ivmshnr=X`_->9oFmAI47M z67i!h*?ZV*#I@WDrS-U)vtx_iwwl4r?FMGp$%f!pcvG9G_sJJKcR52?hVdi?wYEg+ z973-Pzq!I%TpZZyc$KE1u_Vpk24{SRZddn_{(c+7k3N`B!O=AaQ{9P zI?4f+0ix>biw32}41F9G)qSv}2FHDoq`MiR;{En)6Nj>YIkKbLfj=s1FI>iE?T7 z8lDchw$71#c#ZjVeW3h8SkQ)H#tmnEFMjS)s_SUhBFhtZ7Q8G4ri(g}M~CUFIV(H9 zm2!#EM|dCcCc2h(@LSsEF$++H?R>N3$*X>-nUAszbNxY zcwR*U-^PvTkV`?Q23TqR`4z_|!xIVSdB#g!tYq=YpVFv}up3u-!^!w#-QT}Y4odY^ zdF^>wV5V(Eh8S>shUuixn`r2Nd-N|a5Tf&w309^W5Pc(EWXTZltwt}omrf)XZQlA1Dd+Y5B3KDMzJ5t%)rlc@c^oJy)= zWCRCAryeY((%2aex9!;wkMHRuzP@S|&rOwb^i&vC0ukx=;_7jUNy9Sz%aLOn*P)jY zeM`KP2jrJ!6%(=ikLk;osVU5`&U6ZUjdN`WTW#}fLQpMQ&ElCkJ1HBTbR}6*3S#+& zOE>C7rmjAEJz>495lt(DUdq(V*>e1rb8Bm^x)O&_SMk<$(u|jYRUW2dyMTtL>BC zB;7WydXxtlLw0w}Oy<-%2aLSQ#`XyMroVD0jq=)(DhLOc%MdE-hFr-l!D-q_2s3MZ zJ6OTW&wiXdZ_m z@y0jdH`FK?3Rh~6JvR_LCj zG~*wXx?EY-*4O`%P>3s0KwZv*D1O9AExQe z)Qx-^Hs|!S?7T4;9?BfM_n@;_R$}GDw#xxoO`b5Lse62GD_Q-_3@L3D?y>Y~vawFG z$Gped%D1tqlmgv$UxFD$&Iv#7XDzR&v7FK9E#Is=9n^~V{J@TOE4f_ATz$f=NcdeM zP;m6p@|TYtP9ghiX;K67I}+)Yjr%uUrwcs#u5m+qS*0YZUMT&G|lyOOObliFhX;wYzKW+78<2iIiI( zU17GE+Y`;~UZf#4jz_zih!~GH7*1wZ9`Yt{(F|3_NKGi{v`J!kHt7|+kw71%$T2Z# zf>WE@z(<#+TwOL&_*v(3p!_-XK#-=ZXKy0ly@$kL;8M`wIn+X{mKWReq&Z1(R}!%yp}2k+79wVw^7WBPpHqsD6U;| z50iaU?G(SmuzlZ6{*%Uuj9OzzTonD-!Bd5^jr~$^kMkhf;8~Ht+Q1RRne1sCLk|1$ znQ02o#0~eU8H0vrZLv-~vD}EW;TW3?W|hkWW3`<4!LL2J>w+ywrsUyHlt(lc$bk}Q zL$zb|FDJ1+)|e)_FZgFIi+(Miv2!&pUq%z?td#M1qkFqt=m}EH+O-*$pp@pFFw5=y zQ0tGz!iuuR4|*45;@R;G=T>Ol6!Wfn&B;Ia^5+RM#fsM$u`{}4j~vikV*Sm@x?s}N z9Q!r0S{~+M2E&cPj;~=o&Zr+>I149#Cx~^gb}3fVvdx(EdTeFnh-Pds9>(iB_MmVPx~a;U zCZWCVP_gyY56dmSx~ihCsWDLg8E*ar)`mm9C|?ZvweXfFC338`i7o5kCuv;^oh_4h zR5a~9aqiTOHHZ<|Mv*i~WOM7@%XGuXqMRkfT`O%tQ1Mf;aDVQ9>`?ekc}};r^i7@O zlXsR|M!8}k>wA$!-n(O=md}6mydCd4E?b{(EEjl@Y_5~i>`HYT%kPnM71-po-l+~| zZXCJJOiV7TX&i8>u;}eGo@kpw7$0kRFW*usdx~z3-i0uw?=o%Y(er8u$;bSq|HH~B zgQ1c~PF02@oD---H&s>^_#!Ki!o0eo(+C&NA{`}y&6yY zHNBSPx(DJ&i<^#^j?N=};dx`q{R2_Sp--l|pHWE_anB*wTrAFJdq=0}?hT!HtUiVN z%k&4*rE>VzxOy@-&P?;4YJQ4COFCArS-dZ{&ApXE$)XuCq#ug%V|mh;ONe-BubLi7 zpcx@rbCh4rm+f9>{qhR&lz(~nX-zx^g=8rfZ!wgVp$cY?%~u$0g>DM*$1rtwVKG_#Z3qSH|9i zXvcJ*qBNPz)1J5(To+U*4*5>{X0aryfA}`JYj7A!=kYltm~AlA;=(L*_^L09sxyxi zd}-c3opi|l`l$tn9M=5|%>@*fqtcTxGcNk=%IxOhd3oLOz?M489Ucw6RdTM;wyIX& zq6%YESCzl)ZQ?!p&w?KJqw=5_2@0db(}Ekf9=3n%QZKbze3WT5zO~0zY06TYmQVyQ%VRo}|hG z(}2V%%Yzb?copf$D&^~UOV6R{BvLBA5|bLrha+jlN*Zs+PHz&>wP_jUP`6XFM=S*T z*4<&|rJCe)`*g+L{3!S)(}zVS+J>b2Y+@dEEawnIQ6ux2@KXl9DxvVs%`CBOU-KSLC|PQ4Rw#>p5eiTJT9|Q`r~M_l*cn9i z<*#y0HY0db-Ff=@HkXmzH;^58^2mx^T3!2b=2q^;guYhhT+3_Opwr6Culg{y6Zgu7 z?0%&E_5jw?I=(0V3WhK1OruY~El08?4ISP3eshF#t`9jNOC+t&XIr%0rK8}m_~n{I z?-|^x$3IHR|7eRhk*a_6Na-n`WQMpS#FBhMHC9hJUbtB_)i)#MfTuw3IYZf&Ym^yw zARqw#L%_Xkx5nfpG;mR(#n)2W^ri}4w-{?c@vatL`2Iiz%k<1ET|J2OsQc8m(F%Tu zwteO{D^V+4kauIO=xK+QA*VlG+lPsR81_!hGhQ2-3xcEw`JkyaTIyD^r>`j^=!K zXH4Dk+`$hxf{-Z!X12Xui_zcLHH5qrem19^nR7a&Tdm35Y;Y~9WhbQ#Lf>B)aWA4; z7j(PJhmz`U^fYZIO52@#cYas&N8O$LQfH^odYP#;b;@g!<)tyJJ!4~DxEwu9H#CX9 zqH=$TsH~@~4UbbQ9Hf8C!G#RDQh3~K6ce)7_F!h7qT?D~x4fe-yKR{08N-J_kkx~i zHJHok1Jq_%3q>Apx1U%M7m&PcO_C(l6hNBdpO3to{@sL$A=T?k$VU3HD|DJ1y`f}{i;K~{f9A?jRR^~H4lC{Qf9N)j1f7&Lo>(Z^adwizbM>X-X|>&p250-Zo&zn+Hx9&MG`R1@dr zU2pjo^-WVzlIq6CPfWT&ygX5unkd9Yn|B8UDBZy$oaB>OmJ&?yMl~QL^CR4V;Z)^` z2am2Xj-+Fya?y8p?s`??l|Ej@jdCqU!&(ifs@yS(8bY&raE$q*7P^|(aN7vQ$J%Cv&dD|;Sy#v3 zZVv!t;FH_mjAV7N@iYTbREVO+Nr}scKzALO&h7xuU(&9ExpKEtuxKWm$b#15;^G8W z#FsnJkfihT0Knj=^y$E+ZL^N@1~(J=q>`{H-Ma$^oQ^@QVC|wj%u4r@X8p9%8_~Ai z*~(-hkV$U9j>fs`=`U`)PLbO{;_5t|ye0;4c|4QXKGjsxyT4DIa7vu2E_pJ!Al6~k@-2|3}DqPb%Pee?`6%NaQVau+YUH6f%5I#OU&B)BIa{4QKjDZxQSj?W z@hPwy{{XY2v-1c`Xw^fO+sPi=X?!)|Z}>u5NHpd*R#zm+J4nDtgboP6!TMKZpy4if zTEbxze!FsG_J{%dcV!M)1CyIk>jmBrUxBhpyeeo|UKn00}mm z<}6^!OArCu$MdY|<0w*1CfQQKVro0Mo=fp(!?#{9@g0lH@P%9@oxU|FrXf7Gj|Due5C8=I?ww6@VlfI+ldV2d;YkDk;iSl5*9Y?$$kD!X7Br zPAucQnpadJ+So>zVasIW7#YW@#}(*Nc(MX)=D22#E2!iE6~@^SuvGrPm3kOlRQY}X z0Qd`HDpHR^pNafH+J2>{?VQK4fo?b;kPkkXBy>Fbclpax@aCgD-XPcRbr@uM1d!0(+CZFwdCdn7d0zWgiIb|V$Ao2!C z9TZp6QmM~QGPbY!WJNpr8A9Qr)OTJi@?0>Ce7`ABILFP`jCQY~?IVZ89uBacG7O$V zl^}z)fWt2y;~!B~LZ3BRC)IzE*NKybC{1){Is~gO$BB@sDpa0wJ64+pZ5?n_Vq!lG z3gM?4NvG%e9Tg;+jF*u^ZquHio-yf8&Rc=7c^8s~*%W|u!l@t1ttmBVqbDe*c`;v4x@AUNS<3~2qx%3N?!&PXH~_wtpqS3>{lgnn(*YyLh~=#)v`Nal6mcqap{Wlv6%W8PjXXk zTiW07N{pp@^4OC|u#;XgEx(CwW0EpeqVk~K!NKZ>@%ODsyajbS?UTg%mOT_ezsf4; z%lWamc-OMm*ZjzyFOk_5ZhQk|kcc%e6zWDf^ByI+MGuk4;YN6;=-&)<4K*$r!usq( zJe&5xbm*fBsz=DfJgGlYYq4RX=g6e4wYHlX{dRV}j*Capbjxir>rHf9gt%!^NbVfU zUOmNjo#c|Z>Ioy0>s;rBuBOqhr}%l|2^FP)Gift9+;1%gc8uc&L<0qII2-~7rsh*~EMt&_N@Bzka5dSH9jm0V=(yCZBg z94YJ9^*VTTuQBJEJEex&<|b9xxl^3+fN_!2@vd`NveQdx@-?xZ7+_@c8L}EiI4TE0 zfI|%R-QN|@PVuufQ|6SSGfkc2nXKV}v}Hgpr)gi8JReby*1HJpB>u>=nRX&N58g=_ z3a-GhUzm_a)1Cm&HFuVpno847GF=TF8hZswJ2d+Mq(QB;_D&`AcwVk4+tYn17;;3J@Q`WPu zudZjmgUNMea9UuV?wuC zEZ*+kRJFH=<7V84=OAa&w0BTViYwj=)RRzQYZAiD2hA}*C>(YDIu0v7@(Ezs73KJf z-3erhBqMP+0R1@n)kWFb!+pl=yVA8)^58FSGr9M3&$d3J@UDfmTU&PWt> z<$~1mTR8kjs!t@xO_ud8RF;*cogf#l$4gIuM8bZu-e|IX*Y_ln~Qr$Tlr$M&xkL;m1Vi}Bz4*V z8$uj&jz7k(re!%w(N;%QEUpPzyR#5Q5|@-XGRe!5IUxFz$^Kr#jhj!(2R?_I^BZqg z&vkOeSt}MIfu7n~%%MbmLGM(h)wKItb0f``Rv$j#2jl)Us!lZGoSyv-8n~E3>AP6R zy782EI+V=~r_Cd@haWIcoBVyd)qnU(=C-_BrP9`R2VfF56+ys1boL-;`Bx;dl|8RJ zvb(?HcxxXuPubf`Sl-a@bjxizTR74SQeYcx!30Oh$j^KpJ$lp;Nd}-E3G8BMx=Skk z*FCYvBfe{{ooH28zNfW^tqPwD->0G@yzpLwsY~Xyx0YE-;xpy?;QYPDPd}Y<+LwSQ zv{7@XBHgrqbsGVfpx~Z6dw#XLlS;_Owi*-oRi*edCgS#g1zuR{32kyOr-gEX+$*qS zkVblBXB-YbmA`8>?xo?E)gzr=*{3%fl#q91h9|aiMnL1XYr4{OwA=mx;>{?wp6J5Y zHLI)J>p?#6-zQZk2cF-N9eUME%iBwvX&}^E@+OMf;TOq3>4#Ss$zValbmVc{igab~ zUG7CT)RE>hct+)SeVXtpDBtDW60D;qsKy2dx&3e_(tHQ6OMI6$chK9aFqIjJ-H=Gm z0LDS}Jr8>Jop`9~VeH-Pk3^eHlStEqbIOy>=n%?rjoms9ocjL&`tkKwxVD7~vpOS$ zE>{2(mcS$5IsX9l*M&)`P2agvy3rMEWs=jxt!x6hbq5j1{Rss0!Sp|cbTV8?Z3WV4 zma1d`BSz`GNTe=P1LnrSc=}fkHXPL=ucKP}TRBjk# zs*#KgfCu0`Fk#U&=yhvrF{x?-=2(M+8pJK;semJbYB|BzD z`vkH@$Yr&VY#;-Irf-;>@yPA#Un4B;nsQ2w+VgvT$n0)^&G;85*7PYarIu||Pq+I% zFb$-o)E+aHl!MQ=aaT3HQ%tmmAiBFP!`Y?OYZL?birK*h)q;b!q2znlwM!cc)MZ|p zR!g(K{=H1Ud33e=*ZCNu#8!V~f!9&h5!u26_De<%&5i*P9stgIAFXWK_>V-l(nrn_Ojp!5+q@@cyac`|WNUYbiCuD{k6uFXnXNNjU~npUS;l7BAb< zrz^X+XR__vV>wckoTRN~>Op7XO%gfwzxJYqY=5L)$lhtkgoT+ouij$ISuAOi9X>$FGR=vLA(`tHT$!jn6 z9+0i%pDr^BNI+I2YLUPh2iqsFdePOqMz%f~(eAYEI?M}&f8EI*7B(2jPzdf%+w02S5k76 zjo%sE$z|b*ZXl9Kon3Iz9jC2i%i;@-KjHPA@<<+emDl%$i=Ifx#&eIuk9<^OXDU;a z;_Q@uTaFP@qObhlq2?EQ#FrKi9lgY;E(vGy(1j-%ImUVG!0E@fdB3-{^dj2b<|Z<` zWt-(vFmgyebAkvz&!@mjmDjYJy}oSfl)D|Dg!M1%&2HBA;vgegO1WI0;o4XaQMrE( z=C(Dz7v4vzUrS{3MI5d`RXiQ5wOC^WXK(c9x1~m;sNkQo($e4LX5yT+>~eGKH%SCv zZ@9R4Vy1bPpR`=~ou=Ey_<7%K2YsEsz3&eq4}xu{*jE$GGyT zN^~(R6HVUVms|OEMan8mm6mmX8)~*XC=>F42!+#&OV)PCaXl z^^A_VQ??>Jz1Q9U00j|PX*!!lWr_wZEs@8VpmH}JI3DMNQ)!xY-1=LVe>Q#I zXPIq=lN}0<4l}f4zCN|*$KFk^Guw7aFGG6z&I?^B?j=(Vv?y9sEC>V+PDXqC_wCZW z?)yX3H60PBmf|Qp_WMzcs}iJ~fzzKag z7Pl7mrKh-#HgyFy9lg~@)Z}BY1bWt{lZCgr-y_8!E&|93u+Bz(K_CP9`c^WMP)gd| z>5_7jY3R{@_T%j93tdbkQo>YY`@EhoJr7Y^9xNh#a@b1&J9MiP&jo*QxgV*mX-k?M z%lg>zYt!VHFZI;tnpx52g(6`*hd3;E0fIpP06vr@#pF=$xk#1O%LPCfV;Ij~zu`%w zVRlp0RL>eXwu(bH%=;t$EGm_54W$GTb{zS`=l@@;i*@jx(MsYK{>1x&pgaX70J+xnqrP z=Dn7|lmgcCq50(Fb_n|S$3yL&2LAR)bUW35~1zAe%xc>|xb$`&FT zDVGEeNaqCLdmc}2yi~cR$ljWL{{ZmDRMwX@ycMfnc#_)gDD7sO`#dL^CeW^T2Eo{* z=anOZPfFaDOJqfpaF91D7v|hONBGx=UWc>ym%{cwn+sjm)9rO3Epayu`;Uku%W{p_vEJ+K~1OEUX6_amvhe}yPJkm(Si11tjSoS@8 zdwW-x?By+d*W!G2Svr$)eMZ@~q#E&>0+%kiXO}C1^A4v2gU&swIa^V)vXS0GppAqn zCnFpXbKiCjJBq55pry+Et@(arINNedD;Y|~d4K0X;vJ}@5P3f{5stj$@vZw^Q(Mxn zB(c&oXzt^D7FW4ZBJqR6Hz$vL{&k!h_V&G!zxDW<(5mTFQd^zXQikO1hJ-i?9-jDs2O??dv4O+C+pI_^_>^#PjR+i^8@ewZk zJK@+h9dARkzJ^PIZm9*!Zv?A1{PP@qhrMuG9;2x179V1_({3#wjR}q!+^kqRWdP^g zem!ei)Ls@2btR$a*Thq-z1Z8#ir+xg8aalb(L)aK=&`!DIVT4M^#{MdTGh7GH2a&! zo-nr}1rUx%0mnS@GDdmp+ogC_vCjO|wqLG?7c*NDUPq!r(i`1ALd*lnC!Xwc&f$ZR z(0;h7+(3Vi|XO#c9cde$4u zxGf%7&CR<p;xralX(HPPVrP^bD-wlIB=pDQjC8M*jH%g1FIyTaiMt%Oz2cPz zewJi0TuH+{xB--O8ObM*N2#vr{{U8=>P;3)t%)_hk!fxeahW$rFnRT_b`V%xJfgRM zmW%MvsMPnpKgi0S^H74_UMXarc|Kx82Si=lLCW*VWf%vy*149R{^+H=mj>QNCFhPN z3dE8cJYzdfSe*4Bdsh}7H1(*~tMt9UuQDe$Z4R;vi-_S{aeEp;Y(kj>a==HNGhmU> zgTclRVk@EW2CFQ-JG9g#i)Ni6mBgg)+N`H;Na@KV2aqw%P686Ai&OhOeRus0IiD+! zbjY>a3xCZLI>G8&wX?f>Mcjv~;BbH~zIA&lo$G@fy zFaWKwO73dg{-~!U-`s5KdZnXUXq#b?6|Kw2yMAVkWso17WCNTw-rX~jE1lF$-Q1Bq zs_ho9mPkr~K2^xZ?16#D7$EVHjFhPRJWL$BFUcYlwf9c?JI9m5_V(g8kIZE;q1afr z1LorckUETUUC)K$)Q5;x_{9Lz1&~IVBte7jCmVp=MmhAZ%)gu4+kJmh>)VmGcM`=F z)JhxXP0HYd*9RiArSScf+RR$3JidH${h$nuyS%?I(>TY!TKcyIEq|};Q_76oZi_ml zjh3UQy{@38t;q$xV!aM}*Pi@DlTFj~3tbA{93o|xb{P~NxjEbp3HImdUT$T`sLj3F zx8BRAC!~5_=ZxLo+}a({y5!+;oQ&hJ{3|XS%gfDX>S@LSh+%QFc_j5cz$d3YO?>4% z8k^JNHH_aij)zTWisXlp+@gYHf8yzZ@7(%v+N@scR^s6zCSNj66+~r&W9B2Ld}Hyg zt6^sxJAzubx1ql>Y^x$&-9%tZArwMI+Ks_Ga64pm{{SMQ)Gw|k*4o0;PPv4x1Iup7 zhK&#qHts>#D z^t-F*^?g&pjEtznU~`OeFnHTpL0wyGnCTYVcRcT3`$hh$=yypZ(ieZ5m23gH zF!kKsdgCN|{U7ib!qyM)-fy*N_7h(HtfZ3M+lfg~iIwN41n@ZP*0||L@k%?t>&WZG z&dB0^A-0!)@eb3$8XQ(;&p=pG@R)-wY;nQvJ-a&4cdzvx^)f-6%B=jSX%zhC@cS*gB9Tz6jAaothaCWDP6>Hks4u$Y?6IR{Hte1xLEag zE^aNscXdlI?4Qo&e*(D9FRl6@+zxoBYsxUEl5_%N2RPprjnbqwXiWSG-wz%7Eq9rMQ|r;ntw#RFuXerT3UCgIaP@Uq*6T*HNL51-CoJUWZ z*$?v+so_rx$03nCH>Ine;udj({Hv)@rn(ur)gMtW;L$WqE`31hR?3jBcEtjMPe3|% zCb4v19Qb!ylxcFO*skYe65G0xB;fR5Kb|X=rD_yv#*>P>1e<#QRic$qvPs-F?g5D8WRu9s^cfYE z;LQU}y^>8|Qu5bKwNSIgGY2eBL$qY$I0HVU`yVUnzRt3RT|eQU`4x3;WLLhkv%Q_x z#(2`u7kK1+5_SSc-g0yIeeuZRv2*w za!QXna;LXXy8i&E`5uh+OWzqopz88y*4lh?MG07<+j2(=i;;o|7&#q#S8FBZv`HJu zGOEZzs}sQ_WDM8WP{mSCRFn8LGMp8Zle=f0d}PvJUGPn%9GgWc>e z2~rm$%VC~R;s@YGGeOm*lGfJFaT$_13p*zTv(8RBoOAEZc#@)&WRlv?@c#gYG;y@7 z$uHF}E~S=ZI7W+L$sh(i;Ea+%JZC*UDlJP=l*4agg+sAaA$Y`PNFaUyocq)&cS$v( z{KNg1wK#yX|)`5~lUmj3`(TZobyXjT_E+rN@N@tV z#<{n-fJYR5T7q#YJcH026O+Ntc&@6nXGUC+=nA7lt?lfSN<*mJCHaiA@Czxy$j{JV zdS<4&xwVf2iv_TYo`TdPf|I&Ib|)}cM@L7ZXj*( zMs^ika$BJ}KD=P^F56p_M>!aw*UqN0tsG0<9Q(9fOFhpu&p(#iFF&u?V^or(K95F1`b#@a0nkZeqn=> zRAYmaThON(zVrJlTWrd5zJ<#~zI`%L9+msnnWfq01HbsQxtG`V^&Hn@;cI2k^oXtJ zk~rm&x3Y&jSJ6gKI2>1GY4UFR{zbuA^UFiJ&^$w=&!Ajr+MVT++89cKKi%Zx2OWBz zJNnlP;#)li(8m?8i0$<=g0p}&aC&XVa!KTzoM3v?*NUo?le3TFzby%JjAYu`lyA~I zUkhlrk;iH!cpfPCukQA&u2>ERKJxznLB(akbEjF`J+j;>02N}8D9`)YBPXcO(~8li zq@KGXJ*;D@CjS70kRqE%Rkj$su!#QvcO#M4Imd77n!RD-y-LKRK`quck0>Z+Rs$L1 zBZ1C;8pao+cY8KNuPJDcY48_{VeuA{$YoP=0mBU7u=U%4fmg5mW2I@@zxHhDKbWKk zaGxrJ-_(wOL+ziWrHNGV@tpk(B^KoDCaL2cBFjcM@Jue8kgE#t`8~>>aqnDjif=S8 z7HF_tNIuPYkvm3$WLG2{1!IH8a&U2wP6+0+#8#zR9E()d@AE1Y<+SCxmv({(M?U0CV%P3lXh zS?iZtj1ddlMumwosz-vLbjK&D{{TGKO!lc^ZyfW^y?cDzkN*HsuBy1&Y4Wn;N=aRj z>i3#u%G>_{We>64Tfri!kpnBpSQTs$&|^FJ~4Ch+qdU)Vr^u`jF%d6-J%c)PC>_B z#AlE>{cFm+L7`dNc&A3x^!rADUFuNCVLT&N&3Ga5@YO3h?lFzIv(&@BUBx zk5;BBPehK9tZwr>v%%&vhQc%Fd2H|p9;D|TYM9gB_U_TW`j#aIdW>xY0AN9<>6(Rxr{zI*U`>Ixti*3SkN6(MRpGNG zh>WD4Ew}#wKfdM?Nw(x@->H*JlkBNHljkQA58^zLo;U|RJqA115vA$(+Q1Q;*0qrs zA!QsKF~~T^NaH_Vr=@dcxc4P#%I!bTZ^+-0GN$=TUOv-pblpbM>25?(UVXsI)E^7&N*!43Mp5dsVc2m?sPTHM#y%r zr|DMu3hH(c%_LD2GX@I#TaHN$kbZ2Qy!v*0n$#X#FLOFt&bGVL%0hvPl9&Uo@>g;H z0DE^i8SAAtT0Zxoo1^a8Z*tUHb?1=>+7XO$&F03uIL8+0l` zKY-jg_N<}i+1QC@^Iy$uMyxm|)RX-yww#kzMaF*;_#IyBcW*=6{A*)p2AMv&_NgqcqJ*GyKP0%zD!9QI&Tx3^jPqVG z;~x`C;&`mI*mYE67b!&bU>ovx;%tiT-GhL$NFF~&#%$2sGkG42LN zYsAc8ooZ8SYyO7xQ+G)9IV6S)!zAfyo^c*rrLfLGz#NWFPaOBI9_I5?wUTLLgZo0- zMP!w3wz!ZfZQVUL008PvI{`}-Hy`1pd+NL2YmS_6xtrrXQ|&$rv9{E0Y;6=lg|Np4tQ2L&s<|8 zjybG|%vbL`h`70wi6*v_Wj2)oNM5+ADpl1D#UoJBg4ifdwoNa929^Z74^sH-plI2fD{{RJwtG0;Jmgf5I+G|@@ z3AQDPX5)j8nYw|TcK%(dB$AtWt*+zqoF|%%G1`QK@{@zXFm>2-yoM-<4ub!1MPA>7) zEecu~`kl*7sask3jTX<|F5I}=v4G>R3{FYs12nN-3%wPkzqlS$QAq0=qPE7!Ip}%$ zPdLvex|Dfi872KYiq|>)6|{RKlJid7#3^Csk~f{%+@pXpGk_Ny)|?k?_H5VI(V|Ei z<%g5Y1ArTFxSz?ChNrztTH3Bvqdr642yvvJQ0S@JD+dma@uQ~ z{XE5SXCzUh1z8}Qza(2X+FCGa~k{2Vc4l~x8o2J^QrG}iM z-HD*nZf{zDv+6GomPg3Tk`#_l7~`%u=AC=to3hcHOQ(^J=ieh8jetJs#&eQR2|Rrb zX!8ihQBzy)&ApqNz4bAMiE|CZM?17l9#`f`0}iKvNcHEx6k6z_@<|fXc^TIQglM_y z201?C@Xu=X)*^yUr=WWWZCTmsnnm+?UqaDs*5hz92@oa#{r4q-JPe+{(AE~Ar6!P8 z8>=$QlB+99La@f}xftWMXImFbo)qHsYX1O{q-m?SBHo$dwY-8OZ6&9g@si5&ZW#lh zAeF~Xb6pLsw6?ANojew9u>}Eb;u3kB9(fsJGDmJ0^{*EbiiLLRyQdrL_9-fQ#xh;Zf4eHoGsz#~M_#p%k+iy>n)4)YBB^Nime@CPc|T0`BX>PTb5h4* zDt_s{{{Zmido<*d>Rg)E^5JElCx6UMF9OskV43FzpOg7fH3T1F3P*ud}6ys~$>T+v#YGFw5Y z_?0G-)-mO)103tLw&+5IW7mU@duO$7pAFeGmp4&KBv(l{ot?w?tO3S&JafJe&d4gV!19jMdh~y7+!X?f(D*-|#|ki+5cHTgtZ9>nvVmf%2hdd++B;iBZSNht*H*!qiOvkDoN?dGJq9`HoYIUcVdA3w z4z+!cA@K){F1{T6Oz}Ks+DnUVMoU@Z^IK?<1Y2B#-0mO)j18x*Yr61MGHO@Tc;`|` zAfHo2HrDMTlLff{09H8XFT=6VKQ91+D(h4Bcx8x-yP8q5>140?rkOE&`5m3acS^=J zi_T&=nO_-VGm+E3e{O1&H)Wn!FB&E)KqxYHbH;xo{{YvoB9d{YlwQ4mubG=yZ82k0 zH0od~%exx_k&Nf~e(6H08QFsWjqh={GLAboyzyI)dCvkqdZF%XDO6LM_1DcZ`l?SZ*PmIgP+&btBOA74uh& zd=Yiw=?&eklMTx}uHHx5-^wUE1=_5HWq*u}=YTk`yTr~b-g_K0A%z95Cc=Vooxd#&KT3UXB(qjX!kCz0}%$0*dM|A-E_b3nPS9Jd!}^ z&wr(Or-?4(I<3;hGP?PWRl|S^g4}RB)aZk{vn@AxQbaWOp(OJgffE2$C1xGahmWYIeS?1ZMVx)qv6!Eec~8| z_Q`K_(OMZq>a8K0%Oo7|dXJfgFgFexy;HoqwYW0Rr_9%J+{nT^jksbrU^&k@#yva! z8&;`ma-VBhwFMoR%dOk$er3AJ<;t(LKg@db z+mBFs^!ithp;E2p-R-a5aNV{NDq?-!ddl*}g}#~DIP zGmZ#f%nmzOY-zU_*5=9&l)&3|`kkentRK6DgpvZ;C!jvwwcp!W{{UvqHSD&iuBnM1 zeoD6=E_04M4tk%hUM-}#RJDJp5RIUODI8xDARW4mn?U2 zkHOIwT&-N)NNpjSQ;47#stw0NGdjspkp8bo=6;3i6pT|A+_F-Ld9ETXjgLN;E(SN zZu-^pPITg)sW!#4Gv?H-B)@A&yxf)>S(gWompt%EC#EX(yzVU~HxSPn0kk8xQlNsv zARL|u>(-p&;*_53w)&$7QN0oQc9t_oZVCBhkLBE_t_}t|^Xq}ur_-%`-AY-0*Ch6& z2;kf>2k|yZ`^P`awRgCzn;qyq;e1! z<~@plPG7D%W7yTZUk_;7Y|xmcn9kU8%O~9%aM=I>(1LjMJXfJj#*Q1AtEboSx!W|P z>|2WMtYnoQ80T2zRAJ^SfwKG3P4slAOKX6$Ya=Z z$QkKgO?)(?3Uy(9Zm<1($(F>CTUxcOmp*UVrBbDoMluN_Ja!qu?Vn!N9C~Hdjm&ae z$k&m1uI!Mv10eNYj6V*!=M~8bC8vEquj{EhyP*lchW2G?Wb(Ys6gUF|8D6;~gM-IC zarZ^*1GywaJ-nMhLa`91fDQo3JQMBL>r)6iQ%(<5YfAB+=2oY2z8V2aG?UC#(~hEV*DG+bNbQY^aBu+UJrrj+ImoY1>Q16lms{=W{$X~n zVYBL%uW@l~41Rvn*(=I|Fi08c^vCIgT;9T(gd=m?FW`8hbrBOIKbIqTOAlIj<*iW`I$?Q`;cz^i$VxF0VBV4P#x zw8Ki(qb1}yU*u!x>m|+8`3sg!(zAueMJ6+maeWf6bGCB?80YUkB!QgfG?VQxoT*rMM z+0gl?pWWq1b|}N&2cJ*zsY-BG=#%_O_LgmQ7Us`VM~YR5!m%h0q#ehx>PaAR&#CXt zd3TO&e7_#(7x!jWw~FpCNEjfb#QcL8`=to#GoPh;IZ}hF)&1)5AmW*L7vfDBF~{ z%INa15ZOcGpNjfcjj1wf7MeA@mv;hSLm3R4cKpZY8S>5!1~&o->*+GG$0QdGm1xfP z`9W>LuzG$cCp_aht!l->l`3ybEB)=i%EMOVyDZ%5cIG%_3S(iA7y?N>PbBk>m_EI@ zs>^P(#>`^gt@G|y*g@Pg&JSVu^vE^kL2_P9g(c0Q9mUV~Rm{K#j2sYHkaiq=q-TN{ zW2YY36_-AuWD%b;cyd8bOKk(U>7T81)1~ioy-1v_`AEgga7@iUcf0OF>K9-u$Qb7t zKj16Pb;y6Uyg{uUGS)OQ&aj4xJ&PU)Mm_n!=NKHhuV)OucL*3bxLiXXFuw?GBNp}zkBKua(xK|JR@F7NPpCUd>5;pf^{)9Zv)JoTLt{eLjpfL> zYsHG|l??0%PzMUbpzZC~jDSV`FT_?Rz}d@bD)}oKnM{NX7ho}tqZn-G2k`>2lw&0% z$ee!@xF&SgW4C!#RR<0iAPv6VIl!ySs6%ZV$t*G~il#y%Ad)=APTY6TKEI88{R$sg zsmPa4#NxfRk*?k%^Yu6`?WQROiv(Cgs(`p7ZvYH(I)6IH@lT4ZwM(S6hBroC!I_U4 zIR5|-TJ`0ObLOWnCWR!axXBxT2q&`pcZh8*5m#eC%v62iM4bJ2uUJ_T#!xqBN}R_WlCt@031brEVb3@#$@&3bHJP~1rz2Xg%G-VCt%t+S(&zgx^DwR~H61GA zOFQd*t|Vy;fSs-g$SMz9;A0?X+OZ{)DJ{*t-NBYk!JL7S8snh#u1b`gS2p^u>-z3z zC8gP=7N2bl5Hq~)vPN0fLx6)g$RKh^AmiMgdBdT;hT{s6c`?SVB1U^CzyR^zulU!S ziJP00W3oA?EBmJ}0?VlCQ_2L37&r>3SgFrYeKJV({#9;EMz?_tg_uaxmw6a~*#zXA z^#mWMIQm|YoMPRUmjtb5XzV^jH;m0D3qE#+2)z0qO!3d@MYY7UT*a~|?$k;db|5<# zV3G42bLetCt4eg5(o6CFyPZ+d>RrK6t?ZbJrf8`KQ<^X=k>U4kjpL&qBi> zt~+zn*1BYqi%We!GgTXCx|1KYS=dO-k;bmOG92zRe{lwq*B18D zO(~OfF{*FNlaZWoa7KRsD}QHcS-#5u0D%_L#@N!e-A3BlElviAPmH?&JdhZDg2d@6|qXp-F8JXYJtmy)wSI*p*<5=J`l)K`;V8yazOg__s(U)RWLHg{&G zo1y8`EYWJZjPtf6c+5FmAiy~%oczPnr&Cz6_;T*|P_@&!EaTtyE#$!$Y04U0z zob^2O$nV8+QpWo^w zRxvUKB%V1K>$v`P)#zcY?Iv5>b~0P3%kKG~3UiK_UY}E5ok_vrp%_2cwf_J!N^h0w zYXJy|-bovo8HACY-^GE3Iqk{z@99}uhLve|s4k#c3~4AVuNfz&E?1n4fxyoI@O$#p zsXBAIenq{@esB66v{tBGp$-UAa!xrJ_Za7_!0oKmotP zPV62)BOOQb>y=7;)aIqpf_7(hYa^s_NvN?B#q)3H3P8?5^c-W?0P|9~wt1tm-;IiV zrFGmDaz6GsB%i{zq@qTk=N}K+;o>3e34#%qlqP&H6B?T41^w>bmKVx z0QH)El(1ZBaLBePX(C2K2>@4KNZZFb+B@~*C%tyM@u`F5=ChCDB~mX`O=%=Hvs^l~ zeqF<5BY6oM{^=vz0CC?O(mmz6+XHZ}b}!0Hko@C0&H?9;M@-}Erzdj%V(M3@n?ospToR*vjHScPj&h z18zAOi;MQAR*@STk+BRzUCO-4CDc{*zS;w*Gir|4BHmO3ayKvln+>lN){DoT5 zJg>7P=5!pZDKfJbZc7vFbH;Puw+F?>S6u2;*Sp)kq$hdUHF=xuF@1tHn0c5e?i7vW zl5^N#bq75w&;BPYvv_(VBnQs2Xyh}ijoDy9#y$2N_0O+* zl08mX!%G;l#ii2w zSsH8?8fS;Kd4$+ZHNHTZe3r5aT6RkM@HeM}K$JiZ&Y`4Jcwjec2;w=xyC&}{3;6{wA$W%vTw7nl?*#kHkJpFP5>DscCRBS zs?_B!jU2UO%{Vefsxma z{{XF4j!nMjEm=J-c7F?XtH1b6HJvX^Se|yX^A<*pkTb7C_j+Nt9B1*(dsdGe+GdZY z+g$m(+Uihz)0V>-7-ao1UtyNrQAz&*TO1V{dw*M<1z>oy#Dl{6JbH<<_aU z1m`$E-LFz|5{7(?fHSwCBRSij=UCdm zgLMrnQ?%7(x(RP1pE_lgiBs4f2T|3JQcinkz^Q|kNqbc7eSTl?E`0>C&`|ojkHWcq zTI=O<9dpFVdv63b$S0D|JC&p&Mb6*|PK!41^X_gtW9ztSe4s35rtO(3=zQN zq3Ag$fm|4x%5>zD=%4lIc}e@GP2I>#Ihyuq8HVhYY;9589CyI{t2WXrhDh!g$qy-P z{KOIgAZOc;>s~Y@tlR7TYIDa|sXW$%PUu1mu2w~Sg>I(>PSg7JKGk+TAt%JL%@9bH zc9SL<$pelto=E)r*0)+N$44otYa`m)5f$B|Ln0OOfaG)>X9tgdyz+1{UMOsA*)A2~ z3lYvx4aYg@+>Cek_vEWuO~x=@zHGboG$tBv+3niUouODes^F;3;HS6VE&6mF5$x>4 z3^Z%TLZ06L0R4ZZb7CgtD5d>;%9G}1eZ=x^4HR2ZToqxG5P*3Ej=0a~RiEufMYoRa zA|U?n&u{|s?s>>=pHHQ0LW_=zYySX|DL#W|xQf=$rNVD7C`JsU1E0JHLJn&_>rz%^ zc&*l8t+gRMCNgqy$vh6Y>T4*)x6RY~{7xx0-iA%iuWYREe-uGy48>3dByGs(J^d<@ zEw_lENFkQv%yW{cq&wq1#(SSm1$$U}PBG_t?PIEqrKFCUOKtaYTirzSZBLhQA?0I$ z3o+-fKb<#F@N_pYEKtoF-LV-{E=Jyf5~rac4gvh@$au+7lzV@{Gji8cMom9W)0gb_ zR&h_MMF`8tyOJ!Bq=jsNM?B*=KU$XJ=6J85c%+FTCClxP%UEKK2n2lCATa5Q^QTr- zUFWUuZ@TEox6qP%`2b0`?^{W>4PqSGxjD}?_*g*IUFmOMgdh}`3jaaR9Hf=R=o*mOCi%hlD zHCyY5n11nN^2xyHpq!6Te+uk$%{NMe?C?VncpRC0*FaPTEN}-n$vuuTO>yHfl5(H3 z(Ov!orjkjLYS(tgJKwMf-^^6=V`K}SIOsv_2jkbJQ?`lkSFYNXa=p2h%tmY70$r zN%ZG@2Xtmby-RP-)))k51xY_&YN*nbq0F{cMty9Ay1%o%wT+d`5|AYGN!qdF=4Aj5 zILObwYns)3S9%s1qGuB8p^kD6x4w3nt?_LVMGz=rZb=7`w{AL- z+zxtkU6I2<;pNWtzMf}XD}L?sbuK2cr(Pts@&PQ;e5)HBfa4^bj+qJuJwF`Pjb)or z7Z3aR)Vl;K+rZ_4-V1MiyM}N(aBwT12|=deKbPEeMx-W^MMJ1qjafA9Lc&NPlQIjJ zlO#8m0(_-G2MRroH31$E5mxM{z9~7MMCO<6v_9o=zV$3dl-B?u(eWd>FM{e zw3ev7s_9nOw^A&2u}CDtx|6Z9&N;#3=WourpEBc4jjbos?&P$A0StkfU;cm#pG)-glKD}yb9$?oo%7zt2kd+{U3O4|b zx%U46^^IMWm-VrQv>SNwCDhW~K+?q|0h?#a!GY)oeSpPQ)2?FFY?k`&(ntp&MJ{px zJbiQ2dWQUKNX580_Oko`0O5sUmwTEkTXnQYo>?4~$WlvkSe#@5+rQGQ_^!?=wEZu` zHup~*#;YKJjrc7LdGkPG4i3?tYgkK`QTzT#-i&##avQ%5SzT)J2w`OwyF_7B?F_gH z^B&(RBcbcZ99V+V^IX;~rdx9_hxFOEtEoFKZV@((xW~$b91+GwIphb;?zu~%{9fPZ z@;f0G*1ZltRGU=Pd}(nccFSyK0fyMvZ^EO1a(bxR4mc!d130di#U2@5cR*FMW=r)3 zNPr`0%5bBmJ7AN>Pqkd6pyAfSlX0>*U^NR<1)JWRZBo!AenDm<3jY8q;j#%V(l6k#1$5d0>Cl;h9_0JPh!0hWb}xw4|I-(x19@z6SSK)97mxNhP_OGPesDB~ii-oT*|P z499UC9G+;&%5qZP@8`JGtdDrGw!hVE;JiLmQO^({C}EFrka#>})K$mu{mh<9ys<9R z%L9&nn6Da*2~kcvuj=JZ-JWqB$DIN@n4z{zM;9zT{%P>&c&tZLS65K~Hxk3p<+7X7{d*!`;xUDE-D^P=rcT-RD zYfr=OG*WSDOLSZC-^CcT%_mLJpwgmg5uF|7x!9oPn2eBd$;NYAn*RXA3BJuND`RW1 zqmT&+cfs6Ka<&H?93J@{E7*o*HA2cOM3=9~a$L>SeNQEtLo}^<9_$9fjo8`74^PAY z0IfvVQCb+Tu3gM={Ko{Ihp8W(eAFDdloGopEOp8Y_yM+X;r{@7s~#?sU?h7w(l8^1{;{B)KWv76Yg`@jP@S&dNA@v zB|;-c-GpT$f!iHx8vMzr%lh2gVTKlx-Xy`v1)Z0T$0TFecE_$Mij1>)Qo*^1!-3I# zy*pH@m%LN&_Y=*~hVxUE8Es&+cOk<3g8*lYpUSqK&TFEM5~6(F zKS8LnX0-ccFu^;6Iy0*%T(b_@>xRMq06DIHeL6|mqA-Y*WE_S$$r;DK2hz9Foktg< z-o#3srDC3;WVc9`&nkdPAP`AK9lLW@Uf)mCphy}aZJ)YG}`_ok=r6fds*=lu~ z5lu$oNlFvtKyYz@J7bT>{3`X!6uY&C&0uGBFCl1;n88Rm`?&5#eZ_b%cenxRk=+3?i2|Sw{XNzJ-0w@3#%WzJA5uUvI`qJ?Zu5GMZ;HomD z!6b2v1Gr>$=bx=%PSt9py1&hY?`sw`d&yrkEWBS1yhn?6{e-P%$A1RzFU?JuyYpx?Sd_p-op(xVigf!In!_CRLAVZO#;fo<2}Eo;WAdtzDYpcx-KK{{VZwGyqEY z%A%3f;{@=(%M~-Gos@s3u3Am2vbK~`#h3jeTjxnJ=SZVyf0X2BKQ;i*J(s2hOL0A_ ze(6<`1XW^LvLXjLbJ!4n43X_t)0D3rI@_@~LR`3L#k`JI$-#|~oHU$gk~!n9bDHO5 z)}d`i+e(RND;2p``M&=E&48tM5D&^u4?TS=Y&|(m{qN^yU7IXPEyHP2M`s|0=Xd(e zx%s&ygN{x}IODJ5S8di2Zv*N!?SCby+Oo*ZWC!k$MsbtD{7+0&$#SoCS@-gP@Zj_o z{{5tqYq+6SIr+EwXvjg^!)@n2<&FU0bgZJ)HzVZk7C z-yCg1qK!7Xy+1GWI#kr+(=6X=H&R?f_6ebh_b4s5rd$Gv$8+C3yVixw_Lf#_BTID? ztf{$2PceZ6VEShydsi&!UNK2(-}U`@oQ+t0wyz{3%DI*~x|W7{y5?z@m}`nrH?`q zybY14Tgs0#lLeW=?=R+bxKiXLdE;rS~J8%yeOS5}drG+X&H$r2+nm%(ql z!5QF_(;tsorzV@K*}PtU$*uliHZuO~6P$sZoP27`&_Rt&7A zOZ>$MH~@F$PXnAEYKP614I&+gZKAh?F4va|0000<<+wu^p;UKZtb;j}6#LEj*BuTf6MSXd7YB(XhkNCWi&VP=uk~?o4mOs zi-p_<;sNeJ13sDTO>S9ulg*J*(!vPi9d^b6KbHVjv5Il#(T6qNk0JPt;mg(W&BnKB z=14DX!?Qo{F!@OExC3ZVBLE&U{qk$ed~c+tkK-sUg}nC2Ea5T>jx!-uGCKWRBfdyK zLD@pATT95&UkW|n;FhIqd?R~pZtn7>(UL@zmf9Qc-~q;VpI`9a@t=a@@k7O{zxvyA z6lAgjiy3kbeGkw2aa^)ZR&1-SE_F8hj7T9dM}@+wuN(o>o|O4gV-YWOp?i)1{{R}n zK_Rzu#@c6_PKnSYZzCLK_iXLhbAkF&UN!n@<=b-wLJH>vhvGBa{N|FQ7cG0(@mw2i zqCXGEsLw6DjFQOh83AMG1N+=_>G;*TY;P_jYj;Le$pGUUPD%Yo@-?kmYBRdof58V$ z=sf9n^4&orA>5LO$32H5^5gLo%Yk(8$p&2*9j6DC8-_a8T(Oc#bR4O>3*qks>-ViT zqPFqF1hQ|B&0&(c>IdWP(zUN_{6%A`$7MNpwv7N#&PNr%*Ce^E*ZO9By+|8Xx6!;i zYXc-wCz!y3gg)GiZ8_tP4t+T9o!faLyR=ztpL1Ly$PO~cjB)AD6?u#tQmbtq=91pT zGug*A%YCf3k`R_t$6O9E>T6m@5rbtk9&1Jeqa1_mbH@kq?T?U zjb1xBB90UQ88Nd5a2x>G#t%;1@MyffHt?}qt=)DoLUGTp;r{^FtzHqv&8_eFG9?>q zGf&km@AZwcS`e~rTso1{2RW#Vy;gRonm`=cY$F@5g${`)U;;sp|g#;BHJ? zM7y+DEfvx@og0wbSD&xHU(3?6wH;#7qLvhQjhk}150p0tX~O;E+ou)iV5e2oa-RPH z@J$r8CerUM;?wNIBYF2F-{e9=9E9c1QIVVidi&Lz=vLq;FuwE*q^UUV$tNG=R`{rU zI?jGy@C_#wdzmX~1*^#{)9;Os2+B4mZ^!=ttye6x+Z*zt>M1Vb4swGb4$yj>a5I6& zt#Q_=E=N`?YZz48<;$%`O&%qN-%S?s%0k5*xW-E7JF(vYb?f+3tgfAH5?x7T-zyT! z+$nv)91lPSGhQ`Fdq{J+UQh2i?juLUcK;f>5;{C z*6~MgU>^pxY5YC;@tO$3FPuis`Q@I&qTIr{Vp5<8JExNE=lef;87xvn8vd zGP2->1u)#6jh}9;K9$V)f_ql5u@FRA49D#TVgnWjBO|5@Wby4r8V)s-R+fK{{5c6- zn(%6wu%6X~%F)5{Ja5R#0C^t6ud%Ep)uy_6nGC56j-gAZQNZiYF|=|1)pSP-%_%;g z@Jn%QTWvz(!%exc0^BqVOnXV%z#o*b0G!|s{Qi|@JwoDLIm4?dmL@QX0|4k(ISY?W zWALh-8{VSo{{XMlhaEYNd&BEIJ~g<8>Qs{Q*}l!@gzQ;%xA>n!UEJDu(=G3A*HROG zrObg0N)TB)5wBY{Zq7&NoHAX)k_h~# zZ$&M{5(zG5js=mG$s{SpGB7ieFagQyn$r& zEOCtPI6MK{*ENZtc!FEoSsL!zX_7fICn!v4Gsq-%Jax||rk)J4hI_;xjvZ?Ttf?={>qwfmT)nPYXy0|Xr9l%582jD11wh$otR z$SxyviYs=Nm^Q$n@!Sl6K~dA3jP*6zsl`PlqhF5S@C|9xNwwPJw41A2lory=t>lk2 ze8Yf3x_}p+NjYLhMo&&DX1=()(^lm&+X*NqL>qW)U={1Y>x}2?SyrX*^GjuK>+mvh zQun$R^h-~**-fZk7ZFaX@P#9A13kJN=dM45el{=QmKj<&fNwty3YIxQACb>F`?>zL z#aS=mvnnaL+OG&G5J>HUL=(i zO?FDSQ?+6sw7#r*@r;3k&+AiKi&u+xDO8k8ntjX{5J?lu6UPGvl4+cb$)BHaIT*r| z>~K1Q$4=8$eKs$&-rTuE&gRHr$r#({1~5NU*1Y=kCrzgf8@I~o9nPYUyv-HyE6)32 znM6u4fSvtw`S!(6FNj1zQEzw1*(!l~AbSpL(Zb`aMYz^?>?qcQ+~K@`aF@Ojxw?@I zjRUOls}cb_is6S`VUGh8&ja|C?|d7j$97_dRfMxTsN&-NM{y@xu{~%BeDtSYsIE_UlO|zAmIT zW9v$qpNlk|ID}@?R9-r(VB`^jySdyDkb7pQyNXF+p4qI>-Ly^nxQ;x)Na#R0I0ufW zkD>JCCm&-?zL)#kf0d4iN%KWCbCT)$=8>j0qj9TS3wv~ubM}jM^Mqq_5tUJv#(JLp zxvoFMS2~TihoXy0c=Zi;QI>1>DQ47iTdS2> zC5)#7Bo)RF9G?9vO0nm>x6}R!yuIdE)919+HHFiEwG6X6gk7;SD-w9*a!Dtl8TYS6 zlfrtoooFrX&>?P6vwpmcAO5{nN-x>+Qz9}=y-sga(ELL9l6XbIOrTWTkT^VyV1hvW zzLm=OgTga-h}%J^B*xJaU*Dk)@ycE@W9OjSr<@VbPAkceHXfpFZE%k?WqCWB{s8cu z?t`R4&k|eQOB`z^2rDXV45WegT}v{bqjkt?^u4$Ch8;iMJF3}<_gCw7Krvo)@Vuh_iSyk1~2bRFc2Dz0+?{UUR;v>`i zBV>|89rUv0vLllWLF>lQ2QHi?aLW30$NvDTx}0YTb8K;G(1oT* zWE-~^kLAh&;Yi~gk-?JZ)ujN8i& zL+$_$ILPgSI(NvdtwQoUi`-u0=Ud^o0BsS75!IC}uLTwIlz~FPw`89Q+C9>GgTCa?=U+KPniI6Tf5Y4FEoq@gQI;5Dk~mC) zNYG|wU8RTsH_hmOA=q}?q- zXl~kBT`rtwwww22J?K=QEuV6O>6`*sgM-J{7*|hoYkv%KmlH~bcNg8$u>(2aagYAB zXB;|)t9O6F5h{GT9L}$;+N4dVtalFQ-}nD1PNpc1PF2(rxOB+pJnjeo0M~(6SZjMo8dzAdvHt7F8!HUFenlZT|oSxJ!RQCA33*Hm*R09gHzD zKro|e45uRi5tEV6JabkO<~RQUNLdl&hhZTGN)wVZ>PQ2wNc^j+@|+ZVY58CJ^BTV; zj!#AxG5kwoXXQ&1saG-l!7#gek;xr;^YyOJP>x25J0UopJRdPY!no(<9^Sn41KOT3 zK~5Lnm3{^(X=BSQHD}Z2HrEKU%qB4++p*msQbse+1RbFIeiiC>7WS7qI-9j<<9HR$#gJ zI6RZZZRwVFdM2M|q}#e(F_G5kK2kHY=D;T>1b!Tv@v&8=qVU~scK-hW_y#X>9e(=X zNscQ>8XId%mUxmh1Q5H1T>AXOzif5q54OYUq8T9}WZKao8;l_1?)n_=JRW=Z6`#K7 zDvj#j<9Gdh%iOzh6}63pl1^kdll;D63>n;xg+U`ZIM1LS!l?L{O?_KPTOB^#5>V70(yO+;jt@K0ijgxf-}A1$LGZO0sroN{s3@y%0-;#=hjF8E>#I}+I{ z!+=J5`+q9)T5jrF>Uok@b}qJ$7PV;B?Rh38D$K~LjS_>Nq#Saq&1!#O=~CLP8k~?d zxL{Re8+VWa-GTf>j&MhQD;HWxC@zlc@c#fJQb`%mXx<;wrekboo-7lGV9KYAkfWY* zTaravh6@BqG z$iWyV>VKVJcxwK_)54m37h$4!Vw-!17~AGHK>UYKPipU_PEP^<0B`>Q?WUJppEC4z zx0iO8cNW$+4+&p3A)Tus9FM)!9CpXv;;CBS>RPsmrru2x%QJ13Cor5wTRd&&fri5l z-SbeX!uM}jwfQ^#MB7sB_nR%svpg>8CLbk(43GiGIX<|@(>-@!NbIdZy<;xr^9Re3 z5{{&v!h@nP3U1M|JAFmG+XRj7u5FAlmQ}U_GNq3>Vb_z>j&gafV(P7 zalit;hc0S$CoYCHQ-`?vGsS#=F}U#^>~Y@5YqdPEcWvFkIP~g!jAQFuJ*EA?+isW; zsd+Z4oyo`3&=a5ju&>AT>U-9S@qFnImvrhf zK>1YVfgN$0x-L+g@!Yn{92W5` za73g8+Bwf$p7pxJ%2I5XiHcT8<@6mYd8H=qCWSHlYxlpxx@lJ41xVIaJNO0p$8Kw~ ztm9IAt6|etkGxQsmN}+dLh?LL;|dAhyN^HCv}Z#qFnJkfWmz!80}KHt^>6ZNR7pjq zuEzS5$&3X^F0k*&C_3bjbKD*}W2I)fy~ODe7(~k#Jdycy;S#e9u8EUE|HJoNR?L(}uCuT@h@DG?2HEH0mIHOX}fR7MyE zVh5+MJv!BkYkNyrB@)XNQ0yuk@s4@N9e%!*$ImAh9;Ui%b3P{1wEa^~wz6ICgl9{J zVhF)ppF&6n^X-m#@9g9^YckwOaDH@GI5;2vuUhq&GmKN{g&KE~eucSiC$*AQidHeQ zhh-TcXW#4nD&CiEcjgy^=<@ zavKqXIO;hfqD?nXp5jk3dDb>esAtC0gZDt}I{tmDz{BF5D}OKJf9ZZ_6kjRO8MMtZ z!(-&fjV}b=)G|yu?KTi^dK>#xtCC`A0tWw6RqyO7zx=n#z36 z$mQj^(j3QgHI$b?%BUS!2_q!nk}-q8Cyu_^rPSn$O}n_8e6Yy!Isr-r&?-Piql!$JBeZ&h8yO_2^i#%cs=;JroimW7bKI$I{IUi+nV`oekL`wrTu?bFsV{9(QY;yt5A<9kww56BRhx-pUa{A z^I5W9-bZP2e$gN$+h#{?xES^NSC<-Y?MZY;GhGbyxsh~MwtuvJnSXSy-*~PG=dO9; zrO;!F3rV55wrN^NE18Bwi^c%zKN11tA9~&1Fq&4oe~(gzq~7lJ=5>-Jh?g_3{NK^<7Ey4Hg>+n^Kxs;`6r6BJ^>dLIO@X z;Ch^q#xqf0y4u>@-=8q6Mq&vrLdZ|>i~>e~&lS@)tKQqU%lamYNpc=vp+$6_CAPSQ z(WWzexrmUs{4>+jn)e7Se%mWsEU`D)h^@^zDE+H`jsF0VGLk&s#d@T-5a}{b#9iUrV}Z4PY;ZCD&(qu2w9%xvdlpE8 zZGsSt( zw@S4Ek*B)*GMOVImsM8Y$8jSk7&*tUT-OBXa-^l%2}fqjB3T~Y{@RQgqc0?ZK{4m1 z3Fz2i$NM9uDEim<-PC}D1q>f(DbC}ZXFTDD zZfo1YManT#db|9OZj)-7Px{;Z&VxtRY|fu?b!rkf^FDH`v4fT54D=hD1GX{r8%UE~ z*tGhI^HNBNIpgIy&pFQ+&ls;i5zPvXz4rVMF1(y-KkK0v+3ix@Cbp2z91ycVn~}Y` z?j=twPETB(Ny*Joo(Ty{xGsRVk^zw`VIu$^sqQ*`GfmH$O|`$~b4p3Oo5>}em4n+0 z(9){!-q{%^x#0Wp&1AjB#QL4Jypm>Q*sLNTj($^&Dsic^!vb}<(boOECAc>fKOkpK9!uO2*&*jk`Ho6Z(eIg;k=}`(`@Y_dEFVvSqKIFx@Y_cN{GqIlzFt@@YnSY znjF`NG<%qQIjGM%n2`cTM>v0-4o-OJf61o!X5J~h0}ZwG5y=~Qj#5lE(yyKn2 zp#5vvjYP0Yap^VqE1Fu-(CO|aK|4hxv6v%YBWyz>rr-b=;0{eyeN`-NqK4W>S%_5x zs0?yP%lUS%3N+iYenxkF1)ov4I$?S4(%2(xFEJp-M<=(`eQS*ICa-MzH<<}pDtJ=^!6pKJdB zbh&AwI(rKpnmm4eg|Zmm8w^W?jYbpzM;tHf^sM-2veVvAvp`MctYkxiNY7jh@z)jM zMaoi?FLcSds|KJX)2-l@36?+%jLZhp)Z`rZH9fWcg`8ctiAB)FD8o!dWn_xcJ;TZgr|X{WOLY7duWpD@dDz&}%6_QrgkEXp`_t;Cm0 zNYt|3C{VkIZVCMB9(!iGnPRux(Ht2GTqy6?2b=?e*Mosv@tk7Rq;y&AbF(h1YSKI` zR!eu=BdhExz~dOmInNvp)vGP_&Y=ag)85Y@YgOHB`_GoD0<(-aIVf@Jd9LYJ{o9;1 z@8oC6?^&7T!tzA2G=wZ{-@EEgFbU2;1(4$ZV+?|HAQS7JuS~4o4sij=07ug~pS3qDOgxrp#{X>&6cqG19!+biI^r z^RB8A?9^GOZc-%UHKXZJ0DdUqqI%tmw0(^;C_Ok-I+@DA^=p z<8ds!1D?6#^sZNpt;ppb@9ypLGH%JFX6knzWt;5tT$^JuHqR}~C^+qtoREK=J4(2g zSp18UQ_qWJO4vOC?~~6SgB?2KJW!_POPbd0`2PTr$r#+Xrdhqc$!V;XU4#<5vO&*1 zx#RKU+Lu&&l9J165wQ3OgmAez9XKCO^_%5&6Hh{|W||U6u5YD51Y24lRnZ$fZu`T( zLU`}_Rb5q<2`tP=$^?Z=;I`g*$GIM-r_!C*wU3*3DeukPzj3LcivIxY$f&KhAfzZ5 z!6CEI@_5fY_wSrw9$yXx!m5`J#Hl=j2pvA3sF@wG-y@QH}l!D>=X^hrhg&RsQLk2wNr&xPCadZotpekm#*DR znP8GfHt`}tA#@;+LvTBDf}^%ZI6ZpSwY891_7fV~?g!w|Z^XuX1$qkh`lD8{~dBApv+CXSYuI zu6IkCrTgpnoVI5>s$c5%I!as36Ts8XVun0nrN;*#6SU_YYf|q_f_)eJ67u5Wdw{M~ z$MYf(rw!jD=3Hl=OlG|)&J>{;QCGa1Pt$+$H@=5Iq3EoxbsM?jhV8Q*oDz>SYhxSu zz%AGVp1CSU0rU+v+SM#4wYQE)B;lr!iQaj}Pr1fVIP1^~-!iPGxgoFlFZd>{d%6__ zmk~4(Tst!f82Lo}$Z^NaI&>T#OnX&LY3}0D?jr=58Zi?VV2XuUo!hcF7mZ!c--@Q{g-zwJkunXJNq}vNBPZqotZ1AByOr%WZyf7INDg_810Yb zYum>t#+^8&qVn`Ki?)o*w~EJ3X+^P-5aeY2(%ZAh?gt~koU)Ls=Q99$5!ddFjBznlu+?O_Ei^Li zVC>s=5X|J{;IRR)I&+cS)isT7bXgirg^&q+$oBl|h#X+xk@tW&JfEjNq*|tz_15RH zQ6&bKL$kNAj?zn853^ZC5kzCRmMj-(>HInL$MdVwPj4(@BOjLx5^Y?8x35Bb4o4o9 z;>uE-)R(X5cok&lCd$oeJT|jiToA2t;ytR$HYs4doF0B)f5#c8T)1nc-k`?{?mKa@ zn>;U}8T$0iT1$2PXlDNa0}-w6bq!9|0?Hzh&RmT00U&-|I^_1Q#wmZYG~LJ<4qO%r z1GvuNk~!^+el?yo#X>NS`hr$hLPx2`6|V9OMo@P&tT(CToafUxtSu_?O-@$(Jf2Wv z_l{cu4o^;}u4{^&Jtrr!{=Y!A^flfqTS*#e1X9T7Y;qL=xKWILy!+M^dVyQHF5OlX zS3@H?B)JEm$GNSr>D9A-RuV?7#g3dwmisd91tdcLSV54-k>3D!$Gt-?u9E5KEr7LY za4{<2qHY5}ko`XzYnr3w=%4ldd5zy>Wq79ewwU&xYI$5Jc>vA}0s#Fv#(R6#XM^os zw5Z+)S#FY7GLX3sxZoU2!o)2G9*0c5w7o7XG_~;5d zv`eX|`y<74S>S*_l>-(-B!Cd4h3A4v`uk?NeM-_jUs=<1SW)hxX`+_spupIrM2^g) zZ3L6ZJ$N0fw=cYBDceY<{(slxH6B*(cenQu!3Bn#mbTXL9044EyGXJC0PPq640~XE zR;}w@Sw|hZBF!m6kiww+&&SXC`kp$R4r{^WZZW&w{{Zkz_a&A&qp~S+eG}ZY7>yK` zA&&~#0CA4q{{TwMy|$Y6@-MR6h$o4+Jp+w5xk>VxD|oWm$+DMoS<${vZe#IPcv0R*RBy82|N;3F=}q$P3``(%Pu~oan}`(CWmdL-o-qZZ*moZCNQaj2h{h^K0uhpH*uerrZPI`uRP+TeKm%w1=W+HPK&jS(Uy&O zVSxL%ZK^wvK?~GmRx`vj)a9zN4hi3s-tA1ln8 zcydDw?HC7>&V9vW!n)*lNY_^Z%thB{o18l-%8tDNKEovU6ja00=9IU--`CINbVlhU zCdlNH3rKBSddDJwyBXtPK>>*w0Q!t_*ywq!KiXuC?H1-a9gfmL3{E-#+~=o!emUoA z6MXIs-S7Cj{{X{uIi|H%GPH>H_`6J5VG?MdyJn2TBnsIAJ`MrsGIQUjwkw_S z9q5uYOLhI+qk0xS3l2x1;~Wa{Wz{X4FvQ8U-uHijm-dU8SWj-mDFEb-4+8*uU=H1? zg5TQN-H9*Z5=Sr$(r!Ex*NVDLq~Ql<{{T*hEM(y9j+$HRC$S7j^3hjl^9DlW1Fsmz zYOkf9BuM~8&pX?eJCC*q{XMBujOB-^b*`VDrp@y~v`Z8Zb7gPm+XLZ*&WN3*hRE{ukc*x1ab^ibW z)}E_SlG0%2^4>zs=)^06rMBc13Py3b9D3s&#Y-fOr`Sp^5=Jt7(K;w(ET=xa5Ahzg zomx$`6t({VBU!+8k}M`dvTZ(5d~FgE2P{XwZbw2X&!;TQE6#>ALU&*<45S^Zc>v)+ z9>3{>#w&)bB@cZqzoc`@o|hY{UkyV}xRwY*EM(6aW0Yr5px}|m85rr$J!=Y0dJE+; zMCy}UTY03iFdKT2ka@w~fPDvEbCwo_;|AZ^f1c(SXsH$4(q7s>dy zEHE>xD^KnJ#&x=>^flLu&*VHQc3jNn}E*j2{{Y7bDS!#85je%eAfjy%`RrH z{x7-gC!%Y)=Gx|&{hhDRX&txOW0&`kr%{8R6z7rt72EiA;C(*EFE>6}i6moz`?B9M zlh+*a+kiS(wOVeb8l2m`?SJdki0^X3B1V&3ut%T$WNLtAqv|qSJod(U#~o^GCTZ>( z@uE_TY`@8*puZU)HGB8m$eB%X^uv(n#Dxw{yzHzECiJ zYyphtkPmF1YUeebFJ_f2D;!GF%w9)k0X8bJ&gMLD3mo+a9M?5DC1~xp`P=V0Ak<{8 zVBOkV-ldJi@f5Z*6llXVXcbk}NF53N;W@@}$3vRZi^B2^DWUrsr1t@m+_Pm9e<9U- z3~)*3zInxWRg+QEOMjWsT5{!=-T4#$0BL=5)_*)g`lT`N%0-}JvMgE3f(NHht$3B2 zm0P`1Oyt*OX6n~=XIEQr@+|4Nm}FcM0XZa&_+0btS2W9k7LfMPGzxy`h&Irx)N#|E zdj9}g(omD39W8(B@+#d?ji}sTU0yOncIwM2tV+ZX>^J}qsLf3xT0s-6*6nrs(ef$b zf`WL)I^^e?-kqt&Dhkj37!}jGr)ZvS#H%AbmaM5N$AFnVIl(y24*;ATfNKrq^3B|{ zt{J?@Jm(yDC+kq!bsQJ<=l2AanUixRmBouHZW3EY2n3vPGv6nse>%D0 z%}gbT*bG}Hc6No%(suM?jzRf{Bc^NKgQ*-Wt)q;S_3ikTt5!4hZ6?y{C5|U+dwV8! z`$SEd2w)l@P67L;ZhMe1S`On;)1ldJixVB_m;@ouPr#4Tv&G#_#`;Cx{<{7MxGTk` zQPqs1$?hV!3341A%*D$CgT`_J9G(Y1k*wbdX?HI@-P^?Kw~B3|lRH!(IAsTpr>OQ7 zv~3I=<+E)s)TwKGogJmbgHpJIOqcBw!h}m9O`rhVOW?N)m1EyKc7RLzS+mhD)(^tGu?@+a3{9ZvYJ7Za+cR zpKq!e?(XGek{E5-Rl}(Tn?E))$oH%xPRj4M<_TKNwW`l;XQb`6S*P;$>}~nT&g1w1 zdHQ>1sV(NCac^+;#bvoMm4*_-9QV&`4Ax2suW2s&j@P?JG}kKy%&^QXj9V?|_B$4J2WF(SyCP?Nlx2%! zgOU#)H?3==5yNh)r`$GUZKXpM+Pk?J&nKr&{cB0tGesQ<=F(SBx468PVI(PUxd)g& z=?V$PHj)at8UFVjE0wv_^&@a>^u$?ZUzr%ZYQecU$-w6ajAt122EBS}DX7R?*G|T{ ziQ=<$6A3cAS(E@l$miFS#~%6XNj>bw7{1wOESX}u`?uV zKa~h5{%nL6I1WH8#~knZx_3C^71CiX!r4I@P2?$H5bjdURFYiv+&K&Z`@D`YHdNa8 z)|zkU@+L|AFJ6XR@La*-=%?7N!)8y~Sw2YB z_A~o#^yj^Muu_#hcWd!DYsZ$ygxqObnbzdfZmrhc%!~V=hDHGAC9&zj0B0jTG0ZnH zw36IKCVaiclYdj}Jw0p2tod49zcU#{>DaGx4pv7;IO()6Lyoxm)DT;r-YIfk-A@T*y!8>DJyNeOQ1dQhZazB=9RKp7moPC`D1axec;2a)1bK8pH z#L2-V)9Y{R)N+=ZnRdaS&4S`>_UVkdOppl9aypOx#P`Krx4T4mtfbliJJ)aBDoNa+ z_BrFH9XQ2w&YGN5p{~xwB$`aAaSG2frMkRtAIzZVYquw6bH}ei&w9Tur6ygY zWkgl-5fFUIfr5YUk-*3F$1XZ9{GB)Z&U&e@bj`K3GdRA~XW9%Qj6iHFo`?sa=m_NJ z7^o)HV}dE+QMU*rCQL5;-~e-w2m}ls2+EkH@yU51O4vUk>{-h54`W5XxHan)Q zmzh&bju@=2idmyU7D;Bw=PDFrbr~!`&#$g3NW#q3o zld;bzy$r7q>IrM7$z^8BCX_Ld>E@(fMUzF`OV!2~WMoJ-+5lCu((45 z6>a-~&Uwk}(<7+$&2RWAAdbMw%jLR&3mwNSNya@eKhHJQTAQbYRIjpMsFwCEYRvH4 zEycP7m<%RYh6HuM=ZqiLt!WaalTD{2$sG7)WmEviCQ6)g5mxu~yl+y4Mx z@N8`btGTaqscbx#JUQ8Otq#7I>h zW^x91Z~?~|2Ll?iYI=HGYCmHFI12vqT;MvQF5!{am&WdM*PPb%BhKv2YehOP3;OC) zSYf-zMOu4O2TW|*1CFc{eD2>rOfM*4x4PUTr16Ma0<(}G8Di# zBL~|6^!)Q#T3pjveZJO42_$(}j5r&Q+{SzT?D1aS79QS(Mb)MFJO2QX-m(6^M?+~0 zQe4_uOJuh(2oYa&gn@#^cD8+U$T;S@t4%`2(Vhq(x3_6SeaOUnNXZ%FfKT(UCoq)f zD0#0 zfw$&zJ@QUF=cwylb!f}#l&SPrlk`g8iqNLruFQK)AlmA)+F4w>`A5u>Y4g3a-Htku z)1dU=QtA>%BO870{$iwQSBHMp^Tx4)9aokFoC0!r&Q5;{Q{{29dP$+U*|vygxYXVxvqg!U zX45MGsG}HcDDTZ)n$%lqf=HdEyI6r_nN$;=8!eAapTe-KDshdMSFe}(h3uJ;qv_J= zuW<5CuX}V)n!pjUI3aL*Zte7~VW-TgZqd&S5P`ME3t;!;eRKHMm8(Wx^|b#0hhNvJ zwUdF{d@u0Dxf+e~O&PJcd`2UXvlG`OpJVIRy+I?kw3NjRr98FCR${{$^flj2ryprI zXLF_>3W`TH;vHQ)*)4>BG+#Mo8Q^j|cLV(5xQn~!?Jtsb@==aw3>>yW;ZxK90N0b! zv%8$#jn;`FmKTe4sjZE)PDE_X%^ul9406rJdYt6@;=L*vA`F^(%O9Ai30T*Sr?*jz zoYhqKZF5DcGp4?sZS_ce>rpw4fCWKCa)%x80PF5K^{ne{7CU$#xt8(^N4XoM`HX2R z_w{c0Eu3I-c;jf^qUPDB^4)gqJt40{q!v16oGswh8f`xA=0zJ&82|?$fIuJu4l+sg z;~Yz1wpW_$Z!|7pkQKJJl|v{51Gq5GGB9(~X$yhhwL%d}62CRo*QfdEvCApWSDM>f z5$awW)9qCn!eec37UsBc=VK{ct^qu-0CdL(=}oe-(_*u|Ta7}_?kGt%qF93!Ax|th zAYc*x=*?>IwBu6T+C4pVf2j(+NkeT#lf&9{x>DV&rIDBJeVjhRS0v|l4^z~hxa(Ou zw}AB6{ORuX(uUnpoHT$3Ax_onkPZn8{P9@41SK2BT6wKH{#N^}YxSq_&NuYmp~Co= zL)YN7x3#j0^4fT24IEK!lx!*$PC&}?7;fp$J5DoCN7NwoL1(x-RKo`&Jnbg9zf@+m~h(8~{!=>BYZM&PdC zpebx%4t&Fnyc*TEy0g?Y5qWEE_K|M8tv&*M%^5dFAB+IesIE#3<(IZO`=pN5&iKp2hg83gdnlEq zRKuKq%}2wUwUx3@EuYJixtJUPIOO}*IkI`K zVT8;fS7lc!pp&?D!60A)dxM-2UOg^VCG9#I$_gx7n;=!8h0KB#A$N_;dSGPW53Nyq zXSj$peqyaR%PV0(91l)^4wZ&Fq^imbmd{_z#jEI1XeNM6C9@9171+4Trb#4!o@zTw zWw*01iRGLH3TG+HWP%qR4genc^x}w3!VOb*)qUUBWM<9H8lW+?L z>&P1c10SD2cii5;W_$m;d+uWLB|Yw=Bei<}oZVdG0+1e-Gv6R!z%o7N2#@ zrmpVF@w&I!-gYIMXtDP}|lrHWLRDl4Ow|8$bjpCm8_oo_GZHu6Az^HleM@q*%iO-NhMDW^5<}oyVSAoMQ*C zJvf+Dj6L_ImD=lMaa4+0onMBuF=M91V{>=C{MHTSDZy|_2i1VV>N0(R!RW45D`;BM z8>RC(e>sjB`6Hs^CmFyeuWv#!jQdG6E zPRbJyOOHIPyYh%RDtjFMTvu_UTHB?)ysF9+AvkgfB;*iC8R}15kC)$$TwlF=uBMS! zWLF5Rg;EnJRvXU;1cC_U;BZLKu<2QvJ)o0Tx-ms@b-9>LBrCZ>o}`nV-SN+Aj4V^; za_jwn!x}+c+qjWtxL6iO0@2VH^7gLMIO71|arx%AE-m90(pyN2A&|aSH3N1}1fKj1 zcEB89S3V{jsbBCeNphUOh-^IFIyJY3BXJapODY0(XC-nDN|JdU4>g0VX}5NIGyu9-Nw-El9z8IX!RGnpHVpB)S+L2Zk%FokmFRZq!+z zwOD7#+NUK*KWK`jGl+ac6TkJ+s~p$405zyNp*7>Pzr;-vtnQ>D$>{0u=iJw;R<%EgYM)=s=vKFpPeqdE$5xWo?$TId ze4;d?8x$tsoZxYsbSI9$;;rAjLgf}jXp7-O!~t@-EI{wyJu&T(?Cn$u&Zjg{>#^!WMQCRNIgs&*0*-KchEP7GPpx{` z2K}wp-*@%cw-;uPt_dFc8)GfcnL0TFP?*|I4o5zR^fb1SUJJX)=eopkZV-^b83DlQ z^v|!Sy>jBID5Xx@b0znu`kb7%otrtkW|rq(5?B^!?J}m}7+|>tN{oUD864n&&OxrW zDJ`VY62b}E7}U6tos7J(EJ-JpKQ|a7IYZIrpy4YkNqpWw%4~wgW7qj2^(?cJ#$*T8ia_A+6H6ykYKYj<>^l{+9-| zYoTd&Cf*c6yS&0e^}#v!80Y^0)vbAXFWN4Aw_la^3?5hm-`kQtwX>%yB>KDm0AJTr zvJUR(;I9Q8qZdO&ESgOc~Rz4=Nb7F0iKRICjgVzIKi&Q-u}t)a!NFwSr|AQiRYH+ zPj0;DwP9L2GidBn`&-2vQAxR8bGb>}0A4YYatPdcb&OP*~ZH9M_aQM@KRv1rVKL<|%FNF_+g$S1KQ9FakF zO-D+ZEhlx37?wqdI6I}z;BlUQVS)$)sXTV7p4Gl<+3)Ms5g5g;Q>(b~e~0xS3_g|= z!9KzvOPGw`HqrwICu-o}=R6P6=AW!-+MU!l8k0oL1Zz2!F}_Da2H~{efE%2SF~&Q3 z@~sKRnzo&Lt8DIYdl|vW+}UkYN1h9K4by5*5h0MqpfT(jNXX{|U~z%$4h-hP?&9Y2 zPlDK7$#4;F9zwCG#`a}=oIfW741B;5f-+aBM!XbbEBWoy@K@iqq*H|8?)3ivhy2LA zP5qs!X;$}74)bu&=RBxXl8AWo6R2WQM%<~%AQORI5b&Obs%i00s6`yDA|a8M1dDqD z2s|h_7yu089{knQp-Q!Rb8OZ2Ti*IVzWqMpWm0g0w}0zHh}QJa58qF4H0JX2F^e&h z?9wR1N}#sWf)#e)V6zM0DXkd&l-rZ#N=32>Tsiyl0uD$Beo{jWu5vz8;?}24 z&Rm;EOMUVA-%EV^9kk}syIQ~afA|Kjv2PBcbjQn*@9hXzyDfJh^zI`Ll3qU(uw;f*@#D}|P4fgVqoF+VO_?)5)GUd|g4 z&Yau+v@od^II9<0)i13AU7(UD8;Z!~zYlSb*10C|BqBvmHa24GCKVWM13Y6nf^Vhd?*V3`XYou4Fr}T_%rONj)wBs$1TPj4I_&fva(~qSrY#s+#kZjwveq80V zlb=p`By-!PI&|C=doR=yvCitYMpGrxjn+&B5i2VOJ5E6u#&hU<=B(LY{{UuQz0aNr zQ@%nMV|7NVnNiNzk%=DjMpwEf=N%$Q(0M+7Te2}R3ZS(bCb7bM?&5C1FkXF zs($XsUERN$?I+5@+XrYLEI_I49tt|rf&FmiX0V5o-lgwOl4^K``dixH>x-l`SCfAZp`ERG7nmMz54Yt2L zbJ|f7R06xIkED7Tz5;M@_-!)pxUQIh)zqyZ2a4s4+w23P6#oe8i|d4^hW|PHUM^_II1t{F%<-ZH^YwC}oCN@a5gv zotUbUPI=%AbQtFYwlhvk3pk}{)Tm}{+l~n&05QPoao_xF>>RD48d0)n>~w2bE-n(* z%HG(_p;Sla4B(9J!(eBxCnKJN6|Z*U-(P(^#fymTjL+q63c$BqcRg@^zNbD6;VC=* zf7i(Cg3#z~w783$rOOKJ6%@}QpS1X4xhjKuo~ zJo3yp0tP_pJxTDfShr3ygk82@ui>ZOT1=q!5!=HJ=A$Ty$okh#$x8P*r`+K5tu9-CiW<$j!iv|iEzDChf3&K0 zk^a$c5BG6igEhsSjCq?dFSD+PN><;Yr7Uo@s96i6vg~gth0lBdN9EG7q|?|~ zgq%puA7P9T;2sDhhUw~Yj=eBNc@$#R@7GoT00hlPb2jO&VAUXLY~qz=Q?NHIG6~!V zLO91AD|XW1XR>FyOfrqHwCxO_4ixtvF&umMt*X;ehK~9zKKuSa(~gFE-nGrn){Zh! zzF5p*j&ctN=ucj_sAJIeO-jl+rrl{EEK|#JuFH}RSFUmRdU1d&4O$pi%~kLEkxAR) z>SoCe#+HmFw2x$Ef~jDFMg>DK&UW-U7#Rbe4h%49*1FU;GOe+aCcv6OCgTIMF)pJx zC0ql>0rd3uqc3L%R{DQT?v1vW^o~Z)TK>(vmq*ntk?+!B5NCb6FxlPdjAVoFpRV%i z4XD}Ac9^x%$vpIHkO|xl4+schj;+&$``(kM8nr3aPe=Nt`X&+9fEfbAOmUAc;H`9;v83-lZ$g1TwzRpm4!*p}8PnWUhXrir2Z)?gh`= z8X&U5Lc^Tou{}mO&usEIuH|S{Yvt&5(~O)GWjJ9r8mX8tM@b8L#V}-U0p|d)`@L{F zk6P;P^-Hw3Xk)Z#mwA-R?h^q0a(@hG^W&~uvT5{2(M??DFIrZD?ncvOl4x5dMQz?t zIU!C@bCbqM!N}=c^^)pOtLE;~OQul#K*}0694{@5fsThb2R~lu$|?@;U&vBYZCM+( zjCFqx+}WF(ueWK?8>rGj!j)X619CR>%IEJB(}8{)xwR`<4W+-?B9M8A9ui9f^JhE- z1b6y$#d0X<`MQ3lk@6?F)E31BoUt&sk~L5aVRCXfIp|5xd<>s+O}e|CRzz*Em{{`4 z2Luc&ZRGSlyY|IrPv4VOI+{NtYV%RQio)7AC{4ee=1hdIm)W@-@wjk$kiMd_E~6Kd zz$O0xNPGyh4Tcy^X4YY}fqhW&~I0g5DeM!J4u*auN+^H^S{eM?m z5zeYBbuMbUqAh>QHKoue&JT=A{~0-${VKL@}mVZ zLZpQwcKn#WW;rA(kOm0oa;NOvJ^eYq;NS7G>}M#=%FFuxwG&Q~_T$5n!yG7FH)<4Lua;?~~!4L&ATc_T3hFa{OAVyEU*RmmAr zSl}FtB zEul#+L-~!dJ2DOcREuZqtjqsUw>_DddIVVD-TI@N3TePhus%)^7}nEN$hBYd48w@ zdGl1(k5?zT)k^K_vPTo)y*E_2)wMf&xMEo$NZoesCDf8Osr2E0PI=8=Y2&oGb%>jB zY~~I3E(>n^*dTQ$BY;7|=D0C&RO+;~UyjCg7b;gLlI`ZTX_7tbAI;`M7YCClpRr)s)a+SpzZ=6O*dk+$Fg-0o4qC!eXtMg?~As3^%Rf5F@wZ=xl)y@DuT zY)V)r>;M%59Ap*b072`=^2UXMOV$4XMz~~P%ZTHZ)maum$k9Ib0DwSd00YVT=di4ctv)k+5=+K`t;&@nDDK>_<2V5PtJH=k zr(87-t?m7PUWHqjuO!Q9uev)-rYm-uC1&!=OOP;2Dcy{*z~_wc0X2U|j_fVP)!Y!- zD9@T&Frrru7!bpfIXTV_G1skSiKdj)zUz0^_xuTQP1zh}rm&ZK&D&qL=%rsNWJLLc zmdFYZLHr}X%schU^8BqvNn@KLMFHJPuF`XYPoU#I+;DMK1f!xoG?XLck3-R9xNCcF zDG^>YkI$63R#_C0%Mbw|^y~D<#dH$fh^^Az8)BI||kk2bFDnU^HOk-TsTCU4zhKvWZh^Ab9Gk)CiXA6(SqwSmfJQ6SvA5UTDcBq-zM zq4O!s8fRK{zp8PmPa+C$hVrTR`(9J>nYeBmny!SvD-axI2{46Zj<5ei>FF8 zxERN5`x-lVS+^_Tf{H@|No;4KAKn8s=V#dJxOpmc^i4bdACLK(&`Ik1k!l_vYX)1p zyB(`7$D4K*T$cHcM)QJHb;dh$&|$YaRlFLYnA*n_F|06uqoF|T#TN>@u)i_j9Q7DI z#<(nEsFgPC?QhQCk=M$tbEl7Wx(jKnZPwSzDsc~*(%_SWk%C7&WRt<;9KQbT^!N&C zmj*K|Qnj>2$#~>D@zt0Wz!(FeUNf8zA0HZTm38J{j-Qa@Pg1k^Y4vRdE+=b)aRiMa zY0*n>-GlOlU=RXG1GhNm6@@mPc-peOHqhHz+azsp@=5}Lz>>g8wZJ*RJ(w`$t_GNF zL@0AoYus12~P;O+IkFp30wC{;}Mxhm)u|a>Q%WpJt zpoGP-OKuxL!Q7`Lj>qNAMg6HA)Um_%bo*0Dv5|=RRAi~|{n4LO`sqnZttd&mw7(|* z0N@T-e`y=8m;FL`C0nhN>`0`4Ex91CJe+4d4D|f{YG2vg&lIuG9HKRKWprbe$O9ct zGuH>7rxn`0%UgB%-1B7{D={tX@1WHLcK&6|S7o9P_la%>dT+tI4^~*ul`3%Rx_u+wHGnkDm2nKX89uE ze8hEO*MsTl*EMFzt)3v3&V0S6pE zl0eQ_o=Y5H9y7&gz1x3ksv(v!Y%zuH+=HK|^RE`V_K#mPk!s3K6}GK37=&BhOj<#6 z80P@w79+k$>U(;ch6v@0Q%Nl)p7Pb>D$gy@DIP`&mBw?&PIKrnk?Ub=^3il;?$ZAN zKk_=EHOp?NH{*Q<(&y~jglXozxpWV=1yJ*}lgnU&M?4bU&1Ps;(_P=$X#rvu+I(hb zA$G1evjD_#lH`I9RRmucxI?VR%dF9N_Z7-J;Py@Z3 zU=izsxw?D$3co$<%J#7}q_)>HWjwb=-ctmSd-Us`m?x$Q;A#`MvwJ_%<=M2XbK17A zZT4%p;E5!;pAfak$p{Bt#NcPQsPv@pUV%JU(O*8vBZ-@Aa|QxV+mvyUjC1`3Zr`xO zOPhDM+(K4&N29fpvf4{|Dv+!MaU&6uPajH(R<=tdhBgsAe=7uX2v+2b^v-d~>?`Ff zOPVp{=*gPUn%PYXO15;dkl#bj1YZ?KKz>O^vgLfboj*1rck>~AwbUn z93M=R`TAF-QZ&7UZM(btS*;|cq21|P6uuwu^lsLvEZYP}3$&zJB;zgb?0fa5JQ2@k z5v|@L!>f?QbzpKmznu}gsm%RPMQE&yi)(n-S3%{*!;R+v76YP=IXTC_T8`%a#paqg zo-aCOP-ETzgkT-RJOX!P9dqb2Tf54qll=i$$+C)7yOJ61CXzRtkTKV4=kIqtI&=Bf z<*b%=QcrUv$qD`8M%{*glz_WQ0DRvt9{qCl2Vn6srEHB>Uee~k%4$E+}5#_UR z-zaQguLNKnry0o2b6;t`yt%lwFhm;Jl`awk^16fk91JUDU~+ivgN-Rq+G#F;*Dl>o zrrOWXRJVoMH{?eg%1amI{Jii0Jo*g!aiL@3%}VCwC7t7v5(*~B%7Y;LiqZ^#K3}{E z>F=fZxwgO zHyTcdG@5)GL~%6&IayPK^Y{D2UE{ar^g$3X4*|hQM6l2VpR!DKGMW_ zY~+##02_b@jE#DZ4>Hh!&uSHQxD*NmHXCJF2y~IM|D zIXm&e!8rh~GBKP2dw^T1cw1hRd~t=2Eka1+Ef`i{hi=X3FB!^%kG<>P9&G5Ul^sfJ zNUzuOy7D_!PE?~)ul4$wR-PbzBg5L)hcE5c9cDKBJ4_SIjH%iR4W~U6FgtOQz+)ho z^=r{NwTH?CBA|{%S6QQtL2N$3xP@S?f(ghN?gv$AN{1?2r2haG_4QxX$h2xXKAZjs zpw|)Hv1_@mCyVVuMYfIKbMjh9*K0Eafw(a|Y;S7EeLU(HZr)T(@ksI8$ss&N$_Cu2 zgk9X6qU1XgqnvWpYuR(H@1nnZ-+%M#<|Mu47qdfdA=WfoB(R=Irm?ta@@tLrDnyJKce7=N0bezgi*ESi#E9XK0M5#)WK`Forw$dO4sNf;pVeKB4x zV5J(<=GmqBSXC#gk6~^#Xwvm9?I4y0!hqQ-7?Xmz`A%`&amddEW~Vn$CA2qImbrM< zc4bovFmjAk;AL~zf-~+brwdBZu@RE!HVrbzP$v2pTWgpIMJFUH5)Q^}G4l-jWpDr)^v!m;YLrYZZ4Qu0 zb3BP9{hX~Dp(gbS-ndMaA2-ejEy2fJ(-l%#qlK?m8w)`%m*p{FGFJo~=K!8hKr^14 z)Rn$1{{TPf9Z6jb*7W%&mfra-W4HjX5wTX=!TDdY9DOo-@mN>)Q$?Y=+3b6(ZLVV@ zFsC^RNH{DM9E@Y{bHJ;Qy#(gS)K}4MA@Xku34c5?mQ=<+imZ zL^xtL7Aio?6Z2=DdiCG2@d0Q1B%vbh3uG1p8h z*EO953T;2@QYAsQ;)>QW&uMiNTSgNKcgZIKM{)=UpQlc1+Mw~#Uk_N_Si60)-ehax zJ8vfus4k_m@|>tW#ts1Q;AZrdcTRHF&+vcJ{*k>Z4$jQblf-jsx_meG*5obB`(>Cn z%&Hu1jj_}K>`2OtH}LhUm)h03c!JwgFkV{RTIFRkMy(87kl83(VZ&g2#d1I(ZN+#r z;ZmJg$xGf>PWpAWo~iyOlBF2gCT&{l7BfR^>#1AJx6^q_z!1rhNgD~_Mh;KtdYJV~ ztv1_Poi8^@V$v~m4vOt30m6b0%lA}~wSgXtO=V7V#Ns6x$3@ew>#y~v;hjEiZ3#c& zD!0?GBeT-&SLckZ8{{EkCm2^JAzODFdXiLR?&m7^#QKyM(z{w)+iFiEK=Q)bXw`C5 zHv}HU4@G}_$zrM#MABZ^Xw8OuxNZ6|I> z8@UB`^Vg~7uIbT19P>5APb0>nVv{G69^Q8y$0HdE17r;FdE&hsMJdss`4^YwotMhw zdnbNljq%>Or|Lc&5@`&EJtp;MhB>yJ#MxHLWD*NBdCxyDZ1c@((@AH04dgd>6Y3*q zR5^3yob$hcFanHw_5!3^UN@rg3uV*JFbdO5XA|?PqA) z)>15llf6Tnvm6i!91ft4Ys-!vQ^Y^( z(Bo8Q=E*d;UK`15u2^n~)t%%Z?HM6Lob?a%?~_}mC%JVnG9*k@LNZ{p0y)V!c&`{ z41n3k2eI`yJ!`hl?QOYF%(EnOeTj7&YjY5RipY-2O0do{e-GzXZZ4K9M7fqVjU^%E z=-d;6xf~vyaoW7O;o{n9?(AbIB<_oFvRcB0S@6*LYcCmPz{WCq_vg@iS37reH;3Nc zgsCo{ei?2|iL`N#L&r>v9t}nrwTQD{7yK4NZZf%{aSGpPjVx~@QLzj5Nzi8ms)D3v zf&uDsa(~M3=anx5K9n88-r`as*=eCYjVdvdQ9i@*ua2Er)+(75@6~~tHsPgyx)xs^s z+|=;ql#3Md$pXl3e8pYhg)4?rfsUCZbnVlvZdhBzZ>?Ne+etKP@p+0u^0DOnxyi;j z$8H7(OmkvtOWIAxRd37scNMKGqV2CYcbRRl=PPqs5Q<|Tn` zqX2*a!1vEN{HqFZ{nJ}3em6sQ)XdZ(vTaQ@2?U>LjD`75SdN%c&wL+R=(IgnEhX=+ z=71r!hvaDi3gt)2+j-%!`jc8lGpS3J+p_#W%yfPsr{fjt%{*F_q!$rxNOr`7agCcL zj&cDiF@xz|hL`r&if?0@Mp=+FYU_=uyQTr)f;#^I`p-rti=*$q>qD-cPHV2kCdb&W zL@0MKAc6-$#&SNUt6J%66p~!Mv0cfzl;;IO`FO{!4oSxx)-N>U3X*-a5^0G(~Rv7<7%9M3 zML#h+MndB_?afU%-g1StxAplBPRUEm_RkIYcnt#a+sp+4X zl;`++>P={BxGqi}Yhm*}R06`27@Qt`&*})7)UMr%uxeF{Bmb5M} zV<;Bp>IL%_*$zvR06ttpY58`payMrJyxLNoH_3asJHD>p=lW`OxF+1TOJV*cmqfSJ zV0#u5Y3mS4BuMaL3&N;kgb)Joqqgr%sS9a#uv%SMYSF8M zgN$IDXEoRC;;X-A^jkOTwEOP9OR0}EoEI^xbq1qqkeIFvcIvX+rIc)9QyU!R!1T+sy`l?NwWSF3#bhTZXrqJ;4h`3o?PV$p|puV`_TRe%F$I&0nJO zR=%Eg{Q87c9Fmj&0D|vh4%hoK3j~VZ&M9Dy;b)F9ILkiM8Qj^*^}x;tx!q0GE?(B| z62?b}NtBA+0e8Uze^27WoD6a3cpf!r%Day{>D%Uaawy)!R`)k^J+wk7;+{zuMj3p+ zvo`f0w%%|MjCUF18LMz#`B$>&K3srPjzSgcUQ5SsbzU=WQ(ha^ogU>uIUIjWM~588XYrX|GF#Xs6*g5u=MhTDKb4lsBjxEUN{9;Y=n zk0_BKHn&nVvO1!%U`vC50mfGZ@qni|_sGu=@cAP+y-i43?#+$FFg&r!j%0&zf0UEL zR|N(q7MQ z@coWej!4Ktr~@OYA2A@3IT_Cw=Of=n$4<1qX1tA72W43a1hNKfpPOhK00W^Iz&Xc5 z&0cDn)!9D2WiNZ(VjC-FV>+y9C8{dyBYx$<`Io3*a8G<=oMx=s!ed8PyLlr*6&08U zE<5bNAbXR>INj87N^Pebd(mHqm*2UpbVKfJ(b=PI#rBt3Ex;kk`>YFlAH#$6;B^6S zrpGK-Hpb#e)Ci;@N&>w@5^&Aafzz&d=hCG4TfV|k_p~`EZm(wXEOt@qPxgDs)FsMp zT$Le$?Z?fAK)J>XVCNOuSzB1?Ix^bd-zBhk(4=!=H(&s)Nk4cnKA7G3oM#D6JgIs7 z{{Y|}73FyHqcdCbZW=95MZ1G)k|$^-4&4{24gUa+@%MP^&GS47e{C%DMRg=lNc$ut zqcDlKFJq6np63|PBDx}KC>? zl}Aohwvt~e?s(yv+smFMJJrF)QFzWv05go|xd#+p%Jw^w+=@%9OEl7Sv~0=pOFW3+ zgbgkgFxeT~!Q-5cqZrlHqL#}~)CIihX9e8NB!lK;^2@1@exbKHDst z1WY4bs>oT74tJB2mc};ojCAAVF`Sh#bfHJAn`^bLf4bj2NtNX!q;u)wD_geKF7)FJ zRt&N*w%s98?HC2VQ?y{50kq_2An;d-lf;E}xUO%axSrAiL#wv=8Av@zBX=QJp1W(; z!QkVE#7(8qEBDh@zg66E)mYHd^+~maf&p}s3#3iUIm59B20jNP1)BttKmc+`uHRX( zZ4X1biW!P;^HC&n7!~DNS-AnjF6?KJbMp|yb7CV36_q$GB=7jGy4uDyQb`^^CBz zfQ)S08z|g9Kz@D*=b<2s^&@sIU3D#9)!mTW#G)|?!>P!~&OpWwI5{1TY7%_c>?)Av z(d>%}Z7an!j-PoHmoc71&WP)bmr?-%$IQHfdvn-jY1g+d(!7>Me_a^ z-VCbXsthpsumc$eFhSsvS=wH)r%R|pAhMDNjyz0WLS#5RvCebHU%U8r?`z#~Ox?k_ zvsU(1OLDQu@*=7_#X9a;0&2tzKmr`a>cQGYY3=W)so^eznHkVp! z6^04z=5pv90IJ@A4xKafBzo79=uJ~~BKEi8{WAv=j;ParVBVQ663nuNjKaq`J#sp6 z&(l12tj`a~$HT1z(o6P~mv5NN2bKbZocjErbgzF0WrCfbHJbkb+eDYXu3wsQHkUQR z#$s+TxXu%BUz;TT?ZcmcsIDto({GmW!+&&&vJ;7uBd!N0w*-GGczIfStzGQ>3ZAE+ z=@7*Rm2D26I~OtSjSvIQdK_aso_HsoeYCEgEjlPI(m*dJ`K6I?N)4dwpmaxfpXK{qt8yN2TCYl9580Rr%cDpxt@vFt~$ToHzF#Y7R27;=OgeNk>T~N-K!W7TUkFJX@;z`egrPp=eQVM@ zCX(M-M2i_li;c%$xX90~JX({5pHKK}nn5mYw>qD+Hk{Eks0FgAjkfYxfhUgq z@z>X_bK3s1ad;6qiZc5fYV5#nI+6!Mf6q0=O*u5Ibv+IfURJ#Fg``3xjR%`23RgKB zi5WX{$pfxH1B#ON81(CSA=AXyHqKYfx0)iWxOx`HC)jiBE764PqZi*(Ca-pC-}ui@ z)9e=FEjm~(V^UdXPu!WpbW)9m2P2%HTpZUsKCNLRTk7`EO)dPh`JQ~yl!?~ecV+^*Q)+kD@a)c7ywcVur0JLT zmwq0yn#wqqXv{Xumhu&k%Xd&plZ>fcmG9fXJio*SHb-5zu!UZE;ezab^XHL_(Z?!v z`f$*+-q-5M>Qm?A3)8~1HxTyij2F7LgM zz;T+(y4B{<@5FcZPjZl;wv%MdnF_cpzs0n1&;WTpxUZU&ROJ+(O+H#4q^HQXH?+-q zc`q)l?xkr|D=etbgCN_;j4KbDDtI{{0#BiB?c!NWX{c?wmd)Z|g@m3bB(Kv zisE(4$mD^c`#h1|BvFXcSx8W!K45c=!*IwWrZMwzU9{l+wePZDt^WWAv5jj=33`(0 z`dzKopDZZzTwSlfUmy? z=3+i**8rgMz-;3uv}luJi9?qL;Q%{NGBK_S3P*{I#i!%1~8g(2Fb`kLgC0b zCpiQHI`!mwbI(chUi}1}^hJ#-c(p?;*KZ=;DL6^g{GT^1oQ&igXWzAG+Uk*Mm#E@l zzCv2x=iRjeoOAqnC!FMrV>F(QP`CB^8$sEoXr=rYh}RZQ&op2MhC{JXkh@qbWGWIn z#7wYQqe`%;=lc2@rYNtex#H}R^KTn@YtcqjO}*Q@wbPtj!4&GJ}8Bxw%WJh8uy zGoHP3>DL$)h8y3mqfu82qPDE(MGUEAXOollvW{>WS&Pu*Z8te71mix0_oQ?S;0J!Th7~MXmJ=Ps1oO3 zWyeE-^9~PfRplEaO7Z5mDF&r&CDokvHt|}-BbB6zdy;2q2_Oxi1uA*tB;y2(U{nan zuH9X#J+j57v&NP?Png_C&zKZ|Mp1b^PH<05aW$1Xe(G-8{-1#ub?-AX!WWX8ce=Rq z<(0&nijbli3rJXV#~?Y}JCZZU8QR9TqH6kxmev=uf=6=jMn)KH3_$k;_57Gmjx(MJ&up%6I(5)r+$G+dX>~IsSBx$Ll?=fcg&!d! zZ~*}we)Ar2RVT{1k_-Kodfu~hZQ*YS*jwmtC9Q*^+syI;2`(By!HzgMCx8YVi~@Mz zE^glQPfboJ*x9T3hs@dg;3iRw9DqS(JqQ^C80qoZY*d`FZRp*flXhR56fTZx-hFRD z(e9?Uv>Uv*)pH*3j2>14cS1JE3w6obxEK|YeJ}Qk-N4sZLh?me?N!(1BX&a*fH?;| zW0F1V>M2W}nwsnRf5G3>wbZzhzMXFHG|El2&y(lJgXZn|LH6S$V>}-G)!lbnH^14I zVW(-VV=~7*%Xy8xo6I9QZO87M=Yh{8nkR;Hs|ugX{{RJlkdktmX6#maRrF~jHpUz1 zZ^Sn;O(86dA|;z~!28R)3=aT$n!~cW5lL%htIctXfM$vlCe*jgxFGE~D}Yp=QY%_~ z&I!J$`4vswSdz~A=~7!wGUDRtXSd8t2pl;efC1_<&N4B{Bxk=}rP^Fv=;?8HWw!eJ zOe$w2BF7n4XG6gufH=<_=hJD=TiKdPM#ljxx{1{lt@OXKY4XmtQX+5xA2vU|oxSml zk@Tnq$W2T8RGDN8G?=ykH<|Lb20H!xbNW`YN;0y0h4j1J(ZALt)U9tV?$K87&vj;S zW0o{bf{l(adE>7<^c8N#!7nvCp=p01vbMK)UPU-&XP4y!o;d5@r)<)1xfZs=H5n$h z(sbK~Q^CUu`U??ufsK!9;RW7gZZ6*w}J(-@*fEmYd4xhqT(ibh0O0h`1z2Z*2**m6cejT6 z%TSZamRT+b&m1@mrHD{5v5R2mEOU{@I@59GlWS&IC8c&)gH;!wXqN65*)yOIZy~@# z^5wc5djrN#T7uT<{>JmpvxPApVwcTR^QhyM!TSAqsidN$*F%b>H%>}O>eeY%$uD48 zZ*=>$1;R!#2`kZn_5gZx8Oa%e#8BAIU_znE8x@HP;3&Wct}~8=jN^`#oT#;RAGpp@ zv(V@D2*TYG$t%455u_Mhqvmb6=KzE2$m!5znM_v`S_u^u&z`El;Nt}I&~ctmvF%>1 z3T-Q&bkGd|XEtfUa9u1NLutW8%>xYuS5Ny%b<=o?2p`1BQ>ID0gtX!TZGotB#ozLlXHNG@}Gw8+^QSV-&+21w(RkKy`N zZ933PtK4~yAyDKzFUXOy7_rIubGzHyfn1Z4Ny(bYTiq{QF)>|7Fk>1pVUi9&&f+j} zkO4ltd+|x;y^(_3#EMudGfsBnj4&C--pZ*d+@-iLvW-Fk8UaadQhtey2{ z&~KR8yVvyVg-3nhFwX!Ue;(QWGgx}|rKHS^S|n1$5%TBd9;EZnKmB~yG$~Cu>T9>uv`s#39^5~lBM8-@ znjNAz!6O|wI0SLmrcXR;UaXUYOo+i+Nt+XETFv5ETHHz`wuy#hQenRDNlb6Qcc05Qj?SU1}oDi&y; zmTjsqRaJ@4BcRC6dh#k1k=o`laTJhRU2JJ$dDL;j^&3x9oZw?89rMFC%^TbLy~=GZ zikDZqbZF46?UXSU0LmltF&5E+N`bc_eyZP61}ECIId9TyJ#yMvrB-K+46P)bwqtAz zbk7(A=HnpN*ho}_oSJr9{{UYj8?A26uS?f%G>iLfHapoa)$S5S^A)z`TPmQ2$#1*P zaC3riNIh4HyicQR9v=Hu)$2=nVf(}xA*3b3x^lR|Iq%R6U<@By4yM$pC+^99w$t%u zbrQcfV}-DWR=8WIzjnC1K$0wW(Zp5pkfDefWjvfVa#yYaqf)cgtQfl4L@om5k_PEJ6>l2i_u({Xp7eYNfX01Ug7 zqVI3(aoX0cYjghD74!XtoJE4_dj+*ppNTo8F|bSOHJQj2eWI-Kr) z&DoW_PkOgkvH3WLJGOa_)C9>HR>A_g&I>j>1L#4;?+$Bsu}x%}gtNzMaN(3EB>ceO zbp)K80x_27twN{%&XZSv*ZC7EH7lO0t^6S3B%EOK0O#A>gSwx>Z| z%bQo+%B|(4is#{^MtXJxOF5PboA-l8Rwe+0Pu)-cIG>qw7$M}w3$_ab=(;?w;W{U zc7y)NBe~A54&1VL{{V&(w3Y2|>c+}=b4RtkTY0Y9StbK-n}%F+LYxftCy;A)#`ece z(x!&RqF617+!iyqah&=dIqz7}qUbv*U$@*Ui`qplT@Nnt=BHzM;@gPsB=h66vyMrj z+y?m=kf4LX`9?9$OAa$$V`C+hFv)eOM)td|R7VUk@5_czM&L?<180%}JZGA1$;!?3 zJLyG6nz2$38C|dTky(~kjnvMl2h6~_l6yAb#{h5!J9O$b?+|EK!^1Xq{v44dyNWgw zOEiMqBR0SlG6BdOumh<8^);lqp1wpV#{U2^{gv*BUgfm=IApnk2?_}F<;gNQOkvpI zZC7!Fz$24_YF`Uz&`aXWOXO(VN!C_1y@n}FjMF4+q=GTD9mrb*^kCQ^3cFY*uf5NQJUtB7ns`gQo4K0k#q$Fgh7~K2csXZc5BIBwah37C^zSoT-O#P{66=VN?ubBazrw zxcDN^{t_<*ST+30l3VSDIO9d$V?1S~1iFp8)RGQC7zY?WHhC{&hmBbDY5o?mmYS)5 zOkWekC9>3XDDGfus1iT2OuI@IRZ+An9N-c-{QHX0(rhm@t#;3Xl`iZKMnE9+#~(`iYy~f8hlE?b zyZ!$Fk-EFoT|VnZv(|jcXO`^FN)?SvMOCB2KL_O`gMbL&ZgBxj^U+;l^qt?Y{p2)`rO`JDI6-c#UvixhWjP-cHhE4Sq=p$J zk_jB1wCg{$-`pRv-kIYP&2#f4?aNVX5$!u+op>T)>a zfgi4FYHy)-)jOQUzM-qw=}V-%QCbl3869%6zwZi#&Uwy8I2hUw0CV4H(%WhgGsdc8 zxQET!PD%oH1t%FBPDTeFhvuSB-Eu}1Ez7B=V|ylz62K!?eg6Qv*jQi__gEbC$^3q_ z`?aunq=pNJ)9+ZW^<>vGi^?5a%A<;Lb2 zE%eF9zh1S9ij`EJsoV1>TV0!xJdxXrXMil0vF(sC+&7$_F~&Ftk<^b`qjm)LkX>$- z%f=kIQV%DUm`wj7s3Cj0wF7$&(4@j-8h*K}VjnIs$&)a6cgo;P+p zn5`pSJ4&`UFfRLmvhHGdQ_x^wbJU#m`Wo-UxH@)^_1ElpsSSgSpMHM7fUI%nTQ`{*8+R5e zq_@g`zTcs)m?f#4n=RT+Il3z(pqWuf$mxNB*V?@T+go9$#cM2k<71gT#RRrbB$M3q z&sycg(&x2}sZAu)8EEp#_UG+)9#IA}2`eFx77V+O9OG_C!5dGhBHZ_|+JkVmb6dvB z(n%qKnl%Jq4^F)YJQX7+0=ycY^qgb!{=cgoF?LsGJ*~>>cauw}-Akw2$mQLdHe#}l zNKmJYuOWRp4Cbr&hgG-JRyzx1j!15Y+2ToMbx<>jJqW?U7|uiVIRcbnDb!Swzn}Hw zXDMmSi`t|%x-W&^CA&vxtxBReW{ra@Y}ztLNK?<<%V&&p<+? zUdQCf~98}O8)@YV$wFG_BWOce$@<7GpUtK zM{{L~-~y<}APnG>j9~0M--^xcr-!XBbh#M4z66j!RIDxlY#pNqk2K(ae0Jio!n#nY z7`3JT?JP{>-jUqT@b`)QKP{9{3x<77nFA9Vvz+kcGbclx*e4-?JBK7ib#P*mck|ZIv@WINBpa7&d-P?vIu&;4Ze%<>;r|JEECqFurQ;+n^y0?m@p2ll)Z1Kwv z%p?;T5a1CZR&Cs2Km=oU0qus*@l! zp-wclz3%?x(k@cxi{@Trz5($B(u3jF{p^b;m>N*5$TkER1RRh6$PLP=2Lq;-siRA) z>oI?1K_sFHT_>4=Ah_hH3BWlcfCpdz!Ks?|HRap<`y8=+@V8UnB(3wm z%v&VxB=Q3CPdxR-Q5Vt4VzzOzESD1bjmVF9Jmj$%$K71>&`~OiGEweE&i;kgkq)vX zX=0iv23Afo9Pn|G*YAFPvsN16rts8}ZjKK%$|hGNZf&YS9WV}k0X1-%i?e;ql0c;*;yZR4dj5pVC3OWJM+(RPnP04?FpcDREqXt3vFOqF548IdWFYd zPH+IH8QxAH(oGM(d13Jg@=!>z+mKbr0CKxW-Opy@-;UK4v=E;U+=CyLBN+o69P^TTTU{z0Lr;P^4cAC zFKF{keF}JiV~$Nu)=1rujE4tmI)wxl1iFqnIL0}yw%Y31J{{_}dNC1QK+M;lykZLM z1)QSo5rRC-e5Z)dBy(Rsn8FT9oL{=F7x+Kx=5)F2me&6OfO$TgEj3Lgbt{W|glO*6 zBC`P;sKAT?&t~b+TLqmhq<$3hxMYm5C0iX2;%XUYSTt)$JinUxT1$A8@<}@bkOxDx zfcjTV+ifxv_jy@v&sEm6uMSJ7Ti9FMS<2sSc~$VSmcndh;2fSY*Y4wr;k6gJyzy?K zE#%V}Eo^OC2>wGETkrNgK*t8K z()#RczNoKvrQ6-;Hu{#3&P}}S50)6XX63NC9D|1EJ%=4laXOvl&Ad~s`!rYYay-{k z9BgG`PFMJY5)U4@_L_EbyWDjigRS&yi|-G>r(`nRxpE5-WL)w&J#rYFU}0-_!j>Ot zH!Lld@+AQ?AIhpn%edg=WCkaKGC3So&D!_a=bn+d)9A-dzc(5z1NW@bHN1rELc#b^ z(63OyjB=+Zs5Iu&^)IwX_K)5H<~71btP&usrBGlH2*Dr$*M2f^OshRvtRj@PE?BL) zTgH>zMp|h^sRPcbhZ~uD{Mc3;u*WPjk&^kPYsju))S-L1%ySst>P`C@wt&mV1_F_g zIT#}VVDtOQU!ko_Mh&BG;7xI+zMm`tM|Lme?cCT0kaOQ5a1T6iIi|sh^Js^c?en z=XYA9I#kw@v~rnl3dW&&5xYF{I)RLTD)#Vk<&5CpPxA_wPBJ0XFD>q4kuD@;mY81lC|jkfL&@02jkeTPy#IXLgn z1@EbCZGPh87i$_ijpv>UTA^!su&&DaF|H2WdmeI5dFhM;R=#VWvH8$i?Yucefy*lO z7*T_fgOlh_ur@x=mpi5mX$;6|}Bk~!K(B=zL} zLbo1!f3c&F+>kO9{p^1u$u-iJnw1R^n{u0DGlu{%$xz|96YIu(KQ7&CGGf5IaG*vb zEOW=OG)$dK5bQ9A zMq@C+B(^b*;E&55m1ZdSme^!Mequ^-pQz4y4sa^A4bGfh-)(!Ce^43WsTa^bHE1YFji|4RI-|u|R9v4!-PwV>h zI;Sn6-0baA+Q=C#=Z+RYPnZib`Flzd%bwUBI-K_vUcx&zxHnI0EQZ*s!t6`=WlDrp zIXEO1!2siM!8tkPg-LR@v~J7s{=WjbZSpE=liJJr>MD+cK^D8>d)9r(iXGwa26(N!ZJSjk%cTN%m0zGih6 z7n)338)`A6tOP-&kA7bbmifk5s2zbI@sbG1s*-9~k+k-gcJm8#NamP^K4PyqDoW(B zEKjB~2>@hr$zE+#Yftze*JECEt!<3`cg}-GI&3zk;&|PP$c-eD+mN8Lk-!6JX5%>8 zayyQ8%KGo@S5_%!Zw>76OK`WBvF$2~q0Y<$oT{)G>%Teaj*4nCr+e=2Z!PWfvCk{H zD=(Sp8e&Hdn{R6Co4bY=awxVYEP?_AQUTe802dv`NFjjdJYA{7YvQ@I#JZM7DvKmV zhS1xv6__aC3=%l`x{z`gnw=Lq`fabtZTFf~e5pOoe(uRNZFUPATg+UCXbtKzEOP?k zlVYP`a!ET$JmijftvA!Pkv;Uf@QUUs78`LmShok-paAZe;eJ-f8QM-p4Ruwj>De`D zS^hHoUq|Qo(p-DLAhpsI#On0O2`3Z2iMC{#{?2`D|NL7_w~jf3AKvU>;}`^t0mmSY2{_G6 zq}?|;yZ->dXu_PAGKucDmSQ`2;*JEBk{}U$t=otPp1f6dgKno77UgZU`(R@NJSZd; z1BUDYVk(1vwk*I19 z=eF6TxB*pmZDf4693JBXA3`z3aPzkH=xFqA#7n5Hf&~tyRyc?=5O$CPu=E@Z53ka# z{{U@W-NvNYg@q%`U%xz}vBuB{85twqsxBP5z0Bk+Q^<6y>$ztv&6b2RjIbL}0>Gb} zk<-(XYfAG~7TT4Kwv^$1%7o|mSpwr5v)rFt<$3AHMGH5p{*cn_U5@g3EiSc)t>rS~ zgq9~R$P zB$iWkt4{9%pa{>FP>6t?+>zbefDcZ&`9?R2;laSj^ zKZ~bRQ#q+8CQKn|C?muzBf3aqFv=vnjthsLGK3JlA9nsS21Z5)bI&!&>e}_x_bGcF zuFIIOdKv=^Q%L!60Bsf=MIT+oz;{)aIUd1QF>s?RbrL~c^TU*UWI7u_Y zTW!*YRgm)ARkw41G6y^oD(58^&iZO6s!O@G@RP+->zZtqn*E!{sp)SGrRSWPKWL5I zWzO91BnIT3bLm-M8T=~)8&42vml9f9MPoEF!w^1R%)E|O&l{M^RY3zJjCaPdapja6 z*ZvRnsn0akRMy9p>a)qJojTynB-f2=ZwQG{edUTUNEyh>DaT&i^~Jpp!kV4^?d6Z0 zwm)P?W|LuKk({U)<+|~npOt*gY)okLb9DVQ{7yQsl&eZneShGcpND)YzyxBz0;$%d&rh1j!5N3Rk$py849A6JZ@D4 zfIk3h=O)%Fq;2l*pMJmB{4vu`9IMRpPZ1!8O0-+6SBCwUVxWwH$_7V}WcaA*|#s8V+uJZ1v>lJ+*9|Xd!C)_Hp5bdZgprbV|#mvtsXMZ&+y|o z90C_7*r@jh1X@L=-D&gNUNr2Hm02aq?R8_9zwA5{EBNOToMAO+Tw*DR~X47tCNAw4r;}opviM=x@E#xY0|XM47&pf zB}mL_Ip-l+fcJd!fsEqirQOSwxolh3lUbh5aV^cJpBh4CiU=6TADJ2vk(2kFY{oI1 zo<44T*Th2N=HpM+Be_?3BV?K|-^Uv+atY`|r=UFh)zY(k#8thlby|GMb)s5nw^nZJ zE+vxT09Fmt033mVjxoqR^IbyEZDDJvX?A<={OL{7xJ5=+ex;b;U@k!%a!xVO^VIj6 zrndh8f<&O?bJv=r+H{|1O*LlwV|(i`g0{W=|v* zPE~m&mAT-9jzguUmf1)bIVDoLbFBvkp>Z^=^2 zmTpdcMtz8`hRS($H;M~gRpm05FBaV6rs4qpE(dYgoSK%FlI6QcJ$h?b6As!FZ>TCJ zsDKvQvP5Gd6J zs*RLo=tWhmO^G}?tLk=)m)2lCvZ+~S9#J1L%N@iXqtl!Nlf`6OS!v!I(xcSdI{oYg znmCGs1OStUZgVHpe4v~Y$TiHRb;^t7v*wYReS5EK7g1_2tr+KZR<()^_=VJsqZ@D+ zAC_`Yth#l!se9s!1=O!n-di|YS>%yHW-^VS1;{7l=Z{04yy&AISEkAT0FfNhx_3Ib ztS6dPpG!McnE9-Ul1Bi7oP4=pFb4z<^|*AqD*`8m&`9l>$yds#Bod$k02#<0oYxgj zWn`J6S`ppDC)u~dI;*Ko-eC>6#hzX(=$m2IWw@m@|CEKse!f z8;Rf!hd8X_^=acX0+t-uSU3Y9e+_9H zJ2E8gp(Fr#Dv8PNTNuY*@U0n3NdiJQF3?%>+723YTmBr=g}lpUXLBTqtlNXcSi_dc$p9Rb-JS{i!vSzB#jDFk z4oUo9g6MTc^G?rnZRxEfaf@drWSLwym~zNRKQ?-O<-p?%#~3`;47xS#y~d+8y~wn- zmG>o!ZIojmZbl~|iNQGP4>`aU;=*d3N9X=z&FP~bY4(8k(rQ;SLL-O_#`|SgWA~Mg zc{~i@p5B7Fok9zCgA4+Q8OB}P>phzr5xN>GW2m^3{Zcs^W ztO)D1LBP&+ojFcY=li_+e_p<3v1vhHsiA3qWu(Uk+HKPED6+m&7}*4yN6v}{4;?aj z<0rjk>$06k?9;WhwpU3Kl~oL$OCfA2Q}Y)809VK$a7HpST-0FWRZjc#`~Lu@In;8C zM(&?Bv8mdn)Do4uSYAPZcL`nCv}jiaRlRc9;j*QaR{?uynx}}Pxl8!ju3vrRfrMRm z7GN8k0r!B&J8}umD8TYkbF$k10C)6)qjp#7bTM1$7j{$H+Ud7f)4=HzLDZ?4*~t0E zagfT~J`YSVz#|V?@Xfq>KA(4?i-|6#aFeMl>v9>`E?5vgQiB-##lh$+qJ>J4ovJ(Q zul4JnwIvtdEt<#0*kzH^$t=XloNNVd{# zv|HOtS7u}l9?i(1dK{29WR2Lz83g642r8JUDAkKf4*NZSt$zbI?rR-xiS=DEqd0+ri1tJr6j@%_~mP zPei_7*P)d-#xiN0mxpxCe_LCXxYw4)$W{3k1(`D6Fm2(NJnq29J$uuxto%oBXXihP z3dhTu>Tz#Q!idHciL1Gi63Rho=t>Us&e+~sx4$)PC~_Mt7*WtD>L3xzl=IN*`$ z4>;|PG45}27TKnDFvj8H<}n(9#t1!0Jm-U+g8)`4Zb`JPm^&$1vnuH(j@6}>Zz4c} z7XYy!U=>r0D;z&3fC$fgP3DiYBw~4D9$FNMlq&w{r&E zR;G29qpE3tX|x> zwe$9alC8C-BxL6~7+kUB_3V>MT->@p)VMd%oh`qH{vui1J@%>N6}C)`(izo}akRP_L;xzOxfsTO+vl+SPvR<4tejkb5mv1TS={m;7wEn$_;2I;FBq-O zm8PAq%$7Qm+T2R8iLiD{Cg$8Y$;j!ozrBOi_>V{UgFI1bjV6?zW@MJ$NbYU}D-K38 zfKNE&@t)jPHQJ+YXziwt`s{5-mbWWUd;TBr=aTs5N%Sv^Qd}ui`vJCknH+6Zd zydNt(OT`fC`i<7Fe_;`y%ejy>%P>WF%yKbh$=k~G$0vH@t#YaM(`g(L%F^6@oup7- z1~3Ld80dK{et;f975CU4RYo+P@ku|p>T-8BFFY%*-RdxD7ty(%YhiN^K2t1vcN}DV z$K_+_NWkn4?eBmkm%%z#ucKbH^OZw$35b5_qmEKf$~aOZ9FfUZ$;dgzt~wOdUG!~! zzvNFf^*LK(5>d{;4Uu(XB zuC3!CfCH+A+(!UlfV>}2NbO2#Mr^1%vVCgu(Jvv=wC%ImPRX%OP_pCYR?c}=D!Kmv zXFd7F@h+KTW4*Mb4J=2^1>-p2C^*TM{c5x(qrbcH*IyhI}Z+A z%VT9LOK=6dNPg~owJvjzN#uc!4sv>6&!%d+c9p9%H^N(|mKBQDMfqFjIWhnb4V-ch zRqMtBiqMH&vfPPpdv>V4Tf-XsvqKmeY>rz8kU;7II5_n+ucTbf9=#k&VuU-h62xG~ zlga1i1D>b#=DVM~ta0D$}+*@lg zT%-9Cw1u-6+2!sW;C9AH_N}n-yOMoVCbPAT8Fal{Rh7KUE19EGqjc!Za8E3x@Hp;C z11CKwi%*&-X1dnn*(V^O^BpoiWx@s@-Wg+q?agv?Es>?3>}-O{b?^*0F9dl)C=_!6E9> zM`L8kq}#j}Z6raE4>D+&wCYCCRY3|qY;(^;oZ}T{A0Zss$8H&#GRrw78yUzgoaZF; zJo8)=sjaSF+lw{5%G$e6r@RJ0R5GDe18L)+9D%_AR#o&D2I2`Lfi7dWa;8Z!ggbs= z&nw8_Igny&$DzY{*A9p_~91P(90Fo-D-P{*ej`KS( zQWpwJo-@xNZ5*is9CyumE}L&%(>bR4924sIA8B}822kMs@DLB7J#*NPO!4bg<#xJ; zTdSwGR|>&VFhL;W?u=uvaoG3by@gFiIxS8fd&bPov%R&@KXwG5o(@UYq+R8#YR)?9qDP#J4EzYWIO)kTh*EiCNJIAcbSl z9P&Hl@yW}t^&KJY1*}*18kDh#5w0Wvd6{B!k;tXx7!V-A-9iT2hf)AyUDZ06-ufrB!(6DmhV_zkjOOTS=rfr=LBXw(ks*MJu3@ zcHp6KH*mW*4pe2h#}&m=Gj(~R@cy>`yp7c2p}xk1QfScaXw>O9o>!X90R1=MhMk}`XB9A_2e(wyMsRRj7JOkYIr-qWQ+@tWOPqJ{Rxw@S%hP+yID6bWvH&*i$S@OF$BaxAk4&vjU zqo=Jyta#aVRgLAA5=F~-Vkoe|IT^_TxaZT1WS-vgjp^FjBYtNV+c^vUR`zD{kwU5Y zkYpAlcgV(1Ly&zqz{O-ftqq&R4jq|9&kU0ch{!vaU>q?8Pp}x`wS_39f4s(WO^>s> ziqFa|6kc5a03@+7Dq96e&u)Y3$tRp*;%W&c#89@K6fht^GBk=7Pk4n(_yn=TNlW z)l6`DM8}^H~r_`2`Pje{#(A^9)|OkVXmJ8)rA+i^?g7!;C zX`&I%W8CUPDJLWDk&n7@xZ@c$vYLgA8f!xKFxpszC}C*OA}Qd4IPP)KezoWGa<#@CeS<3fSmzgT;C8!>wX?f4RHwZ4u<~#+4sm!=?f-QIVF$Y z0|mRXwm7Z~b5cr2Mh@;WjrP~{XO?_t(w^7HU)v$$NT;<)K5XtRq$kQc5&>5H{{S41 z4*02rap+pzyDEpxvnrVFOeF4R5uj4V*?W?|F~W>j%I27FtVfzRPCBnPzg_Gue`hDx z{ut@L&8S)1+)ZN%zMgqEn`K~4viX@9P)i8%ay9{-+;k?f^-Wt=)3u|iUPXI(U}0$P zEn;YAsD?G`I|1Kc}GCKD`( z6c3k`z!+=+p8bzX8vCov7_&+aPjCA}fxbVHKTDFd1YdcsVia*{nxLI7VOfNut00{&f z9=!pKlc!6cv-|wM@lNe%8rF%TXqMk=w2)18AQ7_#E9K!&$^bvaPIHbn;1kKL&oQJo zO?5MEn0c%QTj%OiInGJWD=IUUSgA`(n$mh)$$eR1yxAmZT1EZens5OGV;%{7D;l6Y=aN7;@7n{4>5V&XX*mqJL#S&{4BCkkT(Zs>j(3$m zC>(IUUONGtaah{+p5w(f*4EQyP&r_npl`YE4^7$hBDaUSl56_0&fV6A-HdbIUKk~{ zg5BfAxSdmR9aNAr@`Hf6!RyzNT^IIU(YCO&P#$R*v{4ue2@#ZqVgCSqo|qgCPi!Y8 z7hXhMu%1nB+S=I9EG;U-Br%^e%N${pkaE2a5BE<_N%Q%+BGY{hCGR~A zRnhJ2KGhV`uAwq1l&;)I7+mfR*Kz1J=L6S*YLAC5Y$5RVl#{KyN4{ARrCwZ@C+?p4 z$ovmXX1J@?l}Zgl>Q|5Am~z@lGpN#}v3O;8ZBkZdaMEsb(Sh7SIL95vPI?R)ur(Wd zIHUU{@ozhC9Ep+epsAWl&qoV}(F|_U7ux zjPw07S<7~kNMc2bAtE$|1babpxyQaSpG@TAt!-qJZ~h3ct&y5-{EJy9ia_qHG87S$ zl6k}^MSFs2+6o#bvtjX{1VGM0$2^@PE zs8Dj`AL@8NT9Zz)ySjFf9w^wUEET?PNKg;Ax2An?CSK%jY@ahaM}g&)1@eSc8w^Fn zo6Z13oM(;P4xcf==8a8s+dDhWLF1I&JWU%GoUlRw+Ct|Cra?U5w@jM(bmb#sy`a`>fZu$Viu%POQHRko@G#t0wYAOVxuA5&S<>tQsvj#=HVZ~`=vXYkKbdUIZ% z)lzm#spC4=-?5Dy^owgP)Ke<9?4K~MRQ1C8ecq#*eV(EkDP7wuoZ%ll^vM|aJl90& zwx4sIOH(UWyLjjOK#BG`jJm1+06(2cCa|ApMOf6L1vycU*vTiH@OpQysMEY6B=lgD z9YQ=x05LY?ILTltFvukNa6>L}k&Jiz>qib{c2(@kclxaNnEOK#;O*YoC+q%4rEB~Ml>HwZT|oO6O(5_r`_D?Gf4_a-h6)VR-;}x;1mXDOjZBR{dBx~{{agtIYmH-SAe!1vR^XXhOf>KR%JtcOvI*V(2rqurcw12b=@i@w++yDk@ z^v!g~NK{2jSQy4mT@>&St_uPG0PCSrQ&&MMjxNlwG`OI5bp=_}4=kd94n086Z`QK! zHA|Z)Ry&zP$cGt8GN<$CbK0`4Nz#jOWmA%>(vjgGwA{BB+9!vkjf-MQF^+Nw9FI|v z?_MMD%`WXeC-`c2463?}1d=iT04)}}X}0k0``MD!s#zbP*EgcyFXXpjxc5Jec!$Ib zmhf-HTQ7)~=^@g!4Vr$o5V24Q#8VIf#@qmXaG-L=xGU7={oTK>_;YL=6lKkSBG1J{ z`)7qL_1j`4Z9SIaHx4#5WOLK8%AVfcYtOtVt7#fHhwSwoM(W;6$x9`?GPdbsMJ@89 z0Cwb(ayc0o>x1(-l{&R($Jr~%yLst$U3zhaO?ofZ#Ciqo)zsIwZ)+W+OEP_t&9rDE zD#V=bMsmDu$T(6qk_L9esd%AHtmfwK!DY3bN+UGV{i_VXWCkinI0Ik@C+>sJ4xJgz zI7LcJPsx58>urpqHno4(_46dtq`UB5u^)+x!rmYA)ap?|8kK-dNLe8m8$$pxi__&i z{G=uBiDz}~ z?I2+`8+wx2Ey?J39CMMAo}!mYzp-r#PmX!avBjrb#~N+g9e`1SM^Vl_M<0i!7aFwv zE%{&aX38pSQ(x_u`bs3$4-f8yQW=qsc~;xdf(Qhiy*hN~GWcx8J+zkh3erXAv36zJ ztW)F)t_CuGeuNw_CnEy6rv%}q`Y*Y&K31cq{{Zk#PUgbS4Y6I?7K+MmBgs*lbPzb>o$nj=IBO28@L1&kRMb!1iN$jmz zQPMbOF(y??#;V6TJxFuF#SWxt+nJcwsmRrX#I})XcW`PVSmSGGO}c*L=6QB8cP9W0 zJ1zqPPVT21;CNWj z8=S0Q2gn5EIR^uSoN`ECsOw(l>r2vXAia5@k=#ojr3}n)LvzmKjBZjo41fUiDn>6w z+-e-svnG8~`sY(I!zq_$Rc{#V+@W~J(6}Q#dF(oM-|(itX$9<-+T63tAVx9nV(Tf~ zaxh8AEI{q|ezmM9Q&vfBxA_^US-03{inTB84-q8o7?#1t<_va)JG=MJMsb39tQ*Oo z^DX0s<1uXu7U8$$$-o1X-?`0t7<83Lqnfk2XIrFb*EiRTCDqJUYY7mBX9bBkJ5>P( zJd?odo_p6vdeB_r-pb+a6tU_{o0M!WMV-K^Hy zgb(+Y-Na%ADxtB^o;mG<#xsNK%lI+H#1dUyMtta5te}a)DypDdwoe3?W61=Ky|Gh- ze3)vDt?l~t^arewt*UG3WvU2eVI_<^{O3)hcyfHPxtQU%cN>~b401x!+0Ogs*hqBS<#Grd_u!64 z@gGrH*CIJJHTx`hSQTU>01h{tZNbidUQam4=e2P;Mx>fgRJHTk#M=50UI@|=6mm&# z5)Gvl#(CO(Ir+K#dJZcJ@pVY`MVj7n!2uyxMgYo#oDP{MoDORmPY_(r@|fU(uLFcx=56vSfJ+k0cAlJ^ zeKEy)SLMCZ{Cp(+6+o&g;&PagHyS_>Uo*&tyuUl}&M z#Xu}EoMaQw_Ut-(R$R@?oam(_*CQWkAKR^rGqNA3dyF#yWewe(Igv_mE&kV3C~^yWm@REw9XY778w@-QU3slXB-Z5f_|Cz zu9(S2KJctfI>TddqG=@MNBYL^^#1@K@TWD*trXG8KK6f@^PCWPzOOi@W9iwgXQ} z(~|vO*`hp=A!lN$2TTFZNX~km0j`EOxv`GsIW+jjo~XeSZp`7clb+rE@#$PRnrfou zy}Fyze7e}BZ>Z_^cT$T;riix(?FDwLH>L+Z*(ZaV$<*~HYl-HzJGT>t3=3eM{-^RL zv7v{Os;55ICZwX*EKQvgM)57$4Z2~1A%LTrDy9;e9SR`9Hk)(7U zW1Dm#OOOc29kLG{J9O#1(!HW|LX6_B^tj8bDdn~jv`+qJ?V}_xIpfnGj(Zxwypnkt zqJ+8u(3QtH1b}b=1p1IZw3KW_;?}H**U3pPE&gc2ozEIEY-1feeNJg~U@jzkh&HSx zcX5z1qdDUpaZR_&&dEvNQP&H4(8$r0Z#(AL6uFO+p8o)kJ#+6-Tf$+n@|~DEoJjZ> z8P6EcLQm^WG?K8HqokRpD2oVmM#*(jMh1UB^XZ!HZ0{_hLH1M%RkP)hp2LuF)br_9 z+PT+B^*S9Ltu8Lb$c9F8jHnThQGhafbnbZPlUsUneBw)+wU9dy1M(E`NGu%S^y40a zvX#1>Y2Rbfv@4a9OSflrR$+!z2LZc|ee>3=-uZG(w5`h!0VY0`(zS`m^pRgf)m~e< zblXK+ac*!+qPmtj$OJ#$$mC$)p0(Q9nS78Xba^xPwiO@O`PP(gdvr3Yx{kTX10#{y zPfGIbR`XMX#P1xCEcWlYfkkHlKsXJKJv#b(8jMnQNW3+*xYKjxUB`6ssYs*UIZ(+YR^}@)Gi~4X|h?`s4`14Zeg?o!jdufiuUQ6<4HK!>X!Ghr*nABWnpt9 zp|ObFL1pL<1ZT1ObH#F=BDIH5)9&fGQdrNEYhMpz4nn`WqVPiWCeXiJo0Kv~rn90Bde-A!q9jTvIdmH9udtlL^ zMdg$+J#o+yPc>LeM)4b9mn57yZl{$vJuBqn8nC@P^2x2OvTomf zwE3LUg3-NE>o+s${vy$?4xtgXw7yTXqC8?4VlLZ!wq4}8K3-1J2iqW=DCYAK(Wl8lD_N)4 z$y@X_rzH03GT!%7*7Zm<=ww8;Nm@9a-(Yxf$}-&t$~%&ITy-_AVJ4xb>Dz9uoayk! zNKY|#xdiP5uT|VfJ@N_mslxFzl21lg*6*$7wOHp^6y4hx3q%JFyJg+#$7_^4^<44N zrO;(fKGM`Zf=?Hgu}K(>0=Hxvv%n>ebAgaLk;hDz?pLq*uh594?Hls_Nn&P>ct)b@ z3M7vrMIg+Ge6t|v1{9WFZaC4T7hD>kOA{{XAAPh49&_PVeWJJ?1A z(@10UjvouS7R!Pf)-8il{#9k7%gG_~V+v!>ajbswH9I;cCUN(ZIxa;zdTvnJ# zs6ss5f3K0-O8lSK_0VPQowk)U*4D2w#IcZ~K+3*gP^y_HJP=1b@IC4Y(ojvN^LE^} zGk}Bu4gokPcNiS;TGDP!Id5Zna=cWHZ4%PkRVn7)J*ES1X|u5vRFj-@yN_PD9A>mO z+*-|iZX#RB3}i>Sa>}HRgCyh?BOOOxamQULCoW&>xTY?@Z?*eYxhlDJAVu!B+f?>8)>W zFYIlaO+p7YaKxe|-~`$>fI9BuC6|+uIT#f;pPREG3|Uiml=ERDZb=y+V+8c=gOYg1 z&tsBxANOzf8zr;uQq+yiHg|1s(Ah;KV8p0%=I&Geu%Q0v=RJC2xlIRB)Zp-v%}yGeD$sFnMJ2C&8n@$QWbWSDjg;J3UJ319;bXYB zDI*(WJ7V}7tcZ4pct;Y zubv+E{{ZmEd|}FxIJ5<-#HuiGdv=OO= zl@mG2rrq30~q8Eqa1rx zJwow;odE@l2N=djT`W#kQGi>FXY*9w* zz{!S2ILEGYoc#@LGQehB$YhWm%vnPWdthR;jw*1*$r@D}Shw-fYZAv$qR584gARMO( zxIE_{<5vhbr(&h0*HcGMk>i4YoI1&zjAL&n0CVZjBfSzTU0y>a#8I?DAOf+$Qd_Sc zgPIq`bV<-z+re)vvO+?Sp2=r{G9QUMtBDcfI46vmD!CmM$w~+dmALR!(>UGNjL>d zwoVT`XR)WZQ>zaMwB**NulyudLP)J+X{ViuQ4A68Y~vsi+dij?hgFX9Odx_itU|Ny z4Y5i80C$7^aniJsvbon%e9^KprHba>+2y%;Ypg~%)v44!~-)N|`eZ*XFUV6e=P zG-?+}At~KUqSv+6avAUR}m2k|PiQr=d_4NX}ohC@GEn{Yu7@HxA zZW+Mt0V5=kew93|)|#_O?QEmBg6;tXO}#nXvJ8NE3c~=E`9b`6>s=@Ih5TB4tmzq) z6R^ex?s4-F2PfaJ6xurz6HU33OVESq(!`~hG2Xu{&G&v@M$yMT#w%oaqgN;<7BRFy ze+s)Zf4j6CjtR?c>(JwoRI=1kf|I&3bW5Aq0O6{{VJ7d5p(`e!YF`uY< z{wsAhC3}mgT2@DbAg2t?`?Umg-JioA^_zF78^%|-b(&T?alLwd2iNuWsCvPx8o^qk zyEs1__-Qr0IWDyOhKE|yvpt(L0f*{P@zCI7Bw*v7x#Tn?(mYkCi|dJnmaQ4`uPxbv zA24JR0Xe}KCBsI<#0!YCN1i{@Y$;~WjFNCz8OV3S@xCYqyp(~aAbzg-h=^Es=-9OM+c{blKLuP9oI( z?YAjpjFpUJfEPLEu;UpcwPd)sp6Y1gbW3No4zDIzm~I59R>#e_lY!4%R#8`XdmYPu zZshlNu|uc2TqJUt3P%Ej4IQ!F<`b65JpdpAa9Da$>AJzUxtcqv3~)yh#Lf|$YJnJ1 zMgd?vvy;>2Bm=-ZN?zx){<{v|{{TOc2ihcpC}d!#4I^AAaIP@l#79lp0Qz;Ro*SAS zM@5D19ywnA>PyS~u~#I>K_!XW2HYN=goDL3Z)Vg>wbrJh>C@i%^SldhBZCxC2v3zJ z7#*V|g#s(mXmeJA2DbK*?w3hw~9+ByAuN4hR`10D^jP!2-A?ImVl&wP_=Q ztv+U?w@do`O4^329LsYY7txun6(W*0LS%LvDz7Iz07*EqPMtuz+xge7|EnCgkbOf-rxob5N{^(pfsz{8b zLpIgjk~7I1=chRt8is)_oxPB_hEXUh=McL?wm`z?kmGI-80o<^=V7MlwM}n-(_h5p zp;e}$`?LKCCRV2TLZdmGCm6gmIYFQ{48F0ur zVUR)24p+JC2TIbh)@|+XBZ}tUM}(%(@;P?ianDnZz+iM9wc=x`^G;Ky^=DtRlw!M? zo-LZ*;ZsKlZEh!-zj>3A#0Ffc=g{PVk?Gn^M(0qAMYgkrV2<7>P#B|dfX2Ws{fb6# zjp=|!Ims2z2u3i3r1y6cS4-68pqA!q%`)5&$+-ZSD9_D?Y^2lH}FbYXISpIIg$>VV~+dHUxy$-28bUM90-%Zf1)fPaQ7V)&qM#f;9 zSeyZnN@VfL-RoTLrGF8b(rbk)k10ZLZi!6b3ll0VNi+YKVxcQA2o$|#|$w3arE z14Xqnxg2GQ=s@X$4Pxo(Gu<1zc7`yKmie$>rzf7c^seO6Nt|*`O2=W~zY#8jeQ?)n z_NZ|7TQGQ^!>!0V|xKie;&C#8d>aS*_)TFYsx|5~j zI}(JFz~`Qvel^JWzZSa1zM&K;ynzw}phAYvf8&1opsfM`t>a$4iZymf$>Y2{WW4FvtLrG%{a>8F! zDQLw-@yfOwMMGFrH+AfZ5J|ze=3RHJo z?JO%QJ{mR$X2YDGr>C`C5;QuPXK{A~ZXFd+;BYdaakPWe9)Q%lHrMowxl~@GnP<1Y z8QbNM#F)9rJ+trY$mvy^Pm?ItfcaA3Y%SZ9>M_sx^>KEydll+czqE#1K+(L`xNJ9; z2zCRp>58}Dh#DUf5p{O*!78%FZz~sNV9GaVgVZ($raJfNQnGPlhsKX)wbV92B;Pws z50$f^BxGX)KK%VpdY*YLzTIy!NP_7y#390y#_i*G`^N_yb2&jgO6spx$>D|H+4JYV*QiQ$LC zFvlnEf=*N}G543A0MFMar?)<1@Y?rN)4n2Ttz&mIA85RW350G}&55L4$bCV_>7Lc> zQjPHT^*q^1)oy)s#x;&VDl;iW3%yEi560zT)lLs=@qx!^<-CF{&paY$B#p1n9d~5$ z>&8WR(u=jx>PDuz>T!Cer1uwch~#5$BN2mwG1HHzzYVvV%-ifIrT@LouiC?qQo z2qd;M(<{LvIq@q|i%*vN{{WufpQ*(csWs%9hK9FVo{_By8fNn@ph>sLB;0>~q-7gD z2?U%o9*l8^cdpHO;)cF!MxN^F0xVFgzn78^$(G5$$QjNDY=B2r4vjobCta>t*~RqJ zqyGRd+MTXe^EM=vrm)l@)9r(Oz9PS8k0oLay9&FGalyt$PEWOD_zvL3;M-9r+96G{ zpq4zH`DM^_0QKdDi&UiBO{;zhnoxSm$eQfQBTF@*kxEL4PD+rZaz2Edem?ck z=_@Uimb!(-m)hXjDwNLURw_;jJg(iqlgRYuwv4Z2cWA5u+QW4BeI=7cGD(v<*?~4E#cE8vYJT} zI8}t(+i+4bhXWZ013h`@J@5E@rkCUfD&OeQMiNCUzm?9?4i0w_&N?4rV(*jQE-#}t z?zJn6h%MS9JTtVdATog4nVA3s80WtP=g@Vl*8U=n)givSmRl>}8r>s`Ey77hE6(G+ zn7Z@G42SqYB!qdTVNF|Of`;1q9d~WTui2)wBjpRrvIDt~sRR}3I@ehRywmu0;qPFK z-09C0ZucAGdtlkz8E^^Ocs+O|fygx#x3%nYR+3OU8{6iVRlT>KE8AG3&BUK)-5Usp zK2a&#e||a7Bc?FcUr?1{`$W@Oy9w4grbZ~a#z`laz&|M4_eMA(yn1nrQkz<@owxr0 zEl)lYvrTj=>spqXaV4s0_l7q}{PvbOm;h9gqnzQhfslF0&p}<^f^`t`+d(vHzJ6pj z#niE7QMJ!cy|=HZKBFG467JmF>UtFFxzoGuaXvkhRFlLJtSb}TO9%oj!vp8w1MAzI zb*P(KIzEn(=-QBnQM8d`o$yg)l0pkAlaO|KYNQZGPT&sR!?L_mX`(38y;o8687GMJ z`~7=Viu2D8J-G6OE}@Y~C=a1;mfeV4^=`n{u8FFWC%Cf7nmF+gWy@zBIU@s-bDq7c zimf*#$!*T*YZr1W`y`jduv)Fbn*2md3-W|=V<;QGD*l7todzi^wo)P?b^y&k+yklxR5i23Qq$)NhJPU_Cjg< ztn+bHtohMRBD!0KC{g2OK3v>@P;t0t9C6?JRn0y~OYUvOv)iAoLZ+0iVGC%@pO#rL zw|_AEsOWhgsQy*V>+&?B;qnKTy9VCJy?0Yy@wA?V_5e-g#kmx60l*uFt^nlpsN+B!cx?EPKPD6v1n~CY7@;$1cy*h>Ln@I_8A>QxEbDoE| zJ#$V`=J&e=`VnrpNurz2j{yFE?(U}G8G$IM4wmAu{1x)grZ0zOtXKuO%G z*k_N%q%vE);pKT_1czJ$_zZrO?AD?YfDyAt@-aLE`h(3ts$!9(1T>7Lwr2oUBqK*m zxQ-`iVv*V`XYBJbj2sQyPdVyOZUt*y-p3udW{4P3Rb{{@7&*Ym;Pn|iWcREp!t*qX zwVE>ZD5Pt+#k65yBss$p04F>X>G{_|r?hF|<8>2aJ?({7PFo0enW+8C8Dy#@;dQ{Qc|D{5!9mL1eRXmj$-0o0kMA93OL@{{WArXFIp4wjNe? zV)%~wWoLDefY}aWBot0C4p)zI4td8N51Q%@k!zwQcUW>5pz7Hf2lf6`;+^biS`A5D zNUr2qnkdW2A_RUSD9opETW*2*mu zGpSfz!yJy>aC>u)TC+9Td1P6o+|$XlFvij_MnGeZ2SRaar@Veqt{CAv_QVVV2Lh>&|NRmabud#>n9T3P~U_1ac2-AJBbkpHV_uvql|BE){Ke z85GI8U;`>kX8@l3j^ET)&A5wu2{uZ^sg6V{3X|0FzyRl(r5;zQ+MV@7R%w##p&PB& z{#s-^SKp52e7a6S$2zP$&GbZfcvOX#hmy^P5#+pt6m<91FkF#Hl-BpQ zsPIh_Mq{`b-VO*Yo;W{<;;tOY-SjiRvul{+)_)cFPfNbjbf_iNyfdgrDyj_1ZL*_r z!0ETwryTaKb4|CJ$z;EdaVQwt@sdFYgOS%fkIKDjbt77bGT-{Sjb!ALX5Nu&B>Hv4 zjdv-TT!4i#7?KDXA9p9V1^&$| zGRKT=`9R!_3SHZu3R~DAnP*vLhmZpA+{~c!&r#36<6QB>dnn00UYCC()5E`Y zKkIT!1)N%3gr9Z2wEI#y7=~2bzcvT9I{g8zvtPT@tu(0&G7XWY(+=W1*>QqG=O7)e z^8?1w-kR2Ll-f44f7ZtovKGq6<JO>QZEQ!0cx!lLh`7#g=2HdNH zdB)#kpQNW&DJl8e@cyspbkc({JZ9Ino+i`NQ*)TnqyGR}PV@j|2hMUqAaDrdy>mBO zlHJ`2Vu}c)GqjFk;Y${8x;+A%bDsSA^;D@_mCJS&ws**-X zWjnE+{{T*$`c{^Us>h~Hc)FCnVG)5Dg|>zRzB_~R@_n)1vBXnxno!)<6LO~}%^Nvx zCcQeP*m&*4nYWJ~SDfGkW69_+bK7w1#tx)c=2nG;oxD)IzI(J|3}107pqzjLdmfp= zu6pTnKa%{7=`V4AUS?JHy=^Y9=2@(XEX(ApNgAT%@(vUel3OR9fCG=1)RXDfTAr3J z-3`=Mu`Wq%}R zw-Y2=$o<=G&U>7nPfjt=eQSM{k1i?4VrA4bENmxO!yS#-p8V&EuN|`7+{JEKu$EoL zi0TGd=kOKRN!>P$TTaAL%wm~WXeAX~HwOnG=ietk%Aa_WK;=RrMI!rho+vNyGN{%_lf5N7;w<~1@y22r1OGUJh5af~6=N$X{(G4U0 zbUCekjj315hC~kS@&T6PIOjFX-`TV_QQBKd$nH$c$(#b+bBy-m>qI24XRw~(GPr;w zgq4pYBz&d0`g(q}%c$;uv%L6Z*vz|1j^JXpgV8X0>SnlYAEgDvv}1SW$4)$L{d8B9(n%&CpFJeyCjN>v%4}L-bOzw{x)vu;Q z5zzt!4g+lp>5R90W8bAsNqf3?FrNAsl03p7F|iNxZpY*6>JRFDD&#tQ%<1MbrVkwF z2l-b#T9wgM;H9JLTAI$nNzh87NI)#F8-Uo!7$A|J=kls?*rc)*v7MvI1;Zh34$+=7 z+~Tdu)*_03!WLAD;NV-v``+N551<3;GyO49 zX0$SdJ?3?B+*qrd!Kf@UzR*^#LTqR1(vAuYF1_$nM%8&`HEC`$KFxEIlu=1;;&uFrrujS zTQqZX@+uF!56#$dh8gFt1D=(oYCP7JBAhh3*ygXSr?~MAxR%u0MyRPf#uUEh$sKrO z@}7N&$ic>i&YwG6+Cyn7BV!vF5O?H-AdKfY^(Q=aspjQz>O>R1!f5xYYjq{UO(bzh zHclXMnNz;j9r2tI+*dz!e3}o4wL4qrysLZ3KGzE{3{*CG8%P}W^uVng8^tLtc3ueZ3;lSFN4q2lF04G#dQIA-V2mHz-Zs#lP}+K-(YNKwH^_vEySOB|8g zl6W4t_pVsdah0!gZ)oY!yC$`@K2)3S*9e7%e)c-&zigkw-mFFE+S*Bd=BJS+0xFD< zz>E=&=LLTgT@5N}OVjf?X!BH>PqQ22dsqj9%&QpOSTYqnKh3)gI`q#Yx$RUmt$f)e zT7(E%?nsZ97(1lol`X;fJ#yaNuxo1cz2?_{%^lc!mx7D)Ba*=B(pbpv9o+I4@}O5H zID=&22LzLnNf_j)!0z2v`twZG?zHt!Hs0nR^{*J=m*p%7z*EWTjAt0_T+)2cLua;z zj+*ga_;NS|sgxx=vyxkOM`Ck=7oh3~<7ZE?y0?r?9m}uE+Z9Ps8xl!uWZ>j=AI`CU zf7ar)+I@{}J5QP$d(X6At(2rZa=;3a77G!D+t=qRr<`X4JGj!*G>fe(Mb{_OZppZL zf=dHS%d0LJw+A@faDCg3!^g+R;?qZK{r3C}DpU8I@BM#Y(m8tthfLOd`{|{=w^Jd8 z?ihT)xl#!#;1aEz^XN$A5nhGh`@4NM#^_m0Jfm{a!s@^U9gY{KLlSv7$@SvnDaG?8 zqPNNR`Q5)pVF(>?R(Z%w{&29LZS-CVyEd%|k&UFRMGNQT-#UEoXMo1mcdgtsyOLYGL zXocAo8H$G5KmeZnU;sGBueEm7gPlbv^|LjlJ5y<$B)3|Gejd`lwC+5!9jUtWCB%iq zjHMKEcoDJyILAC-RF^jTZjoxj8@qdmVMt#umob?^$!((qjlk_00}2m0$C}mT^}et3 z{{SP>h2s@{$Um|o(k|e-)GiTWnm4+HqXXwEsTmE(Axm!H=Y=^PE1|x=vD38q^uq~x zE(3XX&@fbvRtt^HNjP6BF^>Cz_oA9l-u|@E9GlqZ=F}xOro&IUQv`8LQsOw7Ji@ul zI6UXRJ9-0DtuFNKKgE;ST-^((3hi)!Duu>K>&`w!>(3s-rZD7ukz3v0&g=R{Dk)2w zxneK0+zH=US#5*}EyR05fHsT_91H>9oa7&R=B=UBZmwB z**M}x9eFxZNlm_t%1x@RcOtur;p35nG0k&stCvz31r43c&^J?#x!sQ0tqn5e?#0!F z)A?(CJWd)+J7sd4xW~=ZpI!}gUeIgMG<7+9mK*IhTCLESG)XM)k)FYi*El&D?}}`f zK1^j}K$}i*!#VZoTf*{suRpxuUhU$#7;^7--l#I&6faNmD_BEw5;du9m$wOq&s%7Z zazDP_oj~;G9qQ0tgr#x>UFsBWR*&UYC)1{XO46PieOJiy97bZ0Y~wiO4u1js>&~0A zxz87L(;?RFo=YjBDu-zKn0LoLJ-DW6R&Onf8`5v=;%k?v0deT=d(?1HL%@ zYMt6%K{7)e3{V9w_#iHN=Q#R*TG4X1V# zw_4_Myl%lp^08Ld)fRh+FJLm{g#n+-A5cyK$2}{Zy1Rl+MWclpC=`N{WM!9(bT}Oj zeGYTYb;UMpqPe3Nxwt30dt4?|sK{(!up_S@hv`wRjJJ2mDQk*t$Vl>lo=RPHzmSb`WfMsg0``~lyLS%Sf>^tXlJ-5U~cToN;! z_Kd>5qTUy@(cg>`SC9SidWf} z3r1H%Za&e7WGBiVUUsVNIql9n_2Q~Xk}Sy5NBiCTw+0;kymj^MM7HKki8j^CmQzL? zyc0Vh8Qd3ZGY+9t^&EE|)u7tso>4@GSB!vH0FZX)Ip^2gHER6U=u&n@CD5AwNaqnK zk&YW`<38u}>;5$&ME0>GmIM$%Wf=-GeSNS86>pKZT<@}HDovtW^foQ_5T zKb>pXUfkL0%XTM`5ipDsCm^2ujPN>UhXRta-00(y-K-H{ouh?7P+0WA>Qo#K$FF}{ zye84DU=FwP+(^lnWy%f5JP-jm&NJ6J`qe1A8!025wf@nXIR(o`*qnrwqve2A{Kiii z?VO6pid&eq8;CfS8-+OGn05elCmm`h1mBSw^4*!zTQoNdCc+$%)bIu}LG}Lt_5Kh+ zqg=}_^q3EvkC<=|QV03;ryU*HnvILr))OBwU3avce5Yt5@ag`3wUKe8{{Us#Zu6vh zgJ7^3&IcJFe|VotzF&2j)sBh2g{ZW>MlatRAtkm>!5#+l+kyeX`VYdojVnxPt_8*0 zn2SmoxxfQ~fITtk$JV)&6qVSiL8oW1tD-b+(%&EtzaDFzS%|?SA3!oXaao`6k7&~n zB(#<}6;JQ2oJ9RSamnC);6-#T72Inlm z=nY_N9$_gB%oAy=ovyc0VI(=v3vPlo(O;dr3bp^ElpLZzSPXxN;RkNi37>FvcOhj67E>f_h0 zp&xbGoF0iCrIp410ED%c`#MNUS=_b?r#NIM)2Bn&dgi?%9U8_M5-II1Oze72h^X|szTG|?r7gM5*seG*iYlB^lW(zwsA|_5j)iZbL15F^F8%zMW?r3oK*JxY*l@5IQq-Y#!s+9cz43_f&lg!~9K_P2sgVP4=S%lM9t$ zl;>iW3zY{SHdXlP&{RxhTMbuEHm>u9K?Kre_DO^?uHm&u%e?K{NGJw)Cb+D0-ue~n zEH7j5`k5d|e8@nLbA9vX51)^0`t|gy$!V$Dy^YfuTF+3+#z8od)xdS*z6T?WZU-EU z(`jGS619$+$5)2;Ql8-5wYV@kFmPltrb!EcI+8Z$j0_$~6{Dxec_P2sp_oH=C(7@_ z2RHyS?jJ5g9N>&@^dxi2DPCPoZJ}nt?cl$X-SsIZ(%BHL*21NjV86-<$l6~6mJ7}X zNga-g`X-+R$dbk3Msm!G6(Go|;m^_O?hD2>$?gH~;`f(SW1= z`Z?$;m(Y9%E&hVndc2=y258})<{8ui5u40EE>{C;9mnO`atS>=H7P=qlz0CCf_f5_ z)zMDtO1RYHx$#}>7Vv4e3HA*N+C|#W9`a1SS^^Mb7|#R_PD&Q#^#-~A&eL@rE_Q2( zr!O?qsoxVXmQ<2@)hPRS@>B-%g#ZeMJ1$Mfx3r1WVV@~Qje zhFHOFlB~qHm9(pDa#vwy>yC#zv5fF)?wM%U@}$v4w$&~S$%fb;1$z37r%%SZVIFA9 z%k}>Nh7_gCQ8aY-dTU(}yjLChsQ8a9XaL8s54IZk!Qm8;_JX_uJ49=Z|WK?D5AVhq&`+knVXO z0I~XK^!zJ&j>#foZO3b;#_S&}xpTCxNdEu>_)~2f!V7j-ik;j$GXas>xR*0#F;)oH z(nph&a0&ahb|Y!Km^Yvt6&S~AO*Ov5QnsvVWMbdDVvCW<>z~Kov)Vgy>d}xoZVECf z-r(oVwl005)l^{sY+!txkH()I_GakZJP2h6jG)I)ezenM-QK{~w#QNC z}^jM2@fb&YY^B3=ke!1l{+=5s=7gKYiXwpT11MW!xtkVkK>Skl}hH?;>Do5 zi6tXAP=J%hI*-ru^`&m2>0+(Ep9C=MOI^0^+1t^v-y9qt@##^WGS=MyjhzW%L}B^* zW4QkSJ*l;I%EfIpEyHXf0JNo*uvHiW7q3rj_WuCu)s(fEvdOsYU`AAd$8q$mRS0TQ zweQp<)9h{#L2@D}NEq6CdgJN()jRzgLSl%}l8Ky07UjlB`e*U2os!UYOHvimtlf*n zaAS!h3+3#_M?wxyzixk8*3zVlN1x8Kw=F4FM3JKVn~yjr)MQk&ota$8>RK%o?c24@ zq_esE?5KW2o&mt-sIW-4N99U^n{uh>J-^N=HND2=riijGzQX1Ou$hPFkt&DRru)ApEI8dy=!=9MqJ$d!~YP;#yO0FiHjy_+I z@ZIyz^8BerHdaGPScWL#wuz+(ByvyO;X%i^{+<4n6Gi6j0%B2LdmxW-=eN^=R*?;K zFBv5<^DZ_hOdg;B03Uz=fBLC^cJgd>N8QvB*V8qw+99^fu{e9N0;2#3VYn1rXPh7Z z09{O)dd?V&gi_gExZrgjpRFe=6s}rLA~@9fGs!W@89af5&rJUSfvHzdvnThm761+G z8~{E2yHs(ZfTiC^V~1A6XU5stlm=&+upm~6qbDlL};84J9srMhv~r_g>>^|g{Y z9l(rbeq~UsI^+Oz)2B4qE+Zv-mvan(;_|^9uO8rfR3bN0B54`9$N*!U8qKc2*0&qC z%;Gi#E_%5c^)(ctMNPq?>9nX`!v`Zj)1JP(mU|N7*yNu5*!g^-9Iy$(j+r9_N=*BU*G%F0Q0w*;PZ&Ozp|Cem)SX`4{+@;1dA zrL!F|{=m=Ux9g8e+7fB&v0AsOPD^bw#IrL>085s`pai@waq};s$m@)9M?+5V+}fU< zsb2Vg=2g3RIE9^X@_uur`mIr$*!q4%p97GsMzm^EIkDkB1N=CFY?%8e6FvHFq5B7&u(^$v=pz zej%}6HLn??HslqaJnh~0h$oNlWAv_!PrVI0g&A_p$kQx;wtP!tZF-Y6wY*V)krhoxBo3_vy!;^wjEevoO3*YoS_N z-QC>4B8f2?t-RP&jH>{Fals{|JRAWS?s(7B?T)$d$49po(wm(=_2RZ$W%C%uNBFt zAjDw#LO7LIXapZolhEW2r=-H^w_~eKo~4a5UANONQr6jH7V?ApvV#Z-0h|Cv4><(n zb-?82#g~Y|OQ>XlW@i1=I~WrfIr)!3Z~++|z!=34ca8d!C?@XB3+-tKk!^7_O5Z2% zK*2naa0lRV-x&9;8%=elwUI2{4ABGf+=hW!7lP%!Vlqc@-?nj8%K2<#ZfJ8v!0}b4 zt9f#oz1{VrTFVNU(5X?gU}ZbAi3w(G1^y5l_^Uq3?l+R^TQQ)$za3$|YIw}+(h4~ccCU}SHx+C?3ZSr{0cux0?`7}~RS$IRpEE_h!@ zmq~_8Jyy@meBvixFMN2)oRE101U!53oEq86JgS?~*?*bO%$>~-vG{J%b)Dg92`tiW z+(FOq;{%VU>sW20=$F?oHkEnyad=2;Ra2jph~<9w2abAn>ND3)o7;3{?xd}`pLe3e zWu~Z)%QC6hRXS}QD-S_|{{Z0`f@^T)RGo^=kK#G!zdn`I1!UKmoSSavLa-RLV+fW; z6DWP46$+}LH-DIJ&*VFt45y0H))csq5)|zbuillr0r=LIYDzr_x{_>z%f4&3ySRW{ zNiPbj+f_j57ua+4H8P0gZHC@R_Apm3fQVZma(V%uQ`po>T=LLLT)H#7pF)D-XDY0i zJP^T$<=3CBX33x+z?vpprPz4`T)9|Wa zWAdOfwX6AQ)t70<>&McbtmU0PU5Lc6eeWt_qdd3^_;#l5NgUy2836DOKA99+#tvN# zC@n5#Y)4};!0x+7KBldvoqiQ#I%6p(_}>hEgFn)ih}|hZgTJ#cpM;Ig5ui^ZKwY_OPu>>+Vbx9PQ{{SjBBj4(Y zlSjLBD7Mjt&M?@`T7yW`Bs(^UrQ_sgAfM9|xtCJZCbul7hVFMW-CshRatep!A4A1Q zCX0C+m=;*(KPVed9Q%qdsZN}?Os_VXcV_{Rgng&(q=20LGf4vKQ$gliq=*2?EbOYI zu+L84r7MZXX^4Lj{7^fx|J&Q9jrxb8bK_+qqR@ZX&u zn7Y%lDZwTn0mcVi$2^tD{+!de)fqLbD9@nkHrEOj#KF$c`?jWgZ!||d zY!V|O1mTzfG6qMz4WmD0JLo3;MI#$a4dWqX7$egeKGch6cO{zK$vz@)m4t8R9Fl%g z6r3Ip1ZS-mOQ~v{-ue^4V%J2+4bl}Pe(I2acV`KGnx2mW;JZTc%Ba;Hfq30!vx-7_H2+D-claVV+l?U%>RLI@W_>;cFze zI6fePPVejZY^Uw_LGG|Rl0g(ap~756x2EpHZxd2ggibBVQB_gh?}D@v0fc@^J0 z{JSO?2c(Clav>)an(6uqZ8Yw6{x9)vhpqT-Z3k6?;yrbWTij{($VAH9)MRzsha&@> z!G}EVtSCG?7lR_6{vQqL&@^6Z#eMeDDR9j_xHJcM=s-)8&tLz;`Z5A#;H1+Z{6{TG|lK#fdJ; ze!YEvN{YVyS0%SkPJp14QhS`kY0ylvc{8~HbA~t`{QZCW^`81l%vLz(a~R+NyM$}g z9e5tK+Mh0n&zAj6?Qcb0J4v{|S!58}N0OKl1x3zC2N(bnc*o<4<-8*XopWn0m2Z3J zTw2QHuEh!$f=I~(jF#seFi2eDyWrfZx76p7<&}+HLE|!N3x8=nj5>OxQOV?l9$CRE z2_$kx;&|noa0fYMj+1wHs3xU7l&Vp{{WFN zjoEe`3sSV5CwXm9mkd-}2LS&7aF%Q^=rUAi1Ez6P-RSm`T1Or8tlJ0$!{n-Z0g_Lz zTIBYT*&6#khMY1qg8!D6OO-6@4 zwS~HUqWH}i%M&uJoa2rg++)+8m1@S~8JNLs%Aw$xRAi7C<39X)aaj9g<;rF4J?>Ll zG@ej*86cx z;~&@46y{}ST*k_HI4AMPImUm_txq!@g!5Ujk{LlP%Y+1gJ#&%%aaF{Oka@1s00#gu zB>Q9h{{TACOF>v-O$3sw$!O9cAb?8`%zvJ~)nJn}l7uT89)Sknoq^=@(uUZQL~Z6_ zVhl@@gM*BB<2;_+`cxvq6p@9aJ-KLsmQqISl0g|cz{UBr+wh{Fh)O{Ow_L%Df;=fA#t`*fsIT4*4RN;)bsso;Xd9Q8RPlhA&=)1-+c zP_m;*0A<>xNmJ-K&VLFJG@j*UmLN<~C@Fr9kHuBxcB;_OpLIaFoW7Cgp9^UmHgBvtZ%mik@ zNCW)S0D5l00aTB}9eUH`iBQ5~i_2B#c>@{e18H7Bz&xCvN~?DZk{7lRv{6O8q1?x4 z3{M|U2PgjkuS49$G?EEfT<#%86d#n4oB^C*cmBMVLb(!;HghblB#@i{c?4%U$I~B> z>&-TAv&xLdIM_!f+%7ufjN_=|>yt^^;Iup=hZzSwzo_*Tni!EtBA#b2BRqp4PFVNc2mk^3^X_U}n60FZCIW9c8x0b% z!k(GPJoWV>I6QW(v=G@e^|MXOWik!pGVVDfbDo~r+Ix2EQ%4|D{&UMS1tc!wPhNvR z?;gB8P9cUwydU*4g}LQdXu$iZdg zj2z?Ij$3Y2RoR)P>QLS5i*A~sX#@*~RUbDB?c0!d0Dgp4-kqyOA(Vtr>R5cNTR0#S zz{WB=;~5nemWGpxMzl9J_c%+HFSVF%-IAalgFU(ql$T3x_bh*PEHb|3k9Jsdf&o1^ zB;b$fRbv7na`CB-C`gIjM$p`*&^}P043_7doO)-YjB-yiyuM(Of%62h02zSewhyoe zk4}P`iVKnbzB@}f(&`s<;LG-I|GIV9&GVD|hgjY`$6t{{d$W>~WeG)xSILBL{E zdML+guV;019NLy3p59BfwYQuXjy>#!f}-Fy0KvfN)Qn(zV!4eG#`B z#jCJz2_=T$bKfipAKnyDe)YTPRN&IRwlX#U0EZ3zoYUxcf-7cS?`L@4Y+G|YP`f0Ro)w2_4o7j?|8z%DsnNF?Kq_!%`Nlsb*JsXe{_0NSA@W@x~W7V`M{2Vu9N z&(s`Xn5S-eC)VLDlk9aCGQkD3Fa(+a;c*|zxj5tk8y@)lK&ix%Br-%`V()+nBN4ZL zIOCo;{{RZ}WSVU=scoUrXvr?}C5{x^_fbwl5uaXr{)g9&BjT;hn}w~!Z!8w}t0YXS z2v=rhVoBuZ(VZWN^m)8F;lq1vXd%>IXhRt`@OGAFQoTNNw;qE$ z@s2*~#9D#STEhH|m;2sOVnls~TH<-DwGXrB)*JVWA{d^4fluAG7un^l(TGV27M zW9>x10hy6wd~U%T$ZT<5f#L6jTF-?(Alcl-eJ$RRZF42eQ^g{vh!}_}(H?gbwQ{HK zjz_0Fs(X*G{2%xRZK%m6cACgZekEyYQZ)M|q?a9N8c?(f5f5>PsHEuFO22v@oidDL00#C7SHt>)MH3UfU)sdxCPj;F4RY zI3Qyn4tYI28XKjW-CuB$7XYbF4iDqaULx{b*3k-;mX{s-wjjH1LHrGdKdmsV0dns7 zJroVY+c~Z@&DuGMuP#zml*-Q(ZdjN5l5x~4&p52<&Am~is!25Nbnt7DMI?glV@3dFp>o@Z(`}CD#ldr zR#s8Dj(8lNc^%0d*F=5ojZ~A3!ZeOOrwBr@&zRgELFb{zzBr~m!+oXKC=@xtByDk? z*x&=4)q0d8+zF@Q1QC)EHao~$JQgGo-zNZblTDIDxknbJOPi7l2!eImK1?yeCkhF{ z`upo2g|jJqNS;A1+edqMN0%{`jPD3@f%i{6ayakDdRZk^y-40)I%bu&yE~W9Ob|%q z@!OuAbBv7J!5lC@muz!Uv7N8OU4&F(tns1{(qn>280<*x-=#_z+s0enNt)eE zc4`LI*ja%9WH;l}o`>sCwYGT}#T?P?LCdm9mB%<32dVlV!l|`u6RzUAqN+cd=v21i za#JG%BdNv#Jbx_JzamSGGFjnhyzoOF90XIG1C_@-5t4JC#-)s=x`e43GjG_-y;o@< zjN>>zDCZ{}eJb2{md)oRlO|Z~VHeC?jFMC_>5QMi(r5|ime4B87|Q&rj2(d_edZ&f z^yBcX<03~Z&cZcap^I+k9RC3I`uh9Q9fye#cDMpk;5JHq?@{?@razdet)I@f=*ZF` zGGuad)PbIzKQTjH#7#cXyIDeIag)(~9Uz|FwTXM4UdnhN4bM430fGjL+xdN)-p#;0&DZuZZ zJM|b8NgM(RP&Bekqb#TL@+`6U1Yj{g9!y$$q4*sUD)!V@FkEvl!^ zLx8QuMnEJVP(AWFu2;o+-Q|s}x^|j=(Iwam607H80m$i+#JD-h!1px`*xsBq)f}(( z?A9h*yE!A3BssVR@XXpBFGULx}K8T32pS~z5gy}ul18Sjn= z=kOm&^{rap?Ju!J2MVOTKrY9}RZjUJ^v48_`L2roG1mtqdt;Nubk^vbh!V4?Z<(1(DCv>c85tb@RhBI!E@jtJsJq79je8r3qCQ4J zI0d(ztAaXY5A(%&caAOZ^_k_njw2u2u4PzLe+DR36fooE%QKR_Fc!Sn%F?;n6jO)8 z8kU3L-|bUrarXID?ru`&B0G4Q9y~Au1^-lv8q*P8Qh320he zm){U{O#AT_>Dms$4v6M80VlJ>)gI7+S(W=`sjh5-;jvpd-!p0&T@)(p-20&qvjEwX>F=Ug_+=2(^6HrUtNe7k2Io!IJm$2z}u-V$OM{I*&jxKtR27O8Vb6pjr z(d$k0QJ`?rdvs__@eV%B(yLwx3}N(oa5$is2l_J>5A#5?Fmce_nFOJNgXTN+TP4k z{=qL|jkm0GZ8$!-!2|yQuUW!B?3r^FxPr!VLPi@R*pr0?h#x8Z0PWNYDNFuczM&=d zjadPK<5iD!#ELx4rFM+}04hsshqy^C%xa4sb8uO|EDk>`^gLp+v3EEdySXk0*^so3 z7366cW1dDA*SXI9_AQf zmQDNE%NW9z2R$%A=NRQd?al?V;(AhNpQS|KEN+C|mC+@{lKDc~B9S>O zjDVzqN2%@Xe?iM*zPMXEYdGfKQOR?^YLI&<$-w6X^Zh7IJ%a0E^mi+9G;mFIu>yVe znB_7K0VHq-ravli)t1uQPb%>wjhhT1-i%43ri-~~+E#6g$m~aj{fq;5rpsP;| z%XZPj0=h99Ci4|gw(sI&-y@*^02+3>85P6{rkLTmixULhjE7$R$3xe*r4w&axlZ4l zqN`jl*)uRMKBLLF(@A85(@9FLAo7UlCs#`R6Z)##G z8)P(ul4QZi9eNHskLyv}O!jw5L)*emcH`w$TpiqJ4cDRLILQ@h^dyGrd2X!I1W3g4 z4W?No`IMZD@(wUPl;fpv_ud(}@cyUv`EIRs3GbiFSs^%BV*rIg*b)FE(682qvoxml zv5_pEPKOn()rI7y<(ON@pX$|v5?Qc*_$&qp=LeoKU4Mi0XyUV$8K)s4c7oyZ0gMLV zuR?HpXE^)?4ejb{Eft1%zTQ|gC%&{-jwL1JR$Q+Ga*S|P{{Z#9D%rSu4;5*!T@!U` zvAc(j*gRPwR5=3!1I!?vPXn(ew~HZa(kxsx<7)BhEp8&yVqe}$?s;M}o_z-4-`DAO z>s`_Gc6qO)Qw$M#@*U>~I0~eU@^@qmbHMH~iq_s`xa*5rUrF`` zvT2}gka>$Bl}E@y+Cve>;qsG?ge^g(YH?UWa+bEtRay-CH>POF< z2MlrB91Q!^zjnxK?&f!iY(|*}hkQ$97AvTtjv2xx6&(QDdYt57V2|OiSkiS{eOF1g zyn;|X$b(_npLQ508O}$)9<|jc&q^}+94&IqqK>8Zs|{8?L-(*jasZY&w<(420+0wC zV*!V5y$>C3i!2j^aF&z0x`6E;%mKy-+IZvFt~sf#`^piQ^5{f8*|pr!7ZA$k6tyMJ z6=ZDf1aLFYOm_D4s|h4hY7tn+G*5E`MdOPhL#V*(jO-^I`wqCTE%_ZrlWErXS}c~6 zGs|xvD#*?IykrxCt&z_l@Ik@gisHOI;0qlXGTcHYlIFz0EX>*3a;#UsB%i)IY#zMl z&(Rkiq;`7u*!4U8BspcXiI&@NGBIf6jvRx~k>+!be(60*c18ETSQ>i3pbI)h$A9AsL``-=~iP^kw5FlhFk2P$|N#Y>~_>`I=NJqN;)++BEa zZ(c~=eL_aLX4#HURrJO|JYy8g)LBYNaIqQC?#iY>JmUoO(v$b*<^6UrX+>ES!ZWg+ zvOgHzye>1xdWob)aFShsr0oJkW@G8d8~`vfYjj5AzRKw^4+D~ZU7K6D?mF{TwL7P@ zmOFcrE&RvAFO|4}22KVtF^uQ86+yYr>zb*XLX|9)TIN>}ERJwXF(aP9aoC=j`fur4 zB5D2~w70c(6D)f|qvHqonX-GHPo{kZZzh#AyvXHz?5_pgo!Z8z2$h%y!kot4IsX9b zan_~3w24|rL_ zN3~`c=Z{#F1(I7)7Vnq|2ywtFJ%RVHHl1}*@^m~&LzVg#;GO|x{(^#e7~{;_x10`n z?nvhyF;c;4Byh!dEyPS@2h5GZ%HwNb5$Z_>$ z?c+c^^19gmCf4M6)E#nN%b}#Ub<_~?AAdQux+QyI4%KFqdm_ApYwog zT0~mJu_R4AD(&*Cec(C`{G4Y1b;t)jb5RLs?2l5sxgeS)k645IDpir>a`;V(?xjIJ zFsGdN7|us-DxBJ@vs^iN#7i4H`l{{&k8Ri-e~l?kxUCE+%i1+f^&N9{e3q87Niwjz z1IZ-({1JnI2OGV*(+%dMY|@GGfr!3BJws&UvGn7h&r0WQd{@-xtmO)h<+ybt6T-4= zmCAypi6wgTlY!SGrx>B`S&3-wVuVJ(D?Ttm=L4xdJv(DHs&Y}Y4{ysGJXza)l~zIxqzE>*?#99$~z?4-#2Ja};uKN5VV{NHqB`sW6s6dPbUQMa1T8_ zbW&^Hdu&^(xlu|byt}iI$A51es}p4=#2EpX|=M?#EXA(X8CeE)xJ2 zSw_}ySVf0UpazE>_KWmwKK!LiR79G$O@ zoSyYcb8ZzK{>ah{k>$B^4l|tNxaR{s{{RhCNoA{@{(ZAd71j2!23^HD2a-+)2d;mW za@X38-k0Ku#-$8bR?(l_#Utcz^4zE=9db{;IH-FX)3&Ia!y0U}>Cj!p7HlpNq?^n+ zRG2vo!A}8B207{tb!%-C-Ns_h?j(*-+@C@|?s+(>dR&=1vpZ0`N4LDRSC;PRM%M6H zM6Do@91WnZKpbTH0n((iu_>g+x1L4SuG1nl*UBd>U=Js#KZAI*eoGBMN|pU_kGH58}u1Z&hxjY>d18P{U*P2udqmP39Fsr0^8u)NnxK z9rK)UuxYa0>8mKRMDp0jFcKe_j2!LGMpwQuj<~9*qs+>QUsaCsUlUEKUtB?PEwZb! zqHRSbvH-!!19FdE-K(h(O=0CbN_?}Xs$42%LY9+v0~p3aj=g01)_bIq{=cR#h3a34 zBh`E}s#vs$liv;7cKzOW1B~ZrVmKa|#~e`jcd9*}r*q-WO#)n_kczlq92^nGcLR<& z^!2X9z1h?AXB3-mGwynw#i!a(E5h=bHvt;$DhEd3`e&b~t!7zYYJL>d+fHklBDax% zSx5(VIL{dbuIwJYLB~N^P<+><`u<|5t!ef<1hcrAA)Ev*Kn%uJ+}sje;2fTNfCdIJ zSo$K}P2=AZiJDhiXslz55(mguN6z4WZdi}N^XcdArGDS4I(r?AGS3@=_Yx5)APt4K z^u{|Je!Y09R${jc=AMc`^%>86W80^0{cDxQ7GqlYXHS<_)s}ntE-iHw<~cB}8mkDGBJ~^KGX93 zQA$r@hlTF0Ce?4WbcQJJuk4;bCP>L}s*5jCkV(K9Jm7U5N4RNPCEVW&Mv18$d2p1z~1?XmL*h_uJjwMmusvyJs-pZb63mG9fA)l)i#~3|u*xGZIyEeLm-P}hrO*FGE*yY-+g~272lmn3Jyma}q z&R8CbZMh}gqbb@enCWzFMUAo1E*?lGwuwYLTR$!rl+RMR0D-`4_N%QS@|+uqBq&Hy zf4%NG%|^_LtwfUcAg+-{!SS`7n*g4?b{#rZTgmP1ZTH=@kO>i@h{nJ2*NhCF$DE$o z?a-%Sj^(ka!1i)pZdhYRWdyL^u0C94PBL=CpU7ss$6mZy?&Y}Dh>4opd}|mWAS8^B zQ!cp>TBl zN?D+V7?Uid?*)}vK{**XDjON;$?HU0<-0HK>W+g?)Et;#yLfktb@HU!<(UaU(FVrg z9I2Fy9Q>K*ZE4w%k+_ILEmt^DVahKg^14Mrro{ z03%-H&1O=>DV|__sU~JJ6jA{ra5-axhV6`joP$Q4q{|fZ-=@`qSvHq&9Pj(%1e^nd z$jJk^&MO5gUG!(5=kBhyOZB-6UR&DUD702b*s>l;Y>f3ix*QMFo-a$I%M@^2ywN71 z2}N!1yCh+V9h;Ik#yzo`b609T&G6dPn_Dfv5{|2>+h2VuNgJZB-Oc2ChnEW zvPp8cGF>AC^OOW+ZgNi2!2NUU{u=Qm-1lPICS@Qn#E0cKPwf_J^rV(x3Yip6ieLnP-+8BhK{RPs$@MnGqBZ8@%R!W2I7U)2x9E7_ z{xw$ORJMr5EquW@$j-woRDJAVXFPQt{@BsYweEB}=H)4J(=J(R##>~Fd2?noaE3jq zPfVWsiBGQ;qGV!*OR3M6B3Q&~6f-zK-V4){p8R7zq-3QZGkg2ZE`y?5d%M`y-4@;z z`Aar)COOE@LOXIX*FEY#F=7oJ%CvHim^n}s4vJ4Co_de2a7QCa=v~4sO5$=6*aSk` zWF+B^GDhGBY<21HkyfRf$S|$U%L7VCQ~+*}oQ{X4J%6oBhh`@3ii>b0-Uv|>uPr=FmF{!o zC6-hLrHrEDGD~i35<8Q~#(Er{m7R5?*hsPcuW~{rGUbR;NCXDt`gG5rttr=yNwhk1 zyx%Wk=9zs0X;5i~bzL$DnWdPcu?Hk6;DRz3k+%nd&U(=CXNhgBX8S#uX)WcjTeysB zyW!pPg&>20&g1BK9c!u*=F#*zTs3TBYIf;)WK&UuLp-kYJOIeH;f8oU7>$jb6M$Rq zAC{ukJVg4=zZRP%#0{p$7Wl%i&nq(lnKDamE4i_fF}JzR9IajX8zi*Q%kgfhac!$X zEsEQvt)ML|DHbs!h8w_aVMzdvI0Sp@LfF}poul}{v6J4-FIi3!6nVMr5oHIF^u_*$>EPtjP}VH zuSu{oL7`;8o_V+n7WFGLhAhpM=)jSY!99BsQC7=eBI&nsU0|%RLvN}@X>%;GyvXE{ zGJyL+lbm%J9Ul7P_SPb|HsK%(CIX&!^R%PCDa&PoN%^=*nqU zO?|KUV}{=6E9iEf2=Pb!B>EhyEUhi*=6#^r^NUY9l}VHJDaBju^gX4oa36B37A>KEUj%7m5a$V zc-^xOH;{K8NoNQL951eO=)qbEJ;FQaSl4t}-%qo%j_GaQ(i0@CBnr~*0T~B8fCDkW zJZ}7XyCUnVuCPNqa+zTPK~x1v0Pu2oApRq;&21a+*i7_>EvP{oJnXJyTZkl&f{s)G zKqDg@_4PR%oXIAud1a@|CZdGgDl=tJVrAzBFngTiugXs+kWKEaVQc7T&*Em&WDv{c z$j&fX7a>kSAZM=(Ph-cf1vgOCEMmETiUeX>H?1OgZUxaso*9f&>GlHyCE(S4>I`#*O(R?>Czr4%$+J>j3>O)YCq!*4#M}SpTP%g&f8FAmDME0p7a)^?gPa4@5OLU6ux2hdIS3@Ywqlz%V1UfYl|3=v zAmXzw0;S442+bjEe2!I#$m!SogZSlE4KE|fmD)+}Pd1kuX=!vWUBrq={odY300Wb_ zk_Tbeo^mRchL@?dOL-mQBr-}AA_gqLo`clqIpky4=H_WheY6mY+?w}GMSxu^$mPIk zl%WWnN$7dx93O95eV!KCjk1wEZb6jbd4T$`9Xj+qhoGvPy1VFQD7d|iaU5}I_vp|x zQqLmD&m)p#7=C%r-Oqg0R**D9?FjP58C1s@0R8}uaxqy+rwFF@{{TPH3isToWw^PC zqf2L!);VNlMnVW983*4O2Buw7XP0i-Ewl3QrF^04d;4Tn&XiV=HAzcgSug(BC5q&X zlEyGjoQ=es;1Y5VO0oTw2Ceem!57-q{MInYR5lfh6Su!4dh<>Dn!`p#ICDN# zyEGd~NUYJ)$t7ob5rK_WkN_~>s~n$9{bthqC^ZQuy)40FOqlbM$04wQV>lss&q1DR zB{vl6fUVw_)E$KJY`u@ERoF$_M<-51wR+h>* zbx9&I?hs0Uc%-OrWor>TP?i!gAd)!2<=FiR^sb6^ zw^DY$_5Nm9ifMc3%GC*b7es_xI`mgfxKcT9UW9SZK^#uFfD_U zPh-J9Us{+etNNZ@MB?q(e43}(m`QH$_K-m0T{+eO>)ED+)Lh)M&68?QuvJ(ZcH)8##L!lBQMC<0Y@7c zs*a?dJ#$N|U0ux4u0#+@9#w`sI>ye~0FpUBBJy}YopR1Mo#(p#zf;(y$mq5<8`xl( zqKz8anT%|u@Kj?2<2>U(i6@a;r8ONVPqoxaPSybBKpMY=xt2y5eDDury8(Iv0Kg}( z!gL(np1x*kmD9Nc>IUxC{`PscTUx{dxNLy;lk0)5 z$g|4`wvppN+_N_>-G(uoemvxUJoMXy+UWlPGYLzQt50THS#BVV%yDw4c_fZ7eKF4% z#ZC5^-a{mjvJydGmLaPg&*+RHSHDF6eIG76Fl z0>ERQTkBnMrj<*hqX~CX#4E2$KAS0=JaL&knIVx#Q21gCE=CC$8;?ADRXrAb>l(hf zbW$rXp4Lyae)R1LxufaN?&CQ1A6o5#)gHr&SC?}ONxjfbuBU%>r@WI#c8eq?;X=t1 z5r|W`M(B?4y<_?RxOUZLNO!Mj0(ap72VF3`nk9Z9iuEG%pW{z-4qr3*bGKV1duQ= zbGE3-Sm`wgH60>JZ*4B*)-+!u&UPj&GP=fMom6#PdK&>cM56uO9CaiG6r=bSjc0L z4^QjI=joR^MXjEL9ok*oomMNop`?+ccp5-hvmpS63K#+gIRtZD)s?MnSM_svE~gQ9 z7`QfGP1?M6-h4tpPH-HR$Uk>-;E!7BlGP$zYAbC(#S}3~vNuD$!zfe7U7vf7*(Bft zg6jH&uFR^LY|Gp<~5BvoZ9_ZFaKh z^G2B3SC20~qkP#v?vF~UaFUguXZadIsXHUQd)D(wRE@!7g;vhuIQ$NB2>N|1oAFkm z_AMRS6B^v~Qj(3)XC$_G$9|mW7^GfR==m{s> zdi1DXYkRA>^xr1#$RtrgCzh+siy&b6>t6)p;{(9Bn%&M>S00DTJ1)fp~kvhGx)^}us0u@S5%*6$ zNUfV~a3$T|o4M@t`^Ig>TL`jj3{{9y&M>=i(=L1U)oUxJM7+_l4~i1=#CF={$FC-eDNXZRiOH=G(ya{LNKZ%23gsY?Am^ z*>vlQqf#V6c83iW4yAC{{Sve9f<%Rr71&}$jX~n zEKQg%+SWP4$G7Dv&Oqne_4lS+q@+fxJiGET6?2o40m=M$>C>$g)wMNgTHTE161>)k zmz!i~^O!6A#DWOP>`!4@aq0&|k?z(*aWHOSkr{BivPi};fxL|Hc=}eA8fwQ*3ZJ~D zmvZ&irm*Wqcy8l@$<}1^E-g%p3Nm?!Sqhx*Di;_$2EgfBHgTOsA0tAV;wPG2fh28` z+qhzU!bjaFj)e8cBO+fQvQpKCJR$U{#wsg0|F(+8JsrHIKb-z3#WQj4^m$*To5p|j$PIrPmFONJL| zEH22EiUtxxCcv%%1DudZ>+~2I&a|;QU5IPDGgqHUG!Ev_EwK^_^Ew<`SH zF3)3=$6WJO2u4owS0cTw%3ags)Fy^F?_kQZ2TPSv`;q)S5JpBHuN>983o)i!!)>N4 z(M@nxC>%(k+-}Kio&xeuIPK78p|>7nwts=;;^BEE9>rO7Xs$IIt*^D!P7IOm^4}dZ zpOc;0$6vy;t#k<*-cLGvcrDzG>nnv(f%lj$SA)l1IrXO+w~g7r-K}lQ528zJsII26 z`R3@3V{*#F1C{>q!N~srczV{l+(Bn^ZRavtzFIh-lMR%~I|w~bBOs4V^{JIdKZR@k zf067_r0GH5$(8LOiU?Lqt6;!o(J+2+N3J+r6<@)*8Rtsk;_t;ed^!j+iyui{{X9hOx_AorxPX+(^#}fi##9e8W|X>77BWgUZ8W_)YgIS zbOB|0X1bO@p;`WNnHV4rfM>AkNj>@2GD}AMjZ|EfmrwX|OM458EA(WNNMJK7JS+xD z>9ii8a54wIbW=u9M=BVtQS!{nharg|A?z}L6SVW|!HAc=8+ramE-h%EQX3fOW|^dh zSp82b~&@ z5`5iCm)85Efgo7fm4PY&QdfZ3>H$8utb176;Wr6P7jeY#K^4TsQEuO%B;)0W1!dvC!sCvU25@- z+0x#&D8!LkUfx~mh+;BKlPq@NjnRh%On!%NucdUBxA3isX%|qnu9YRjPLoB3X#QU{ z0dAYKAQ|b%^sMEqulE|qV{^tA+HS3-X>-eI4V~O@JMrR>GKgXxnBAmL!k8o(}^&i-LA{dX9VO zOK+!1JQ|(smTHR}ix2K&3%Sa>We@>?21W?uBfUP_b-AAE+G}}IO@U^Bqh#)_AZ)Mu}@mIx6|!ou(pUzAY&p*xCTZbE=e41Tx1S#Sn_jQ-V(oCEqhPY zwOc0JCL>1@49KK1?mcnHbB{sqQuT|}&F*x5H`280e-T;h)^^dxW7W?c5^WO>XU+}A!S3< zj=z=&$Rdn7_LS#E{D)G}l9BX;kXdTp9Gc$hB)YY^i)aWktf!S_JdBPAVcciZylcQZ zq41Z*j}>XUv&VWT`!YS|N`(O%1m}=GU`D5)c#+2?NYE? zX=AXvK_2Wd&Pulgan~3CV%0pB6uz1jf8|_?-9m3=Y!M?``41?t&Wu* ztf?L2>9+G3rj}bk+tGgalrx>3J7WVL!yI$ve-$pSqR=h1EjDTAeKSytQE4wa#CH`4 zxfmlXzb|0C=DM)@%{CUZ(Ad4#Oi`}Fx7Q~KvPJ%_n2rz12pKu7%Z2{YwP=X!xsK$$=2e^f zBuPBhcMB3+yivNw2I9gzgV69>a5%yHz|?lBVRNFJ>p0}NlM856+lK-88&CWMWOe6j zbq5007YFXj#R;`(EY43l>;0EEhS) zUQ-wy{lKLq%c=;wn@ed0z2290STwA%1_(yw+)xm3I~UKtHP8!?vKC0yrX1~d1&=*X z9A_1*HCmWd(TaTbmF8s&7J381^T_u90QFM=SebBx%pF&7AP&8IcB`?OV&*lC%+MSw z90rdh6ZsGGn$EblTi6A>qs=TvV?*;~Fe5nR41x9f8dmNH6+MixsM~M==&_am09l-z zWaGD`Y3cTEy2Yuy5yBk`KU(A=tmy@t% zatCpqgCpxq(`;kEvs;PW1Os?H{Mjdtf8G6SeJRn8FOvNZTRA;VG=L?h@?+S!^24?Z z_VoQR->;-MmxR2_w4|~XA)~<0spIp<_*OL2oZf?jQIh5x4kopgox(b9Ih2eI$0wcv z&JSK_0ou z?^hLANi0z2c+m@f^)MG4bpExRnvRcSrZQK$BZEqX?Vdv%a?R!drKBOs?)jK5M+0!q zGlRFet>5kV8b`aH!qVc_{bN9rBx;+mPFEoJTyx!s>;+D)SAW-$>fs`lKT|H_PD7(6 zvk{gnM!0top&-Onu%kVRKQ4O}tqaSC(L6b)T3KC6WOR8XSftyAVTB+LpD0n2oaFY# zYh;_)-W1eZfb`ur3aU^a_79Lp0$K#XVwkt-~=SzuU5JM)$hvpIwoo;a-U zULmqMyter{Y_2x?1psg;wbi;K7`M;O-~ItZS-vM!k{P38vOy448(A_2Imccb+m1TY z>FV;{EE6}F-bi=yxxrz%4sts%@A>qmqiER7|WAofXp!~?o8>ztDy>^sVnK>K+1fWO(ng00LB|A~ zwsD?tdG-dhg0oz&W_z)>v-g)npn~cVrdz`zNi3G|%N*E)UuT)6*Ne@N1H_qOW7i z$2&a=>2$M8b8&BU&ZW-T7~_8f1drnX0G7EJ=eJscUhD1Jg@xUf>N3BZZxpH!fa-oy zc)=%l11D|>`seJQD{UTKMJAUqd|K+Z@Q;gRgbK-RI40dtc>MID6HU`y085dyk;!<(RDo-Ph zeYo~0Qc;bUW7&%2ii*_8()F!JMn=8U{?Thavd+RnKoO?LOb=7@6ZNe96I6Kg^J8~* z@I^FULbh@+(tP8mOcH;u%FCLE*jvJIST3ml0ByIi zbcw`6$#fl1mKn(i#~ryi%~Vei!~XyX72k&Ef*XBOJ71naSbpjxOmsgp7Fhc6*VddJ z*|SfS%<%2~&xkb(&11>85k(T)I+XbgWm#~2c{%C*Y4(QJ-&b=Bt%9T$S2-ZW+nX^saBlUJw5OgxbOM)wgKxtfX|ez9>S(>(mqc zNZ138ROIv0t`)f#GVg!P>2Ol}zsT{I@i&XSFK0J`HM^UQH)AZZGkn7xap=f;`ec1; zs_-;cTF!^!IgRL-UbGR+liWyT-xO*W%jv@7AY=Q<{mS;*N}si(yJ`Mc{Ixi5d2&y; z`JRQ~?-bj8kNZ0M69mC_$#m`W!?Qb6I5`049eRP&727tdvfVTwNQw|iy?|W%W3Ep< zfZ+ESuMZ!F*T=@5VVF6|eS( zhIM6?WRMG2l>LUF@$Ks!Ef_vxg)B)p*BGLQna{bmIR2h`m3|=EJXXlqR^9ZDe0Ndra64V<#@e z;AHgYo;|*mnc@kpZM3;p$#n8eWiY@Df(A==027??-mE648BR0HXB-ODv(xP+NTqC}O0qM2fkO|SusuOWJaRxP zdy3+ccd|QE>Upir<*)Xf_d0nH#cwY#k+d<-1Ri_)g`)&J+xNo=04(1U!sNjl7F9S=(HJQ z(`1VB?ZHrFdCX)xl-YnsKSDXEskMrWu=}lEYw0w*r_T743uwSOgoC{Ez+eVJ$>VV2 zfnCyEiS~zKA#soOn_L1jk&kMmw7H!36VFLuOL!iCH|~&69=JHpf61uPWKL zha23MxQ5&f%Uj_;PD6Wf@7nzt{O5cPnn!^ejzh z3q-a zs z72G!$vYVSbPz|&)6C`UQzU7R1WR~O6iR((5e64joxam!Dmb_Ip{ffeFH8|u(EhJVE z&AC<=Wt10CcrCUfLF<5faU_VM6^`ooMR3r9N?g=P^b`;Qy^tQPij#+PG zuCiSpQM0_XwUMnBc_ofTY!%v!85EP#?yh+x3R`f(a`Pir*NmUs%IZCME|g2$88 zrbs=B>MGW`WOWPpbjwzb8#o$WuIw?mDN@l5R7S)Z$xIhSNg3v6|e;bhivHCs|1OfZBNk=bnd?jQ$k# zpRqrPO`n{yr0DWWrSOsCC34=tj(zd%QsUBUuBTmR?n(K6hMvDXw%#U>OwvWfDDjn% z8Fq#s4B&B$amP68^-Wgt#_H6{w+n8mdmoVyjj-{y0qeq$M&ptP&UqLDl1Vk*#<5S6 z(CT!w)x1oWkUYwROu5)zCtxLw+^85F5tU#w$KLc6%lNw5*X>ft4ahdr+&JA1HXs8a z4^Vr5yP96}eqZq6b!)HdVwR0^ws%4#MiTjisU-pdw22OLf&l;n(+ASKtuud!bgPKs zOJ=y0T09qaa!N6G3cUeRIQ76F=M~3_ic#n7{$~a*o1eYdg5$!s)>`GQfDy{gKb9`b z94fF14&K8UJ^SGBYoYNa)X?fzH&}(6dSE+*SjOzJY@DCGdS|cYaHy)`@7~M)0mD%~ zO-^a%)F-_@V7P`@!IN!_vV6)i*uoRLf=@Xdo}dCBqH4#)8YGwI(g@{ixnp=@a~mDU z%+B7J8}aYPd9G(kID18MH_lQR_&k-!BpG;2z{!j2DtH zb%fSdS@g-}4G?4J636D<{&@DPaadf~UBs7>Iaoe%8=Q4=y#6N@x|DfRT}bBUX`7Px zV&d(FryZj{>4a*itk@VNbo9XE+*f_38MON*d*^vAAc(Tse*}bM%ig{I^Bj7C+cnEt zr!+0{`SfN}mbOcFa{6`s<<7r#HS(p)L2!Fh}_nadCtGyB*Vd9=~Iwwx8i>bpHS<3rS>qc%p=+$9V}wVtX;% zUyx2mC#N2Luic#<8Ll+R5+i>!VF)>P+Sv-Hjxgx??}1$OFLtE2kSN(UyvnzF--$F$ zR`S*jVsmjUk;ux8xj~JPqmj{w*gE3fn zWmEpiCoA%k)g5fu<$tn|D~8`o)2A0QmoD-v&lwNd7MCe&^s zndh{=h{h!cF1Z2JZSF|`9Pl%q)s`VjRHTyD#J6R5p4zfVH0K^%_R>N?2_pGhP=*DV zoRnXe8Nn@%mYg<~AHIeqg+wLbg{Ys0TRh;^mK?t!i36Xt!@Z zn)w`6^s<)ZtF2s_T&a?1BRO{i1fd`j26_zf&u-PfZ{t;}g zGJ1o?Ksfq}sywPKP3dpO=2US`o#Of)cjAp(P4Prby5t{em0K$8LP(>Ygkxwp82}Ck z)YqJuF1#VG#jNQ@f9%VHvn=HB%kv>&*o^Vl74&#cczd$g<@U0auFpk%Vda_)Qr1+I z%NYII1N-0)uc!rZeewJvyWKOzt*Gd!Zt}BkLXpT0c6IrWeCPao*0m{nSn@sM{{RDe zRa_gnWZ!R+StQ!hH_YJT{lkV=7^^Z9yq_pd^clH<&XMI4a^3+GA*k&b!; z&=1c(_@|0q`hG@OckY=Y_TTL?TUj$okU#I44;kbRda&S}k8ah;c+P8Un^ULVTu6$f z5;pE|+>ypXAnrWz)MMK^%FZjYU*>B^TfYAQ@Wzgxr`qXS1O=jvB?_CCMg%@t0~Ph@ zoD7@})t9OGjqfILac(W$ouOHx$Ra!@&@+Gs$~$L{!#U(}T*;%YOGk5?`v#?{_+d_$ z8A~ZOS#I7VBIOFIs*=YYi~0}Jx^D{T_PVXPn^KV@u(q}qkgDY{-~eR=5u6d8j0+M^ zO72=yZLcGie;P~FtE|TcjjgqfjD>C`SleO99%e~Vh9vdF9Qyhitg_$Qu9tCWmePc_ zSsi4-i3WB9!O8iU1K%oo0gB~uQo3g8yCbmE^fPH4tjzKm6&e}g+P`q|fJ`Eaa#nDyr$=dIZpw%HxBdG{+4Awu7Drb)=^*v~a;;^FND!`N5 z3`IRq8Os!tU0d1d%oa&F^B-%31$iKPe^M)zhU)6iS2pr1g>BfFt0|MYIBtC^Xs>yx zZ*BhoL(7tqN?vDI4z?hMEXJ=WVCx?vC*0>FjyU}KRL?B82plYFB!F)bj{ct1s?dvE z?71&!yvHoy+nHpS%@K~SFh?VW(*3B2SN`)*Yv22Q_pIKd9thgTXv357|A`e?ZtCet<7mI z2A4eFnV#0=Ws$C*&9{VLbID@IAolD!deu=97-E03#E}Ht1c**C(XxFhPOm+=b|z}h z#XVm4?6z$`nJ~Dvxe`Oh^`7YHxc~7(NLYCNas6pPCAzQ)&<6+E!C~#w9>r0;!?X#={Jqc zS&tlX`L9q;JqiW!6gkLTG28cn+&W`8&l%p; z7W4ZuZEnq0+80TtiU-5v1z3*9Ib`{cJLA%-Q;Z#(*H7#4Iww6eAn;a|tjm73-W*kq zHRlQ40zSDInAkkwc(F`(W=E-RyA(6+;f_W>*BN^k- zJX(!^W#w`tny8`kJmM&%XuPN`_o6Tp5g^JIB}WGvhs&Nbjl(1w?K}-*q&}lAu^75H zuw6aE+IbAeYG)gd-9Q`+7UL_79;2%fC+y`YJ2n1${J%RGRH-PmSiYWZPhP&&?n5NP zZ!S4DD-sv1Jv+X=N3lVLYeg`4!lL zeORj%RqAj@T-9FEZ~FeU6SGMhI)$d2r_Ey4a+I>Tw#r8u2X<}41-E2{+Q6N>5-@w! zjVn;p{5gC3h#{5cRg=!;nGl61lj^1U=eK^DNk*g`A8*XgP~9`sp}o+|wzuyjw{u8A zYfahvBC!S`9yb2~6ClSU<^ib%fJvbRHe$MwSM5Ot9Qy~;>J#n08?=uW^ z6wNPM*R4go&t*JN+ae@cgvGads2g+KDiNOe;=Oz~EqZBBNBZk?kx9~RM{n{qt~9%q zv=KoI6#$m=*caOBIVyfo7ua#Tu0rD>yftBMZ38{zvQAjIki=0KbGY(*_AC!iUTcCF zr!@Ih*`ue--SqzehB-}U2`=_nPXfE!Je&6w-i%1&E7ah0B$1p{Rx?{^R!eA>f?1#< z0EoN4dxqS=k}z-x&pdk^SFuU+QdZl4krgUSky3gzb2`j7a%&C!r7$QYDp?!mW&O_m9{+@S`p^#dL%Z>_8B&6Okq*77~Umg zfPjKKp&4Ve`ec)u(vMJu5sk*96qtW8%c%jIgN>k^^MDB_?|xoIYt-m@zSc|cxsj?^ z*iC5^+3Eofe)tP)FnvV{9VW(F`A z`J7_|0Dc+i*_u_$YF8S25xY!7a7Ly8h^91C}L$&hDqLT<0If z`F#FZojgQpNolv{zpqoCygAo0{=ci45E$W(@XI~5t+J_>Lp!K4A^FuJ7!AATKX!tgiV1pOWZKLktexd-6Nxsy1rN*X}x|)3Z7KF4OFq+%dc%S`4T%XXQOUz3TUi zwVhhiNwkMcZIfJF$8Hy5ox!t_lg>|k^!{B{qs>x2hdmc)wdQMR7Is=ZQVF3q60+`Q za5*@@865{sJAO3{)OHs(#aB#6x{*i{Mx-JPoP|(5bJU!3T#}cxlWggVG|+00`p) zp{#nNWc1W-fpaFMq(`7fcFBQvNVLI^%*V(4r=nG{mGGCi>S!LMMH_a9n!?gt?i)A@v| zDjkFrjBV?XImaOSeQS2wD|@nSZX=C$M#n7VYy%iM2cDS0?0u`w=anSf71}(i51ZX9 zHHMVXB-=2@cI63$QaWJgl4+4fkA#ae1P1~$mkK#O0p}U6-)fp_sxwn-j85mKFo->brpH3@xXAK^wKRfD*Oj=FR zd6GU4n5ylTC$v~1FX_pFFwxqE4u zTr5WnWRhZ~SONjut$=Xc{v$c8#=2%{HU)`UjC=Qg%RGV9^*;2ue|Xv=e(Z>^=U0Xm znniYIXc1eLQ~^$U@^ha~zV)?f1HP9O2JvmA*^P;epLNJ1IIhZ+lBX7znDaNvh(M0Bz|fj^Ab_NK|UDc93LI`0^LK`{N ze8!qmaVQ^noyvCxEL$GAJm;UBl`cthTKoS1!+t;3hoqF8TbBB2Sk^4NTjJ@w?Z}@Yf@Rx`6do4s>O(bsQzn3rq;6i-{@%O-!-17q2aws^F{GJ zuZQH00Rl-k+OCiSr}v5#!EEDc+CdoLjMjzihN-FemRaQt*7kNW%5y1Vuehj;pPM9{ z_5h4AtgN0c6Tb2P05)vp??tY^-xFfEh3_Ix6$c$+A6k@B&`%>Y>7o73WRo(o}Gy6 z&U=n)88tMXY1SKHnrXR7u0egyUBJqP?St3T{b5OxQk!0jI?oC zc|}1j{-se#+qr<}1e1Zu^d|!9D4H!pRlU?qlEo+4QDbe}$Cv=*e|1~GU^?VcC1#vQ zd)+g%@b;-|rD${M6Ea70Z?fxhN1S1hsAG}2SwpS^Da&m*&T7<}f=_oe+H6-*gp>doOk?Zn;dQ}K-{Kk8WnQb0hca!&Mz^>!KB;%e{h#=r@;PS+{0fol)ntj%nssi0*Rd%RF$|BbCbn0PBy+vb7ntIV{54L31=fw33-71@-bCC4Qb+QlDhR;@4!9$7(H}xJe8bd@U1Q7{e9Ot zYijm5{bI?6ptok}W^DPpWKtLtz%A1lZ}W<0+N|S|=dy{?5>)^L89OtBf;a>p(!J}s zrnWj=M6mbrx9D}64cC#UJTgDpB)E*mgCWE!*~nby)P7uhRG#3>lBKL(OwA!Bgg-JK zSfCv+LEyJc4!Ol~Rf~++O4}>Nc=M9(Is4s1cQz=K-_S=hr`ve zD0e>MtCn&OG6wUJq!RW7efx zo*M2f_V$-^#~t8!1+*bcv+#awa61g~@6B{tMT381YFeu-Z#&yf8hJTsBEw;UBZ0VX z8RsF7JP}n|c8#OI^>U{!U0LVRqRVj`3psy%Bdjm#SDwDVFwfLiXQ$64hlp0~WM_g% zGBYZn65)3#+quAti&V0E-DaE(zVkJ>QsJ`buE@IWJ*3H|>xq;E9 za2b)80lRa-$K_oefs%bf3+tl>=q=qL`$-C7$_C?}Smcq$aZqb%{hO!8%N*A5-Yz6XaNbz{7UQ}5 z*yuWNIIUqpQTJl>{{S!Z6&g>j#ymqxeN#w`%EoxDW0!pD0TN0HK_{<#{bjzl zj{g8yx{+GmODHaK88H({^Dtef8@b8g{{VNK9!<_I+4e6HN7^fSnm5{QjE2_Kq_Ss~ zk_6o*IXs;4f!mefWO_$B+}UYy3(4cUx5;LaK1PU-?`HsvbCt;Yag~I{xZ0gX?!7%d zPdac`(C2(WvRbW%vXgzV+FS`A1PrSY-|z#cdg@;K^H8&n)ve^V`%~f~GtPX@JB_{fSEYz*G~BxEXHHE^`sj5ZX|pQ1ca}yuaNjUo0r;PP zOnz538=F~Nuphc1Rb>Dw5hn*6@yI8qPf^@n(X@*z2fN=Z!6UoL9^5K|-G8;QWqKBk}=qhLHDfZIKf^{$g9{}atdso+xLXz{Nxq&9-01?g{j5e<|(;oTlOt^;LJHM7OAlN+FV2nf* zlhXl5ImpgQI2`ecii%0N_xp{xd7h&T&@n8Qv8v6V^@>l+o|yHiC$zMR5Mh)?b}`=k zg&$6!o}c00cSYS<=s7~}@zBM(isDEGv&f9Q{Qm$lAa{R+*xW%d!?gR4&}(2Q9a7IRhBaOd98>i<~5tMe`{`nft%j z_1L|0rbL$srmf`V;DuILiagAPcC>@A7-oDDc>F7^(KLNyThw%$o4prxv@FjGrtSGc zr{+C@JOD|_E^*SZ%ql2eZQ0xOx9Rttl+#O=J6#vG$Za(*5#L{wzt(h=k!~YdH?(9G zT(E2dv<=uK;{za&Nh^Kft6Qr{Ei~IWpkE}!(kK!()={`R=Wa=n#~gAy9IuS$Qk*H@ zWR=jX!VcA0{!l_O^xmAV|{oOB#!w~BmIXp%wYUP^{LQ2m}*ijU*L;j(!gk-_PV z_0WT@T~=FK%kuqi{{Rdse-i$@j1#Udy?Y(puqCyuSdHyv19S)!$hmT=2KtS^W!mn3tE1C#8drcHWPpqgvyHT=N@BaVl1ma7Y0GWt=sk(+PtxIeuTn{5X0u`-n5=+<^AnN4JaBV^&N!|)zE?RX zrmtR&_ByG!N>0X=q>yR0#kCTb7GO?`8!wiUC_9JoXE{^rzy}=hmn;%oNRyyg45(N- zDdmC4+)fWs=zV$Ox^PrrrBZg%&HV4EVrlG*i`xx0_TET!Ng)i!hqpxxa8Jk^8O8ww z`jNrFs*N3l+EhAA>5Cn@29-oj<%KvK$URTpPI>9iT-RM0&QNYLwYK>jiq_@1U9`4_ zIPNrC_!3gBB8lW9r~3dOo1q!VKb>Z2^Xj)Ps86gzcW-cZOm5lAZ78_=xWF5C0B{D< zMtA_*lw}vptuN1C$74j?ER4bXxu?E~736Tt@&*s?PJ0eV<}q3RZOl6K*LLtlE4W;= zk$H@G#x|434aN^Wdy4d_#ZO7;rM^chyLz2gn{|D6qZ?bBb0L}BG>E%)9l(*h`0!L8 zZ2OAlZ?yJ{QlC#3A3e6`+z27Y=I1BSo@)wmROcj}(cgwkRJ^}Z^if@p5n10~Ntbk4 z9iIdeHyya?wa=U((g%W0b6^FZeXgJk|kw5IUI5_I^aG{{U;b%~#UyZ44HIPMa`s%lbuP$dx$St*- zs~cIOMrhRwD=Pw|6P^ij+;`8@F)9ja`?vo9hdD7?Lz!=K`5r`4T&zMUVvlanpE**@ zNyo3wIU~10iqp~riKs`u;e5bEkhIZ>3rG|k1sEgc9E|qQt#2s%K2){3HK$XW9M7)* z0C1DRd#Nyy0aa^(5On#5rO10=fSHdjXDp z!1T^j_@(My2=d0=40smG8#{NgE4l~3anLSHE`1+4=g@w3EG2^4OJnwx^O9D%x@Q@V zLzKdhJD-~%4^9masy13~Z`|D*i^D3UmP+hN+*lA;9)kq)^Byt5?hQwEs6}ogjL5qg z6}f$(LFvvo>;C}Ou6DU!EAG!fm3(Z_NdFGX3BP<2X6Z zR`BPH?{w`1SX@gotSllf%aI-lz|U+RgWA0c585tTs`esH#YrdI{E2U)gI3j3R1!qj z3UERYco^IIW11}_C&XH;r(|IwhA5n_?W7@g1HN)s{Em9@Yxgaqm1>$a)CA>tba%N{6o%qH{ z9X^Kxt!;>@8c_C0>(o!0ZAp~A9~WH;>C$FV_SOYe@sL%2{Z;5T*3bsPlx$Beo{&i{_Nv=UA2vwrPD=TDzeGje= z^Qw}UDrxPZ9JA(pteWFex>RTd#ER>X#l3xb?^NTzxDxI&dGR9c!k=Tt2R`)>r1f<* zf01yEx0sXM-OCpI1S5qKoNgJ%*0845E-h}gC$<2@&^!^wNKw0KB$9di+qmO6Uc6^m z#xRYNHja+PNaBh~(l?d7xg%gxfDkEDoc84O@6Aj_vyd)Nn9%aOn2>lJU}KK|0F80U z$~Lj$-QNCWw`L?~vVwGxkrqPh(Cz@|pzKHZ)jJ!;lIB?0HvU44ocI2?G^!;ny?*pu znz}ZG&WIr1y$EJ)zx87gmRGVhLg}+3rvI>s_?v8kT2FYFw3WZ6uK+ zaNjRGP;h;T$GNFLcX2B*C`o1~Xd|z;)K;!0soz7LywzX(YI_?yLdqdWVG%9^f^m{M zcJ{~_;BkLfx02rC+9;rs<=;6nWCj@f#BfIh9Ot!TR)gsyJ?|lO(*)O-w`LgF`GO#< zNel-)20HZX>s02umeO0W)}acLz+-3t@yG*?eZ_hcjAc1R`5AKFnr4g=5TYS+#YhY? zm;~VZ9N>2TmC)!O7`(g-C8dnFUolwiqMOQQb=pYF3=SKS$6hPT#8r(dGIMsd&7tq< z)XvoHbt_xMOY3uDe58>fic$a{!N6nB9S=X5&$S3c{5G-^s>dD0xiPi4ZHVk-WXi8l z9IwhgfF1>7iI4j`aC-8)8^hgeOKM>0S}mQXmkyxUGXDT-K|7nPHH4(w3G%=Q9ECfu zNjUq!XN)&Ve|w~9egcJ}j7cxr(@(hqKw2URm53mM>^6FVlatdm^BAa46;jexv-|r! zdOP{t?t*Z9(el6FsfVv?bKcnMdSn9L&8@FeL`acTN4-mJJPqx+vxNs6n4QC#t)tru zYa@Gi3{9(UnQvn<5K5-wy9!892_Rzx7g5lbJ5<8^JU^VS_WAz+lk(WgrKRq--F}1? zSHEtsX>Q;$T3o|E)h)je?KuvGeqn$H<>x3@X!*0prmJ)C{#&b9A`<9RN+F7Cwcc&F zoRHf{a~TS7NH`$;xgR$!9l}*5hMTgN{*<1df8%q4l&`0A(k{e0_K=!{_c1k<;Qs(y z9H-`N5%8;NBy=w~JH1w=pH`qDf*h$Fu@*ji3$+?$6XOYVt|KL&+M$n?x0AO#HV7bO9tX83HDuAzCvyu~xWCgZ zZCXf@S(hnuK6gHME&(2&As<3(sPisvZD6~PdN@GR0;6*PxaW@C_v0P#Dyk*!zU<|b zyqA+S?IgEVGTWrBa9x?iLveqVnDhsz80S4seJhRBE-u?kngzCHQ}ZNP$$1MV6!Xa1 zxxmLGxD_~f+NZz1pQ+^HZz`635fPSOKl?u5O6rJDng9XhQOGA9JMxa9SE8(l~q z;Uicr(on>r?E!(>+ylwWemET}@ljEVmzl>D)tS4fMIFn5Yc>&7uwCj(1Piw-$6hhU z52?X5&&#SwYjG<{x)o&J8&U?4k1jFxjiz-~mosvSU3FPCC4wsmiJDlL z;Y$3YCp+=V;D+O_HvTHwo}ps0B9#!vpf{3E7;(w!IUsS|j+`7f1shVH=1p7PEx(9$ z8yk5oW4T3XA^E(pND9CVe59P76obb+^fbe(+}vrpeVMombR z9G(?;5tSnP)u7+*?r)3?iG8skH%rCH>2oYlh_3NITe=66$ zxw^ZyTdOJEH2W)e7U*1q8x%Xh_bkAlTzYXDj z_c6}5Sdv1;2rcrk?4*N{*Qc#Pac1q}1%zEo6}lq6;0Y*)h6AST9oQUtX10v^WY>|$ zR?>~1XZanis(+?B+<`JXZowNt^&f}h^);b+s0&GB*>4dsNQBIo1P#27`QV(KXZeh) zNv~%$=5VC>RWla%SF&#lT(+BZK!V_iVIUxoWmIiaGEOAj>Nfl0q0^EptNBY!wm7ZK z>>CA(ovgXXTj+QsqT4l`gN(nB*1sBX=lwsasY>M)_|L(Y5=V%M)tM(ceMxkhu=) z(*TeE0AJF#+B@sG;!C&k1Z+&Iu8hr`GUqwq5I*)#-WleMTw@8TcRc9NPF7{wHO`!y zGCt8M2+g=K81=#ELC+qYMP}LCK{ty&#u=V1L9r8ZK5}q!IX=8~s=&Tg~hrDkg~A(OYIzwUVU-awVLH_MOK@IR{EQ3smrO` zMQL*cFkGaI9@gB2S0Elc{{Wv#(UVYu!Vx39a>6pC<#0VV=n1kbnBszhNd9+&qMFhxhh#rwb=8l?<*9cyl*mj5pvBgLb7BJ_I`kI zkEfuf%p~((L@eH8Zfq}5J7=)qaqUx4a?SKP-n$yQb)CvXB$o`)ZXb68dvmmbgOT$O z^P0Y5f9&gR6-Xd#;VGD zV?F!&REr(-=j`#9fj;Py2jv9dbUkx`Gmdff9r1czMZw9U2sFW_Yr3gv_Ar;q0vv56 zIPcq&fmh)(OCW>qWE0OM^*_p#Dk{x2*+0Cv%iXdm*xRM8w2Wc<&dlX@`_0vXmyGxaIzxkYYuWj~y754eI zw(ko-FJQumSBrEpLpw>)TNvGdGFRt*MnU!D6Wd-*#X_B*`EB}~iAwD?WXqPe zuWMm#Z*hBVYi+1bRbEM2Rbj>zm4N|(;1WRrf#d;;dZw48{{Ux5)|TkHmAXq9w0Qpj z(WXbvW&ubaHbRfSanv_0UnMzB%{Z?+?d1OL&S+9^WwFCaqig;TvX%5*O&>;^=aSxS zzHN)_EDD^Gz#s0M^0^#tuRYZO)GuCr-dxeXS(t^uRRvF9yl~j{EGz18(~V!=L2CE& z>2!LqcY)}>7w{}+Nz<;aCW`Qzku$8BK_1pk$%08{Wh4>G{_qZ%HA7Pn>Hh!}rPZ!n zN|zdcn6NCP49s7Uf4aLfz#WGjXy>1|aBD?%{e9nvpze{Ms`#0;j}gVD>QQ-C%c#b; z7=VMeGN25Pm~aU=?nXLQy-ntl(^tPu@OcxXLL`fCm=J|w*X7^_BcIZ`qZOe|t2-Rt zh|y{~*t@(!=;TPw=Yq;cdvwbm)b_5H=0CH;CC#)ZXbY79w?LpXZX2`CGI7xU6jfZ# z$jK#Z`i`=e2%|+yjgm>WCLIw7`H3X;Bo!Dr=R9SQ@25><{4a(kTQ;PdTW3Vh3!d$KCiY8<_VlKr7uX|5wI0ceh24 z9-Q6*CWJ?EBgb!ZA^{?~1|mpS=cpvMIpeQdhfkJQM%Y;Mxh|Hs-f`MyuYdikCFhp0 z22dP~hsuyk0#0{z=RNDIf^9;5E*2K<4c_q>$S&k`IL-z}265Z*HC_-?y|vKbacyX2 zeVuP2xmfR>(Ia4AICoQmGl1Q9XP)1UK3lymJ7iS3xSTP;kysWD!8^FmQ~n;6QEqRN z+iql|WpPdWA{Z`aEWU9baBc)_I+4$Cwa{8$tV$+@*v%8{Y%o1KusxRp@yW+SSk<9r zZiPZu*Rg6nUeZ_~x8Cy0IsOIO%f>U4-#*^8lYggQD<#Fm5jr@+vTaiMByu{Ao$=qT zIyjD3$yM0wRh*ZgiD3f3WMnZ&rImmnWbx0_H1DwK+d@Qzh+`+r!HGRbC;8Cv6%$tK zV5&6T$$r-ztSc-IO2XmJ<--6DdVW5&%PrN_#r5d0Xr)M6TX+$F2gLA5LpX zxi={^dYC(Mx8`Tt>FqtFcC%asj#)s+Ofu}sWd0{Vt!!&o?Hf&HZ)a~LFJRC|w&&gPPB{mg+5O%v)uT zVU?qO+2}fP$0Hq2-RBge@8O!4MtJdUEA}|c*%5qD(%G!X&6S;0jzaQC=dJ?vKAmdj zlO?=5K_?qtC=r!a}OEl9%lxl>w-GQITL<{jghH5I$lyCtsbm?7IpQ>AGwmx!#lg6y_5HkG&<2?Mh?OpSw%??{?k0x(NVP=_a zrnZja8M~HKg$JAl@9)%hs`pmcQb8W4rpmG1*$=cv00Dpimu%-58*(_$1FdnS)YXuv zD^HoSc=ZRlw$ycj5*Cmd_~0XcV zAna(AV<#DGpZS^(c^%NWw6U3BvqmOq@&SvhUco}0^(bRB1okxxGIp~7s=_* zQNYI^ok<3%JQGHU+t)wp{Jq66NWndhN8wXu<8`;{aJsQd$u+;<{{RhRVKwV%;#9at z0x(d3epJtXKN``Fc_55Eyp0SJMj|*E7#%qL`u=saWoKq}bEo-}LXuh9URp#T^DYL~ zoQ|LYf!CA9fBjWnKzI!^NMpv*Sn@#i^y3`V^WE7RsVmtMrNjdEAhwFu#~am%2hj4Q z91rPS?}%l!wZ4wuPiK%eSUV4ui3gzU264@8Pe*oVRy@l^sEMjX_v>!4GKmO$4oaNo z^5UCy8bx+ieXS&npoQdi2Oht#`104McXhd()%8U1T_*Y9gJMVWyQ=~T!t?acKZq2| zJx0aX_mP63eq>bupgB9ZI0q*K*jEcvoZE^xmBkvCR z13gc_deXMCOoHHG!MCE`BTbHN<)a1ILdocaNSj=Op-w%tb5%WoOAE+pR}-Uw0&;ODnK{j1Th ziRGmEHnTbsN@`NZj?ZTGHqnnY*yO6HY#w)D9Ak4Ib6MAx@W&FFwJVub z5EX>{*x&(@Pj6s-GC8j%JoM^G#yr=0c{{uOv_{tVF1Iutbqi?{;@)?j)>nldPOTwL zq-8kcEHF6-73h8~w$6v8OEs|tEMVCNz>5=@nOBxS-gOu`BWOGxw{B@m*}Fbhr)Tbt zEk>fhajcQgX?GjiTeMf~uWGP`@~-2?~``AJGmLWIiz^0F7L4}nHxrhges;|KtDDVZ7MJcxA2Sx>({X0ntjE^#<#BC$hR@d_ZKEqfpf5`$Me5IjueiW$4ci;(q^(=?wghL zeJb`?t&$d5ZI#v7DZ$A3h{Is?EKWyi+SMYH>=Rts$>l}m%3EV`8WEEa=g^#zGk`hf zwMog?dL&@9wvy?Ma#;PLa24b^EScIm^upkK06hh5+3P8bV3#n&G_fVzZ6F{%^T7m@ z$!)mlk97vIyLZ!O!O}?^+GmSxt~6;x(Av!GGZbT0yw^h#0QrI3(vAh{?eqjt3^4Sw=}gt-AI&s>(5t?OMY@)HLgxbY+g_&f#K? zajiwPjoZeuLRuaq{{`x}0r~4{)fsUjTR`j-qL?IX_ zW2wEmfvj~H$quZhVYM)xb1^a;e|Ugbc0Y%&O2gB&DfDkYQ4znGAu$DHAR@5A+5Xo( zc*YNNz@6IW>T$Js#cjCzdo`O^8g=!WS)ww`@O*$V2aw0P!*Pu8N$3q_>w0W5{uV zQWkrM8DMkH;0M!hPHNiMU5`CzvR313i(3v(o;8AfAImu}(L^E{6Es2W-BSqXN9i6!00 z0YK**Wap)B z27Uc&zW&R$mRn0r{{U#zEp5n^09?jTJT@>!O7|lMwAz}R>Ut7(lZnXqp59F|@Z8CJ zG}An}JC7_fL#}%C82r5|EdtIt^?hFD9aZ8lBzb+<3g0SZ9!cW_e|OWG(Gw|M6fCZ^ z$#32nAZZKa#^^q1q~1S6$Uj=@FO)U@g{f|Jx4B{pGkwN!$OHj_@|=58vrfzn0iH3qk;X|MiTA9%YfsW))!Hd;+5ESS3Zj#e zRktu~0kl3kjF5e(f=xL@>!ndQ%8sML`c;hao0Wt8OrC6JMk|~Hwff|MFnHtFBBwqb zo;z=~TgolLgqUUncTA`XROLX!WRss`o_HO8S;{lne~{%VLQSKU)OuO)qOI+4%Ty?9ktQaL28qcyb6Yf8RJEpKi9 z#de1ak${I7AgSm(@!Zzli*Ivpb8=E=7S@q8$jCtwFv|Vzst9Jt^zB+YQIw-N?Q~w=s)MR5l=p-EG%T+kc8RiFUm>=C4n8Y?T*}cr%y<^ z9ThdR?_++|AheL$q(#+J7z2`{_;dJ-)f?rO)otapL28k=&9TPmGT38-!ycm^{QG&k z&zW^GOPf|)nte=YI&IzTkVkbhvm}nYpUGBG7;WfyBa*yx=xO#hX&#)4k=siHZbex} z^=IpnxxnY3ADPX16=xc8y}z$ATehb;;Ua})S9uD>E4P#j1<3#caC=qRbo+a2>qpcs zl`SO=B-57Pv||NGP)Ow99{K!hk?QPw3U{2Z-F`@$Mb+)o#C9t38LfhYG_m}xwU-aK zImX%3B?jJDyKDC=_F2^n|o0l!T$mdH-Oh^0DK~>%u za&gn1gQf@LQ$cWK)S-}>B#dKnM}{CD>%hqVbynup9&@QJ70d6a?$jm|CLP~sMqHeF z{q7GPJ{^mIa}pNv*mgZf(2V|l^F(IV;`*bam05GB@2Q6`n031wpR>{`JmikK&VGiFqzKJ^f+j$sH-S{;KpY=V{=bEBPCTmdWLBpa1vK^8=``kuTP)MA z;8en-lNn+Z=O;P9`M(f8wY{dQ!D{h&k{FdSH1_}?9#cI*uNt~>x6ANn zEFPod(lq<|4fW63rVjEnl1Au!%;ES|9_lbS89gz>d_z6u?}V@C^OYk_u8RcaR1iWj zOq}#B#(5m$0Af9?oZ%TQnzH%z{=1zm-5g$}V}A~ZZL3{t7VUB7n3gn&f|b|_!2{;l zNmGu5f-(+kkGX4`+l(~3??Ms@;1Qm<`X2qO=&<$R)!`dz?dkq~KLJVgxu>JcJ?u~j z&`agy%Wg8_LfuIAO1#-SbD8XG)UHglre#@Il>6$fgNzb`HK zj|5~K)%{}H_fyk!yJ_wi!S*|4aKkUXMg}=KA1TKG5=R5FrAAnJ%4=JzzxW<^v7(Rj zZc6_EZ{KHaEyTV>r8l!Z=4MnBmZ{o7-sR970}TWT>p*8c#zwOz0VU<99i ziVyZc`E$yWc+SyZIW((6PpiA{_?lIkTFYi*f5JmGuaSJ<$#Su%-ek^j_*3QbNenZN za4{nq>l0PX9^?0u^?&hJswd`Uc4 zN`iPa_O^10epL<*cpRO%?eEsT8a8yTE{9B;_KL>MtU!Yg=6$eXr#D#U>4_j>(CDeottrR=S8 zz0J+{+N0AVEfT@|zg?(#1Y@Q#*S<%kZbc>4%+g&8RFYVbGVUj0k`GK{pvfOhW0Ojw zj2FGrSNR`5&-><|fAb}{)Y#i%*rZVG%LzVx!zG&}bd9 zPSjzJ`WJh5c=pDGN+jF3Z&Q=d{us?$O{@$bMc41$U9gbHUDd{&Y?^O*7A(Cl#RaZxyPn=&}gi z*u1hR4bbs{*Ch1+0PEsAXx?D<;tw+5eAyB2a@fMIIq!kSJ9^hVn@?jk2cc1g?AJbB z-X>!CWy+5%b;&)4PCm4V7TJ>^tR=|=C~Tx`=Dg=fsb*XI-0}07Z8+%W$%QrvXs$w;sH8&1vdz z*+ZvjV9dMUT7>Ol0xEhAbAU8pgw)Q-_kD8^tj;PzFpKavY?vCZ~k8&c& zQo|>21muj44*;CwCb|3n01jRodzTWe!@QtkHUMoIBm=KRn4n;%%E>SESv&9Qafij&m31b93COkAh@}S zCZA2TVdpp9BRK;qc_V|!9=XPA*1%#EqM_9ipV^V89;c^k7REo551tzUFC3BS{OL5i zcKc|zGOBI)RzP}Zocns$qN$~OY;DbS?rKS*UKv^7lsrQ{dVoRBc*QqV(hRn+M{cVZ z+9XI+H}JPP7QQ1j`fx%PE&Dz)r?}1i=s;%oSN)@M1;jK0e5sDFl^(t zM<0c1>KB%8q-uX@5If5pZU>lEOsm~TasvWD_9v$&+iiba9*s45Nxv`1#?VcMu%llbO63CG}MMf}GupE(rj2w3aaxmohimVjF_7$-=iPNgU&Lah?V%oR;414Sd@r%gu8frriM< z1;Gn|c;J!1$E8&{Uq*4_XeIA0ZdJUB?%Mo8cvYSfV~`vik-<3~PY0fVl|CDpu5F7Y zs-?_C0g=DVUYsfZE^3@p-1GTdU6(_7Be#c5vU1NI)X)3IVm?*E?aq4x!9Mk3=T(Xu zacgl7+i2a`lm(hcakn`<-~o<3Nv;jw-hBluI)hSsnj3AJLh|_lk<^{PUQho3tBR9O zwXsQro8;*5mKJf30MkQe|mH(+(+KD+{W`)>|KrE4=< z>M^6RSlM0~HtbRZ5We^&PI?iJbH_#!zc=pF*H&(lZZ|UgHxw4vI;7#qib-}XWQ^_P z^ZAa|+*@DA=0>2Hp=@vn7{?gt?f!9I^+?`VHlor+qj@c&w1!yZLfiA6cYlxn0A8%m zsj^*pjOA`4ZLX_iO(E3}srYjGSNf{b$#6B?cC0@3swjDy>Z^}(&D8U3E$ z*XClWslxtbJDlgvnPov9zzYDueSaKwsiiQ@sz-MFB@R?5kv>Jn21xbklixhlDvs+- zzv0QJQ`ySn?sU65tElI<#3cZ4nB_MYbHF*qL-fh+Pg=wA8m5zbr)sdq&m>A=y5L~0 z?hj9M*FL_u^l)|grONmJ0Eat$vZ(YlZC1wS7P_;T`L_V>3&8+!j=qNj+N#G4BJ$y+ zjzCbXV8X>&a57GR9DhpgsY${zd=mn*RV=oidYFw^npE`t{sa(#)G; zVA}{x2QEk@vz+8E?mA?zVT$IwMJjn(ee+(2fmk#)zzoKmzZmV7Irq*fQ@Yc+wMVfu z*NUp46d0L<1|KW;{Qx76YLeRO;u~cxCziwm5ROc~G5kb&gMvF_@+D3!H1)aj^So;} z<}~V7_S3DTajn9X3*{e_md@S>ug#x+zSWl;?P;i(t>q1E9CFCmW0FQj0rlgz_q{0P zw&%HYp>smpQE_&W<&2_4#^k^a&m+2?Gmg3EJXcSrS_v&+jm6E}t8lT#V*`w??Vuj4 zNn8#wj-xfDPjT|GQjDb)FEY$Fx^3>C6}+({+(^qBs^AA=c*)0JfaASax6;sQHw&mc zM{#X&|mMN8-Q_=PCN6^ zW2QRRje&w$3d?WhM6eyp3hmrC1CUQ%4spljRZ;tvM@|MxHE%AbIWz}Uxc<)(#}p<9 zjun%E67FISM<)YsC(vf9crHBi?YQKn{NpzbXZWk?Y9-x6Z z3P~zh=LdoaBacEwXGN-NJl=<0G}Sb9`i{sn3yV;TEyRo>Y;wv$$t3fiPsX6LhI=g% zREiN5!si}fKPv(`1N86Sx}#M_lw6-*)brEjZso;}=6e-OiJfF&x%S~p0zbMq2Or9< z*t9T+;~1Iov~I~D0CS)7{uLO>+HO04!xtB_EK4+Z5wy29&m(7QY$Rj-pUW7m>$}bJ zC9FtbNBK}H=cgZl{HxEkPl3Dk{{Vta-0#T3#Ms+vQOhK9UnEi=H5yHVO!prD0DFvf z{6lppfR2rMzlAH&f71x%WkT zMGdME%WBSW zYHs#_fiBW*o|PspVvO676Kw!AfQ{$S9Ai8lPaSGm9qcsNB%BwO$?{k~AhPW}2>uo$ zz6r)StZ?PYSE8*OHhOZJijSSYBD6nk(qOd;(Y(npm1Qc} zjX`6^M+0*MjCyg+YU$T^Yh&bUkjXsCM)>v&k1u!4&rP6Uk3(9e8K%(+ri%L;vKuM& z+3z8Ea}=?r6L34T&eiBTH@8aJEgzh3?{-L`;|u$Z#zi;*uH@(CF@?V8|(Wd|7b z(FFx+H=jn?jRl;rnOt0(*+hXnfxG8k57z{cJxy5OdNtX`r35fKeC}gKRZJ6&p?KqI zA6(Z>Nk&QBsKN6mG@teQ7H^=nDK*d9rfW8GP8ZDb)Gk+%j)8zYcj;NsPi=f2D@kKi zMRXDnFzPVC;B`H}D&|npzQI+Pu-3BqsWVHjGw8`_;h(59ae@Wn(kI@#HJK{=RE%a7DuN_WajWk=EVSZ zOt3|dXd^j2Mmr9DyVp%f-cJ5zjxUjN_A2TZP>9uyvShMnoQC;%>V0$5{{XE~TF-MM zByO?9vABKAe&<|t`u>&1>85bb%IPBX{{ZPwtWP6F6qw5g=LB@)9eAz#JJT6eS0YHj z*y8|#2NazY;N;CSsNJitiH0Iz^EAHob|@ua0c)8O>VO)kx$w~UoY$MHiQ~_48PE> z^zg}PbS|Tl20xiYK0rAj5>ySRgO1z`)(m%dr%;;M$eBdW!rZT~80Q)F?_GFm)au=@ zi*lCxn)-XkVRa4l!C6=jG{%34dTh^NasF{$k>Y#lhK*;Z>S|j3S~R)2-<`6mjG%Hm ze86Ko6N>C>;$pq!6m#mYb#RFlt3wd^vhC3S0DPQ|c{tBw+N@2atCYMK>EboZRZDhts9sIIzu}AxJ51HA{2^_t-7T^5ZIsPyWe7+t z-dWE=cAkXvUb*08K$^YHqFXSY4K*%IiyYFsLlMI<3IQrlCzHq==NUEH`6^yZWd8uG z3UuV`m(0SrhSd4y>Q|Nsyw~4u$K?PLuAA}41C9%DF`Qz&c8hPM$vxsBzJ^vRVGSvL zxApPFmY9QKnT5JA)@IGgo7s!>rs}H=ocw>R2M0sOSghiIz%1dI@oIZ{~$$oG7)fYP4IK+mwj{{ZWp?LF7^{eFfMX}g-x%cWgh%_KKQ*hU5+orYv{ zkU-BQ{M~X-d;`+9r)0Nl<;Ky?8pykg00Z%if3^KaYUs*PsHH6|ZSHRtb7J1>!qTkh zC7(@^@OLQ8XZnNMx~mn28z_JVXl5IuGARet^Xt#~73}*@Yeh?AT5nsj8@nMcnRh*` zMk8uB1H%)z;PIbwYOnkw*LrT3aelF{+9QoTka;}@aoeCjfF`+WHEZ1IZt6Zv$S^b) zX3Fl)M7oyZS4D4_lBeefkC+S<$m@c8QeS!ZS}bt{D;zKwqEt=ImHsbaa58;`W|LNL zVb-X<)Vh_lxTKZ{7_6nOw+71mvYp*C+pzp<XQXC|YVSW>B~|O{~d*+y?zd zD@705Q3adxES8vy5mdvbX8!1S#Yxh9>xPZ|<%YAq4Q(m@~-BK*v73XhlDJo^6t zoKos349ZJ^F5%OYj(GzWy+)*$CsU=qXy{hmVI8H>hB*@E5JY4kZckpIj>91OanChU z=4oTeZN_9!<&r(BubvbRNj(oBXWF^>+@7oc7|T|gWh;w2Z?KDrVs(U&hFAGrn30y+ zeqo<~QAM0r6Wh#eiI?oliJn9tpl+XD=b-8NUH#W4R3Xau*Zhl`a=@nI?puXcB80V*&lTiq?a(lv$;@n@#G@i&n9@ z)F!dFx{7o}j7KRP#OsGLOfp1=a2Sy9i~879IIV^3TjNc^&v8 z9Z!C07$%-+(?XB_@VnwsmHHw#`DdJ2}&N#;AVL|k#Rq7L}ZYJ1zLV79Zj`#V6} zH?HDUTO{CvoSr|OXMR{o_2qw}BBNR~Rn>L3)eJF$fIt;gf_Nin=RD_%;_j^*$(lHZ zS_ux!j-V6%diST5B~I}9{{UZkl9x1_dmU$o@BY~a{X!ONOIu>HF>R|JLBSjxp7r(8>w$Ei(AG75qzl>E0v9KThw|nC)}Fetv_eaf3^8<`P=a>R+F+JPqmGUIK)Z` zDn{Xw2>@}y;k*8o1X_*kaJ{v+mn7LaNBN45xnFUfE0NMoq{SER+qubExR>H3!1KZ> zgsT#u4isP!)2JN!jPnT! zujENQnAdBws{ZeG(h)EYGD&WFftr1)&6|sqWHzt>13Lczt;xsCImc7f`r!KD+Uj;f za#2x!WsNzclJ?mnVI<|w%)SYHo?H3${*^YwZ9Kx)7V<1bi|t&PiySLw{pBF_>OeU( zto6CwL8&ff{a;fy;@&uHR@R1lCFzy3a6d?Cy+78>zdbpG>kiJ-gC&wBiA_T*Zhj> zp6u&`(IS<_n%oHYvr6c}ho|XLu9qFXw#cD*8fU;$#=uTSJw`N8T=02n>T zrFm7TILW$h#7Z(+#Ho7LS24!~R;ZFdxMo7cfyqBB6Oo?&_10_tEwI<&EZ%LM+uR$6 zNTLL1Xg~vQ&)r^l>Q59bT}VO3TC){X-n-~x#KEj3y|IwDnB)-5S(B60cHo~}^XbJ4 ztDD(0che@gmS&PEBL)&eN9+ev&=b?EaC^-gN~b&Mb@Mj)quc%*=%Dc|`oD!C(&viW z-wPVFFoU`<6c*}mKAerGu&ei4j+=EIzL2&uL1c;L?~?&ahgQb~?im1{=bmy!YdTIc zl=!rE?w3GR+La z(oKQ9jQqy{0&;ox<2_Gd%ArlEUPqIOlD(Hp{$yWej@~$DYuM*$)VGru++i8O1;3X= z$Gtegb>(f2-)wRPb1J!E8jvx$cMvha2Lq;g>rOQjyqdMY;lJUGIbE8Lx(<@WqO6v} zIc|%fSY$X2oOL-1_>=3}qFEj{0ysdHCm^hY0r|Z{UG=Vn&6y$cYlNv7OA z;EiLH49B~0U`9d5Oo7gQ>wd!e2q&_R;t=sn3oB!UAYc*rk@;5fx3HXB(@)Ip!@qLdnYmF_HIxNSF5vx-}kwwOmO=)WXlR5%QI!O82>@uj#D#Mp`$ zE**20Y^h*QI(O=NR*{>Jxg>eBmn!6IzvgI1qv|(MM$&1o3(o3{2mw^!-~q-+0OSsy z*{t=@?&6y5bBQ5e zIbb&%kmuwvob(+qNj&fuwOqc@Y_)w}=;6G@NM(C_xA~X_88`Z#|}AMK77%~)Mc)4afIes| z$(fBYj_fQU%m)n0NMhZ2;NbrN4;Vk=StE=4KJ7eI^(Kxh89b|tJ*RVJqe1fe-~xFV{=I9T_>UE$9Vb=OC6;L6V;`LRf#>E5GJ7z7 zoyp|&r$#cBT~^n>=x+xbCigli?xm3vR)Cd~aT(u$+1^(traPWG40;SzWr9H;n(=LC z+{ZsN0nqdu5=R^l(xpL1RE%6YKkHLYDUD)1022JsUiV$k#1` z=+5!9(Ms_+c-eOc2cAjb;~hsiJ%vp+l3hnpFLk2>OgBxZD%#`DA$NI-#NkhDbsakA zpdOXd#+SEOvr3l*Vp)~uSNRw!kCnED&eFt_$2&mw7dtLy{LHFH-;;gGE`H4{ceXl{ z85ClFlY%gL+s9mgGg*EcZI?q{zTV<;*7l6qVHz(C!zYGf7I4>_$wT<2?1NJLFKh!{wpGadYZPI<<0)b#D|UMyi! zjVB*HE%R^YRF=;6{=dip{1XH0zPfd!?{5q@L_XGc48Jb}cL%3@bKj2<{pKBI*#rVjH%X!Ov`W{{SMQ@icc2 zszW5JyhMT}J4iXlP&4$;KmBc~RE=6y9j#?=*Yr6jbdio_lEwk&TTL{MRH1*n<&lDV zdwyA{-HS{}MU1k7RC9s{O6tJd+Fd{ELrYm$uWvlC-2IK0{Sr)(jxgBHJ#o%HhOW-> zM{cG&hFzz40R843-kjH7F*Q;$U91baa>^-WW|}D^h9yuC<8jEwM<;=U`SI>37~yM$ zy4(XEe6MM@?(Ug0BrE=)+x-on!rdwS2ms7Z!M=uK)@qj@Dj9_}?di2k* zJ?+cV_e4gM;l6p`@^pzx&Ht>QiPk2yj~_PO(^y( z$|1DXEKJt&p_mQ8f(s1iAo}AJ*NXE@y}q<&3MR~Nk+iyR1RlI|gWvkoj8wHc)LbLV zX6m}5eZJnx8%Ky-2OHi@j1GVdalujl0PCr&=eP{Y%*CS%AwqH=ZgcYb4D{*Nv~Ct$ zy-1~3no?}hNl@`3?2w?^P>@Ln86!CV06vv&*t8H%s{U(F8${sa<|i5Fjym+NIK@V4 zUA6mD_f(<6T`VfvEwA?C%!t= zFvVuuT>{4@IN#T&J^sAYnzWfQwu7a#k>ofZIO&Y@$3yy6S?$Ua%)VNjouGo}`V&bq z+9UfrAlyNX$0s>GIu0t#0!EO?(uWLkqjm;qJxJxTrDc9%FBFk^YDpUjBRLo!LH_{P zt@tmaM?f&{09D(ZXV>}xk?ihQbnC=L&YHQ-T7o z9R@dG3?5H4nQ5s-a*S@EJA~{vs|Ilw0~zC?&T)+KUOgEpHx6x*{BFNMoLpbMqIc7= zmL`oM-z~X@Qg?0x1m|cyhI+4F22MKDBfj%w2hVf0hU~Uk$Dk+h=i5E2>2TFwwB@O; zuU2#WNhtE7uB&F3v8?jIQ#tvugMt7**PMR6Gp@AtOJB6aepJ9LGF*~!K7%}gj{MfV zs!>viRHx5*uTw7LQ8F*tr4YiKPF=fWf&m;8)K*Q+$_A3w*@+w1C^NShJwLsSWQ_GZ zduE|7ZFV^A%c3m9JCY9hD$b6x8>M?yw|HO#GYpa#WAPw+ zbu}`I)-gRC40&YbCMKzRuxhcxJ4a`6DzvQ(S=k<2fz+IE#|NAd+?uDOc#iVk);&Ge zNaD1W<|Hu8+1OJc@$%uh>=^f{gn6#NuBWkmw7Jk|-Y5HA{pO1moOgClIFY30C53ly zJNEt5Eg{>J#_V!-B(IwZP`#xDNue{ZkNS`JsKy0zV>zt|JpO-&$j2oA|A9%;v zrqf8JtLs-5wN(GREnV-`i7_B-C9YnAu>mD*U|-y z?i(UGAZH|DRDK<5UCmT^RqSJ%2(?1KV@D|pu3A^bN-?;C-`xi%1E?6muA@|&PSGs% ztw&6{OPxc^WVl7adyh33h9r`3t;RBOzZvOSMe{2@pX6yMwDdWxKU5KDcS|SlT3L5U z%r_R?Fmvo!b?h57-8qv^l4R2HG|X=YDPH19u>;Mv zMMy;GB*|rVJ8_N26btxV@ zcD9XfCAGW^e8tEiTo3@qe}B`Q?ptct8}Dt^ENvsXxOr6^970jJjx*Tcw_do$MtLHX zbn`Qwrk;&!Z>e0eOXkd;X)|5kDTP4Flbq*~*LH9L&P_7n<~4xJ9iyhw7b)_CoRE1P z2*LH|>78lGDKv6ap=-`Nh0F_SXtPfnqIn&x1;ZUUIsILO!zdhyq= z{{ZV(PU`0z^p2v~Tt#(v5w5V4*(N;>&(8tqmBD?SyE@Te@RLCQe9ZoszfzTNoZ6)R5Rf*IO1NbXDU}suvx>Zk#tA2OmN@sVg8Aj(P11xjbILJ8Z(*WYR@ie67mqz~fD)3F)`qaeLrg^NkS~QmvULP(l zIZnHqZ(q7eB=!T+whR`c$_t2PaSRZwF@n3qcpmx3$_ktgxIbS`G}Ng|52nA@;#{0= zk~7t`$l03W+@O$U8)jJZI|0~rz&pBElNwfXsQUEzS$+jhqvVVTw9{#EtjBI7H$Fpd^Wk6sAd(J7atQhk zeYt+M;u|~DWp4$zm&gppL!74O&Uy|BbA zx9Ei$j$8FJc0gg7CXu&{G-M8UjN{Xcn01#{O&WvDHe=sM_Q7=7L6eAYg>60kQCaZ8#*5M;QG@WG;Ty8i%Q=6BjQS3@+LVP|Ej&u=jx+=klZD+MGfsTn6Hc6jIkt(i4c zIwQe`iALAl+-34k{{V79Jn_al;8LmYRd0Qcm{YVlO4s_Oqg&RzEfgbB)_hGI->2KD41Eo~Ct^ z)uqv#{-tW^t7+_DZ!DLLs&!^7!Td-SrKHOZzlhDIstkW=P79t8pOkadasV}^oUh4# zryT_O)4%n(qdt=jpV?k(({T53F=(P3A`rM6i0jE5cLuAajBf59-V4pyTT{aD$u)M1ovP!-Qq3=R)})MxRnaXbg*m?%AeAL(6DR#ryz z^+Z$ITgb`->|CFep1J=3^;8XFf+7}BWNv^A@%;}SY2B35MmkL-w@lK1tlmxrI)jS8 zBp!4@V^Ai}erz`5*ZgTlZOz=mik8h4o9$`)$%DCaLo(zKueasit)sWuSRpO511*9& z_VxX1Yn>ddnS7~X3m|CAe-vbpeYmNT3ux6=Aks5nlHYvu-yHr2wL|PuizY<<_>KI) zgR1e9+~=NZMV4sQRbvF7lm<{e4hOAaJKYs+O&fd3pjQQCUz_e6ali+h{{Wl{=&Ubg zgUh*Vbo(>1hj!fIG7j8<=tq8iE6mKIoE&evu_@ls{ zkU{yj;~vB5Q0aE|Qb+cvY@Y-(V9GbE1;U&XK2~B6L)yM_^7p4ruHSMRr|&E4=lB&g z$m}%>nIONGRF%r94g+TcfTtM%3=X_)J;0^abbU4rTF9(ej#9v=eWVb%$j7H@`ur>! zmHeCh3>_uPo8SHjmyW1owDL?q0rG~+eSW=bo7KP;4A!p8HVH$X`Tqdx56-%|d0m#n z<$Ssv_NQwL#Iu-JAa2|N<-dy@W0DR%GgLm#VzuAq60$d)u~aSyK7zAPnOPi84eCb; zOS3dm$lhb&6$t?XsP{Z$3&t_m(zIBejZ!H!C-> ztsR|{d9ET19(;sV`IIj1csbS>JJNoaY^Y9loc(7{*+(ytcRK z&e+D&QA>M%cPkACPZvoQ)~V$@$Yd?A5m|>G~}2={{r47y4byj@I#jue4!8yDnPJCyH9KlyyvR-&1YE213s&DI^5nO#;GJrAto@)eoF-f~*+t19couqPj$?7ql+WQv>Cdg89Z$b$zm{@7z-aDY}BM+4n zhi)=J``jw^J-b!eY}3t-8Q8-v{ouj#9vo$ca58qffyX1CO2tJkw>lhjxxcCEGPl_D ztBqdlX@vxL8zb7G)w$zw$jItSf<{OiMN6kkZ5-0xL?l>Dff-nwZFg*E1b_#(O#4*w zb0_48yH;s#>{y;@?=?*_3)zxb2v)Zs;3qk9z#a}p+@8F8aV_PQgz!R=z);T-oUFJT zL3Rt&^}t+#o`#$!Cd_KmT(3eq9Y0He6p0bsWELP72OV>ddYVg1Nv;td5fqF|v~1n; z&mF%C?2BqH$Di!fT2?Ezh65C}xxz8Xjz9(cbx14my&%X_8R9uf{k4aIw zvsxnGh$DtwLh#yM&ht!NkD3S(A;BuE#xe78{>ZA9{v(nZhMxwFVS6-W>~Wb9*}9Fm z`M4y06~$hQ#D48J6V1dy(yPqX%)8rbZ4LyR?I{MSJ8mnTs)^HSz~emUJann=t*$RM zh;AO|OSRMGK>q;f@|hYe3~d8Di}Fu#p8W-TGNCl#6|zqM0OtKHb2vFd)+%b6q}H}E z>H1Qsl@n#4Ym|{{Tpf&TM}M0Nj1KKdAh3#obi8>W@nY2I_1} zC^}00p=KUlp@X{^*!cOg-@b9c`Ms*|{7$t-+Das`u}6+DHvmai+&IC`e=%Nk;dZ3| z0Id&3Q1{ba%)99=Br}gLMV%*!;B>(o3hg8wgl+_mppQ{iMf5k;(&<`)D&AZD^+jf9 z-~d-1><@l~8tJ7^n?=yMUOL!jr#YMK_Tp8BA{AqeMoeJmmgqC<*Qa`@Y@v@+f$o8l z8CQF=$EYALlF zn`g9zuC_&EG{I)U;2n&Q$0wob>yM{0d)$1jC1aPi)Q!#b*E<+_vw4bFfP|cUp!1G6 z=QY*cUACnpaau$ha8?Z55&{y-j^Lm3lUgY1-(!}ulv1+X#nj=tnk1b;idJ=!5)V03 roP+O-el;pvB;s&jP4k2bH`ew*Td>!sZKHGw#Wb3!)g=C literal 0 HcmV?d00001 From 21e664b23b07797765b79d42fc222985277e8ff7 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Thu, 19 Aug 2021 16:02:20 +0530 Subject: [PATCH 0316/1383] test: Fix file_name assertion --- frappe/core/doctype/file/test_file.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frappe/core/doctype/file/test_file.py b/frappe/core/doctype/file/test_file.py index 1920148fca..ce971221c5 100644 --- a/frappe/core/doctype/file/test_file.py +++ b/frappe/core/doctype/file/test_file.py @@ -2,6 +2,7 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt import base64 +import json import frappe import os import unittest @@ -414,7 +415,7 @@ class TestFile(unittest.TestCase): test_file.reload() test_file.file_url = frappe.utils.get_url('unknown.jpg') test_file.make_thumbnail(suffix="xs") - self.assertEqual(frappe.message_log[0], '{"message": "File \'http://test-site:8000/unknown.jpg\' not found"}') + self.assertEqual(json.loads(frappe.message_log[0]), {"message": f"File '{frappe.utils.get_url('unknown.jpg')}' not found"}) self.assertEquals(test_file.thumbnail_url, None) class TestAttachment(unittest.TestCase): From 44c82276e830f7b720703e1aeffdfd724013fc0c Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Thu, 19 Aug 2021 17:37:01 +0530 Subject: [PATCH 0317/1383] refactor: Remove unused methods --- frappe/utils/file_manager.py | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/frappe/utils/file_manager.py b/frappe/utils/file_manager.py index eb4556c47c..b1e088d641 100644 --- a/frappe/utils/file_manager.py +++ b/frappe/utils/file_manager.py @@ -365,23 +365,6 @@ def download_file(file_url): frappe.local.response.filecontent = filedata frappe.local.response.type = "download" -def get_random_filename(extn=None, content_type=None): - if extn: - if not extn.startswith("."): - extn = "." + extn - - elif content_type: - extn = mimetypes.guess_extension(content_type) - - return random_string(7) + (extn or "") - -@frappe.whitelist(allow_guest=True) -def validate_filename(filename): - from frappe.utils import now_datetime - timestamp = now_datetime().strftime(" %Y-%m-%d %H:%M:%S") - fname = get_file_name(filename, timestamp) - return fname - @frappe.whitelist() def add_attachments(doctype, name, attachments): '''Add attachments to the given DocType''' From bc234e9052d8de5f9c8a59fa51379d750f7c537c Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Thu, 19 Aug 2021 17:38:09 +0530 Subject: [PATCH 0318/1383] test: Add test case for extract_image_from_doc --- frappe/core/doctype/file/test_file.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/frappe/core/doctype/file/test_file.py b/frappe/core/doctype/file/test_file.py index ce971221c5..72fe3491d1 100644 --- a/frappe/core/doctype/file/test_file.py +++ b/frappe/core/doctype/file/test_file.py @@ -522,3 +522,22 @@ class TestAttachmentsAccess(unittest.TestCase): frappe.set_user('Administrator') frappe.db.rollback() + + +class TestFileUtils(unittest.TestCase): + def test_extract_images_from_doc(self): + # with filename in data URI + todo = frappe.get_doc({ + "doctype": "ToDo", + "description": 'Test ' + }).insert() + self.assertTrue(frappe.db.exists("File", {"attached_to_name": todo.name})) + self.assertIn('', todo.description) + + # withot filename in data URI + todo = frappe.get_doc({ + "doctype": "ToDo", + "description": 'Test ' + }).insert() + filename = frappe.db.exists("File", {"attached_to_name": todo.name}) + self.assertIn(f' Date: Thu, 19 Aug 2021 17:39:45 +0530 Subject: [PATCH 0319/1383] fix: File name from data URI headers --- frappe/core/doctype/file/file.py | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/frappe/core/doctype/file/file.py b/frappe/core/doctype/file/file.py index b44a06876e..85e9a5f27b 100755 --- a/frappe/core/doctype/file/file.py +++ b/frappe/core/doctype/file/file.py @@ -25,7 +25,7 @@ from io import BytesIO from urllib.parse import quote, unquote import frappe -from frappe import _, conf +from frappe import _, conf, safe_decode from frappe.model.document import Document from frappe.utils import call_hook_method, cint, cstr, encode, get_files_path, get_hook_method, random_string, strip from frappe.utils.image import strip_exif_data, optimize_image @@ -809,10 +809,8 @@ def extract_images_from_html(doc, content): if "filename=" in headers: filename = headers.split("filename=")[-1] + filename = safe_decode(filename).split(";")[0] - # decode filename - if not isinstance(filename, str): - filename = str(filename, 'utf-8') else: filename = get_random_filename(content_type=mtype) @@ -840,12 +838,9 @@ def extract_images_from_html(doc, content): return content -def get_random_filename(extn=None, content_type=None): - if extn: - if not extn.startswith("."): - extn = "." + extn - - elif content_type: +def get_random_filename(content_type=None): + extn = None + if content_type: extn = mimetypes.guess_extension(content_type) return random_string(7) + (extn or "") @@ -897,13 +892,6 @@ def get_attached_images(doctype, names): return out -@frappe.whitelist() -def validate_filename(filename): - from frappe.utils import now_datetime - timestamp = now_datetime().strftime(" %Y-%m-%d %H:%M:%S") - fname = get_file_name(filename, timestamp) - return fname - @frappe.whitelist() def get_files_in_folder(folder, start=0, page_length=20): start = cint(start) From 1cf1bc1e068e38a9932cd4823a3a58c080dec621 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Thu, 19 Aug 2021 17:48:40 +0530 Subject: [PATCH 0320/1383] refactor: Remove unused functions --- frappe/core/doctype/file/file.py | 14 -------------- frappe/utils/csvutils.py | 11 +---------- 2 files changed, 1 insertion(+), 24 deletions(-) diff --git a/frappe/core/doctype/file/file.py b/frappe/core/doctype/file/file.py index 85e9a5f27b..8d0eee8c69 100755 --- a/frappe/core/doctype/file/file.py +++ b/frappe/core/doctype/file/file.py @@ -420,20 +420,6 @@ class File(Document): return get_files_path(self.file_name, is_private=self.is_private) - - def get_uploaded_content(self): - # should not be unicode when reading a file, hence using frappe.form - if 'filedata' in frappe.form_dict: - if "," in frappe.form_dict.filedata: - frappe.form_dict.filedata = frappe.form_dict.filedata.rsplit(",", 1)[1] - frappe.uploaded_content = base64.b64decode(frappe.form_dict.filedata) - return frappe.uploaded_content - elif self.content: - return self.content - frappe.msgprint(_('No file attached')) - return None - - def save_file(self, content=None, decode=False, ignore_existing_file_check=False): file_exists = False self.content = content diff --git a/frappe/utils/csvutils.py b/frappe/utils/csvutils.py index 734d68fe8a..69b7f6f2d3 100644 --- a/frappe/utils/csvutils.py +++ b/frappe/utils/csvutils.py @@ -6,16 +6,7 @@ import json import csv import requests from io import StringIO -from frappe.utils import encode, cstr, cint, flt, comma_or - -def read_csv_content_from_uploaded_file(ignore_encoding=False): - if getattr(frappe, "uploaded_file", None): - with open(frappe.uploaded_file, "r") as upfile: - fcontent = upfile.read() - else: - _file = frappe.new_doc("File") - fcontent = _file.get_uploaded_content() - return read_csv_content(fcontent, ignore_encoding) +from frappe.utils import cstr, cint, flt, comma_or def read_csv_content_from_attached_file(doc): fileid = frappe.get_all("File", fields = ["name"], filters = {"attached_to_doctype": doc.doctype, From 133be72dfdbb9a108bd10e49f8b33f0ed4c4b331 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Thu, 19 Aug 2021 18:21:40 +0530 Subject: [PATCH 0321/1383] fix: Do frappe.db.commit() only for GET request --- frappe/core/doctype/access_log/access_log.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frappe/core/doctype/access_log/access_log.py b/frappe/core/doctype/access_log/access_log.py index 2ea014f981..82db450b4a 100644 --- a/frappe/core/doctype/access_log/access_log.py +++ b/frappe/core/doctype/access_log/access_log.py @@ -29,4 +29,5 @@ def make_access_log(doctype=None, document=None, method=None, file_type=None, doc.insert(ignore_permissions=True) # `frappe.db.commit` added because insert doesnt `commit` when called in GET requests like `printview` - frappe.db.commit() + if frappe.request and frappe.request.method == 'GET': + frappe.db.commit() From 6b789ec53ad789416638bd0ee34fcd739bf010e4 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 19 Aug 2021 18:44:36 +0530 Subject: [PATCH 0322/1383] fix: Revert auto_commit after frappe.sendmail --- frappe/email/doctype/newsletter/newsletter.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frappe/email/doctype/newsletter/newsletter.py b/frappe/email/doctype/newsletter/newsletter.py index 667d0fb34c..a118240488 100755 --- a/frappe/email/doctype/newsletter/newsletter.py +++ b/frappe/email/doctype/newsletter/newsletter.py @@ -165,6 +165,7 @@ class Newsletter(WebsiteGenerator): sender = self.send_from or frappe.utils.get_formatted_email(self.owner) args = {"message": message, "name": self.name} + is_auto_commit_set = bool(frappe.db.auto_commit_on_many_writes) frappe.db.auto_commit_on_many_writes = not frappe.flags.in_test frappe.sendmail( @@ -184,7 +185,7 @@ class Newsletter(WebsiteGenerator): args=args, ) - frappe.db.auto_commit_on_many_writes = not frappe.flags.in_test + frappe.db.auto_commit_on_many_writes = is_auto_commit_set def get_message(self) -> str: if self.content_type == "HTML": From 07906594e3fb8cb24417932eb327132e282296d4 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Thu, 19 Aug 2021 19:33:37 +0530 Subject: [PATCH 0323/1383] test: Fix failing test --- frappe/core/doctype/file/test_file.py | 2 +- frappe/core/doctype/user/test_user.py | 2 +- frappe/desk/doctype/notification_log/test_notification_log.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frappe/core/doctype/file/test_file.py b/frappe/core/doctype/file/test_file.py index 72fe3491d1..df0ba8c2ec 100644 --- a/frappe/core/doctype/file/test_file.py +++ b/frappe/core/doctype/file/test_file.py @@ -534,7 +534,7 @@ class TestFileUtils(unittest.TestCase): self.assertTrue(frappe.db.exists("File", {"attached_to_name": todo.name})) self.assertIn('', todo.description) - # withot filename in data URI + # without filename in data URI todo = frappe.get_doc({ "doctype": "ToDo", "description": 'Test ' diff --git a/frappe/core/doctype/user/test_user.py b/frappe/core/doctype/user/test_user.py index 6534e70235..5fea8ed9d8 100644 --- a/frappe/core/doctype/user/test_user.py +++ b/frappe/core/doctype/user/test_user.py @@ -346,7 +346,7 @@ class TestUser(unittest.TestCase): self.assertEqual(update_password(new_password, old_password=old_password), "/") # reset password update_password(old_password, old_password=new_password) - frappe.set_user("Administrator") + def test_password_verification(self): diff --git a/frappe/desk/doctype/notification_log/test_notification_log.py b/frappe/desk/doctype/notification_log/test_notification_log.py index af4dee8df3..2d232cf942 100644 --- a/frappe/desk/doctype/notification_log/test_notification_log.py +++ b/frappe/desk/doctype/notification_log/test_notification_log.py @@ -55,6 +55,6 @@ def get_todo(): def get_user(): users = frappe.db.get_all('User', - filters={'name': ('not in', ['Administrator', 'Guest'])}, + filters={'name': ('not in', ['Administrator', 'Guest']), 'enabled': 1}, fields='name', limit=1) return users[0].name From c00a5003f482dd37326495ceda2cb418f5317839 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 19 Aug 2021 19:46:50 +0530 Subject: [PATCH 0324/1383] refactor(tests): frappe.db.delete > frappe.db.sql Use frappe.db.delete wherever possible. Get rid of all the frappe.db.sql ;) This commit focuses on the frappe.tests module --- frappe/tests/test_assign.py | 2 +- frappe/tests/test_db_query.py | 2 +- frappe/tests/test_domainification.py | 6 +++--- frappe/tests/test_dynamic_links.py | 2 +- frappe/tests/test_email.py | 8 ++++---- frappe/tests/test_frappe_client.py | 24 ++++++++++++------------ frappe/tests/test_global_search.py | 10 +++++----- frappe/tests/test_goal.py | 2 +- frappe/tests/test_naming.py | 16 ++++++++-------- frappe/tests/test_permissions.py | 8 ++++---- frappe/tests/test_scheduler.py | 2 +- 11 files changed, 41 insertions(+), 41 deletions(-) diff --git a/frappe/tests/test_assign.py b/frappe/tests/test_assign.py index e9c1ccec6d..e553fc3f5d 100644 --- a/frappe/tests/test_assign.py +++ b/frappe/tests/test_assign.py @@ -22,7 +22,7 @@ class TestAssign(unittest.TestCase): self.assertEqual(len(assignments), 0) def test_assignment_count(self): - frappe.db.sql('delete from tabToDo') + frappe.db.delete("ToDo") if not frappe.db.exists("User", "test_assign1@example.com"): frappe.get_doc({"doctype":"User", "email":"test_assign1@example.com", "first_name":"Test", "roles": [{"role": "System Manager"}]}).insert() diff --git a/frappe/tests/test_db_query.py b/frappe/tests/test_db_query.py index 89975b46d6..3724b46d9d 100644 --- a/frappe/tests/test_db_query.py +++ b/frappe/tests/test_db_query.py @@ -105,7 +105,7 @@ class TestReportview(unittest.TestCase): def test_between_filters(self): """ test case to check between filter for date fields """ - frappe.db.sql("delete from tabEvent") + frappe.db.delete("Event") # create events to test the between operator filter todays_event = create_event() diff --git a/frappe/tests/test_domainification.py b/frappe/tests/test_domainification.py index c9acd9ec45..bc972efe1f 100644 --- a/frappe/tests/test_domainification.py +++ b/frappe/tests/test_domainification.py @@ -17,9 +17,9 @@ class TestDomainification(unittest.TestCase): self.add_active_domain("_Test Domain 1") def tearDown(self): - frappe.db.sql("delete from tabRole where name='_Test Role'") - frappe.db.sql("delete from `tabHas Role` where role='_Test Role'") - frappe.db.sql("delete from tabDomain where name in ('_Test Domain 1', '_Test Domain 2')") + frappe.db.delete("Role", {"name": "_Test Role"}) + frappe.db.delete("Has Role", {"role": "_Test Role"}) + frappe.db.delete("Domain", {"name": ("in", ("_Test Domain 1", "_Test Domain 2"))}) frappe.delete_doc('DocType', 'Test Domainification') self.remove_from_active_domains(remove_all=True) diff --git a/frappe/tests/test_dynamic_links.py b/frappe/tests/test_dynamic_links.py index 04ccc91ff2..5ca12ddf13 100644 --- a/frappe/tests/test_dynamic_links.py +++ b/frappe/tests/test_dynamic_links.py @@ -4,7 +4,7 @@ import frappe, unittest class TestDynamicLinks(unittest.TestCase): def setUp(self): - frappe.db.sql('delete from `tabEmail Unsubscribe`') + frappe.db.delete("Email Unsubscribe") def test_delete_normal(self): event = frappe.get_doc({ diff --git a/frappe/tests/test_email.py b/frappe/tests/test_email.py index a837a2c572..68ab80cb8b 100644 --- a/frappe/tests/test_email.py +++ b/frappe/tests/test_email.py @@ -7,9 +7,9 @@ test_dependencies = ['Email Account'] class TestEmail(unittest.TestCase): def setUp(self): - frappe.db.sql("""delete from `tabEmail Unsubscribe`""") - frappe.db.sql("""delete from `tabEmail Queue`""") - frappe.db.sql("""delete from `tabEmail Queue Recipient`""") + frappe.db.delete("Email Unsubscribe") + frappe.db.delete("Email Queue") + frappe.db.delete("Email Queue Recipient") def test_email_queue(self, send_after=None): frappe.sendmail(recipients=['test@example.com', 'test1@example.com'], @@ -170,7 +170,7 @@ class TestEmail(unittest.TestCase): import re email_account = frappe.get_doc('Email Account', '_Test Email Account 1') - frappe.db.sql('''delete from `tabCommunication` where sender = 'sukh@yyy.com' ''') + frappe.db.delete("Communication", {"sender": "sukh@yyy.com"}) with open(frappe.get_app_path('frappe', 'tests', 'data', 'email_with_image.txt'), 'r') as raw: mails = email_account.get_inbound_mails(test_mails=[raw.read()]) diff --git a/frappe/tests/test_frappe_client.py b/frappe/tests/test_frappe_client.py index e1cdbb6ccd..556828f843 100644 --- a/frappe/tests/test_frappe_client.py +++ b/frappe/tests/test_frappe_client.py @@ -12,7 +12,7 @@ import base64 class TestFrappeClient(unittest.TestCase): def test_insert_many(self): server = FrappeClient(get_url(), "Administrator", "admin", verify=False) - frappe.db.sql("delete from `tabNote` where title in ('Sing','a','song','of','sixpence')") + frappe.db.delete("Note", {"title": ("in", ('Sing','a','song','of','sixpence'))}) frappe.db.commit() server.insert_many([ @@ -31,7 +31,7 @@ class TestFrappeClient(unittest.TestCase): def test_create_doc(self): server = FrappeClient(get_url(), "Administrator", "admin", verify=False) - frappe.db.sql("delete from `tabNote` where title = 'test_create'") + frappe.db.delete("Note", {"title": "test_create"}) frappe.db.commit() server.insert({"doctype": "Note", "public": True, "title": "test_create"}) @@ -46,7 +46,7 @@ class TestFrappeClient(unittest.TestCase): def test_get_doc(self): server = FrappeClient(get_url(), "Administrator", "admin", verify=False) - frappe.db.sql("delete from `tabNote` where title = 'get_this'") + frappe.db.delete("Note", {"title": "get_this"}) frappe.db.commit() server.insert_many([ @@ -57,7 +57,7 @@ class TestFrappeClient(unittest.TestCase): def test_get_value(self): server = FrappeClient(get_url(), "Administrator", "admin", verify=False) - frappe.db.sql("delete from `tabNote` where title = 'get_value'") + frappe.db.delete("Note", {"title": "get_value"}) frappe.db.commit() test_content = "test get value" @@ -82,7 +82,7 @@ class TestFrappeClient(unittest.TestCase): def test_update_doc(self): server = FrappeClient(get_url(), "Administrator", "admin", verify=False) - frappe.db.sql("delete from `tabNote` where title in ('Sing','sing')") + frappe.db.delete("Note", {"title": ("in" ("Sing", "sing"))}) frappe.db.commit() server.insert({"doctype":"Note", "public": True, "title": "Sing"}) @@ -94,12 +94,12 @@ class TestFrappeClient(unittest.TestCase): def test_update_child_doc(self): server = FrappeClient(get_url(), "Administrator", "admin", verify=False) - frappe.db.sql("delete from `tabContact` where first_name = 'George' and last_name = 'Steevens'") - frappe.db.sql("delete from `tabContact` where first_name = 'William' and last_name = 'Shakespeare'") - frappe.db.sql("delete from `tabCommunication` where reference_doctype = 'Event'") - frappe.db.sql("delete from `tabCommunication Link` where link_doctype = 'Contact'") - frappe.db.sql("delete from `tabEvent` where subject = 'Sing a song of sixpence'") - frappe.db.sql("delete from `tabEvent Participants` where reference_doctype = 'Contact'") + frappe.db.delete("Contact", {"first_name": "George", "last_name": "Steevens"}) + frappe.db.delete("Contact", {"first_name": "William", "last_name": "Shakespeare"}) + frappe.db.delete("Communication", {"reference_doctype": "Event"}) + frappe.db.delete("Communication Link", {"link_doctype": "Contact"}) + frappe.db.delete("Event", {"subject": "Sing a song of sixpence"}) + frappe.db.delete("Event Participants", {"reference_doctype": "Contact"}) frappe.db.commit() # create multiple contacts @@ -131,7 +131,7 @@ class TestFrappeClient(unittest.TestCase): def test_delete_doc(self): server = FrappeClient(get_url(), "Administrator", "admin", verify=False) - frappe.db.sql("delete from `tabNote` where title = 'delete'") + frappe.db.delete("Note", {"title": "delete"}) frappe.db.commit() server.insert_many([ diff --git a/frappe/tests/test_global_search.py b/frappe/tests/test_global_search.py index 3921af6738..c227abfb99 100644 --- a/frappe/tests/test_global_search.py +++ b/frappe/tests/test_global_search.py @@ -24,15 +24,15 @@ class TestGlobalSearch(unittest.TestCase): make_property_setter(doctype, "repeat_on", "in_global_search", 0, "Int") def tearDown(self): - frappe.db.sql("DELETE FROM `tabProperty Setter` WHERE `doc_type`='Event'") + frappe.db.delete("Property Setter", {"doc_type": "Event"}) frappe.clear_cache(doctype='Event') - frappe.db.sql('DELETE FROM `tabEvent`') - frappe.db.sql('DELETE FROM `__global_search`') + frappe.db.delete("Event") + frappe.db.delete("__global_search") make_test_objects('Event') frappe.db.commit() def insert_test_events(self): - frappe.db.sql('DELETE FROM `tabEvent`') + frappe.db.delete("Event") phrases = ['"The Sixth Extinction II: Amor Fati" is the second episode of the seventh season of the American science fiction.', 'After Mulder awakens from his coma, he realizes his duty to prevent alien colonization. ', 'Carter explored themes of extraterrestrial involvement in ancient mass extinctions in this episode, the third in a trilogy.'] @@ -97,7 +97,7 @@ class TestGlobalSearch(unittest.TestCase): self.assertEqual(len(results), 0) def test_insert_child_table(self): - frappe.db.sql('delete from tabEvent') + frappe.db.delete("Event") phrases = ['Hydrus is a small constellation in the deep southern sky. ', 'It was first depicted on a celestial atlas by Johann Bayer in his 1603 Uranometria. ', 'The French explorer and astronomer Nicolas Louis de Lacaille charted the brighter stars and gave their Bayer designations in 1756. ', diff --git a/frappe/tests/test_goal.py b/frappe/tests/test_goal.py index 5a83baa1af..55b1b9aad8 100644 --- a/frappe/tests/test_goal.py +++ b/frappe/tests/test_goal.py @@ -13,7 +13,7 @@ class TestGoal(unittest.TestCase): make_test_objects('Event', reset=True) def tearDown(self): - frappe.db.sql('delete from `tabEvent`') + frappe.db.delete("Event") # make_test_objects('Event', reset=True) frappe.db.commit() diff --git a/frappe/tests/test_naming.py b/frappe/tests/test_naming.py index 830c39442e..3a8e2445d7 100644 --- a/frappe/tests/test_naming.py +++ b/frappe/tests/test_naming.py @@ -72,7 +72,7 @@ class TestNaming(unittest.TestCase): current_index = frappe.db.sql("""SELECT current from `tabSeries` where name = %s""", series, as_dict=True)[0] self.assertEqual(current_index.get('current'), 0) - frappe.db.sql("""delete from `tabSeries` where name = %s""", series) + frappe.db.delete("Series", {"name": series}) series = 'TEST-{}-'.format(year) key = 'TEST-.YYYY.-.#####' @@ -82,40 +82,40 @@ class TestNaming(unittest.TestCase): current_index = frappe.db.sql("""SELECT current from `tabSeries` where name = %s""", series, as_dict=True)[0] self.assertEqual(current_index.get('current'), 1) - frappe.db.sql("""delete from `tabSeries` where name = %s""", series) + frappe.db.delete("Series", {"name": series}) series = 'TEST-' key = 'TEST-' name = 'TEST-00003' - frappe.db.sql("DELETE FROM `tabSeries` WHERE `name`=%s", series) + frappe.db.delete("Series", {"name": series}) frappe.db.sql("""INSERT INTO `tabSeries` (name, current) values (%s, 3)""", (series,)) revert_series_if_last(key, name) current_index = frappe.db.sql("""SELECT current from `tabSeries` where name = %s""", series, as_dict=True)[0] self.assertEqual(current_index.get('current'), 2) - frappe.db.sql("""delete from `tabSeries` where name = %s""", series) + frappe.db.delete("Series", {"name": series}) series = 'TEST1-' key = 'TEST1-.#####.-2021-22' name = 'TEST1-00003-2021-22' - frappe.db.sql("DELETE FROM `tabSeries` WHERE `name`=%s", series) + frappe.db.delete("Series", {"name": series}) frappe.db.sql("""INSERT INTO `tabSeries` (name, current) values (%s, 3)""", (series,)) revert_series_if_last(key, name) current_index = frappe.db.sql("""SELECT current from `tabSeries` where name = %s""", series, as_dict=True)[0] self.assertEqual(current_index.get('current'), 2) - frappe.db.sql("""delete from `tabSeries` where name = %s""", series) + frappe.db.delete("Series", {"name": series}) series = '' key = '.#####.-2021-22' name = '00003-2021-22' - frappe.db.sql("DELETE FROM `tabSeries` WHERE `name`=%s", series) + frappe.db.delete("Series", {"name": series}) frappe.db.sql("""INSERT INTO `tabSeries` (name, current) values (%s, 3)""", (series,)) revert_series_if_last(key, name) current_index = frappe.db.sql("""SELECT current from `tabSeries` where name = %s""", series, as_dict=True)[0] self.assertEqual(current_index.get('current'), 2) - frappe.db.sql("""delete from `tabSeries` where name = %s""", series) + frappe.db.delete("Series", {"name": series}) def test_naming_for_cancelled_and_amended_doc(self): submittable_doctype = frappe.get_doc({ diff --git a/frappe/tests/test_permissions.py b/frappe/tests/test_permissions.py index ada64156de..9586660535 100644 --- a/frappe/tests/test_permissions.py +++ b/frappe/tests/test_permissions.py @@ -38,7 +38,7 @@ class TestPermissions(unittest.TestCase): reset('Blogger') reset('Blog Post') - frappe.db.sql('delete from `tabUser Permission`') + frappe.db.delete("User Permission") frappe.set_user("test1@example.com") @@ -334,9 +334,9 @@ class TestPermissions(unittest.TestCase): doctype""" frappe.set_user('Administrator') - frappe.db.sql('DELETE FROM `tabContact`') - frappe.db.sql('DELETE FROM `tabContact Email`') - frappe.db.sql('DELETE FROM `tabContact Phone`') + frappe.db.delete("Contact") + frappe.db.delete("Contact Email") + frappe.db.delete("Contact Phone") reset('Salutation') reset('Contact') diff --git a/frappe/tests/test_scheduler.py b/frappe/tests/test_scheduler.py index ec43c08ab7..f13bcbe06f 100644 --- a/frappe/tests/test_scheduler.py +++ b/frappe/tests/test_scheduler.py @@ -45,7 +45,7 @@ class TestScheduler(TestCase): # 1st job is in the queue (or running), don't enqueue it again self.assertFalse(job.enqueue()) - frappe.db.sql('DELETE FROM `tabScheduled Job Log` WHERE `scheduled_job_type`=%s', job.name) + frappe.db.delete("Scheduled Job Log", {"scheduled_job_type": job.name}) def test_is_dormant(self): self.assertTrue(is_dormant(check_time= get_datetime('2100-01-01 00:00:00'))) From ebc220db393e7549cb7d948e57dbb6a92897b35b Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 19 Aug 2021 19:50:48 +0530 Subject: [PATCH 0325/1383] refactor(tests): frappe.db.delete > frappe.db.sql Use frappe.db.delete wherever possible. Get rid of all the frappe.db.sql ;) This commit focuses on the tests written under the doctype specific tests --- .../assignment_rule/test_assignment_rule.py | 8 ++++---- .../milestone_tracker/test_milestone_tracker.py | 4 ++-- frappe/core/doctype/comment/test_comment.py | 4 ++-- frappe/core/doctype/feedback/test_feedback.py | 4 ++-- .../core/doctype/translation/test_translation.py | 2 +- frappe/core/doctype/user/test_user.py | 6 +++--- frappe/desk/doctype/event/test_event.py | 2 +- frappe/desk/doctype/note/test_note.py | 6 +++--- frappe/desk/doctype/tag/test_tag.py | 2 +- frappe/desk/doctype/todo/test_todo.py | 6 +++--- .../doctype/email_account/test_email_account.py | 12 ++++++------ .../doctype/notification/test_notification.py | 16 ++++++++-------- .../integrations/doctype/webhook/test_webhook.py | 8 ++++---- .../energy_point_log/test_energy_point_log.py | 4 ++-- .../test_personal_data_download_request.py | 4 ++-- frappe/website/doctype/web_page/test_web_page.py | 2 +- .../workflow/doctype/workflow/test_workflow.py | 2 +- 17 files changed, 46 insertions(+), 46 deletions(-) diff --git a/frappe/automation/doctype/assignment_rule/test_assignment_rule.py b/frappe/automation/doctype/assignment_rule/test_assignment_rule.py index e287b83965..dfefd091fb 100644 --- a/frappe/automation/doctype/assignment_rule/test_assignment_rule.py +++ b/frappe/automation/doctype/assignment_rule/test_assignment_rule.py @@ -76,7 +76,7 @@ class TestAutoAssign(unittest.TestCase): # clear 5 assignments for first user # can't do a limit in "delete" since postgres does not support it for d in frappe.get_all('ToDo', dict(reference_type = 'Note', owner = 'test@example.com'), limit=5): - frappe.db.sql("delete from tabToDo where name = %s", d.name) + frappe.db.delete("ToDo", {"name": d.name}) # add 5 more assignments for i in range(5): @@ -177,7 +177,7 @@ class TestAutoAssign(unittest.TestCase): ), 'owner'), 'test@example.com') def check_assignment_rule_scheduling(self): - frappe.db.sql("DELETE FROM `tabAssignment Rule`") + frappe.db.delete("Assignment Rule") days_1 = [dict(day = 'Sunday'), dict(day = 'Monday'), dict(day = 'Tuesday')] @@ -204,7 +204,7 @@ class TestAutoAssign(unittest.TestCase): ), 'owner'), ['test3@example.com']) def test_assignment_rule_condition(self): - frappe.db.sql("DELETE FROM `tabAssignment Rule`") + frappe.db.delete("Assignment Rule") # Add expiry_date custom field from frappe.custom.doctype.custom_field.custom_field import create_custom_field @@ -253,7 +253,7 @@ class TestAutoAssign(unittest.TestCase): assignment_rule.delete() def clear_assignments(): - frappe.db.sql("delete from tabToDo where reference_type = 'Note'") + frappe.db.delete("ToDo", {"reference_type": "Note"}) def get_assignment_rule(days, assign=None): frappe.delete_doc_if_exists('Assignment Rule', 'For Note 1') diff --git a/frappe/automation/doctype/milestone_tracker/test_milestone_tracker.py b/frappe/automation/doctype/milestone_tracker/test_milestone_tracker.py index 21b2779018..1683e94827 100644 --- a/frappe/automation/doctype/milestone_tracker/test_milestone_tracker.py +++ b/frappe/automation/doctype/milestone_tracker/test_milestone_tracker.py @@ -7,7 +7,7 @@ import unittest class TestMilestoneTracker(unittest.TestCase): def test_milestone(self): - frappe.db.sql('delete from `tabMilestone Tracker`') + frappe.db.delete("Milestone Tracker") frappe.cache().delete_key('milestone_tracker_map') @@ -44,5 +44,5 @@ class TestMilestoneTracker(unittest.TestCase): self.assertEqual(milestones[0].value, 'Closed') # cleanup - frappe.db.sql('delete from tabMilestone') + frappe.db.delete("Milestone") milestone_tracker.delete() \ No newline at end of file diff --git a/frappe/core/doctype/comment/test_comment.py b/frappe/core/doctype/comment/test_comment.py index 13db92e7a8..12fe027fba 100644 --- a/frappe/core/doctype/comment/test_comment.py +++ b/frappe/core/doctype/comment/test_comment.py @@ -30,7 +30,7 @@ class TestComment(unittest.TestCase): from frappe.website.doctype.blog_post.test_blog_post import make_test_blog test_blog = make_test_blog() - frappe.db.sql("delete from `tabComment` where reference_doctype = 'Blog Post'") + frappe.db.delete("Comment", {"reference_doctype": "Blog Post"}) from frappe.templates.includes.comments.comments import add_comment add_comment('Good comment with 10 chars', 'test@test.com', 'Good Tester', @@ -41,7 +41,7 @@ class TestComment(unittest.TestCase): reference_name = test_blog.name ))[0].published, 1) - frappe.db.sql("delete from `tabComment` where reference_doctype = 'Blog Post'") + frappe.db.delete("Comment", {"reference_doctype": "Blog Post"}) add_comment('pleez vizits my site http://mysite.com', 'test@test.com', 'bad commentor', 'Blog Post', test_blog.name, test_blog.route) diff --git a/frappe/core/doctype/feedback/test_feedback.py b/frappe/core/doctype/feedback/test_feedback.py index 2a96d86874..c7551420c3 100644 --- a/frappe/core/doctype/feedback/test_feedback.py +++ b/frappe/core/doctype/feedback/test_feedback.py @@ -9,7 +9,7 @@ class TestFeedback(unittest.TestCase): from frappe.website.doctype.blog_post.test_blog_post import make_test_blog test_blog = make_test_blog() - frappe.db.sql("delete from `tabFeedback` where reference_doctype = 'Blog Post'") + frappe.db.delete("Feedback", {"reference_doctype": "Blog Post"}) from frappe.templates.includes.feedback.feedback import add_feedback, update_feedback feedback = add_feedback('Blog Post', test_blog.name, 5, 'New feedback') @@ -22,6 +22,6 @@ class TestFeedback(unittest.TestCase): self.assertEqual(updated_feedback.feedback, 'Updated feedback') self.assertEqual(updated_feedback.rating, 6) - frappe.db.sql("delete from `tabFeedback` where reference_doctype = 'Blog Post'") + frappe.db.delete("Feedback", {"reference_doctype": "Blog Post"}) test_blog.delete() \ No newline at end of file diff --git a/frappe/core/doctype/translation/test_translation.py b/frappe/core/doctype/translation/test_translation.py index ae1293b38f..e5b5d2d393 100644 --- a/frappe/core/doctype/translation/test_translation.py +++ b/frappe/core/doctype/translation/test_translation.py @@ -8,7 +8,7 @@ from frappe import _ class TestTranslation(unittest.TestCase): def setUp(self): - frappe.db.sql('delete from tabTranslation') + frappe.db.delete("Translation") def tearDown(self): frappe.local.lang = 'en' diff --git a/frappe/core/doctype/user/test_user.py b/frappe/core/doctype/user/test_user.py index 392128834d..fbe1830844 100644 --- a/frappe/core/doctype/user/test_user.py +++ b/frappe/core/doctype/user/test_user.py @@ -52,7 +52,7 @@ class TestUser(unittest.TestCase): def test_delete(self): frappe.get_doc("User", "test@example.com").add_roles("_Test Role 2") self.assertRaises(frappe.LinkExistsError, delete_doc, "Role", "_Test Role 2") - frappe.db.sql("""delete from `tabHas Role` where role='_Test Role 2'""") + frappe.db.delete("Has Role", {"role": "_Test Role 2"}) delete_doc("Role","_Test Role 2") if frappe.db.exists("User", "_test@example.com"): @@ -294,5 +294,5 @@ class TestUser(unittest.TestCase): # self.assertIsNone(frappe.db.get("User", {"email": email})) def delete_contact(user): - frappe.db.sql("DELETE FROM `tabContact` WHERE `email_id`= %s", user) - frappe.db.sql("DELETE FROM `tabContact Email` WHERE `email_id`= %s", user) + frappe.db.delete("Contact", {"email_id": user}) + frappe.db.delete("Contact Email", {"email_id": user}) diff --git a/frappe/desk/doctype/event/test_event.py b/frappe/desk/doctype/event/test_event.py index 77211946a9..8f56d11da3 100644 --- a/frappe/desk/doctype/event/test_event.py +++ b/frappe/desk/doctype/event/test_event.py @@ -14,7 +14,7 @@ test_records = frappe.get_test_records('Event') class TestEvent(unittest.TestCase): def setUp(self): - frappe.db.sql('delete from tabEvent') + frappe.db.delete("Event") make_test_objects('Event', reset=True) self.test_records = frappe.get_test_records('Event') diff --git a/frappe/desk/doctype/note/test_note.py b/frappe/desk/doctype/note/test_note.py index 1bb1730357..3207fa9b8d 100644 --- a/frappe/desk/doctype/note/test_note.py +++ b/frappe/desk/doctype/note/test_note.py @@ -8,9 +8,9 @@ test_records = frappe.get_test_records('Note') class TestNote(unittest.TestCase): def insert_note(self): - frappe.db.sql('delete from tabVersion') - frappe.db.sql('delete from tabNote') - frappe.db.sql('delete from `tabNote Seen By`') + frappe.db.delete("Version") + frappe.db.delete("Note") + frappe.db.delete("Note Seen By") return frappe.get_doc(dict(doctype='Note', title='test note', content='test note content')).insert() diff --git a/frappe/desk/doctype/tag/test_tag.py b/frappe/desk/doctype/tag/test_tag.py index 6eb7219c26..b9c6e0b744 100644 --- a/frappe/desk/doctype/tag/test_tag.py +++ b/frappe/desk/doctype/tag/test_tag.py @@ -6,7 +6,7 @@ from frappe.desk.doctype.tag.tag import add_tag class TestTag(unittest.TestCase): def setUp(self) -> None: - frappe.db.sql("DELETE from `tabTag`") + frappe.db.delete("Tag") frappe.db.sql("UPDATE `tabDocType` set _user_tags=''") def test_tag_count_query(self): diff --git a/frappe/desk/doctype/todo/test_todo.py b/frappe/desk/doctype/todo/test_todo.py index b38e4a059a..4afe99597d 100644 --- a/frappe/desk/doctype/todo/test_todo.py +++ b/frappe/desk/doctype/todo/test_todo.py @@ -14,7 +14,7 @@ class TestToDo(unittest.TestCase): todo = frappe.get_doc(dict(doctype='ToDo', description='test todo', assigned_by='Administrator')).insert() - frappe.db.sql('delete from `tabDeleted Document`') + frappe.db.delete("Deleted Document") todo.delete() deleted = frappe.get_doc('Deleted Document', dict(deleted_doctype=todo.doctype, deleted_name=todo.name)) @@ -27,7 +27,7 @@ class TestToDo(unittest.TestCase): frappe.db.get_value('User', todo.assigned_by, 'full_name')) def test_fetch_setup(self): - frappe.db.sql('delete from tabToDo') + frappe.db.delete("ToDo") todo_meta = frappe.get_doc('DocType', 'ToDo') todo_meta.get('fields', dict(fieldname='assigned_by_full_name'))[0].fetch_from = '' @@ -105,7 +105,7 @@ class TestToDo(unittest.TestCase): frappe.db.rollback() def test_fetch_if_empty(self): - frappe.db.sql('delete from tabToDo') + frappe.db.delete("ToDo") # Allow user changes todo_meta = frappe.get_doc('DocType', 'ToDo') diff --git a/frappe/email/doctype/email_account/test_email_account.py b/frappe/email/doctype/email_account/test_email_account.py index 35cacac45a..da03a5959e 100644 --- a/frappe/email/doctype/email_account/test_email_account.py +++ b/frappe/email/doctype/email_account/test_email_account.py @@ -34,8 +34,8 @@ class TestEmailAccount(unittest.TestCase): def setUp(self): frappe.flags.mute_emails = False frappe.flags.sent_mail = None - frappe.db.sql('delete from `tabEmail Queue`') - frappe.db.sql('delete from `tabUnhandled Email`') + frappe.db.delete("Email Queue") + frappe.db.delete("Unhandled Email") def get_test_mail(self, fname): with open(os.path.join(os.path.dirname(__file__), "test_mails", fname), "r") as f: @@ -60,7 +60,7 @@ class TestEmailAccount(unittest.TestCase): comm = frappe.get_doc("Communication", {"sender": "test_sender@example.com"}) comm.db_set("creation", datetime.now() - timedelta(seconds = 30 * 60)) - frappe.db.sql("DELETE FROM `tabEmail Queue`") + frappe.db.delete("Email Queue") notify_unreplied() self.assertTrue(frappe.db.get_value("Email Queue", {"reference_doctype": comm.reference_doctype, "reference_name": comm.reference_name, "status":"Not Sent"})) @@ -183,7 +183,7 @@ class TestEmailAccount(unittest.TestCase): def test_threading_by_message_id(self): cleanup() - frappe.db.sql("""delete from `tabEmail Queue`""") + frappe.db.delete("Email Queue") # reference document for testing event = frappe.get_doc(dict(doctype='Event', subject='test-message')).insert() @@ -242,8 +242,8 @@ class TestInboundMail(unittest.TestCase): def setUp(self): cleanup() - frappe.db.sql('delete from `tabEmail Queue`') - frappe.db.sql('delete from `tabToDo`') + frappe.db.delete("Email Queue") + frappe.db.delete("ToDo") def get_test_mail(self, fname): with open(os.path.join(os.path.dirname(__file__), "test_mails", fname), "r") as f: diff --git a/frappe/email/doctype/notification/test_notification.py b/frappe/email/doctype/notification/test_notification.py index d6358ccbbe..2629050c1b 100644 --- a/frappe/email/doctype/notification/test_notification.py +++ b/frappe/email/doctype/notification/test_notification.py @@ -9,7 +9,7 @@ test_dependencies = ["User", "Notification"] class TestNotification(unittest.TestCase): def setUp(self): - frappe.db.sql("""delete from `tabEmail Queue`""") + frappe.db.delete("Email Queue") frappe.set_user("test@example.com") if not frappe.db.exists('Notification', {'name': 'ToDo Status Update'}, 'name'): @@ -50,7 +50,7 @@ class TestNotification(unittest.TestCase): self.assertTrue(frappe.db.get_value("Email Queue", {"reference_doctype": "Communication", "reference_name": communication.name, "status":"Not Sent"})) - frappe.db.sql("""delete from `tabEmail Queue`""") + frappe.db.delete("Email Queue") communication.reload() communication.content = "test 2" @@ -189,9 +189,9 @@ class TestNotification(unittest.TestCase): def test_cc_jinja(self): - frappe.db.sql("""delete from `tabUser` where email='test_jinja@example.com'""") - frappe.db.sql("""delete from `tabEmail Queue`""") - frappe.db.sql("""delete from `tabEmail Queue Recipient`""") + frappe.db.delete("User", {"email": "test_jinja@example.com"}) + frappe.db.delete("Email Queue") + frappe.db.delete("Email Queue Recipient") test_user = frappe.new_doc("User") test_user.name = 'test_jinja' @@ -205,9 +205,9 @@ class TestNotification(unittest.TestCase): self.assertTrue(frappe.db.get_value("Email Queue Recipient", {"recipient": "test_jinja@example.com"})) - frappe.db.sql("""delete from `tabUser` where email='test_jinja@example.com'""") - frappe.db.sql("""delete from `tabEmail Queue`""") - frappe.db.sql("""delete from `tabEmail Queue Recipient`""") + frappe.db.delete("User", {"email": "test_jinja@example.com"}) + frappe.db.delete("Email Queue") + frappe.db.delete("Email Queue Recipient") def test_notification_to_assignee(self): todo = frappe.new_doc('ToDo') diff --git a/frappe/integrations/doctype/webhook/test_webhook.py b/frappe/integrations/doctype/webhook/test_webhook.py index b77e311f7e..1470f666a1 100644 --- a/frappe/integrations/doctype/webhook/test_webhook.py +++ b/frappe/integrations/doctype/webhook/test_webhook.py @@ -11,9 +11,9 @@ class TestWebhook(unittest.TestCase): @classmethod def setUpClass(cls): # delete any existing webhooks - frappe.db.sql("DELETE FROM tabWebhook") + frappe.db.delete("Webhook") # Delete existing logs if any - frappe.db.sql("DELETE FROM `tabWebhook Request Log`") + frappe.db.delete("Webhook Request Log") # create test webhooks cls.create_sample_webhooks() @@ -46,7 +46,7 @@ class TestWebhook(unittest.TestCase): @classmethod def tearDownClass(cls): # delete any existing webhooks - frappe.db.sql("DELETE FROM tabWebhook") + frappe.db.delete("Webhook") def setUp(self): # retrieve or create a User webhook for `after_insert` @@ -168,7 +168,7 @@ class TestWebhook(unittest.TestCase): def test_webhook_req_log_creation(self): if not frappe.db.get_value('User', 'user2@integration.webhooks.test.com'): user = frappe.get_doc({ - 'doctype': 'User', + 'doctype': 'User', 'email': 'user2@integration.webhooks.test.com', 'first_name': 'user2' }).insert() diff --git a/frappe/social/doctype/energy_point_log/test_energy_point_log.py b/frappe/social/doctype/energy_point_log/test_energy_point_log.py index 4a6e86463e..eb03058760 100644 --- a/frappe/social/doctype/energy_point_log/test_energy_point_log.py +++ b/frappe/social/doctype/energy_point_log/test_energy_point_log.py @@ -13,8 +13,8 @@ class TestEnergyPointLog(unittest.TestCase): def tearDown(self): frappe.set_user('Administrator') - frappe.db.sql('DELETE FROM `tabEnergy Point Log`') - frappe.db.sql('DELETE FROM `tabEnergy Point Rule`') + frappe.db.delete("Energy Point Log") + frappe.db.delete("Energy Point Rule") frappe.cache().delete_value('energy_point_rule_map') def test_user_energy_point(self): diff --git a/frappe/website/doctype/personal_data_download_request/test_personal_data_download_request.py b/frappe/website/doctype/personal_data_download_request/test_personal_data_download_request.py index 563b6b3843..2efac5af12 100644 --- a/frappe/website/doctype/personal_data_download_request/test_personal_data_download_request.py +++ b/frappe/website/doctype/personal_data_download_request/test_personal_data_download_request.py @@ -13,7 +13,7 @@ class TestRequestPersonalData(unittest.TestCase): create_user_if_not_exists(email='test_privacy@example.com') def tearDown(self): - frappe.db.sql("""DELETE FROM `tabPersonal Data Download Request`""") + frappe.db.delete("Personal Data Download Request") def test_user_data_creation(self): user_data = json.loads(get_user_data('test_privacy@example.com')) @@ -45,7 +45,7 @@ class TestRequestPersonalData(unittest.TestCase): limit=1) self.assertTrue("Subject: Download Your Data" in email_queue[0].message) - frappe.db.sql("delete from `tabEmail Queue`") + frappe.db.delete("Email Queue") def create_user_if_not_exists(email, first_name = None): frappe.delete_doc_if_exists("User", email) diff --git a/frappe/website/doctype/web_page/test_web_page.py b/frappe/website/doctype/web_page/test_web_page.py index 0d36d0f870..aebc6a38c1 100644 --- a/frappe/website/doctype/web_page/test_web_page.py +++ b/frappe/website/doctype/web_page/test_web_page.py @@ -8,7 +8,7 @@ test_records = frappe.get_test_records('Web Page') class TestWebPage(unittest.TestCase): def setUp(self): - frappe.db.sql("delete from `tabWeb Page`") + frappe.db.delete("Web Page") for t in test_records: frappe.get_doc(t).insert() diff --git a/frappe/workflow/doctype/workflow/test_workflow.py b/frappe/workflow/doctype/workflow/test_workflow.py index cd36fd2d0b..fb19352c67 100644 --- a/frappe/workflow/doctype/workflow/test_workflow.py +++ b/frappe/workflow/doctype/workflow/test_workflow.py @@ -76,7 +76,7 @@ class TestWorkflow(unittest.TestCase): self.assertListEqual(actions, ['Review']) def test_if_workflow_actions_were_processed(self): - frappe.db.sql('delete from `tabWorkflow Action`') + frappe.db.delete("Workflow Action") user = frappe.get_doc('User', 'test2@example.com') user.add_roles('Test Approver', 'System Manager') frappe.set_user('test2@example.com') From 32c6cf1c443c1c522848736da25cc0b22aea1425 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 19 Aug 2021 19:53:16 +0530 Subject: [PATCH 0326/1383] refactor(misc): frappe.db.delete > frappe.db.sql Use frappe.db.delete wherever possible. Get rid of all the frappe.db.sql ;) This commit focuses on the pending modules that had relatively easier DELETE statements. --- frappe/model/delete_doc.py | 9 +++++---- frappe/model/document.py | 3 +-- frappe/modules/utils.py | 3 +-- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/frappe/model/delete_doc.py b/frappe/model/delete_doc.py index fbbf1a4852..16fc960260 100644 --- a/frappe/model/delete_doc.py +++ b/frappe/model/delete_doc.py @@ -190,7 +190,7 @@ def delete_from_table(doctype, name, ignore_doctypes, doc): # delete from child tables for t in list(set(tables)): if t not in ignore_doctypes: - frappe.db.sql("delete from `tab%s` where parenttype=%s and parent = %s" % (t, '%s', '%s'), (doctype, name)) + frappe.db.delete(t, {"parenttype": doctype, "parent": name}) def update_flags(doc, flags=None, ignore_permissions=False): if ignore_permissions: @@ -323,9 +323,10 @@ def delete_dynamic_links(doctype, name): def delete_references(doctype, reference_doctype, reference_name, reference_doctype_field = 'reference_doctype', reference_name_field = 'reference_name'): - frappe.db.sql('''delete from `tab{0}` - where {1}=%s and {2}=%s'''.format(doctype, reference_doctype_field, reference_name_field), # nosec - (reference_doctype, reference_name)) + frappe.db.delete(doctype, { + reference_doctype_field: reference_doctype, + reference_name_field: reference_name + }) def clear_references(doctype, reference_doctype, reference_name, reference_doctype_field = 'reference_doctype', reference_name_field = 'reference_name'): diff --git a/frappe/model/document.py b/frappe/model/document.py index ee12fd89e0..37549e2001 100644 --- a/frappe/model/document.py +++ b/frappe/model/document.py @@ -385,8 +385,7 @@ class Document(BaseDocument): [self.name, self.doctype, fieldname] + rows) if len(deleted_rows) > 0: # delete rows that do not match the ones in the document - frappe.db.sql("""delete from `tab{0}` where name in ({1})""".format(df.options, - ','.join(['%s'] * len(deleted_rows))), tuple(row[0] for row in deleted_rows)) + frappe.db.delete(df.options, {"name": ("in", tuple(row[0] for row in deleted_rows))}) else: # no rows found, delete all rows diff --git a/frappe/modules/utils.py b/frappe/modules/utils.py index 0f3e57a5a0..ed2a839dc1 100644 --- a/frappe/modules/utils.py +++ b/frappe/modules/utils.py @@ -114,8 +114,7 @@ def sync_customizations_for_doctype(data, folder): doc.db_insert() if custom_doctype != 'Custom Field': - frappe.db.sql('delete from `tab{0}` where `{1}` =%s'.format( - custom_doctype, doctype_fieldname), doc_type) + frappe.db.delete(custom_doctype, {doctype_fieldname: doc_type}) for d in data[key]: _insert(d) From 4df118906f66dd7d06b6b85063f80dc157704862 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 19 Aug 2021 20:10:11 +0530 Subject: [PATCH 0327/1383] fix: Run test skipped earlier due to missing indent --- frappe/desk/doctype/todo/test_todo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/desk/doctype/todo/test_todo.py b/frappe/desk/doctype/todo/test_todo.py index 4afe99597d..7e0fa115c9 100644 --- a/frappe/desk/doctype/todo/test_todo.py +++ b/frappe/desk/doctype/todo/test_todo.py @@ -104,7 +104,7 @@ class TestToDo(unittest.TestCase): clear_permissions_cache('ToDo') frappe.db.rollback() -def test_fetch_if_empty(self): + def test_fetch_if_empty(self): frappe.db.delete("ToDo") # Allow user changes From b7e42fdc910592e3b0a55500914420eb6668c4e8 Mon Sep 17 00:00:00 2001 From: Komal-Saraf0609 Date: Tue, 10 Aug 2021 18:53:20 +0530 Subject: [PATCH 0328/1383] test: Added test cases for folder navigation and checking if the nested folder contains the added file --- cypress/integration/folder_navigation.js | 79 ++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 cypress/integration/folder_navigation.js diff --git a/cypress/integration/folder_navigation.js b/cypress/integration/folder_navigation.js new file mode 100644 index 0000000000..4a389101b5 --- /dev/null +++ b/cypress/integration/folder_navigation.js @@ -0,0 +1,79 @@ +context('Folder Navigation', () => { + before(() => { + cy.visit('/login'); + cy.login(); + cy.visit('/app/file'); + }); + + it('Adding Folders', () => { + //Adding filter to go into the home folder + cy.get('.filter-selector > .btn').click(); + cy.get('.filter-action-buttons > div > .btn-secondary').contains('Clear Filters').click(); + cy.get('.filter-action-buttons > .text-muted').click(); + cy.get('.fieldname-select-area > .awesomplete > .form-control').type('Fol{enter}'); + cy.get('.filter-field > .form-group > .link-field > .awesomplete > .input-with-feedback').type('Home{enter}'); + cy.get('.filter-action-buttons > div > .btn-primary').click(); + + //Adding folder (Test Folder) + cy.get('.menu-btn-group > .btn').click(); + cy.get('.menu-btn-group > .dropdown-menu > .user-action > .grey-link').eq(2).click(); + cy.get('form > .frappe-control > .form-group > .control-input-wrapper > .control-input > .input-with-feedback').type('Test Folder'); + cy.get('.modal-footer > .standard-actions > .btn-primary').click(); + }); + + it('Navigating the nested folders, checking if the URL formed is correct, checking if the added content in the child folder is correct', () => { + //Navigating inside the Attachments folder + cy.get('[title="Attachments"] > span').click(); + + //To check if the URL formed after visiting the attachments folder is correct + cy.location('pathname').should('eq', '/app/file/view/home/Attachments'); + cy.visit('/app/file/view/home/Attachments'); + + //Adding folder inside the attachments folder + cy.get('.menu-btn-group > .btn').click(); + cy.get('.menu-btn-group > .dropdown-menu > .user-action > .grey-link').eq(2).click(); + cy.get('form > .frappe-control > .form-group > .control-input-wrapper > .control-input > .input-with-feedback').type('Test Folder'); + cy.get('.modal-footer > .standard-actions > .btn-primary').click(); + + //Navigating inside the added folder in the Attachments folder + cy.get('[title="Test Folder"] > span').click(); + + //To check if the URL is correct after visiting the Test Folder + cy.location('pathname').should('eq', '/app/file/view/home/Attachments/Test%20Folder'); + cy.visit('/app/file/view/home/Attachments/Test%20Folder'); + + //Adding a file inside the Test Folder + cy.get('.primary-action').contains('Add File').eq(0).click({force : true}); + cy.get('.mt-2 > .btn > .mt-1').eq(2).click(); + cy.get('.input-group > .form-control').type('https://wallpaperplay.com/walls/full/8/2/b/72402.jpg'); + cy.get('.btn-primary').contains('Upload').click(); + + //To check if the added file is present in the Test Folder + cy.get('span.level-item > span').should('contain','Test Folder'); + cy.get('.list-row-container').eq(0).should('contain.text','72402.jpg'); + cy.get('.list-row-checkbox').eq(0).click(); + + //Deleting the added file from the Test folder + cy.get('.actions-btn-group > .btn').click(); + cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); + cy.wait(700); + cy.click_modal_primary_button('Yes', {force : true, delay: 700}); + cy.wait(700); + + //Deleting the Test Folder + cy.visit('/app/file/view/home/Attachments'); + cy.get('.list-row-checkbox').eq(0).click(); + cy.get('.actions-btn-group > .btn').click(); + cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); + cy.click_modal_primary_button('Yes'); + }); + + it('Deleting Test Folder from the home', () => { + //Deleting the Test Folder added in the home directory + cy.visit('/app/file/view/home'); + cy.get('.list-row-container > .list-row > .level-left > .list-subject > .list-row-checkbox').eq(0).click({force : true, delay : 500}); + cy.get('.actions-btn-group > .btn').click(); + cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); + cy.click_modal_primary_button('Yes', {force : true}); + }); +}); \ No newline at end of file From a881e85cb36e634bb3af0301736d87273089eb2c Mon Sep 17 00:00:00 2001 From: Komal-Saraf0609 Date: Tue, 10 Aug 2021 19:10:27 +0530 Subject: [PATCH 0329/1383] test: Fixed sider issues --- cypress/integration/folder_navigation.js | 122 +++++++++++------------ 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/cypress/integration/folder_navigation.js b/cypress/integration/folder_navigation.js index 4a389101b5..d4fe569828 100644 --- a/cypress/integration/folder_navigation.js +++ b/cypress/integration/folder_navigation.js @@ -5,75 +5,75 @@ context('Folder Navigation', () => { cy.visit('/app/file'); }); - it('Adding Folders', () => { - //Adding filter to go into the home folder - cy.get('.filter-selector > .btn').click(); - cy.get('.filter-action-buttons > div > .btn-secondary').contains('Clear Filters').click(); - cy.get('.filter-action-buttons > .text-muted').click(); - cy.get('.fieldname-select-area > .awesomplete > .form-control').type('Fol{enter}'); - cy.get('.filter-field > .form-group > .link-field > .awesomplete > .input-with-feedback').type('Home{enter}'); - cy.get('.filter-action-buttons > div > .btn-primary').click(); - - //Adding folder (Test Folder) - cy.get('.menu-btn-group > .btn').click(); - cy.get('.menu-btn-group > .dropdown-menu > .user-action > .grey-link').eq(2).click(); - cy.get('form > .frappe-control > .form-group > .control-input-wrapper > .control-input > .input-with-feedback').type('Test Folder'); - cy.get('.modal-footer > .standard-actions > .btn-primary').click(); - }); + it('Adding Folders', () => { + //Adding filter to go into the home folder + cy.get('.filter-selector > .btn').click(); + cy.get('.filter-action-buttons > div > .btn-secondary').contains('Clear Filters').click(); + cy.get('.filter-action-buttons > .text-muted').click(); + cy.get('.fieldname-select-area > .awesomplete > .form-control').type('Fol{enter}'); + cy.get('.filter-field > .form-group > .link-field > .awesomplete > .input-with-feedback').type('Home{enter}'); + cy.get('.filter-action-buttons > div > .btn-primary').click(); - it('Navigating the nested folders, checking if the URL formed is correct, checking if the added content in the child folder is correct', () => { - //Navigating inside the Attachments folder - cy.get('[title="Attachments"] > span').click(); + //Adding folder (Test Folder) + cy.get('.menu-btn-group > .btn').click(); + cy.get('.menu-btn-group > .dropdown-menu > .user-action > .grey-link').eq(2).click(); + cy.get('form > .frappe-control > .form-group > .control-input-wrapper > .control-input > .input-with-feedback').type('Test Folder'); + cy.get('.modal-footer > .standard-actions > .btn-primary').click(); + }); - //To check if the URL formed after visiting the attachments folder is correct - cy.location('pathname').should('eq', '/app/file/view/home/Attachments'); - cy.visit('/app/file/view/home/Attachments'); + it('Navigating the nested folders, checking if the URL formed is correct, checking if the added content in the child folder is correct', () => { + //Navigating inside the Attachments folder + cy.get('[title="Attachments"] > span').click(); - //Adding folder inside the attachments folder - cy.get('.menu-btn-group > .btn').click(); - cy.get('.menu-btn-group > .dropdown-menu > .user-action > .grey-link').eq(2).click(); - cy.get('form > .frappe-control > .form-group > .control-input-wrapper > .control-input > .input-with-feedback').type('Test Folder'); - cy.get('.modal-footer > .standard-actions > .btn-primary').click(); + //To check if the URL formed after visiting the attachments folder is correct + cy.location('pathname').should('eq', '/app/file/view/home/Attachments'); + cy.visit('/app/file/view/home/Attachments'); - //Navigating inside the added folder in the Attachments folder - cy.get('[title="Test Folder"] > span').click(); + //Adding folder inside the attachments folder + cy.get('.menu-btn-group > .btn').click(); + cy.get('.menu-btn-group > .dropdown-menu > .user-action > .grey-link').eq(2).click(); + cy.get('form > .frappe-control > .form-group > .control-input-wrapper > .control-input > .input-with-feedback').type('Test Folder'); + cy.get('.modal-footer > .standard-actions > .btn-primary').click(); - //To check if the URL is correct after visiting the Test Folder - cy.location('pathname').should('eq', '/app/file/view/home/Attachments/Test%20Folder'); - cy.visit('/app/file/view/home/Attachments/Test%20Folder'); + //Navigating inside the added folder in the Attachments folder + cy.get('[title="Test Folder"] > span').click(); - //Adding a file inside the Test Folder - cy.get('.primary-action').contains('Add File').eq(0).click({force : true}); - cy.get('.mt-2 > .btn > .mt-1').eq(2).click(); - cy.get('.input-group > .form-control').type('https://wallpaperplay.com/walls/full/8/2/b/72402.jpg'); - cy.get('.btn-primary').contains('Upload').click(); + //To check if the URL is correct after visiting the Test Folder + cy.location('pathname').should('eq', '/app/file/view/home/Attachments/Test%20Folder'); + cy.visit('/app/file/view/home/Attachments/Test%20Folder'); - //To check if the added file is present in the Test Folder - cy.get('span.level-item > span').should('contain','Test Folder'); - cy.get('.list-row-container').eq(0).should('contain.text','72402.jpg'); - cy.get('.list-row-checkbox').eq(0).click(); + //Adding a file inside the Test Folder + cy.get('.primary-action').contains('Add File').eq(0).click({force: true}); + cy.get('.mt-2 > .btn > .mt-1').eq(2).click(); + cy.get('.input-group > .form-control').type('https://wallpaperplay.com/walls/full/8/2/b/72402.jpg'); + cy.get('.btn-primary').contains('Upload').click(); - //Deleting the added file from the Test folder - cy.get('.actions-btn-group > .btn').click(); - cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); - cy.wait(700); - cy.click_modal_primary_button('Yes', {force : true, delay: 700}); - cy.wait(700); + //To check if the added file is present in the Test Folder + cy.get('span.level-item > span').should('contain', 'Test Folder'); + cy.get('.list-row-container').eq(0).should('contain.text', '72402.jpg'); + cy.get('.list-row-checkbox').eq(0).click(); - //Deleting the Test Folder - cy.visit('/app/file/view/home/Attachments'); - cy.get('.list-row-checkbox').eq(0).click(); - cy.get('.actions-btn-group > .btn').click(); - cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); - cy.click_modal_primary_button('Yes'); - }); + //Deleting the added file from the Test folder + cy.get('.actions-btn-group > .btn').click(); + cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); + cy.wait(700); + cy.click_modal_primary_button('Yes', {force: true, delay: 700}); + cy.wait(700); - it('Deleting Test Folder from the home', () => { - //Deleting the Test Folder added in the home directory - cy.visit('/app/file/view/home'); - cy.get('.list-row-container > .list-row > .level-left > .list-subject > .list-row-checkbox').eq(0).click({force : true, delay : 500}); - cy.get('.actions-btn-group > .btn').click(); - cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); - cy.click_modal_primary_button('Yes', {force : true}); - }); + //Deleting the Test Folder + cy.visit('/app/file/view/home/Attachments'); + cy.get('.list-row-checkbox').eq(0).click(); + cy.get('.actions-btn-group > .btn').click(); + cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); + cy.click_modal_primary_button('Yes'); + }); + + it('Deleting Test Folder from the home', () => { + //Deleting the Test Folder added in the home directory + cy.visit('/app/file/view/home'); + cy.get('.list-row-container > .list-row > .level-left > .list-subject > .list-row-checkbox').eq(0).click({force: true, delay: 500}); + cy.get('.actions-btn-group > .btn').click(); + cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); + cy.click_modal_primary_button('Yes', {force: true}); + }); }); \ No newline at end of file From 9fce3c60943ea003f719ca5a809b399cb13efb96 Mon Sep 17 00:00:00 2001 From: Komal-Saraf0609 Date: Thu, 8 Jul 2021 18:57:34 +0530 Subject: [PATCH 0330/1383] test: Added test cases for Email testing --- cypress/integration/email_testing.js | 44 ++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 cypress/integration/email_testing.js diff --git a/cypress/integration/email_testing.js b/cypress/integration/email_testing.js new file mode 100644 index 0000000000..15cc895600 --- /dev/null +++ b/cypress/integration/email_testing.js @@ -0,0 +1,44 @@ +context('Email Feature Test', () => { + before(() => { + cy.visit('/login'); + cy.login(); + cy.visit('/app/todo'); + }); + + it('Saving and Deleting Email Template', () => { + cy.get('.level-item.ellipsis > .ellipsis').click(); + cy.get('.timeline-actions > .btn').click(); + cy.fill_field('recipients','test@example.com','MultiSelect'); + cy.get('.modal.show > .modal-dialog > .modal-content > .modal-body > :nth-child(1) > .form-layout > .form-page > :nth-child(3) > .section-body > .form-column > form > [data-fieldtype="Text Editor"] > .form-group > .control-input-wrapper > .control-input > .ql-container > .ql-editor').type('Test Mail'); + + cy.get('.add-more-attachments > .btn').click(); + cy.get('.mt-2 > .btn > .mt-1').eq(2).click(); + cy.get('.input-group > .form-control').type('https://wallpaperplay.com/walls/full/8/2/b/72402.jpg'); + cy.get('.btn-primary').contains('Upload').click(); + cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Send').click({delay:500}); + cy.get('[data-doctype="Communication"] > .timeline-content').should('contain','Test Mail'); + cy.get('.timeline-content').should('contain','Added 72402.jpg'); + cy.get('[title="Open Communication"] > .icon').click(); + cy.get('#page-Communication > .page-head > .container > .row > .col > .standard-actions > .menu-btn-group > .btn').click(); + cy.get('#page-Communication > .page-head > .container > .row > .col > .standard-actions > .menu-btn-group > .dropdown-menu > :nth-child(11) > .grey-link').click(); + cy.get('.modal.show > .modal-dialog > .modal-content > .modal-footer > .standard-actions > .btn-primary').click(); + cy.visit('/app/todo'); + cy.get('.level-item.ellipsis > .ellipsis').click(); + cy.get('.attachment-row > .data-pill > .remove-btn > .icon').click(); + cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Yes').click(); + cy.get('.timeline-content').should('contain','Removed 72402.jpg'); + }); + + it('Discarding Email Template', () => { + cy.visit('/app/todo'); + cy.get('.level-item.ellipsis > .ellipsis').click(); + cy.get('.timeline-actions > .btn').click(); + cy.fill_field('recipients','test@example.com','MultiSelect'); + cy.get('.modal-footer > .standard-actions > .btn-secondary').contains('Discard').click(); + cy.get('.timeline-actions > .btn').click(); + cy.get_field('recipients','MultiSelect').should('have.value',''); + cy.get('.modal.show > .modal-dialog > .modal-content > .modal-header > .modal-actions > .btn-modal-close > .icon').click(); + }); + + +}); From f047a5517daea95a1408061fe9d47786aec94d74 Mon Sep 17 00:00:00 2001 From: Komal-Saraf0609 Date: Thu, 19 Aug 2021 20:24:03 +0530 Subject: [PATCH 0331/1383] test: corrected the selectors and shorten them (using the newly added API's) --- cypress/integration/folder_navigation.js | 134 +++++++++++------------ 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/cypress/integration/folder_navigation.js b/cypress/integration/folder_navigation.js index d4fe569828..1ff38005ad 100644 --- a/cypress/integration/folder_navigation.js +++ b/cypress/integration/folder_navigation.js @@ -1,79 +1,79 @@ context('Folder Navigation', () => { - before(() => { - cy.visit('/login'); - cy.login(); - cy.visit('/app/file'); - }); - - it('Adding Folders', () => { - //Adding filter to go into the home folder - cy.get('.filter-selector > .btn').click(); - cy.get('.filter-action-buttons > div > .btn-secondary').contains('Clear Filters').click(); - cy.get('.filter-action-buttons > .text-muted').click(); - cy.get('.fieldname-select-area > .awesomplete > .form-control').type('Fol{enter}'); - cy.get('.filter-field > .form-group > .link-field > .awesomplete > .input-with-feedback').type('Home{enter}'); - cy.get('.filter-action-buttons > div > .btn-primary').click(); + before(() => { + cy.visit('/login'); + cy.login(); + cy.visit('/app/file'); + }); - //Adding folder (Test Folder) - cy.get('.menu-btn-group > .btn').click(); - cy.get('.menu-btn-group > .dropdown-menu > .user-action > .grey-link').eq(2).click(); - cy.get('form > .frappe-control > .form-group > .control-input-wrapper > .control-input > .input-with-feedback').type('Test Folder'); - cy.get('.modal-footer > .standard-actions > .btn-primary').click(); - }); + it('Adding Folders', () => { + //Adding filter to go into the home folder + cy.get('.filter-selector > .btn').click(); + cy.findByRole('button', {name: 'Clear Filters'}).click(); + cy.get('.filter-action-buttons > .text-muted').click(); + cy.get('.fieldname-select-area > .awesomplete > .form-control').type('Fol{enter}'); + cy.get('.filter-field > .form-group > .link-field > .awesomplete > .input-with-feedback').type('Home{enter}'); + cy.get('.filter-action-buttons > div > .btn-primary').click(); - it('Navigating the nested folders, checking if the URL formed is correct, checking if the added content in the child folder is correct', () => { - //Navigating inside the Attachments folder - cy.get('[title="Attachments"] > span').click(); + //Adding folder (Test Folder) + cy.get('.menu-btn-group > .btn').click(); + cy.get('.menu-btn-group [data-label="New Folder"]').click(); + cy.get('form > [data-fieldname="value"]').type('Test Folder'); + cy.findByRole('button', {name: 'Create'}).click(); + }); - //To check if the URL formed after visiting the attachments folder is correct - cy.location('pathname').should('eq', '/app/file/view/home/Attachments'); - cy.visit('/app/file/view/home/Attachments'); + it('Navigating the nested folders, checking if the URL formed is correct, checking if the added content in the child folder is correct', () => { + //Navigating inside the Attachments folder + cy.get('[title="Attachments"] > span').click(); - //Adding folder inside the attachments folder - cy.get('.menu-btn-group > .btn').click(); - cy.get('.menu-btn-group > .dropdown-menu > .user-action > .grey-link').eq(2).click(); - cy.get('form > .frappe-control > .form-group > .control-input-wrapper > .control-input > .input-with-feedback').type('Test Folder'); - cy.get('.modal-footer > .standard-actions > .btn-primary').click(); + //To check if the URL formed after visiting the attachments folder is correct + cy.location('pathname').should('eq', '/app/file/view/home/Attachments'); + cy.visit('/app/file/view/home/Attachments'); - //Navigating inside the added folder in the Attachments folder - cy.get('[title="Test Folder"] > span').click(); + //Adding folder inside the attachments folder + cy.get('.menu-btn-group > .btn').click(); + cy.get('.menu-btn-group [data-label="New Folder"]').click(); + cy.get('form > [data-fieldname="value"]').type('Test Folder'); + cy.findByRole('button', {name: 'Create'}).click(); - //To check if the URL is correct after visiting the Test Folder - cy.location('pathname').should('eq', '/app/file/view/home/Attachments/Test%20Folder'); - cy.visit('/app/file/view/home/Attachments/Test%20Folder'); + //Navigating inside the added folder in the Attachments folder + cy.get('[title="Test Folder"] > span').click(); - //Adding a file inside the Test Folder - cy.get('.primary-action').contains('Add File').eq(0).click({force: true}); - cy.get('.mt-2 > .btn > .mt-1').eq(2).click(); - cy.get('.input-group > .form-control').type('https://wallpaperplay.com/walls/full/8/2/b/72402.jpg'); - cy.get('.btn-primary').contains('Upload').click(); + //To check if the URL is correct after visiting the Test Folder + cy.location('pathname').should('eq', '/app/file/view/home/Attachments/Test%20Folder'); + cy.visit('/app/file/view/home/Attachments/Test%20Folder'); - //To check if the added file is present in the Test Folder - cy.get('span.level-item > span').should('contain', 'Test Folder'); - cy.get('.list-row-container').eq(0).should('contain.text', '72402.jpg'); - cy.get('.list-row-checkbox').eq(0).click(); + //Adding a file inside the Test Folder + cy.findByRole('button', {name: 'Add File'}).eq(0).click({force: true}); + cy.get('.mt-2 > .btn > .mt-1').eq(2).click(); + cy.get('.input-group > .form-control').type('https://wallpaperplay.com/walls/full/8/2/b/72402.jpg'); + cy.findByRole('button', {name: 'Upload'}).click(); - //Deleting the added file from the Test folder - cy.get('.actions-btn-group > .btn').click(); - cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); - cy.wait(700); - cy.click_modal_primary_button('Yes', {force: true, delay: 700}); - cy.wait(700); + //To check if the added file is present in the Test Folder + cy.get('span.level-item > span').should('contain', 'Test Folder'); + cy.get('.list-row-container').eq(0).should('contain.text', '72402.jpg'); + cy.get('.list-row-checkbox').eq(0).click(); - //Deleting the Test Folder - cy.visit('/app/file/view/home/Attachments'); - cy.get('.list-row-checkbox').eq(0).click(); - cy.get('.actions-btn-group > .btn').click(); - cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); - cy.click_modal_primary_button('Yes'); - }); + //Deleting the added file from the Test folder + cy.findByRole('button', {name: 'Actions'}).click(); + cy.get('.actions-btn-group [data-label="Delete"]').click(); + cy.wait(700); + cy.findByRole('button', {name: 'Yes'}).click(); + cy.wait(700); - it('Deleting Test Folder from the home', () => { - //Deleting the Test Folder added in the home directory - cy.visit('/app/file/view/home'); - cy.get('.list-row-container > .list-row > .level-left > .list-subject > .list-row-checkbox').eq(0).click({force: true, delay: 500}); - cy.get('.actions-btn-group > .btn').click(); - cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); - cy.click_modal_primary_button('Yes', {force: true}); - }); -}); \ No newline at end of file + //Deleting the Test Folder + cy.visit('/app/file/view/home/Attachments'); + cy.get('.list-row-checkbox').eq(0).click(); + cy.findByRole('button', {name: 'Actions'}).click(); + cy.get('.actions-btn-group [data-label="Delete"]').click(); + cy.findByRole('button', {name: 'Yes'}).click(); + }); + + it('Deleting Test Folder from the home', () => { + //Deleting the Test Folder added in the home directory + cy.visit('/app/file/view/home'); + cy.get('.level-left > .list-subject > .list-row-checkbox').eq(0).click({force: true, delay: 500}); + cy.findByRole('button', {name: 'Actions'}).click(); + cy.get('.actions-btn-group [data-label="Delete"]').click(); + cy.findByRole('button', {name: 'Yes'}).click(); + }); +}); From 380e9e7c080a616a34090992e910632a4daa0ff6 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 19 Aug 2021 20:30:13 +0530 Subject: [PATCH 0332/1383] fix(test): Add missing comma --- frappe/tests/test_frappe_client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/tests/test_frappe_client.py b/frappe/tests/test_frappe_client.py index 556828f843..d192952e92 100644 --- a/frappe/tests/test_frappe_client.py +++ b/frappe/tests/test_frappe_client.py @@ -82,7 +82,7 @@ class TestFrappeClient(unittest.TestCase): def test_update_doc(self): server = FrappeClient(get_url(), "Administrator", "admin", verify=False) - frappe.db.delete("Note", {"title": ("in" ("Sing", "sing"))}) + frappe.db.delete("Note", {"title": ("in", ("Sing", "sing"))}) frappe.db.commit() server.insert({"doctype":"Note", "public": True, "title": "Sing"}) From 8a6b8a5348d48444d8acc278bcfe83c844dbf246 Mon Sep 17 00:00:00 2001 From: Komal-Saraf0609 Date: Thu, 19 Aug 2021 20:41:31 +0530 Subject: [PATCH 0333/1383] test: corrected selectors and shorten them (using the newly added API's) --- cypress/integration/folder_navigation.js | 81 ------------------------ 1 file changed, 81 deletions(-) diff --git a/cypress/integration/folder_navigation.js b/cypress/integration/folder_navigation.js index 987bddce7c..1ff38005ad 100644 --- a/cypress/integration/folder_navigation.js +++ b/cypress/integration/folder_navigation.js @@ -1,5 +1,4 @@ context('Folder Navigation', () => { -<<<<<<< HEAD before(() => { cy.visit('/login'); cy.login(); @@ -78,83 +77,3 @@ context('Folder Navigation', () => { cy.findByRole('button', {name: 'Yes'}).click(); }); }); -======= - before(() => { - cy.visit('/login'); - cy.login(); - cy.visit('/app/file'); - }); - - it('Adding Folders', () => { - //Adding filter to go into the home folder - cy.get('.filter-selector > .btn').click(); - cy.get('.filter-action-buttons > div > .btn-secondary').contains('Clear Filters').click(); - cy.get('.filter-action-buttons > .text-muted').click(); - cy.get('.fieldname-select-area > .awesomplete > .form-control').type('Fol{enter}'); - cy.get('.filter-field > .form-group > .link-field > .awesomplete > .input-with-feedback').type('Home{enter}'); - cy.get('.filter-action-buttons > div > .btn-primary').click(); - - //Adding folder (Test Folder) - cy.get('.menu-btn-group > .btn').click(); - cy.get('.menu-btn-group > .dropdown-menu > .user-action > .grey-link').eq(2).click(); - cy.get('form > .frappe-control > .form-group > .control-input-wrapper > .control-input > .input-with-feedback').type('Test Folder'); - cy.get('.modal-footer > .standard-actions > .btn-primary').click(); - }); - - it('Navigating the nested folders, checking if the URL formed is correct, checking if the added content in the child folder is correct', () => { - //Navigating inside the Attachments folder - cy.get('[title="Attachments"] > span').click(); - - //To check if the URL formed after visiting the attachments folder is correct - cy.location('pathname').should('eq', '/app/file/view/home/Attachments'); - cy.visit('/app/file/view/home/Attachments'); - - //Adding folder inside the attachments folder - cy.get('.menu-btn-group > .btn').click(); - cy.get('.menu-btn-group > .dropdown-menu > .user-action > .grey-link').eq(2).click(); - cy.get('form > .frappe-control > .form-group > .control-input-wrapper > .control-input > .input-with-feedback').type('Test Folder'); - cy.get('.modal-footer > .standard-actions > .btn-primary').click(); - - //Navigating inside the added folder in the Attachments folder - cy.get('[title="Test Folder"] > span').click(); - - //To check if the URL is correct after visiting the Test Folder - cy.location('pathname').should('eq', '/app/file/view/home/Attachments/Test%20Folder'); - cy.visit('/app/file/view/home/Attachments/Test%20Folder'); - - //Adding a file inside the Test Folder - cy.get('.primary-action').contains('Add File').eq(0).click({force: true}); - cy.get('.mt-2 > .btn > .mt-1').eq(2).click(); - cy.get('.input-group > .form-control').type('https://wallpaperplay.com/walls/full/8/2/b/72402.jpg'); - cy.get('.btn-primary').contains('Upload').click(); - - //To check if the added file is present in the Test Folder - cy.get('span.level-item > span').should('contain', 'Test Folder'); - cy.get('.list-row-container').eq(0).should('contain.text', '72402.jpg'); - cy.get('.list-row-checkbox').eq(0).click(); - - //Deleting the added file from the Test folder - cy.get('.actions-btn-group > .btn').click(); - cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); - cy.wait(700); - cy.click_modal_primary_button('Yes', {force: true, delay: 700}); - cy.wait(700); - - //Deleting the Test Folder - cy.visit('/app/file/view/home/Attachments'); - cy.get('.list-row-checkbox').eq(0).click(); - cy.get('.actions-btn-group > .btn').click(); - cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); - cy.click_modal_primary_button('Yes'); - }); - - it('Deleting Test Folder from the home', () => { - //Deleting the Test Folder added in the home directory - cy.visit('/app/file/view/home'); - cy.get('.list-row-container > .list-row > .level-left > .list-subject > .list-row-checkbox').eq(0).click({force: true, delay: 500}); - cy.get('.actions-btn-group > .btn').click(); - cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); - cy.click_modal_primary_button('Yes', {force: true}); - }); -}); ->>>>>>> 166574b1d065ac0c0461a671d7fe837a9d35b7ce From b8f28fd28b94bc97011b1761b96059978728a53f Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 19 Aug 2021 20:47:27 +0530 Subject: [PATCH 0334/1383] test(todo): Use doc.meta instead of doctype form --- frappe/desk/doctype/todo/test_todo.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/frappe/desk/doctype/todo/test_todo.py b/frappe/desk/doctype/todo/test_todo.py index 7e0fa115c9..f6371c5921 100644 --- a/frappe/desk/doctype/todo/test_todo.py +++ b/frappe/desk/doctype/todo/test_todo.py @@ -122,9 +122,8 @@ class TestToDo(unittest.TestCase): self.assertEqual(todo.assigned_by_full_name, 'Admin') # Overwrite user changes - todo_meta = frappe.get_doc('DocType', 'ToDo') - todo_meta.get('fields', dict(fieldname='assigned_by_full_name'))[0].fetch_if_empty = 0 - todo_meta.save() + todo.meta.get('fields', dict(fieldname='assigned_by_full_name'))[0].fetch_if_empty = 0 + todo.meta.save() todo.reload() todo.save() From 533b0147b28b069bd3d4ed4c41e4d20528b6a572 Mon Sep 17 00:00:00 2001 From: Komal-Saraf0609 Date: Thu, 19 Aug 2021 20:58:12 +0530 Subject: [PATCH 0335/1383] test: Fixed sider issues --- cypress/integration/folder_navigation.js | 130 +++++++++++------------ 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/cypress/integration/folder_navigation.js b/cypress/integration/folder_navigation.js index 1ff38005ad..09df8d2d20 100644 --- a/cypress/integration/folder_navigation.js +++ b/cypress/integration/folder_navigation.js @@ -1,79 +1,79 @@ context('Folder Navigation', () => { - before(() => { - cy.visit('/login'); - cy.login(); - cy.visit('/app/file'); - }); + before(() => { + cy.visit('/login'); + cy.login(); + cy.visit('/app/file'); + }); - it('Adding Folders', () => { - //Adding filter to go into the home folder - cy.get('.filter-selector > .btn').click(); - cy.findByRole('button', {name: 'Clear Filters'}).click(); - cy.get('.filter-action-buttons > .text-muted').click(); - cy.get('.fieldname-select-area > .awesomplete > .form-control').type('Fol{enter}'); - cy.get('.filter-field > .form-group > .link-field > .awesomplete > .input-with-feedback').type('Home{enter}'); - cy.get('.filter-action-buttons > div > .btn-primary').click(); + it('Adding Folders', () => { + //Adding filter to go into the home folder + cy.get('.filter-selector > .btn').click(); + cy.findByRole('button', {name: 'Clear Filters'}).click(); + cy.get('.filter-action-buttons > .text-muted').click(); + cy.get('.fieldname-select-area > .awesomplete > .form-control').type('Fol{enter}'); + cy.get('.filter-field > .form-group > .link-field > .awesomplete > .input-with-feedback').type('Home{enter}'); + cy.get('.filter-action-buttons > div > .btn-primary').click(); - //Adding folder (Test Folder) - cy.get('.menu-btn-group > .btn').click(); - cy.get('.menu-btn-group [data-label="New Folder"]').click(); - cy.get('form > [data-fieldname="value"]').type('Test Folder'); - cy.findByRole('button', {name: 'Create'}).click(); - }); + //Adding folder (Test Folder) + cy.get('.menu-btn-group > .btn').click(); + cy.get('.menu-btn-group [data-label="New Folder"]').click(); + cy.get('form > [data-fieldname="value"]').type('Test Folder'); + cy.findByRole('button', {name: 'Create'}).click(); + }); - it('Navigating the nested folders, checking if the URL formed is correct, checking if the added content in the child folder is correct', () => { - //Navigating inside the Attachments folder - cy.get('[title="Attachments"] > span').click(); + it('Navigating the nested folders, checking if the URL formed is correct, checking if the added content in the child folder is correct', () => { + //Navigating inside the Attachments folder + cy.get('[title="Attachments"] > span').click(); - //To check if the URL formed after visiting the attachments folder is correct - cy.location('pathname').should('eq', '/app/file/view/home/Attachments'); - cy.visit('/app/file/view/home/Attachments'); + //To check if the URL formed after visiting the attachments folder is correct + cy.location('pathname').should('eq', '/app/file/view/home/Attachments'); + cy.visit('/app/file/view/home/Attachments'); - //Adding folder inside the attachments folder - cy.get('.menu-btn-group > .btn').click(); - cy.get('.menu-btn-group [data-label="New Folder"]').click(); - cy.get('form > [data-fieldname="value"]').type('Test Folder'); - cy.findByRole('button', {name: 'Create'}).click(); + //Adding folder inside the attachments folder + cy.get('.menu-btn-group > .btn').click(); + cy.get('.menu-btn-group [data-label="New Folder"]').click(); + cy.get('form > [data-fieldname="value"]').type('Test Folder'); + cy.findByRole('button', {name: 'Create'}).click(); - //Navigating inside the added folder in the Attachments folder - cy.get('[title="Test Folder"] > span').click(); + //Navigating inside the added folder in the Attachments folder + cy.get('[title="Test Folder"] > span').click(); - //To check if the URL is correct after visiting the Test Folder - cy.location('pathname').should('eq', '/app/file/view/home/Attachments/Test%20Folder'); - cy.visit('/app/file/view/home/Attachments/Test%20Folder'); + //To check if the URL is correct after visiting the Test Folder + cy.location('pathname').should('eq', '/app/file/view/home/Attachments/Test%20Folder'); + cy.visit('/app/file/view/home/Attachments/Test%20Folder'); - //Adding a file inside the Test Folder - cy.findByRole('button', {name: 'Add File'}).eq(0).click({force: true}); - cy.get('.mt-2 > .btn > .mt-1').eq(2).click(); - cy.get('.input-group > .form-control').type('https://wallpaperplay.com/walls/full/8/2/b/72402.jpg'); - cy.findByRole('button', {name: 'Upload'}).click(); + //Adding a file inside the Test Folder + cy.findByRole('button', {name: 'Add File'}).eq(0).click({force: true}); + cy.get('.mt-2 > .btn > .mt-1').eq(2).click(); + cy.get('.input-group > .form-control').type('https://wallpaperplay.com/walls/full/8/2/b/72402.jpg'); + cy.findByRole('button', {name: 'Upload'}).click(); - //To check if the added file is present in the Test Folder - cy.get('span.level-item > span').should('contain', 'Test Folder'); - cy.get('.list-row-container').eq(0).should('contain.text', '72402.jpg'); - cy.get('.list-row-checkbox').eq(0).click(); + //To check if the added file is present in the Test Folder + cy.get('span.level-item > span').should('contain', 'Test Folder'); + cy.get('.list-row-container').eq(0).should('contain.text', '72402.jpg'); + cy.get('.list-row-checkbox').eq(0).click(); - //Deleting the added file from the Test folder - cy.findByRole('button', {name: 'Actions'}).click(); - cy.get('.actions-btn-group [data-label="Delete"]').click(); - cy.wait(700); - cy.findByRole('button', {name: 'Yes'}).click(); - cy.wait(700); + //Deleting the added file from the Test folder + cy.findByRole('button', {name: 'Actions'}).click(); + cy.get('.actions-btn-group [data-label="Delete"]').click(); + cy.wait(700); + cy.findByRole('button', {name: 'Yes'}).click(); + cy.wait(700); - //Deleting the Test Folder - cy.visit('/app/file/view/home/Attachments'); - cy.get('.list-row-checkbox').eq(0).click(); - cy.findByRole('button', {name: 'Actions'}).click(); - cy.get('.actions-btn-group [data-label="Delete"]').click(); - cy.findByRole('button', {name: 'Yes'}).click(); - }); + //Deleting the Test Folder + cy.visit('/app/file/view/home/Attachments'); + cy.get('.list-row-checkbox').eq(0).click(); + cy.findByRole('button', {name: 'Actions'}).click(); + cy.get('.actions-btn-group [data-label="Delete"]').click(); + cy.findByRole('button', {name: 'Yes'}).click(); + }); - it('Deleting Test Folder from the home', () => { - //Deleting the Test Folder added in the home directory - cy.visit('/app/file/view/home'); - cy.get('.level-left > .list-subject > .list-row-checkbox').eq(0).click({force: true, delay: 500}); - cy.findByRole('button', {name: 'Actions'}).click(); - cy.get('.actions-btn-group [data-label="Delete"]').click(); - cy.findByRole('button', {name: 'Yes'}).click(); - }); + it('Deleting Test Folder from the home', () => { + //Deleting the Test Folder added in the home directory + cy.visit('/app/file/view/home'); + cy.get('.level-left > .list-subject > .list-row-checkbox').eq(0).click({force: true, delay: 500}); + cy.findByRole('button', {name: 'Actions'}).click(); + cy.get('.actions-btn-group [data-label="Delete"]').click(); + cy.findByRole('button', {name: 'Yes'}).click(); + }); }); From a8846d52df900ae71539cc0b06f83ec0aad96833 Mon Sep 17 00:00:00 2001 From: Komal-Saraf0609 Date: Thu, 19 Aug 2021 21:04:02 +0530 Subject: [PATCH 0336/1383] test: Fixed sider issues --- cypress/integration/email_testing.js | 66 ++++++++++++++-------------- 1 file changed, 32 insertions(+), 34 deletions(-) diff --git a/cypress/integration/email_testing.js b/cypress/integration/email_testing.js index 15cc895600..cdc7a90af5 100644 --- a/cypress/integration/email_testing.js +++ b/cypress/integration/email_testing.js @@ -5,40 +5,38 @@ context('Email Feature Test', () => { cy.visit('/app/todo'); }); - it('Saving and Deleting Email Template', () => { - cy.get('.level-item.ellipsis > .ellipsis').click(); - cy.get('.timeline-actions > .btn').click(); - cy.fill_field('recipients','test@example.com','MultiSelect'); - cy.get('.modal.show > .modal-dialog > .modal-content > .modal-body > :nth-child(1) > .form-layout > .form-page > :nth-child(3) > .section-body > .form-column > form > [data-fieldtype="Text Editor"] > .form-group > .control-input-wrapper > .control-input > .ql-container > .ql-editor').type('Test Mail'); - - cy.get('.add-more-attachments > .btn').click(); - cy.get('.mt-2 > .btn > .mt-1').eq(2).click(); - cy.get('.input-group > .form-control').type('https://wallpaperplay.com/walls/full/8/2/b/72402.jpg'); - cy.get('.btn-primary').contains('Upload').click(); - cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Send').click({delay:500}); - cy.get('[data-doctype="Communication"] > .timeline-content').should('contain','Test Mail'); - cy.get('.timeline-content').should('contain','Added 72402.jpg'); - cy.get('[title="Open Communication"] > .icon').click(); - cy.get('#page-Communication > .page-head > .container > .row > .col > .standard-actions > .menu-btn-group > .btn').click(); - cy.get('#page-Communication > .page-head > .container > .row > .col > .standard-actions > .menu-btn-group > .dropdown-menu > :nth-child(11) > .grey-link').click(); - cy.get('.modal.show > .modal-dialog > .modal-content > .modal-footer > .standard-actions > .btn-primary').click(); - cy.visit('/app/todo'); - cy.get('.level-item.ellipsis > .ellipsis').click(); - cy.get('.attachment-row > .data-pill > .remove-btn > .icon').click(); - cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Yes').click(); - cy.get('.timeline-content').should('contain','Removed 72402.jpg'); - }); + it('Saving and Deleting Email Template', () => { + cy.get('.level-item.ellipsis > .ellipsis').click(); + cy.get('.timeline-actions > .btn').click(); + cy.fill_field('recipients','test@example.com','MultiSelect'); + cy.get('.modal.show > .modal-dialog > .modal-content > .modal-body > :nth-child(1) > .form-layout > .form-page > :nth-child(3) > .section-body > .form-column > form > [data-fieldtype="Text Editor"] > .form-group > .control-input-wrapper > .control-input > .ql-container > .ql-editor').type('Test Mail'); - it('Discarding Email Template', () => { - cy.visit('/app/todo'); - cy.get('.level-item.ellipsis > .ellipsis').click(); - cy.get('.timeline-actions > .btn').click(); - cy.fill_field('recipients','test@example.com','MultiSelect'); - cy.get('.modal-footer > .standard-actions > .btn-secondary').contains('Discard').click(); - cy.get('.timeline-actions > .btn').click(); - cy.get_field('recipients','MultiSelect').should('have.value',''); - cy.get('.modal.show > .modal-dialog > .modal-content > .modal-header > .modal-actions > .btn-modal-close > .icon').click(); - }); + cy.get('.add-more-attachments > .btn').click(); + cy.get('.mt-2 > .btn > .mt-1').eq(2).click(); + cy.get('.input-group > .form-control').type('https://wallpaperplay.com/walls/full/8/2/b/72402.jpg'); + cy.get('.btn-primary').contains('Upload').click(); + cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Send').click({delay:500}); + cy.get('[data-doctype="Communication"] > .timeline-content').should('contain','Test Mail'); + cy.get('.timeline-content').should('contain','Added 72402.jpg'); + cy.get('[title="Open Communication"] > .icon').click(); + cy.get('#page-Communication > .page-head > .container > .row > .col > .standard-actions > .menu-btn-group > .btn').click(); + cy.get('#page-Communication > .page-head > .container > .row > .col > .standard-actions > .menu-btn-group > .dropdown-menu > :nth-child(11) > .grey-link').click(); + cy.get('.modal.show > .modal-dialog > .modal-content > .modal-footer > .standard-actions > .btn-primary').click(); + cy.visit('/app/todo'); + cy.get('.level-item.ellipsis > .ellipsis').click(); + cy.get('.attachment-row > .data-pill > .remove-btn > .icon').click(); + cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Yes').click(); + cy.get('.timeline-content').should('contain','Removed 72402.jpg'); + }); - + it('Discarding Email Template', () => { + cy.visit('/app/todo'); + cy.get('.level-item.ellipsis > .ellipsis').click(); + cy.get('.timeline-actions > .btn').click(); + cy.fill_field('recipients','test@example.com','MultiSelect'); + cy.get('.modal-footer > .standard-actions > .btn-secondary').contains('Discard').click(); + cy.get('.timeline-actions > .btn').click(); + cy.get_field('recipients','MultiSelect').should('have.value',''); + cy.get('.modal.show > .modal-dialog > .modal-content > .modal-header > .modal-actions > .btn-modal-close > .icon').click(); + }); }); From f53622d21ecd69a1565354fd6b540f5d4b2db84c Mon Sep 17 00:00:00 2001 From: Komal-Saraf0609 Date: Thu, 19 Aug 2021 21:10:08 +0530 Subject: [PATCH 0337/1383] test: Deleted the file email_testing.js --- cypress/integration/email_testing.js | 42 ---------------------------- 1 file changed, 42 deletions(-) delete mode 100644 cypress/integration/email_testing.js diff --git a/cypress/integration/email_testing.js b/cypress/integration/email_testing.js deleted file mode 100644 index cdc7a90af5..0000000000 --- a/cypress/integration/email_testing.js +++ /dev/null @@ -1,42 +0,0 @@ -context('Email Feature Test', () => { - before(() => { - cy.visit('/login'); - cy.login(); - cy.visit('/app/todo'); - }); - - it('Saving and Deleting Email Template', () => { - cy.get('.level-item.ellipsis > .ellipsis').click(); - cy.get('.timeline-actions > .btn').click(); - cy.fill_field('recipients','test@example.com','MultiSelect'); - cy.get('.modal.show > .modal-dialog > .modal-content > .modal-body > :nth-child(1) > .form-layout > .form-page > :nth-child(3) > .section-body > .form-column > form > [data-fieldtype="Text Editor"] > .form-group > .control-input-wrapper > .control-input > .ql-container > .ql-editor').type('Test Mail'); - - cy.get('.add-more-attachments > .btn').click(); - cy.get('.mt-2 > .btn > .mt-1').eq(2).click(); - cy.get('.input-group > .form-control').type('https://wallpaperplay.com/walls/full/8/2/b/72402.jpg'); - cy.get('.btn-primary').contains('Upload').click(); - cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Send').click({delay:500}); - cy.get('[data-doctype="Communication"] > .timeline-content').should('contain','Test Mail'); - cy.get('.timeline-content').should('contain','Added 72402.jpg'); - cy.get('[title="Open Communication"] > .icon').click(); - cy.get('#page-Communication > .page-head > .container > .row > .col > .standard-actions > .menu-btn-group > .btn').click(); - cy.get('#page-Communication > .page-head > .container > .row > .col > .standard-actions > .menu-btn-group > .dropdown-menu > :nth-child(11) > .grey-link').click(); - cy.get('.modal.show > .modal-dialog > .modal-content > .modal-footer > .standard-actions > .btn-primary').click(); - cy.visit('/app/todo'); - cy.get('.level-item.ellipsis > .ellipsis').click(); - cy.get('.attachment-row > .data-pill > .remove-btn > .icon').click(); - cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Yes').click(); - cy.get('.timeline-content').should('contain','Removed 72402.jpg'); - }); - - it('Discarding Email Template', () => { - cy.visit('/app/todo'); - cy.get('.level-item.ellipsis > .ellipsis').click(); - cy.get('.timeline-actions > .btn').click(); - cy.fill_field('recipients','test@example.com','MultiSelect'); - cy.get('.modal-footer > .standard-actions > .btn-secondary').contains('Discard').click(); - cy.get('.timeline-actions > .btn').click(); - cy.get_field('recipients','MultiSelect').should('have.value',''); - cy.get('.modal.show > .modal-dialog > .modal-content > .modal-header > .modal-actions > .btn-modal-close > .icon').click(); - }); -}); From 36f698f0f8d7040966d31f12f4b9ca4f4c7976a7 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Thu, 19 Aug 2021 21:38:57 +0530 Subject: [PATCH 0338/1383] fix: Unzip functionality --- frappe/core/doctype/file/file.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/frappe/core/doctype/file/file.py b/frappe/core/doctype/file/file.py index 8d0eee8c69..a31119961d 100755 --- a/frappe/core/doctype/file/file.py +++ b/frappe/core/doctype/file/file.py @@ -319,12 +319,10 @@ class File(Document): def unzip(self): '''Unzip current file and replace it by its children''' - if not ".zip" in self.file_name: - frappe.msgprint(_("Not a zip file")) - return + if not ".zip" in self.file_url: + frappe.throw(_("{0} is not a zip file").format(self.file_name)) - zip_path = frappe.get_site_path(self.file_url.strip('/')) - base_url = os.path.dirname(self.file_url) + zip_path = self.get_full_path() files = [] with zipfile.ZipFile(zip_path) as z: @@ -837,7 +835,7 @@ def unzip_file(name): '''Unzip the given file and make file records for each of the extracted files''' file_obj = frappe.get_doc('File', name) files = file_obj.unzip() - return len(files) + return files @frappe.whitelist() def optimize_saved_image(doc_name): From 3acab8a7c7da04184ad5828a042250356cdfe8e3 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Thu, 19 Aug 2021 21:40:12 +0530 Subject: [PATCH 0339/1383] test: Add test cases for unzip functionality --- frappe/core/doctype/file/test_file.py | 23 +++++++++++++++++++++++ frappe/www/_test/assets/file.zip | Bin 0 -> 156164 bytes 2 files changed, 23 insertions(+) create mode 100644 frappe/www/_test/assets/file.zip diff --git a/frappe/core/doctype/file/test_file.py b/frappe/core/doctype/file/test_file.py index df0ba8c2ec..f17c52150a 100644 --- a/frappe/core/doctype/file/test_file.py +++ b/frappe/core/doctype/file/test_file.py @@ -418,6 +418,29 @@ class TestFile(unittest.TestCase): self.assertEqual(json.loads(frappe.message_log[0]), {"message": f"File '{frappe.utils.get_url('unknown.jpg')}' not found"}) self.assertEquals(test_file.thumbnail_url, None) + def test_file_unzip(self): + file_path = frappe.get_app_path('frappe', 'www/_test/assets/file.zip') + public_file_path = frappe.get_site_path('public', 'files') + try: + import shutil + shutil.copy(file_path, public_file_path) + except Exception as e: + print(e) + + test_file = frappe.get_doc({ + "doctype": "File", + "file_url": '/files/file.zip', + }).insert(ignore_permissions=True) + + self.assertListEqual([file.file_name for file in unzip_file(test_file.name)], + ['css_asset.css', 'image.jpg', 'js_asset.min.js']) + + test_file = frappe.get_doc({ + "doctype": "File", + "file_url": frappe.utils.get_url('/_test/assets/image.jpg'), + }).insert(ignore_permissions=True) + self.assertRaisesRegex(frappe.exceptions.ValidationError, 'not a zip file', test_file.unzip) + class TestAttachment(unittest.TestCase): test_doctype = 'Test For Attachment' diff --git a/frappe/www/_test/assets/file.zip b/frappe/www/_test/assets/file.zip new file mode 100644 index 0000000000000000000000000000000000000000..06d70919d4b19cc415ed795b8a897a7fb9fba08b GIT binary patch literal 156164 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 W80cK0`U`N0baj%n60`ricK-)q-D;2k literal 0 HcmV?d00001 From ed41602526db31d7e12b33d6a26fdd3161fd7ba6 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Thu, 19 Aug 2021 21:43:43 +0530 Subject: [PATCH 0340/1383] test: Add more assersions and minor refactor --- frappe/core/doctype/file/file.py | 7 ++++--- frappe/core/doctype/file/test_file.py | 13 +++++++++---- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/frappe/core/doctype/file/file.py b/frappe/core/doctype/file/file.py index a31119961d..06222872a6 100755 --- a/frappe/core/doctype/file/file.py +++ b/frappe/core/doctype/file/file.py @@ -257,7 +257,7 @@ class File(Document): with open(get_files_path(file_name, is_private=self.is_private), "rb") as f: self.content_hash = get_content_hash(f.read()) except IOError: - frappe.msgprint(_("File {0} does not exist").format(self.file_url)) + frappe.throw(_("File {0} does not exist").format(self.file_url)) raise def on_trash(self): @@ -559,7 +559,8 @@ def create_new_folder(file_name, folder): file.file_name = file_name file.is_folder = 1 file.folder = folder - file.insert() + file.insert(ignore_if_duplicate=True) + return file @frappe.whitelist() def move_file(file_list, new_parent, old_parent): @@ -610,7 +611,7 @@ def get_local_image(file_url): try: image = Image.open(file_path) except IOError: - frappe.msgprint(_("Unable to read file format for {0}").format(file_url), raise_exception=True) + frappe.throw(_("Unable to read file format for {0}").format(file_url)) content = None diff --git a/frappe/core/doctype/file/test_file.py b/frappe/core/doctype/file/test_file.py index f17c52150a..e054aed950 100644 --- a/frappe/core/doctype/file/test_file.py +++ b/frappe/core/doctype/file/test_file.py @@ -7,7 +7,7 @@ import frappe import os import unittest from frappe import _ -from frappe.core.doctype.file.file import move_file, get_files_in_folder +from frappe.core.doctype.file.file import get_attached_images, move_file, get_files_in_folder, unzip_file from frappe.utils import get_files_path # test_records = frappe.get_test_records('File') @@ -397,7 +397,6 @@ class TestFile(unittest.TestCase): "doctype": "File", "file_name": 'logo', "file_url": frappe.utils.get_url('/_test/assets/image.jpg'), - "docstatus": 0 }).insert(ignore_permissions=True) test_file.make_thumbnail() @@ -407,7 +406,7 @@ class TestFile(unittest.TestCase): test_file.db_set('thumbnail_url', None) test_file.reload() test_file.file_url = "/files/image_small.jpg" - test_file.make_thumbnail(suffix="xs") + test_file.make_thumbnail(suffix="xs", crop=True) self.assertEquals(test_file.thumbnail_url, '/files/image_small_xs.jpg') frappe.clear_messages() @@ -556,6 +555,7 @@ class TestFileUtils(unittest.TestCase): }).insert() self.assertTrue(frappe.db.exists("File", {"attached_to_name": todo.name})) self.assertIn('', todo.description) + self.assertListEqual(get_attached_images('ToDo', [todo.name])[todo.name], ['/files/pix.png']) # without filename in data URI todo = frappe.get_doc({ @@ -563,4 +563,9 @@ class TestFileUtils(unittest.TestCase): "description": 'Test ' }).insert() filename = frappe.db.exists("File", {"attached_to_name": todo.name}) - self.assertIn(f' Date: Thu, 19 Aug 2021 22:04:23 +0530 Subject: [PATCH 0341/1383] test: Fix typo --- frappe/core/doctype/file/test_file.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/frappe/core/doctype/file/test_file.py b/frappe/core/doctype/file/test_file.py index e054aed950..f9d06429ff 100644 --- a/frappe/core/doctype/file/test_file.py +++ b/frappe/core/doctype/file/test_file.py @@ -423,8 +423,8 @@ class TestFile(unittest.TestCase): try: import shutil shutil.copy(file_path, public_file_path) - except Exception as e: - print(e) + except Exception: + pass test_file = frappe.get_doc({ "doctype": "File", @@ -567,5 +567,11 @@ class TestFileUtils(unittest.TestCase): def test_create_new_folder(self): from frappe.core.doctype.file.file import create_new_folder - folder = create_new_folder('test_folder', 'home') + folder = create_new_folder('test_folder', 'Home') self.assertTrue(folder.is_folder) + +# def get_files_by_search_text(text): +# def optimize_saved_image(doc_name): +# def download_file(file_url): +# def remove_file_by_url(file_url, doctype=None, name=None): +# def on_doctype_update(): \ No newline at end of file From 228253289f8ee6e670c4868d97ce1bc25da818e6 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Fri, 20 Aug 2021 09:55:26 +0530 Subject: [PATCH 0342/1383] fix: Only select active numeric field after layout refresh --- frappe/public/js/frappe/form/layout.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/frappe/public/js/frappe/form/layout.js b/frappe/public/js/frappe/form/layout.js index 88e0463fa5..f171c4f32e 100644 --- a/frappe/public/js/frappe/form/layout.js +++ b/frappe/public/js/frappe/form/layout.js @@ -252,14 +252,18 @@ frappe.ui.form.Layout = class Layout { } if (document.activeElement) { - document.activeElement.focus(); - - if (document.activeElement.tagName == 'INPUT') { + if (document.activeElement.tagName == 'INPUT' && this.is_numeric_field_active()) { document.activeElement.select(); } } } + is_numeric_field_active() { + const control = $(document.activeElement).closest(".frappe-control") + const fieldtype = control.data().fieldtype; + return frappe.model.numeric_fieldtypes.includes(fieldtype) + } + refresh_sections() { // hide invisible sections this.wrapper.find(".form-section:not(.hide-control)").each(function() { From 32148cadc51d24771fe98871a7816d8f5e50b4de Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Fri, 20 Aug 2021 09:58:23 +0530 Subject: [PATCH 0343/1383] fix: Avoid input events for controls in grid --- frappe/public/js/frappe/form/controls/data.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/controls/data.js b/frappe/public/js/frappe/form/controls/data.js index e4a7dd6d59..864a0562ef 100644 --- a/frappe/public/js/frappe/form/controls/data.js +++ b/frappe/public/js/frappe/form/controls/data.js @@ -163,7 +163,7 @@ frappe.ui.form.ControlData = class ControlData extends frappe.ui.form.ControlInp } }; this.$input.on("change", change_handler); - if (this.constructor.trigger_change_on_input_event) { + if (this.constructor.trigger_change_on_input_event && !this.in_grid()) { // debounce to avoid repeated validations on value change this.$input.on("input", frappe.utils.debounce(change_handler, 500)); } @@ -267,4 +267,7 @@ frappe.ui.form.ControlData = class ControlData extends frappe.ui.form.ControlInp let el = this.$input.parents(el_class)[0]; if (el) $(el).toggleClass(scroll_class, add); } + in_grid() { + return this.grid || this.layout && this.layout.grid; + } }; From ff552d5d1d61fc83568bd213cc537c9bc5a623c2 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Fri, 20 Aug 2021 10:02:44 +0530 Subject: [PATCH 0344/1383] perf: Reduce debounce delay --- frappe/public/js/frappe/form/grid.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/grid.js b/frappe/public/js/frappe/form/grid.js index 8de1600c05..05c70b214d 100644 --- a/frappe/public/js/frappe/form/grid.js +++ b/frappe/public/js/frappe/form/grid.js @@ -38,7 +38,7 @@ export default class Grid { this.is_grid = true; this.debounced_refresh = this.refresh.bind(this); - this.debounced_refresh = frappe.utils.debounce(this.debounced_refresh, 500); + this.debounced_refresh = frappe.utils.debounce(this.debounced_refresh, 100); } allow_on_grid_editing() { From ebcb3618cf95e7c9a65c3d7dea40b8cd84b32f34 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Fri, 20 Aug 2021 10:23:49 +0530 Subject: [PATCH 0345/1383] style: Add missing semicolons --- frappe/public/js/frappe/form/layout.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/public/js/frappe/form/layout.js b/frappe/public/js/frappe/form/layout.js index f171c4f32e..21d7a451ac 100644 --- a/frappe/public/js/frappe/form/layout.js +++ b/frappe/public/js/frappe/form/layout.js @@ -259,9 +259,9 @@ frappe.ui.form.Layout = class Layout { } is_numeric_field_active() { - const control = $(document.activeElement).closest(".frappe-control") + const control = $(document.activeElement).closest(".frappe-control"); const fieldtype = control.data().fieldtype; - return frappe.model.numeric_fieldtypes.includes(fieldtype) + return frappe.model.numeric_fieldtypes.includes(fieldtype); } refresh_sections() { From 623998c787314dfd0eb70b41d2bb26a418de3624 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Fri, 20 Aug 2021 11:03:06 +0530 Subject: [PATCH 0346/1383] fix(db): Cast single dt field only if value is truthy --- frappe/database/database.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frappe/database/database.py b/frappe/database/database.py index d6ecf0795d..d4fc6c2219 100644 --- a/frappe/database/database.py +++ b/frappe/database/database.py @@ -557,7 +557,10 @@ class Database(object): if not df: frappe.throw(_('Invalid field name: {0}').format(frappe.bold(fieldname)), self.InvalidColumnName) - val = cast_fieldtype(df.fieldtype, val) + # cast only if value is "set" or is truthy? + # cast_fieldtype returns currnt TS value for Datetime, Date fields + if val: + val = cast_fieldtype(df.fieldtype, val) self.value_cache[doctype][fieldname] = val From 09868c26a9687f5b35339772be1db42d58951b06 Mon Sep 17 00:00:00 2001 From: Pruthvi Patel Date: Fri, 20 Aug 2021 11:41:41 +0530 Subject: [PATCH 0347/1383] feat: add `--autoreload` flag --- frappe/commands/utils.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/frappe/commands/utils.py b/frappe/commands/utils.py index 765028dfed..35e566794f 100644 --- a/frappe/commands/utils.py +++ b/frappe/commands/utils.py @@ -486,8 +486,13 @@ frappe.db.connect() @click.command('console') +@click.option( + '--autoreload', + is_flag=True, + help="Reload changes to code automatically" +) @pass_context -def console(context): +def console(context, autoreload=False): "Start ipython console for a site" site = get_site(context) frappe.init(site=site) @@ -497,7 +502,7 @@ def console(context): from IPython.terminal.embed import InteractiveShellEmbed terminal = InteractiveShellEmbed() - if frappe.conf.developer_mode: + if autoreload: terminal.extension_manager.load_extension("autoreload") terminal.run_line_magic("autoreload", "2") From cb034e4c52e2213cdbe5f5a053e8a1bec169ebd9 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Fri, 20 Aug 2021 12:08:39 +0530 Subject: [PATCH 0348/1383] fix: Consistent return types in cast_fieldtype Note: BREAKING CHANGE --- frappe/database/database.py | 5 +---- frappe/utils/data.py | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/frappe/database/database.py b/frappe/database/database.py index d4fc6c2219..d6ecf0795d 100644 --- a/frappe/database/database.py +++ b/frappe/database/database.py @@ -557,10 +557,7 @@ class Database(object): if not df: frappe.throw(_('Invalid field name: {0}').format(frappe.bold(fieldname)), self.InvalidColumnName) - # cast only if value is "set" or is truthy? - # cast_fieldtype returns currnt TS value for Datetime, Date fields - if val: - val = cast_fieldtype(df.fieldtype, val) + val = cast_fieldtype(df.fieldtype, val) self.value_cache[doctype][fieldname] = val diff --git a/frappe/utils/data.py b/frappe/utils/data.py index f2c553211d..d89cda1519 100644 --- a/frappe/utils/data.py +++ b/frappe/utils/data.py @@ -505,7 +505,17 @@ def has_common(l1, l2): """Returns truthy value if there are common elements in lists l1 and l2""" return set(l1) & set(l2) -def cast_fieldtype(fieldtype, value): +def cast_fieldtype(fieldtype, value=None): + """Cast the value to the Python native object of the Frappe fieldtype provided. + If value is None, the first/lowest value of the `fieldtype` will be returned. + + Mapping of Python types => Frappe types: + * float => ("Currency", "Float", "Percent") + * int => ("Int", "Check") + * datetime.datetime => ("Datetime",) + * datetime.date => ("Date",) + * datetime.time => ("Time",) + """ if fieldtype in ("Currency", "Float", "Percent"): value = flt(value) @@ -517,12 +527,18 @@ def cast_fieldtype(fieldtype, value): value = cstr(value) elif fieldtype == "Date": + if value is None: + value = datetime.datetime(1, 1, 1).date() value = getdate(value) elif fieldtype == "Datetime": + if value is None: + value = datetime.datetime(1, 1, 1) value = get_datetime(value) elif fieldtype == "Time": + if value is None: + value = "0:0:0" value = to_timedelta(value) return value From 70f9f77df8caae76b80790954451407413336c64 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Fri, 20 Aug 2021 12:16:55 +0530 Subject: [PATCH 0349/1383] fix: Handle exception --- frappe/public/js/frappe/form/layout.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/layout.js b/frappe/public/js/frappe/form/layout.js index 21d7a451ac..8d52c8d592 100644 --- a/frappe/public/js/frappe/form/layout.js +++ b/frappe/public/js/frappe/form/layout.js @@ -260,7 +260,7 @@ frappe.ui.form.Layout = class Layout { is_numeric_field_active() { const control = $(document.activeElement).closest(".frappe-control"); - const fieldtype = control.data().fieldtype; + const fieldtype = (control.data() || {}).fieldtype; return frappe.model.numeric_fieldtypes.includes(fieldtype); } From a2cb9be7a4cd89e563888006e91ba03f353c251c Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Fri, 20 Aug 2021 12:35:24 +0530 Subject: [PATCH 0350/1383] feat: frappe.utils.data.cast Cast the value to the Python native object of the Frappe fieldtype provided. If value is None, the first/lowest value of the `fieldtype` will be returned. Mapping of Python types => Frappe types: * float => ("Currency", "Float", "Percent") * int => ("Int", "Check") * datetime.datetime => ("Datetime",) * datetime.date => ("Date",) * datetime.time => ("Time",) Deprecate frappe.utils.data.cast_fieldtype in favour of new util cast which handles types "better" --- frappe/utils/data.py | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/frappe/utils/data.py b/frappe/utils/data.py index d89cda1519..4a25ad997a 100644 --- a/frappe/utils/data.py +++ b/frappe/utils/data.py @@ -8,6 +8,7 @@ import re, datetime, math, time from code import compile_command from urllib.parse import quote, urljoin from frappe.desk.utils import slug +from click import secho DATE_FORMAT = "%Y-%m-%d" TIME_FORMAT = "%H:%M:%S.%f" @@ -505,7 +506,36 @@ def has_common(l1, l2): """Returns truthy value if there are common elements in lists l1 and l2""" return set(l1) & set(l2) -def cast_fieldtype(fieldtype, value=None): +def cast_fieldtype(fieldtype, value): + # TODO: Add DeprecationWarning for this util + message = ( + "Function `frappe.utils.data.cast` has been deprecated in favour" + " of `frappe.utils.data.cast`. Use the newer util for safer type casting. " + ) + secho(message, fg="yellow") + + if fieldtype in ("Currency", "Float", "Percent"): + value = flt(value) + + elif fieldtype in ("Int", "Check"): + value = cint(value) + + elif fieldtype in ("Data", "Text", "Small Text", "Long Text", + "Text Editor", "Select", "Link", "Dynamic Link"): + value = cstr(value) + + elif fieldtype == "Date": + value = getdate(value) + + elif fieldtype == "Datetime": + value = get_datetime(value) + + elif fieldtype == "Time": + value = to_timedelta(value) + + return value + +def cast(fieldtype, value=None): """Cast the value to the Python native object of the Frappe fieldtype provided. If value is None, the first/lowest value of the `fieldtype` will be returned. @@ -1218,7 +1248,7 @@ def evaluate_filters(doc, filters): def compare(val1, condition, val2, fieldtype=None): ret = False if fieldtype: - val2 = cast_fieldtype(fieldtype, val2) + val2 = cast(fieldtype, val2) if condition in operator_map: ret = operator_map[condition](val1, val2) From ed6533f73705a483853d5b5ae8bf8cc0fca9156a Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Fri, 20 Aug 2021 12:37:15 +0530 Subject: [PATCH 0351/1383] fix: Use cast in favour of cast_fieldtype Use newly introduced casting util for Python-Frappe types mapping --- frappe/database/database.py | 21 ++------------------- frappe/model/base_document.py | 4 ++-- frappe/model/meta.py | 12 ++++++------ 3 files changed, 10 insertions(+), 27 deletions(-) diff --git a/frappe/database/database.py b/frappe/database/database.py index d6ecf0795d..9fab8e116f 100644 --- a/frappe/database/database.py +++ b/frappe/database/database.py @@ -14,7 +14,7 @@ import frappe.model.meta from frappe import _ from time import time -from frappe.utils import now, getdate, cast_fieldtype, get_datetime, get_table_name +from frappe.utils import now, getdate, cast, get_datetime, get_table_name from frappe.model.utils.link_count import flush_local_link_count @@ -516,7 +516,6 @@ class Database(object): FROM `tabSingles` WHERE doctype = %s """, doctype) - # result = _cast_result(doctype, result) dict_ = frappe._dict(result) @@ -557,7 +556,7 @@ class Database(object): if not df: frappe.throw(_('Invalid field name: {0}').format(frappe.bold(fieldname)), self.InvalidColumnName) - val = cast_fieldtype(df.fieldtype, val) + val = cast(df.fieldtype, val) self.value_cache[doctype][fieldname] = val @@ -1052,19 +1051,3 @@ def enqueue_jobs_after_commit(): q.enqueue_call(execute_job, timeout=job.get("timeout"), kwargs=job.get("queue_args")) frappe.flags.enqueue_after_commit = [] - -# Helpers -def _cast_result(doctype, result): - batch = [ ] - - try: - for field, value in result: - df = frappe.get_meta(doctype).get_field(field) - if df: - value = cast_fieldtype(df.fieldtype, value) - - batch.append(tuple([field, value])) - except frappe.exceptions.DoesNotExistError: - return result - - return tuple(batch) diff --git a/frappe/model/base_document.py b/frappe/model/base_document.py index 752543f46a..815dd27002 100644 --- a/frappe/model/base_document.py +++ b/frappe/model/base_document.py @@ -9,7 +9,7 @@ from frappe.model.utils.link_count import notify_link_count from frappe.modules import load_doctype_module from frappe.model import display_fieldtypes from frappe.utils import (cint, flt, now, cstr, strip_html, - sanitize_html, sanitize_email, cast_fieldtype) + sanitize_html, sanitize_email, cast) from frappe.utils.html_utils import unescape_html max_positive_value = { @@ -969,7 +969,7 @@ class BaseDocument(object): return self.cast(val, df) def cast(self, value, df): - return cast_fieldtype(df.fieldtype, value) + return cast(df.fieldtype, value) def _extract_images_from_text_editor(self): from frappe.core.doctype.file.file import extract_images_from_doc diff --git a/frappe/model/meta.py b/frappe/model/meta.py index de794ba77f..f89163e092 100644 --- a/frappe/model/meta.py +++ b/frappe/model/meta.py @@ -16,7 +16,7 @@ Example: ''' from datetime import datetime import frappe, json, os -from frappe.utils import cstr, cint, cast_fieldtype +from frappe.utils import cstr, cint, cast from frappe.model import default_fields, no_value_fields, optional_fields, data_fieldtypes, table_fields from frappe.model.document import Document from frappe.model.base_document import BaseDocument @@ -322,24 +322,24 @@ class Meta(Document): for ps in property_setters: if ps.doctype_or_field=='DocType': - self.set(ps.property, cast_fieldtype(ps.property_type, ps.value)) + self.set(ps.property, cast(ps.property_type, ps.value)) elif ps.doctype_or_field=='DocField': for d in self.fields: if d.fieldname == ps.field_name: - d.set(ps.property, cast_fieldtype(ps.property_type, ps.value)) + d.set(ps.property, cast(ps.property_type, ps.value)) break elif ps.doctype_or_field=='DocType Link': for d in self.links: if d.name == ps.row_name: - d.set(ps.property, cast_fieldtype(ps.property_type, ps.value)) + d.set(ps.property, cast(ps.property_type, ps.value)) break elif ps.doctype_or_field=='DocType Action': for d in self.actions: if d.name == ps.row_name: - d.set(ps.property, cast_fieldtype(ps.property_type, ps.value)) + d.set(ps.property, cast(ps.property_type, ps.value)) break def add_custom_links_and_actions(self): @@ -532,7 +532,7 @@ class Meta(Document): label = link.group, items = [link.parent_doctype or link.link_doctype] )) - + if not link.is_child_table: if link.link_fieldname != data.fieldname: if data.fieldname: From de3050cd81478de35a9c78e660195480f95c7523 Mon Sep 17 00:00:00 2001 From: Komal-Saraf0609 Date: Fri, 20 Aug 2021 12:47:51 +0530 Subject: [PATCH 0352/1383] test: Corrected selectors and shorten them (Using the added testing-library) --- cypress/integration/dashboard_links.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/cypress/integration/dashboard_links.js b/cypress/integration/dashboard_links.js index 6bf2d22dad..e6c9a7e08c 100644 --- a/cypress/integration/dashboard_links.js +++ b/cypress/integration/dashboard_links.js @@ -13,8 +13,8 @@ context('Dashboard links', () => { //Adding a new contact cy.get('.btn[data-doctype="Contact"]').click(); - cy.get('.has-error > .form-group > .control-input-wrapper > .control-input > .input-with-feedback').type('Admin'); - cy.get('#page-Contact > .page-head > .container > .row > .col > .standard-actions > .primary-action').click(); + cy.get('[data-doctype="Contact"][data-fieldname="first_name"]').type('Admin'); + cy.findByRole('button', {name: 'Save'}).click(); cy.visit('/app/user'); cy.get('.list-row-col > .level-item > .ellipsis').eq(0).click(); @@ -25,15 +25,15 @@ context('Dashboard links', () => { //Deleting the newly created contact cy.visit('/app/contact'); cy.get('.list-subject > .select-like > .list-row-checkbox').eq(0).click(); - cy.get('.actions-btn-group > .btn').contains('Actions').click(); - cy.get('.actions-btn-group > .dropdown-menu > li > .grey-link').eq(5).click(); - cy.get('.modal-footer > .standard-actions > .btn-primary').contains('Yes').click({delay: 700}); + cy.findByRole('button', {name: 'Actions'}).click(); + cy.get('.actions-btn-group [data-label="Delete"]').click(); + cy.findByRole('button', {name: 'Yes'}).click({delay: 700}); //To check if the counter from the "Contact" doc link is removed - cy.visit('/app/user'); cy.wait(700); + cy.visit('/app/user'); cy.get('.list-row-col > .level-item > .ellipsis').eq(0).click(); cy.get('[data-doctype="Contact"]').should('contain', 'Contact'); }); -}); \ No newline at end of file +}); From 9781fb758f2223294dd818680cc85c0ee03b6cf7 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Fri, 20 Aug 2021 22:06:50 +0530 Subject: [PATCH 0353/1383] fix: Rate limiter to allow kwargs --- frappe/rate_limiter.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/rate_limiter.py b/frappe/rate_limiter.py index 023cdb9cb0..528e5d6b56 100644 --- a/frappe/rate_limiter.py +++ b/frappe/rate_limiter.py @@ -103,7 +103,7 @@ def rate_limit(key: str, limit: Union[int, Callable] = 5, seconds: int= 24*60*60 def wrapper(*args, **kwargs): # Do not apply rate limits if method is not opted to check if methods != 'ALL' and frappe.request.method.upper() not in methods: - return frappe.call(fun, **frappe.form_dict) + return frappe.call(fun, **frappe.form_dict or kwargs) _limit = limit() if callable(limit) else limit @@ -118,6 +118,6 @@ def rate_limit(key: str, limit: Union[int, Callable] = 5, seconds: int= 24*60*60 if value > _limit: frappe.throw(_("You hit the rate limit because of too many requests. Please try after sometime.")) - return frappe.call(fun, **frappe.form_dict) + return frappe.call(fun, **frappe.form_dict or kwargs) return wrapper return ratelimit_decorator From 6f72e79f1acce546c8ada707afa57c2353bf2b4b Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Fri, 20 Aug 2021 22:35:01 +0530 Subject: [PATCH 0354/1383] test: Add more assertions for reset password --- frappe/core/doctype/user/test_user.py | 27 ++++++++++++++++++- .../notification_log/test_notification_log.py | 6 ++--- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/frappe/core/doctype/user/test_user.py b/frappe/core/doctype/user/test_user.py index 5fea8ed9d8..1c4c483fa8 100644 --- a/frappe/core/doctype/user/test_user.py +++ b/frappe/core/doctype/user/test_user.py @@ -1,11 +1,12 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # MIT License. See license.txt import frappe, unittest +import json from frappe.model.delete_doc import delete_doc from frappe.utils import get_url from frappe.core.doctype.user.user import (test_password_strength, - extract_mentions, sign_up, update_password, verify_password) + extract_mentions, sign_up, update_password, verify_password, reset_password) from frappe.frappeclient import FrappeClient from unittest.mock import patch @@ -347,6 +348,30 @@ class TestUser(unittest.TestCase): # reset password update_password(old_password, old_password=new_password) + # test API endpoint + with patch.object(user_module.frappe, 'sendmail') as sendmail: + frappe.clear_messages() + test_user = frappe.get_doc("User", "test2@example.com") + self.assertEqual(reset_password(user="test2@example.com"), None) + test_user.reload() + self.assertEqual(update_password(new_password, key=test_user.reset_password_key), "/") + update_password(old_password, old_password=new_password) + self.assertEqual(json.loads(frappe.message_log[0]), {"message": "Password reset instructions have been sent to your email"}) + sendmail.assert_called_once() + self.assertEqual(sendmail.call_args[1]["recipients"], "test2@example.com") + + self.assertEqual(reset_password(user="test2@example.com"), None) + self.assertEqual(reset_password(user="Administrator"), "not allowed") + self.assertEqual(reset_password(user="random"), "not found") + + def test_user_onload_modules(self): + from frappe.desk.form.load import getdoc + from frappe.config import get_modules_from_all_apps + frappe.response.docs = [] + getdoc("User", "Administrator") + doc = frappe.response.docs[0] + self.assertListEqual(doc.get("__onload").get('all_modules', []), + [m.get("module_name") for m in get_modules_from_all_apps()]) def test_password_verification(self): diff --git a/frappe/desk/doctype/notification_log/test_notification_log.py b/frappe/desk/doctype/notification_log/test_notification_log.py index 2d232cf942..bedb10b495 100644 --- a/frappe/desk/doctype/notification_log/test_notification_log.py +++ b/frappe/desk/doctype/notification_log/test_notification_log.py @@ -2,6 +2,7 @@ # Copyright (c) 2019, Frappe Technologies and Contributors # See license.txt import frappe +from frappe.core.doctype.user.user import get_system_users from frappe.desk.form.assign_to import add as assign_task import unittest @@ -54,7 +55,4 @@ def get_todo(): return frappe.get_cached_doc('ToDo', res[0].name) def get_user(): - users = frappe.db.get_all('User', - filters={'name': ('not in', ['Administrator', 'Guest']), 'enabled': 1}, - fields='name', limit=1) - return users[0].name + return get_system_users(limit=1)[0] From 9e4c8cc28ec93dc23be354ec2a8a33933c1a1719 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Fri, 20 Aug 2021 23:35:55 +0530 Subject: [PATCH 0355/1383] chore: Remove commented text --- frappe/core/doctype/file/test_file.py | 6 ------ frappe/core/doctype/user/test_user.py | 3 --- 2 files changed, 9 deletions(-) diff --git a/frappe/core/doctype/file/test_file.py b/frappe/core/doctype/file/test_file.py index f9d06429ff..5478d7ab85 100644 --- a/frappe/core/doctype/file/test_file.py +++ b/frappe/core/doctype/file/test_file.py @@ -569,9 +569,3 @@ class TestFileUtils(unittest.TestCase): from frappe.core.doctype.file.file import create_new_folder folder = create_new_folder('test_folder', 'Home') self.assertTrue(folder.is_folder) - -# def get_files_by_search_text(text): -# def optimize_saved_image(doc_name): -# def download_file(file_url): -# def remove_file_by_url(file_url, doctype=None, name=None): -# def on_doctype_update(): \ No newline at end of file diff --git a/frappe/core/doctype/user/test_user.py b/frappe/core/doctype/user/test_user.py index 1c4c483fa8..6ea744d553 100644 --- a/frappe/core/doctype/user/test_user.py +++ b/frappe/core/doctype/user/test_user.py @@ -374,9 +374,6 @@ class TestUser(unittest.TestCase): [m.get("module_name") for m in get_modules_from_all_apps()]) - def test_password_verification(self): - pass - def delete_contact(user): frappe.db.sql("DELETE FROM `tabContact` WHERE `email_id`= %s", user) frappe.db.sql("DELETE FROM `tabContact Email` WHERE `email_id`= %s", user) From 5587ab5a91ebb5c000c5ad9e9b249deffa7127ff Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Fri, 20 Aug 2021 23:54:42 +0530 Subject: [PATCH 0356/1383] style: Fix liinter warnings --- frappe/core/doctype/file/file.py | 2 +- .../prepared_report/prepared_report.py | 1 - frappe/core/doctype/user/test_user.py | 19 +++++++++---------- .../doctype/email_account/email_account.py | 13 +++++++------ 4 files changed, 17 insertions(+), 18 deletions(-) diff --git a/frappe/core/doctype/file/file.py b/frappe/core/doctype/file/file.py index 06222872a6..fcc8a860f3 100755 --- a/frappe/core/doctype/file/file.py +++ b/frappe/core/doctype/file/file.py @@ -319,7 +319,7 @@ class File(Document): def unzip(self): '''Unzip current file and replace it by its children''' - if not ".zip" in self.file_url: + if not self.file_url.endswith(".zip"): frappe.throw(_("{0} is not a zip file").format(self.file_name)) zip_path = self.get_full_path() diff --git a/frappe/core/doctype/prepared_report/prepared_report.py b/frappe/core/doctype/prepared_report/prepared_report.py index 409aa6f217..c9b5fd9d2e 100644 --- a/frappe/core/doctype/prepared_report/prepared_report.py +++ b/frappe/core/doctype/prepared_report/prepared_report.py @@ -11,7 +11,6 @@ from frappe.desk.query_report import generate_report_result from frappe.model.document import Document from frappe.utils import gzip_compress, gzip_decompress from frappe.utils.background_jobs import enqueue -from frappe.utils.file_manager import remove_all class PreparedReport(Document): def before_insert(self): diff --git a/frappe/core/doctype/user/test_user.py b/frappe/core/doctype/user/test_user.py index 6ea744d553..bcc273a784 100644 --- a/frappe/core/doctype/user/test_user.py +++ b/frappe/core/doctype/user/test_user.py @@ -1,16 +1,16 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # MIT License. See license.txt -import frappe, unittest import json +import unittest +from unittest.mock import patch +import frappe +import frappe.exceptions +from frappe.core.doctype.user.user import (extract_mentions, reset_password, + sign_up, test_password_strength, update_password, verify_password) +from frappe.frappeclient import FrappeClient from frappe.model.delete_doc import delete_doc from frappe.utils import get_url -from frappe.core.doctype.user.user import (test_password_strength, - extract_mentions, sign_up, update_password, verify_password, reset_password) -from frappe.frappeclient import FrappeClient - -from unittest.mock import patch -import frappe.exceptions user_module = frappe.core.doctype.user.user test_records = frappe.get_test_records('User') @@ -305,9 +305,8 @@ class TestUser(unittest.TestCase): def test_reset_password(self): + from frappe.auth import CookieManager, LoginManager from frappe.utils import set_request - from frappe.auth import CookieManager - from frappe.auth import LoginManager old_password = "Eastern_43A1W" new_password = "easy_password" @@ -365,8 +364,8 @@ class TestUser(unittest.TestCase): self.assertEqual(reset_password(user="random"), "not found") def test_user_onload_modules(self): - from frappe.desk.form.load import getdoc from frappe.config import get_modules_from_all_apps + from frappe.desk.form.load import getdoc frappe.response.docs = [] getdoc("User", "Administrator") doc = frappe.response.docs[0] diff --git a/frappe/email/doctype/email_account/email_account.py b/frappe/email/doctype/email_account/email_account.py index a1ddbf7a68..fb7349adba 100755 --- a/frappe/email/doctype/email_account/email_account.py +++ b/frappe/email/doctype/email_account/email_account.py @@ -725,6 +725,7 @@ def get_max_email_uid(email_account): def setup_user_email_inbox(email_account, awaiting_password, email_id, enable_outgoing): """ setup email inbox for user """ from frappe.core.doctype.user.user import ask_pass_update + def add_user_email(user): user = frappe.get_doc("User", user) row = user.append("user_emails", {}) @@ -736,11 +737,11 @@ def setup_user_email_inbox(email_account, awaiting_password, email_id, enable_ou user.save(ignore_permissions=True) - udpate_user_email_settings = False + update_user_email_settings = False if not all([email_account, email_id]): return - user_names = frappe.db.get_values("User", { "email": email_id }, as_dict=True) + user_names = frappe.db.get_values("User", {"email": email_id}, as_dict=True) if not user_names: return @@ -757,9 +758,9 @@ def setup_user_email_inbox(email_account, awaiting_password, email_id, enable_ou add_user_email(user_name) else: # update awaiting password for email account - udpate_user_email_settings = True + update_user_email_settings = True - if udpate_user_email_settings: + if update_user_email_settings: frappe.db.sql("""UPDATE `tabUser Email` SET awaiting_password = %(awaiting_password)s, enable_outgoing = %(enable_outgoing)s WHERE email_account = %(email_account)s""", { "email_account": email_account, @@ -782,8 +783,8 @@ def remove_user_email_inbox(email_account): for user in users: doc = frappe.get_doc("User", user.get("name")) - to_remove = [ row for row in doc.user_emails if row.email_account == email_account ] - [ doc.remove(row) for row in to_remove ] + to_remove = [row for row in doc.user_emails if row.email_account == email_account] + [doc.remove(row) for row in to_remove] doc.save(ignore_permissions=True) From 399629da45ab664df8ae3c6c21e806962cc0a7d0 Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Sat, 21 Aug 2021 13:47:42 +0530 Subject: [PATCH 0357/1383] fix(ux): Disable button while executing script - page.set_action will now pass the btn in the handler callback --- frappe/desk/doctype/system_console/system_console.js | 9 ++++++--- frappe/public/js/frappe/form/form.js | 4 ++-- frappe/public/js/frappe/ui/page.js | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/frappe/desk/doctype/system_console/system_console.js b/frappe/desk/doctype/system_console/system_console.js index c7eac39490..48dd2ba108 100644 --- a/frappe/desk/doctype/system_console/system_console.js +++ b/frappe/desk/doctype/system_console/system_console.js @@ -5,7 +5,7 @@ frappe.ui.form.on('System Console', { onload: function(frm) { frappe.ui.keys.add_shortcut({ shortcut: 'shift+enter', - action: () => frm.execute_action('Execute'), + action: () => frm.page.btn_primary.trigger('click'), page: frm.page, description: __('Execute Console script'), ignore_inputs: true, @@ -14,8 +14,11 @@ frappe.ui.form.on('System Console', { refresh: function(frm) { frm.disable_save(); - frm.page.set_primary_action(__("Execute"), () => { - frm.execute_action('Execute'); + frm.page.set_primary_action(__("Execute"), $btn => { + $btn.text(__('Executing...')); + return frm.execute_action("Execute").then(() => { + $btn.text(__('Execute')); + }); }); } }); diff --git a/frappe/public/js/frappe/form/form.js b/frappe/public/js/frappe/form/form.js index fd49df027c..3588923527 100644 --- a/frappe/public/js/frappe/form/form.js +++ b/frappe/public/js/frappe/form/form.js @@ -339,7 +339,7 @@ frappe.ui.form.Form = class FrappeForm { } } if (action.action_type==='Server Action') { - frappe.xcall(action.action, {'doc': this.doc}).then((doc) => { + return frappe.xcall(action.action, {'doc': this.doc}).then((doc) => { if (doc.doctype) { // document is returned by the method, // apply the changes locally and refresh @@ -354,7 +354,7 @@ frappe.ui.form.Form = class FrappeForm { }); }); } else if (action.action_type==='Route') { - frappe.set_route(action.action); + return frappe.set_route(action.action); } } diff --git a/frappe/public/js/frappe/ui/page.js b/frappe/public/js/frappe/ui/page.js index 22fdf476b8..320227b258 100644 --- a/frappe/public/js/frappe/ui/page.js +++ b/frappe/public/js/frappe/ui/page.js @@ -251,7 +251,7 @@ frappe.ui.Page = class Page { .prop("disabled", false) .html(opts.label) .on("click", function() { - let response = opts.click.apply(this); + let response = opts.click.apply(this, [btn]); me.btn_disable_enable(btn, response); }); From cd9b07b3bbdb80c27370301f9f786c537a9ff646 Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Sat, 21 Aug 2021 19:07:44 +0530 Subject: [PATCH 0358/1383] test: Add test case for docfield length property update --- .../doctype/customize_form/test_customize_form.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/frappe/custom/doctype/customize_form/test_customize_form.py b/frappe/custom/doctype/customize_form/test_customize_form.py index aef95cd676..6783e52d68 100644 --- a/frappe/custom/doctype/customize_form/test_customize_form.py +++ b/frappe/custom/doctype/customize_form/test_customize_form.py @@ -188,6 +188,19 @@ class TestCustomizeForm(unittest.TestCase): def test_core_doctype_customization(self): self.assertRaises(frappe.ValidationError, self.get_customize_form, 'User') + def test_save_customization_length_field_property(self): + # Using Notification Log doctype as it doesn't have any other custom fields + d = self.get_customize_form("Notification Log") + + document_name = d.get("fields", {"fieldname": "document_name"})[0] + document_name.length = 255 + d.run_method("save_customization") + + self.assertEqual(frappe.db.get_value("Property Setter", + {"doc_type": "Notification Log", "property": "length", "field_name": "document_name"}, "value"), '255') + + self.assertTrue(d.flags.update_db) + def test_custom_link(self): try: # create a dummy doctype linked to Event From cc5a23411b6eefdd303f76d79554e93391c531f1 Mon Sep 17 00:00:00 2001 From: MitulDavid Date: Mon, 23 Aug 2021 11:15:02 +0530 Subject: [PATCH 0359/1383] refactor: Image cropping and optimization --- frappe/core/doctype/file/file.py | 41 ++++++++++++------- frappe/public/icons/timeless/symbol-defs.svg | 2 +- .../public/js/frappe/file_uploader/index.js | 4 +- frappe/utils/file_manager.py | 2 +- 4 files changed, 32 insertions(+), 17 deletions(-) diff --git a/frappe/core/doctype/file/file.py b/frappe/core/doctype/file/file.py index e79b2bd761..f279a04a44 100755 --- a/frappe/core/doctype/file/file.py +++ b/frappe/core/doctype/file/file.py @@ -594,6 +594,31 @@ class File(Document): if self.file_url: self.is_private = cint(self.file_url.startswith('/private')) + @frappe.whitelist() + def optimize_file(self): + if self.is_folder: + raise TypeError('Folders cannot be optimized') + + content_type = mimetypes.guess_type(self.file_name)[0] + is_local_image = content_type.startswith('image/') and self.file_size > 0 + is_svg = content_type == 'image/svg+xml' + if is_local_image and not is_svg: + content = self.get_content() + optimized_content = optimize_image(content, content_type) + + file_path = get_files_path(is_private=self.is_private) + file_path = os.path.join(file_path.encode('utf-8'), self.file_name.encode('utf-8')) + with open(file_path, 'wb+') as f: + f.write(optimized_content) + + self.file_size = len(optimized_content) + self.content_hash = get_content_hash(optimized_content) + self.save() + elif is_svg: + raise TypeError('Optimization of SVG images is not supported') + else: + raise NotImplementedError('Only local image files can be optimized') + def on_doctype_update(): frappe.db.add_index("File", ["attached_to_doctype", "attached_to_name"]) @@ -886,7 +911,7 @@ def extract_images_from_html(doc, content): if b"," in content: content = content.split(b",")[1] content = base64.b64decode(content) - + content = optimize_image(content, mtype) if "filename=" in headers: @@ -943,19 +968,7 @@ def unzip_file(name): @frappe.whitelist() def optimize_saved_image(doc_name): file_doc = frappe.get_doc('File', doc_name) - content = file_doc.get_content() - content_type = mimetypes.guess_type(file_doc.file_name)[0] - - optimized_content = optimize_image(content, content_type) - - file_path = get_files_path(is_private=file_doc.is_private) - file_path = os.path.join(file_path.encode('utf-8'), file_doc.file_name.encode('utf-8')) - with open(file_path, 'wb+') as f: - f.write(optimized_content) - - file_doc.file_size = len(optimized_content) - file_doc.content_hash = get_content_hash(optimized_content) - file_doc.save() + file_doc.optimize_file() @frappe.whitelist() def get_attached_images(doctype, names): diff --git a/frappe/public/icons/timeless/symbol-defs.svg b/frappe/public/icons/timeless/symbol-defs.svg index f216374526..b2f1428967 100644 --- a/frappe/public/icons/timeless/symbol-defs.svg +++ b/frappe/public/icons/timeless/symbol-defs.svg @@ -567,7 +567,7 @@ - diff --git a/frappe/public/js/frappe/file_uploader/index.js b/frappe/public/js/frappe/file_uploader/index.js index daad9857ee..87bc1c8ec8 100644 --- a/frappe/public/js/frappe/file_uploader/index.js +++ b/frappe/public/js/frappe/file_uploader/index.js @@ -28,7 +28,7 @@ export default class FileUploader { } if (attach_doc_image) { - restrictions.allowed_file_types = ['.jpg', '.jpeg', '.png']; + restrictions.allowed_file_types = ['image/jpeg', 'image/png']; } this.$fileuploader = new Vue({ @@ -70,8 +70,10 @@ export default class FileUploader { this.uploader.$watch('hide_dialog_footer', (hide_dialog_footer) => { if (hide_dialog_footer) { this.dialog && this.dialog.footer.addClass('hide'); + this.dialog.$wrapper.data('bs.modal')._config.backdrop = 'static'; } else { this.dialog && this.dialog.footer.removeClass('hide'); + this.dialog.$wrapper.data('bs.modal')._config.backdrop = true; } }); diff --git a/frappe/utils/file_manager.py b/frappe/utils/file_manager.py index 7efdff299b..79a5423d8b 100644 --- a/frappe/utils/file_manager.py +++ b/frappe/utils/file_manager.py @@ -393,7 +393,7 @@ def extract_images_from_html(doc, content): if b"," in content: content = content.split(b",")[1] content = base64.b64decode(content) - + content = optimize_image(content, mtype) if "filename=" in headers: From d01335ab91376dc3751a32568440340d688410df Mon Sep 17 00:00:00 2001 From: shariquerik Date: Mon, 23 Aug 2021 11:26:43 +0530 Subject: [PATCH 0360/1383] fix: Faulty Export All rows visibility condition --- frappe/public/js/frappe/list/list_view.js | 3 ++- frappe/public/js/frappe/views/reports/report_view.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/frappe/public/js/frappe/list/list_view.js b/frappe/public/js/frappe/list/list_view.js index 8a0e43c8f3..d4133049e6 100644 --- a/frappe/public/js/frappe/list/list_view.js +++ b/frappe/public/js/frappe/list/list_view.js @@ -867,8 +867,9 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList { filters: this.get_filters_for_args() }).then(total_count => { this.total_count = total_count || current_count; + this.count_without_children = count_without_children !== current_count ? count_without_children : undefined; let str = __('{0} of {1}', [current_count, this.total_count]); - if (count_without_children !== current_count) { + if (this.count_without_children) { str = __('{0} of {1} ({2} rows with children)', [count_without_children, this.total_count, current_count]); } return str; diff --git a/frappe/public/js/frappe/views/reports/report_view.js b/frappe/public/js/frappe/views/reports/report_view.js index 2547dd6407..b46e6fb374 100644 --- a/frappe/public/js/frappe/views/reports/report_view.js +++ b/frappe/public/js/frappe/views/reports/report_view.js @@ -1401,7 +1401,7 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { } ]; - if (this.total_count > args.page_length) { + if (this.total_count > this.count_without_children || args.page_length) { fields.push({ fieldtype: 'Check', fieldname: 'export_all_rows', From 7c178ae18c41d21ac53d8b77aae0b179adeb8349 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 23 Aug 2021 11:28:33 +0530 Subject: [PATCH 0361/1383] fix(ux): better message for removal of assignment (#14008) (cherry picked from commit 40352d9df6418e0c435e0ae9f9dd8f96095c70db) Co-authored-by: Ankush Menat --- frappe/desk/doctype/todo/todo.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/frappe/desk/doctype/todo/todo.py b/frappe/desk/doctype/todo/todo.py index 09297b4e5e..754b94cdcb 100644 --- a/frappe/desk/doctype/todo/todo.py +++ b/frappe/desk/doctype/todo/todo.py @@ -29,8 +29,15 @@ class ToDo(Document): else: # NOTE the previous value is only available in validate method if self.get_db_value("status") != self.status: + if self.owner == frappe.session.user: + removal_message = frappe._("{0} removed their assignment.").format( + get_fullname(frappe.session.user)) + else: + removal_message = frappe._("Assignment of {0} removed by {1}").format( + get_fullname(self.owner), get_fullname(frappe.session.user)) + self._assignment = { - "text": frappe._("Assignment closed by {0}").format(get_fullname(frappe.session.user)), + "text": removal_message, "comment_type": "Assignment Completed" } From 30f9572122a4ef8c357799e50f763e49c21cac4c Mon Sep 17 00:00:00 2001 From: Suraj Shetty <13928957+surajshetty3416@users.noreply.github.com> Date: Mon, 23 Aug 2021 12:32:14 +0530 Subject: [PATCH 0362/1383] chore: Let maintainer raise a PR on stable branch --- .mergify.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.mergify.yml b/.mergify.yml index 1a81a28594..8c7a7dc95d 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -1,9 +1,11 @@ pull_request_rules: - name: Auto-close PRs on stable branch conditions: - - or: - - base=version-13 - - base=version-12 + - and: + - author!=surajshetty3416 + - or: + - base=version-13 + - base=version-12 actions: close: comment: From 7e9b78bf7deb5dd03c01653e81ef810e7f2dd7bc Mon Sep 17 00:00:00 2001 From: shariquerik Date: Mon, 23 Aug 2021 13:45:14 +0530 Subject: [PATCH 0363/1383] test: Type on focused block fix --- cypress/integration/workspace.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cypress/integration/workspace.js b/cypress/integration/workspace.js index 9701e54c5e..28930b5734 100644 --- a/cypress/integration/workspace.js +++ b/cypress/integration/workspace.js @@ -36,12 +36,12 @@ context('Workspace 2.0', () => { cy.get('.codex-editor__redactor .ce-block'); cy.get('.custom-actions .inner-group-button[data-label="Add%20Block"]').click(); cy.get('.custom-actions .inner-group-button .dropdown-menu .block-menu-item-label').contains('Heading').click(); - cy.get(".ce-block:last").find('h2').click({force: true}).type('Header'); + cy.get(":focus").type('Header'); cy.get(".ce-block:last").find('.ce-header').should('exist'); cy.get('.custom-actions .inner-group-button[data-label="Add%20Block"]').click(); cy.get('.custom-actions .inner-group-button .dropdown-menu .block-menu-item-label').contains('Text').click(); - cy.get(".ce-block:last").find('.ce-paragraph').click({force: true}).type('Paragraph text'); + cy.get(":focus").type('Paragraph text'); cy.get(".ce-block:last").find('.ce-paragraph').should('exist'); }); From 70899a7a959be3d7ba26bd6aa6783a7123434c24 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Mon, 23 Aug 2021 21:43:29 +0530 Subject: [PATCH 0364/1383] feat(minor): Added app_name and app_logo in Website Settings --- .../website_settings/website_settings.json | 23 +++++++++++++++---- frappe/www/login.py | 8 ++++--- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/frappe/website/doctype/website_settings/website_settings.json b/frappe/website/doctype/website_settings/website_settings.json index f4eee7231e..e7ae2a01e1 100644 --- a/frappe/website/doctype/website_settings/website_settings.json +++ b/frappe/website/doctype/website_settings/website_settings.json @@ -56,9 +56,11 @@ "google_analytics_id", "google_analytics_anonymize_ip", "misc_section", - "subdomain", + "app_name", + "app_logo", "disable_signup", "section_break_38", + "subdomain", "head_html", "robots_txt", "route_redirects", @@ -224,7 +226,7 @@ "collapsible": 1, "fieldname": "misc_section", "fieldtype": "Section Break", - "label": "Disable Signup" + "label": "Login Page" }, { "description": "An icon file with .ico extension. Should be 16 x 16 px. Generated using a favicon generator. [favicon-generator.org]", @@ -235,7 +237,7 @@ { "description": "Sub-domain provided by erpnext.com", "fieldname": "subdomain", - "fieldtype": "Text", + "fieldtype": "Small Text", "label": "Subdomain", "read_only": 1 }, @@ -425,6 +427,17 @@ "fieldname": "navbar_template_section", "fieldtype": "Section Break", "label": "Navbar Template" + }, + { + "default": "Frappe", + "fieldname": "app_name", + "fieldtype": "Data", + "label": "App Name" + }, + { + "fieldname": "app_logo", + "fieldtype": "Attach Image", + "label": "App Logo" } ], "icon": "fa fa-cog", @@ -433,7 +446,7 @@ "issingle": 1, "links": [], "max_attachments": 10, - "modified": "2021-07-15 17:39:56.609771", + "modified": "2021-08-23 21:39:51.702248", "modified_by": "Administrator", "module": "Website", "name": "Website Settings", @@ -457,4 +470,4 @@ "sort_field": "modified", "sort_order": "ASC", "track_changes": 1 -} +} \ No newline at end of file diff --git a/frappe/www/login.py b/frappe/www/login.py index 6542b29d42..f816b2f91e 100644 --- a/frappe/www/login.py +++ b/frappe/www/login.py @@ -34,9 +34,11 @@ def get_context(context): context.for_test = 'login.html' context["title"] = "Login" context["provider_logins"] = [] - context["disable_signup"] = frappe.utils.cint(frappe.db.get_value("Website Settings", "Website Settings", "disable_signup")) - context["logo"] = frappe.get_hooks("app_logo_url")[-1] - context["app_name"] = frappe.get_system_settings("app_name") or _("Frappe") + context["disable_signup"] = frappe.utils.cint(frappe.db.get_single_value("Website Settings", "disable_signup")) + context["logo"] = (frappe.db.get_single_value('Website Settings', 'app_logo') or + frappe.get_hooks("app_logo_url")[-1]) + context["app_name"] = (frappe.db.get_single_value('Website Settings', 'app_name') or + frappe.get_system_settings("app_name") or _("Frappe")) providers = [i.name for i in frappe.get_all("Social Login Key", filters={"enable_social_login":1}, order_by="name")] for provider in providers: client_id, base_url = frappe.get_value("Social Login Key", provider, ["client_id", "base_url"]) From 7caae74004b30cfcd6718c1a3b3f1d151efe9e1b Mon Sep 17 00:00:00 2001 From: Shariq Ansari <30859809+shariquerik@users.noreply.github.com> Date: Tue, 24 Aug 2021 10:15:37 +0530 Subject: [PATCH 0365/1383] build: Update datatable to 1.15.4 (#14016) Co-authored-by: Suraj Shetty <13928957+surajshetty3416@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 1ddbec178e..2283a44533 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "express": "^4.17.1", "fast-deep-equal": "^2.0.1", "frappe-charts": "^2.0.0-rc13", - "frappe-datatable": "^1.15.3", + "frappe-datatable": "^1.15.4", "frappe-gantt": "^0.5.0", "fuse.js": "^3.4.6", "highlight.js": "^10.4.1", diff --git a/yarn.lock b/yarn.lock index e8f527b7f1..ee530d747b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2721,10 +2721,10 @@ frappe-charts@^2.0.0-rc13: resolved "https://registry.yarnpkg.com/frappe-charts/-/frappe-charts-2.0.0-rc13.tgz#fdb251d7ae311c41e38f90a3ae108070ec6b9072" integrity sha512-Bv7IfllIrjRbKWHn5b769dOSenqdBixAr6m5kurf8ZUOJSLOgK4HOXItJ7BA8n9PvviH9/k5DaloisjLM2Bm1w== -frappe-datatable@^1.15.3: - version "1.15.3" - resolved "https://registry.yarnpkg.com/frappe-datatable/-/frappe-datatable-1.15.3.tgz#1737e9aebfd363ffadffced71a3534c40e350223" - integrity sha512-tUE3pNbxCMX0HPKvwurLBPRAOAdS0gNo1+MpoyFSqXI7b7sp6/TCBRht6qu1Luw+VyIzBtXkJdnnqU+Uoy8iow== +frappe-datatable@^1.15.4: + version "1.15.4" + resolved "https://registry.yarnpkg.com/frappe-datatable/-/frappe-datatable-1.15.4.tgz#dc2e5e5d8a0a7cb8ee658f2d39966af1d4405401" + integrity sha512-eW3upPvverm1GNBL4+IcPDvjm5xbJc5ZXW8TYEUZt/QQ2W75K/T6736pSzi9D6mX9sn3BtZ7Ige7MS45SGrgzQ== dependencies: hyperlist "^1.0.0-beta" lodash "^4.17.5" From 14783a1ba19ed381c132c0cd9c13cce1cb4b5174 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 24 Aug 2021 10:25:33 +0530 Subject: [PATCH 0366/1383] fix: Remove unnecessary raise after throw --- frappe/core/doctype/file/file.py | 1 - 1 file changed, 1 deletion(-) diff --git a/frappe/core/doctype/file/file.py b/frappe/core/doctype/file/file.py index fcc8a860f3..5b88418675 100755 --- a/frappe/core/doctype/file/file.py +++ b/frappe/core/doctype/file/file.py @@ -258,7 +258,6 @@ class File(Document): self.content_hash = get_content_hash(f.read()) except IOError: frappe.throw(_("File {0} does not exist").format(self.file_url)) - raise def on_trash(self): if self.is_home_folder or self.is_attachments_folder: From 850939ed1374b9d145a2258b1be3155c955006bb Mon Sep 17 00:00:00 2001 From: gavin Date: Tue, 24 Aug 2021 13:26:03 +0530 Subject: [PATCH 0367/1383] Revert "ci: ignore js only changes while running unittests (#13932)" This reverts commit ead26527b7c0df4b4b011bd0962e751f15aa01b1. --- .github/workflows/patch-mariadb-tests.yml | 7 +------ .github/workflows/server-mariadb-tests.yml | 6 ------ .github/workflows/server-postgres-tests.yml | 3 --- .github/workflows/ui-tests.yml | 2 -- 4 files changed, 1 insertion(+), 17 deletions(-) diff --git a/.github/workflows/patch-mariadb-tests.yml b/.github/workflows/patch-mariadb-tests.yml index 82be4d06b5..e8627a01fb 100644 --- a/.github/workflows/patch-mariadb-tests.yml +++ b/.github/workflows/patch-mariadb-tests.yml @@ -1,11 +1,6 @@ name: Patch -on: - pull_request: - paths-ignore: - - '**.js' - - '**.md' - workflow_dispatch: +on: [pull_request, workflow_dispatch] jobs: test: diff --git a/.github/workflows/server-mariadb-tests.yml b/.github/workflows/server-mariadb-tests.yml index 8d5bd690a1..2476102e3d 100644 --- a/.github/workflows/server-mariadb-tests.yml +++ b/.github/workflows/server-mariadb-tests.yml @@ -2,15 +2,9 @@ name: Server on: pull_request: - paths-ignore: - - '**.js' - - '**.md' workflow_dispatch: push: branches: [ develop ] - paths-ignore: - - '**.js' - - '**.md' jobs: test: diff --git a/.github/workflows/server-postgres-tests.yml b/.github/workflows/server-postgres-tests.yml index 8c97c7f84b..4325eebaad 100644 --- a/.github/workflows/server-postgres-tests.yml +++ b/.github/workflows/server-postgres-tests.yml @@ -2,9 +2,6 @@ name: Server on: pull_request: - paths-ignore: - - '**.js' - - '**.md' workflow_dispatch: jobs: diff --git a/.github/workflows/ui-tests.yml b/.github/workflows/ui-tests.yml index d76e5e77ea..f342c0709e 100644 --- a/.github/workflows/ui-tests.yml +++ b/.github/workflows/ui-tests.yml @@ -2,8 +2,6 @@ name: UI on: pull_request: - paths-ignore: - - '**.md' workflow_dispatch: push: branches: [ develop ] From af93d35471535522eeda9f72e95fd884b5a1ddfe Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 24 Aug 2021 14:33:53 +0530 Subject: [PATCH 0368/1383] fix: Use remove_all in file_manager.py --- frappe/core/doctype/file/file.py | 1 + 1 file changed, 1 insertion(+) diff --git a/frappe/core/doctype/file/file.py b/frappe/core/doctype/file/file.py index 5b88418675..b8ea134db5 100755 --- a/frappe/core/doctype/file/file.py +++ b/frappe/core/doctype/file/file.py @@ -729,6 +729,7 @@ def remove_file_by_url(file_url, doctype=None, name=None): fid = frappe.db.get_value("File", {"file_url": file_url}) if fid: + from frappe.utils.file_manager import remove_file return remove_file(fid=fid) From 597d237f63fd0391cd55616ee47feb8a00fc18d2 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Tue, 24 Aug 2021 14:14:42 +0530 Subject: [PATCH 0369/1383] ci: Roulette for GHA --- .github/helper/install_dependencies.sh | 5 -- .github/helper/roulette.py | 65 ++++++++++----------- .github/workflows/patch-mariadb-tests.yml | 18 ++++++ .github/workflows/server-mariadb-tests.yml | 22 +++++++ .github/workflows/server-postgres-tests.yml | 19 ++++++ .github/workflows/ui-tests.yml | 21 +++++++ 6 files changed, 112 insertions(+), 38 deletions(-) diff --git a/.github/helper/install_dependencies.sh b/.github/helper/install_dependencies.sh index 9be8519d85..d16f5b62ad 100644 --- a/.github/helper/install_dependencies.sh +++ b/.github/helper/install_dependencies.sh @@ -2,11 +2,6 @@ set -e -# python "${GITHUB_WORKSPACE}/.github/helper/roulette.py" -# if [[ $? != 2 ]];then -# exit; -# fi - # install wkhtmltopdf wget -O /tmp/wkhtmltox.tar.xz https://github.com/frappe/wkhtmltopdf/raw/master/wkhtmltox-0.12.3_linux-generic-amd64.tar.xz tar -xf /tmp/wkhtmltox.tar.xz -C /tmp diff --git a/.github/helper/roulette.py b/.github/helper/roulette.py index ea4f07b9f7..ce4c8ed633 100644 --- a/.github/helper/roulette.py +++ b/.github/helper/roulette.py @@ -1,4 +1,3 @@ -# if the script ends with exit code 0, then no tests are run further, else all tests are run import os import re import shlex @@ -7,50 +6,50 @@ import sys def get_output(command, shell=True): - print(command) - command = shlex.split(command) - return subprocess.check_output(command, shell=shell, encoding="utf8").strip() + print(command) + command = shlex.split(command) + return subprocess.check_output(command, shell=shell, encoding="utf8").strip() def is_py(file): - return file.endswith("py") + return file.endswith("py") + +def is_ci(file): + return file.endswith("yml") or ".github" in file def is_js(file): - return file.endswith("js") + return file.endswith("js") def is_docs(file): - regex = re.compile(r'\.(md|png|jpg|jpeg)$|^.github|LICENSE') - return bool(regex.search(file)) + regex = re.compile(r'\.(md|png|jpg|jpeg)$|^.github|LICENSE') + return bool(regex.search(file)) if __name__ == "__main__": - build_type = os.environ.get("TYPE") - before = os.environ.get("BEFORE") - after = os.environ.get("AFTER") - commit_range = before + '...' + after - print("Build Type: {}".format(build_type)) - print("Commit Range: {}".format(commit_range)) + files_list = sys.argv[1:] + build_type = os.environ.get("TYPE") - try: - files_changed = get_output("git diff --name-only {}".format(commit_range), shell=False) - except Exception: - sys.exit(2) + if not files_list: + print("No files' changes detected. Build is shutting") + sys.exit(0) - if "fatal" not in files_changed: - files_list = files_changed.split() - only_docs_changed = len(list(filter(is_docs, files_list))) == len(files_list) - only_js_changed = len(list(filter(is_js, files_list))) == len(files_list) - only_py_changed = len(list(filter(is_py, files_list))) == len(files_list) + ci_files_changed = any(f for f in files_list if is_ci(f)) + only_docs_changed = len(list(filter(is_docs, files_list))) == len(files_list) + only_js_changed = len(list(filter(is_js, files_list))) == len(files_list) + only_py_changed = len(list(filter(is_py, files_list))) == len(files_list) - if only_docs_changed: - print("Only docs were updated, stopping build process.") - sys.exit(0) + if ci_files_changed: + print("CI related files were updated, running all build processes.") - if only_js_changed and build_type == "server": - print("Only JavaScript code was updated; Stopping Python build process.") - sys.exit(0) + if only_docs_changed: + print("Only docs were updated, stopping build process.") + sys.exit(0) - if only_py_changed and build_type == "ui": - print("Only Python code was updated, stopping Cypress build process.") - sys.exit(0) + if only_js_changed and build_type == "server": + print("Only JavaScript code was updated; Stopping Python build process.") + sys.exit(0) - sys.exit(2) + if only_py_changed and build_type == "ui": + print("Only Python code was updated, stopping Cypress build process.") + sys.exit(0) + + os.system('echo "::set-output name=build::strawberry"') diff --git a/.github/workflows/patch-mariadb-tests.yml b/.github/workflows/patch-mariadb-tests.yml index e8627a01fb..27776fb2f1 100644 --- a/.github/workflows/patch-mariadb-tests.yml +++ b/.github/workflows/patch-mariadb-tests.yml @@ -26,10 +26,22 @@ jobs: with: python-version: 3.7 + - uses: jitterbit/get-changed-files@v1 + id: files + + - name: Check if build should be run + id: check-build + run: | + python "${GITHUB_WORKSPACE}/.github/helper/roulette.py" ${{ steps.files.outputs.all }} + env: + TYPE: "server" + - name: Add to Hosts + if: ${{ steps.check-build.outputs.build == 'strawberry' }} run: echo "127.0.0.1 test_site" | sudo tee -a /etc/hosts - name: Cache pip + if: ${{ steps.check-build.outputs.build == 'strawberry' }} uses: actions/cache@v2 with: path: ~/.cache/pip @@ -39,6 +51,7 @@ jobs: ${{ runner.os }}- - name: Cache node modules + if: ${{ steps.check-build.outputs.build == 'strawberry' }} uses: actions/cache@v2 env: cache-name: cache-node-modules @@ -51,10 +64,12 @@ jobs: ${{ runner.os }}- - name: Get yarn cache directory path + if: ${{ steps.check-build.outputs.build == 'strawberry' }} id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - uses: actions/cache@v2 + if: ${{ steps.check-build.outputs.build == 'strawberry' }} id: yarn-cache with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} @@ -63,6 +78,7 @@ jobs: ${{ runner.os }}-yarn- - name: Install Dependencies + if: ${{ steps.check-build.outputs.build == 'strawberry' }} run: bash ${GITHUB_WORKSPACE}/.github/helper/install_dependencies.sh env: BEFORE: ${{ env.GITHUB_EVENT_PATH.before }} @@ -70,12 +86,14 @@ jobs: TYPE: server - name: Install + if: ${{ steps.check-build.outputs.build == 'strawberry' }} run: bash ${GITHUB_WORKSPACE}/.github/helper/install.sh env: DB: mariadb TYPE: server - name: Run Patch Tests + if: ${{ steps.check-build.outputs.build == 'strawberry' }} run: | cd ~/frappe-bench/ wget https://frappeframework.com/files/v10-frappe.sql.gz diff --git a/.github/workflows/server-mariadb-tests.yml b/.github/workflows/server-mariadb-tests.yml index 2476102e3d..d6d5097a09 100644 --- a/.github/workflows/server-mariadb-tests.yml +++ b/.github/workflows/server-mariadb-tests.yml @@ -35,17 +35,30 @@ jobs: with: python-version: 3.7 + - uses: jitterbit/get-changed-files@v1 + id: files + + - name: Check if build should be run + id: check-build + run: | + python "${GITHUB_WORKSPACE}/.github/helper/roulette.py" ${{ steps.files.outputs.all }} + env: + TYPE: "server" + - uses: actions/setup-node@v2 + if: ${{ steps.check-build.outputs.build == 'strawberry' }} with: node-version: 14 check-latest: true - name: Add to Hosts + if: ${{ steps.check-build.outputs.build == 'strawberry' }} run: | echo "127.0.0.1 test_site" | sudo tee -a /etc/hosts echo "127.0.0.1 test_site_producer" | sudo tee -a /etc/hosts - name: Cache pip + if: ${{ steps.check-build.outputs.build == 'strawberry' }} uses: actions/cache@v2 with: path: ~/.cache/pip @@ -55,6 +68,7 @@ jobs: ${{ runner.os }}- - name: Cache node modules + if: ${{ steps.check-build.outputs.build == 'strawberry' }} uses: actions/cache@v2 env: cache-name: cache-node-modules @@ -67,10 +81,12 @@ jobs: ${{ runner.os }}- - name: Get yarn cache directory path + if: ${{ steps.check-build.outputs.build == 'strawberry' }} id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - uses: actions/cache@v2 + if: ${{ steps.check-build.outputs.build == 'strawberry' }} id: yarn-cache with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} @@ -79,6 +95,7 @@ jobs: ${{ runner.os }}-yarn- - name: Install Dependencies + if: ${{ steps.check-build.outputs.build == 'strawberry' }} run: bash ${GITHUB_WORKSPACE}/.github/helper/install_dependencies.sh env: BEFORE: ${{ env.GITHUB_EVENT_PATH.before }} @@ -86,18 +103,22 @@ jobs: TYPE: server - name: Install + if: ${{ steps.check-build.outputs.build == 'strawberry' }} run: bash ${GITHUB_WORKSPACE}/.github/helper/install.sh env: DB: mariadb TYPE: server - name: Run Tests + if: ${{ steps.check-build.outputs.build == 'strawberry' }} run: cd ~/frappe-bench/ && bench --site test_site run-parallel-tests --use-orchestrator --with-coverage env: CI_BUILD_ID: ${{ github.run_id }} ORCHESTRATOR_URL: http://test-orchestrator.frappe.io - name: Upload Coverage Data + if: ${{ steps.check-build.outputs.build == 'strawberry' }} + id: upload-coverage-data run: | cp ~/frappe-bench/sites/.coverage ${GITHUB_WORKSPACE} cd ${GITHUB_WORKSPACE} @@ -114,6 +135,7 @@ jobs: coveralls: name: Coverage Wrap Up needs: test + if: ${{ needs.test.steps.check-build.build == 'strawberry' }} container: python:3-slim runs-on: ubuntu-18.04 steps: diff --git a/.github/workflows/server-postgres-tests.yml b/.github/workflows/server-postgres-tests.yml index 4325eebaad..b2a283340c 100644 --- a/.github/workflows/server-postgres-tests.yml +++ b/.github/workflows/server-postgres-tests.yml @@ -37,17 +37,30 @@ jobs: with: python-version: 3.7 + - uses: jitterbit/get-changed-files@v1 + id: files + + - name: Check if build should be run + id: check-build + run: | + python "${GITHUB_WORKSPACE}/.github/helper/roulette.py" ${{ steps.files.outputs.all }} + env: + TYPE: "server" + - uses: actions/setup-node@v2 + if: ${{ steps.check-build.outputs.build == 'strawberry' }} with: node-version: '14' check-latest: true - name: Add to Hosts + if: ${{ steps.check-build.outputs.build == 'strawberry' }} run: | echo "127.0.0.1 test_site" | sudo tee -a /etc/hosts echo "127.0.0.1 test_site_producer" | sudo tee -a /etc/hosts - name: Cache pip + if: ${{ steps.check-build.outputs.build == 'strawberry' }} uses: actions/cache@v2 with: path: ~/.cache/pip @@ -57,6 +70,7 @@ jobs: ${{ runner.os }}- - name: Cache node modules + if: ${{ steps.check-build.outputs.build == 'strawberry' }} uses: actions/cache@v2 env: cache-name: cache-node-modules @@ -69,10 +83,12 @@ jobs: ${{ runner.os }}- - name: Get yarn cache directory path + if: ${{ steps.check-build.outputs.build == 'strawberry' }} id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - uses: actions/cache@v2 + if: ${{ steps.check-build.outputs.build == 'strawberry' }} id: yarn-cache with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} @@ -81,6 +97,7 @@ jobs: ${{ runner.os }}-yarn- - name: Install Dependencies + if: ${{ steps.check-build.outputs.build == 'strawberry' }} run: bash ${GITHUB_WORKSPACE}/.github/helper/install_dependencies.sh env: BEFORE: ${{ env.GITHUB_EVENT_PATH.before }} @@ -88,12 +105,14 @@ jobs: TYPE: server - name: Install + if: ${{ steps.check-build.outputs.build == 'strawberry' }} run: bash ${GITHUB_WORKSPACE}/.github/helper/install.sh env: DB: postgres TYPE: server - name: Run Tests + if: ${{ steps.check-build.outputs.build == 'strawberry' }} run: cd ~/frappe-bench/ && bench --site test_site run-parallel-tests --use-orchestrator env: CI_BUILD_ID: ${{ github.run_id }} diff --git a/.github/workflows/ui-tests.yml b/.github/workflows/ui-tests.yml index f342c0709e..af598d6c40 100644 --- a/.github/workflows/ui-tests.yml +++ b/.github/workflows/ui-tests.yml @@ -35,17 +35,30 @@ jobs: with: python-version: 3.7 + - uses: jitterbit/get-changed-files@v1 + id: files + + - name: Check if build should be run + id: check-build + run: | + python "${GITHUB_WORKSPACE}/.github/helper/roulette.py" ${{ steps.files.outputs.all }} + env: + TYPE: "ui" + - uses: actions/setup-node@v2 + if: ${{ steps.check-build.outputs.build == 'strawberry' }} with: node-version: 14 check-latest: true - name: Add to Hosts + if: ${{ steps.check-build.outputs.build == 'strawberry' }} run: | echo "127.0.0.1 test_site" | sudo tee -a /etc/hosts echo "127.0.0.1 test_site_producer" | sudo tee -a /etc/hosts - name: Cache pip + if: ${{ steps.check-build.outputs.build == 'strawberry' }} uses: actions/cache@v2 with: path: ~/.cache/pip @@ -55,6 +68,7 @@ jobs: ${{ runner.os }}- - name: Cache node modules + if: ${{ steps.check-build.outputs.build == 'strawberry' }} uses: actions/cache@v2 env: cache-name: cache-node-modules @@ -67,10 +81,12 @@ jobs: ${{ runner.os }}- - name: Get yarn cache directory path + if: ${{ steps.check-build.outputs.build == 'strawberry' }} id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - uses: actions/cache@v2 + if: ${{ steps.check-build.outputs.build == 'strawberry' }} id: yarn-cache with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} @@ -79,6 +95,7 @@ jobs: ${{ runner.os }}-yarn- - name: Cache cypress binary + if: ${{ steps.check-build.outputs.build == 'strawberry' }} uses: actions/cache@v2 with: path: ~/.cache @@ -88,6 +105,7 @@ jobs: ${{ runner.os }}- - name: Install Dependencies + if: ${{ steps.check-build.outputs.build == 'strawberry' }} run: bash ${GITHUB_WORKSPACE}/.github/helper/install_dependencies.sh env: BEFORE: ${{ env.GITHUB_EVENT_PATH.before }} @@ -95,15 +113,18 @@ jobs: TYPE: ui - name: Install + if: ${{ steps.check-build.outputs.build == 'strawberry' }} run: bash ${GITHUB_WORKSPACE}/.github/helper/install.sh env: DB: mariadb TYPE: ui - name: Site Setup + if: ${{ steps.check-build.outputs.build == 'strawberry' }} run: cd ~/frappe-bench/ && bench --site test_site execute frappe.utils.install.complete_setup_wizard - name: UI Tests + if: ${{ steps.check-build.outputs.build == 'strawberry' }} run: cd ~/frappe-bench/ && bench --site test_site run-ui-tests frappe --headless --parallel --ci-build-id $GITHUB_RUN_ID env: CYPRESS_RECORD_KEY: 4a48f41c-11b3-425b-aa88-c58048fa69eb From 32759cfc909628ccfd246cebdd7930a0c4359335 Mon Sep 17 00:00:00 2001 From: ChillarAnand Date: Wed, 25 Aug 2021 08:02:02 +0530 Subject: [PATCH 0370/1383] fix: Passed failfast flag to unit test runner in all scenarios --- frappe/commands/utils.py | 2 +- frappe/test_runner.py | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/frappe/commands/utils.py b/frappe/commands/utils.py index f2395ae490..2092071198 100644 --- a/frappe/commands/utils.py +++ b/frappe/commands/utils.py @@ -524,7 +524,7 @@ def console(context): @click.option('--skip-test-records', is_flag=True, default=False, help="Don't create test records") @click.option('--skip-before-tests', is_flag=True, default=False, help="Don't run before tests hook") @click.option('--junit-xml-output', help="Destination file path for junit xml report") -@click.option('--failfast', is_flag=True, default=False) +@click.option('--failfast', is_flag=True, default=False, help="Stop the test run on the first error or failure") @pass_context def run_tests(context, app=None, module=None, doctype=None, test=(), profile=False, coverage=False, junit_xml_output=False, ui_tests = False, doctype_list_path=None, diff --git a/frappe/test_runner.py b/frappe/test_runner.py index 8112362f34..ed46c9c071 100644 --- a/frappe/test_runner.py +++ b/frappe/test_runner.py @@ -50,7 +50,7 @@ def main(app=None, module=None, doctype=None, verbose=False, tests=(), frappe.connect() # if not frappe.conf.get("db_name").startswith("test_"): - # raise Exception, 'db_name must start with "test_"' + # raise Exception, 'db_name must start with "test_"' # workaround! since there is no separate test db frappe.clear_cache() @@ -65,9 +65,9 @@ def main(app=None, module=None, doctype=None, verbose=False, tests=(), frappe.get_attr(fn)() if doctype: - ret = run_tests_for_doctype(doctype, verbose, tests, force, profile, junit_xml_output=junit_xml_output) + ret = run_tests_for_doctype(doctype, verbose, tests, force, profile, failfast=failfast, junit_xml_output=junit_xml_output) elif module: - ret = run_tests_for_module(module, verbose, tests, profile, junit_xml_output=junit_xml_output) + ret = run_tests_for_module(module, verbose, tests, profile, failfast=failfast, junit_xml_output=junit_xml_output) else: ret = run_all_tests(app, verbose, profile, ui_tests, failfast=failfast, junit_xml_output=junit_xml_output) @@ -150,7 +150,7 @@ def run_all_tests(app=None, verbose=False, profile=False, ui_tests=False, failfa return out -def run_tests_for_doctype(doctypes, verbose=False, tests=(), force=False, profile=False, junit_xml_output=False): +def run_tests_for_doctype(doctypes, verbose=False, tests=(), force=False, profile=False, failfast=False, junit_xml_output=False): modules = [] if not isinstance(doctypes, (list, tuple)): doctypes = [doctypes] @@ -168,18 +168,18 @@ def run_tests_for_doctype(doctypes, verbose=False, tests=(), force=False, profil make_test_records(doctype, verbose=verbose, force=force) modules.append(importlib.import_module(test_module)) - return _run_unittest(modules, verbose=verbose, tests=tests, profile=profile, junit_xml_output=junit_xml_output) + return _run_unittest(modules, verbose=verbose, tests=tests, profile=profile, failfast=failfast, junit_xml_output=junit_xml_output) -def run_tests_for_module(module, verbose=False, tests=(), profile=False, junit_xml_output=False): +def run_tests_for_module(module, verbose=False, tests=(), profile=False, failfast=False, junit_xml_output=False): module = importlib.import_module(module) if hasattr(module, "test_dependencies"): for doctype in module.test_dependencies: make_test_records(doctype, verbose=verbose) frappe.db.commit() - return _run_unittest(module, verbose=verbose, tests=tests, profile=profile, junit_xml_output=junit_xml_output) + return _run_unittest(module, verbose=verbose, tests=tests, profile=profile, failfast=failfast, junit_xml_output=junit_xml_output) -def _run_unittest(modules, verbose=False, tests=(), profile=False, junit_xml_output=False): +def _run_unittest(modules, verbose=False, tests=(), profile=False, failfast=False, junit_xml_output=False): frappe.db.begin() test_suite = unittest.TestSuite() @@ -198,9 +198,9 @@ def _run_unittest(modules, verbose=False, tests=(), profile=False, junit_xml_out test_suite.addTest(module_test_cases) if junit_xml_output: - runner = unittest_runner(verbosity=1+(verbose and 1 or 0)) + runner = unittest_runner(verbosity=1+(verbose and 1 or 0), failfast=failfast) else: - runner = unittest_runner(resultclass=TimeLoggingTestResult, verbosity=1+(verbose and 1 or 0)) + runner = unittest_runner(resultclass=TimeLoggingTestResult, verbosity=1+(verbose and 1 or 0), failfast=failfast) if profile: pr = cProfile.Profile() From c07298648ac6ea6b1613309e68f3c7a5d6bde419 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Wed, 25 Aug 2021 10:49:37 +0530 Subject: [PATCH 0371/1383] test: Blur the phone_nos field to enable validation for the field --- cypress/integration/form_tour.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/cypress/integration/form_tour.js b/cypress/integration/form_tour.js index d2d39679a8..ab7ada9034 100644 --- a/cypress/integration/form_tour.js +++ b/cypress/integration/form_tour.js @@ -20,10 +20,10 @@ context('Form Tour', () => { it('navigates a form tour', () => { open_test_form_tour(); - cy.get('#driver-popover-item').should('be.visible'); + cy.get('.frappe-driver').should('be.visible'); cy.get('.frappe-control[data-fieldname="first_name"]').as('first_name'); cy.get('@first_name').should('have.class', 'driver-highlighted-element'); - cy.get('#driver-popover-item').findByRole('button', {name: 'Next'}).as('next_btn'); + cy.get('.frappe-driver').findByRole('button', {name: 'Next'}).as('next_btn'); // next btn shouldn't move to next step, if first name is not entered cy.get('@next_btn').click(); @@ -68,13 +68,13 @@ context('Form Tour', () => { cy.get('.grid-row-open .frappe-control[data-fieldname="phone"]').as('phone'); cy.get('@phone').should('have.class', 'driver-highlighted-element'); // enter value in a table field - cy.fill_table_field('phone_nos', '1', 'phone', '1234567890'); + let field = cy.fill_table_field('phone_nos', '1', 'phone', '1234567890'); + field.blur(); // move to collapse row step cy.wait(500); - cy.get('@next_btn').click(); + cy.get('.driver-popover-title').contains('Test Title 4').siblings().get('@next_btn').click(); cy.wait(500); - // collapse row cy.get('.grid-row-open .grid-collapse-row').click(); cy.wait(500); @@ -82,7 +82,7 @@ context('Form Tour', () => { // assert save btn is highlighted cy.get('.primary-action').should('have.class', 'driver-highlighted-element'); cy.wait(500); - cy.get('#driver-popover-item').findByRole('button', {name: 'Save'}).should('be.visible'); + cy.get('.frappe-driver').findByRole('button', {name: 'Save'}).should('be.visible'); }); }); From 0611c1698fd6bcc5444236df35dc05afb181f9ac Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Wed, 25 Aug 2021 11:30:51 +0530 Subject: [PATCH 0372/1383] refactor: File.optimize_file Simplified method logic --- frappe/core/doctype/file/file.py | 33 ++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/frappe/core/doctype/file/file.py b/frappe/core/doctype/file/file.py index f279a04a44..18aae13799 100755 --- a/frappe/core/doctype/file/file.py +++ b/frappe/core/doctype/file/file.py @@ -602,23 +602,25 @@ class File(Document): content_type = mimetypes.guess_type(self.file_name)[0] is_local_image = content_type.startswith('image/') and self.file_size > 0 is_svg = content_type == 'image/svg+xml' - if is_local_image and not is_svg: - content = self.get_content() - optimized_content = optimize_image(content, content_type) - file_path = get_files_path(is_private=self.is_private) - file_path = os.path.join(file_path.encode('utf-8'), self.file_name.encode('utf-8')) - with open(file_path, 'wb+') as f: - f.write(optimized_content) - - self.file_size = len(optimized_content) - self.content_hash = get_content_hash(optimized_content) - self.save() - elif is_svg: - raise TypeError('Optimization of SVG images is not supported') - else: + if not is_local_image: raise NotImplementedError('Only local image files can be optimized') + if is_svg: + raise TypeError('Optimization of SVG images is not supported') + + content = self.get_content() + optimized_content = optimize_image(content, content_type) + file_path = get_files_path(self.file_name, is_private=self.is_private) + + with open(file_path, 'wb+') as f: + f.write(optimized_content) + + self.file_size = len(optimized_content) + self.content_hash = get_content_hash(optimized_content) + self.save() + + def on_doctype_update(): frappe.db.add_index("File", ["attached_to_doctype", "attached_to_name"]) @@ -967,8 +969,7 @@ def unzip_file(name): @frappe.whitelist() def optimize_saved_image(doc_name): - file_doc = frappe.get_doc('File', doc_name) - file_doc.optimize_file() + frappe.get_doc('File', doc_name).optimize_file() @frappe.whitelist() def get_attached_images(doctype, names): From bc596e968159024ec956d30df6be92c5b31c7b19 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Wed, 25 Aug 2021 11:45:00 +0530 Subject: [PATCH 0373/1383] fix: Revert file on disk if rolledback --- frappe/core/doctype/file/file.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/frappe/core/doctype/file/file.py b/frappe/core/doctype/file/file.py index 18aae13799..0c2832cdbd 100755 --- a/frappe/core/doctype/file/file.py +++ b/frappe/core/doctype/file/file.py @@ -321,8 +321,16 @@ class File(Document): self.delete_file_data_content(only_thumbnail=True) def on_rollback(self): - self.flags.on_rollback = True - self.on_trash() + # if original_content flag is set, this rollback should revert the file to its original state + if self.flags.original_content: + file_path = self.get_full_path() + with open(file_path, "wb+") as f: + f.write(self.flags.original_content) + + # following condition is only executed when an insert has been rolledback + else: + self.flags.on_rollback = True + self.on_trash() def unzip(self): '''Unzip current file and replace it by its children''' @@ -610,8 +618,8 @@ class File(Document): raise TypeError('Optimization of SVG images is not supported') content = self.get_content() + file_path = self.get_full_path() optimized_content = optimize_image(content, content_type) - file_path = get_files_path(self.file_name, is_private=self.is_private) with open(file_path, 'wb+') as f: f.write(optimized_content) @@ -620,6 +628,10 @@ class File(Document): self.content_hash = get_content_hash(optimized_content) self.save() + # if rolledback, revert back to original + self.flags.original_content = content + frappe.local.rollback_observers.append(self) + def on_doctype_update(): frappe.db.add_index("File", ["attached_to_doctype", "attached_to_name"]) From 75ff78e6bd1beefc9e9df8d2772f9ce1a7cfdb53 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Wed, 25 Aug 2021 12:03:33 +0530 Subject: [PATCH 0374/1383] fix(File): Remove extra API endpoint Got rid of frappe.core.doctype.file.file.optimize_saved_image in favour of whitelisted Document Action File.optimize_file --- frappe/core/doctype/file/file.js | 12 +++--------- frappe/core/doctype/file/file.py | 3 --- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/frappe/core/doctype/file/file.js b/frappe/core/doctype/file/file.js index bc0cc17553..202903f1ab 100644 --- a/frappe/core/doctype/file/file.js +++ b/frappe/core/doctype/file/file.js @@ -29,15 +29,9 @@ frappe.ui.form.on("File", "refresh", function(frm) { if (is_optimizable) { frm.add_custom_button(__("Optimize"), function() { frappe.show_alert(__("Optimizing image...")); - frappe.call({ - method: "frappe.core.doctype.file.file.optimize_saved_image", - args: { - doc_name: frm.doc.name, - }, - callback: function() { - frappe.show_alert(__("Image optimized")); - frappe.set_route("List", "File"); - } + frm.call("optimize_file").then(() => { + frappe.show_alert(__("Image optimized")); + frappe.set_route("List", "File"); }); }); } diff --git a/frappe/core/doctype/file/file.py b/frappe/core/doctype/file/file.py index 0c2832cdbd..369179eece 100755 --- a/frappe/core/doctype/file/file.py +++ b/frappe/core/doctype/file/file.py @@ -979,9 +979,6 @@ def unzip_file(name): files = file_obj.unzip() return len(files) -@frappe.whitelist() -def optimize_saved_image(doc_name): - frappe.get_doc('File', doc_name).optimize_file() @frappe.whitelist() def get_attached_images(doctype, names): From 004891237e77fb95b64a7f8b535774b30b3b1b02 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Wed, 25 Aug 2021 12:34:48 +0530 Subject: [PATCH 0375/1383] test: Fix flaky timeline_email tests --- cypress/integration/timeline_email.js | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/cypress/integration/timeline_email.js b/cypress/integration/timeline_email.js index e5b3ebeb7c..82af24e822 100644 --- a/cypress/integration/timeline_email.js +++ b/cypress/integration/timeline_email.js @@ -8,14 +8,13 @@ context('Timeline Email', () => { it('Adding new ToDo, adding email and verifying timeline content for email attachment, deleting attachment and ToDo', () => { //Adding new ToDo cy.click_listview_primary_button('Add ToDo'); - cy.get('.custom-actions > .btn').trigger('click', {delay: 500}); - cy.get('.row > .section-body > .form-column > form > .frappe-control > .form-group > .control-input-wrapper > .control-input > .ql-container > .ql-editor').eq(0).type('Test ToDo', {force: true}); + cy.get('.custom-actions:visible > .btn').contains("Edit in full page").click({delay: 500}); + cy.fill_field("description", "Test ToDo", "Text Editor"); cy.wait(500); - //cy.click_listview_primary_button('Save'); cy.get('.primary-action').contains('Save').click({force: true}); cy.wait(700); cy.visit('/app/todo'); - cy.get('.list-row > .level-left > .list-subject > .level-item.ellipsis > .ellipsis').eq(0).click(); + cy.get('.list-row > .level-left > .list-subject').eq(0).click(); //Creating a new email cy.get('.timeline-actions > .btn').click(); @@ -47,7 +46,7 @@ context('Timeline Email', () => { //Removing the added attachment cy.get('.attachment-row > .data-pill > .remove-btn > .icon').click(); - cy.get('.modal-dialog > .modal-content > .modal-footer > .standard-actions > .btn-primary').contains('Yes').click(); + cy.get('.modal-footer:visible > .standard-actions > .btn-primary').contains('Yes').click(); //To check if the removed attachment is shown in the timeline content cy.get('.timeline-content').should('contain', 'Removed 72402.jpg'); @@ -55,17 +54,17 @@ context('Timeline Email', () => { //To check if the discard button functionality in email is working correctly cy.get('.timeline-actions > .btn').click(); - cy.fill_field('recipients', 'test@example.com', 'MultiSelect'); + cy.fill_field('recipients', 'test@example.com', 'MultiSelect'); cy.get('.modal-footer > .standard-actions > .btn-secondary').contains('Discard').click(); cy.wait(500); cy.get('.timeline-actions > .btn').click(); cy.wait(500); cy.get_field('recipients', 'MultiSelect').should('have.text', ''); - cy.get('.modal.show > .modal-dialog > .modal-content > .modal-header > .modal-actions > .btn-modal-close > .icon').click(); + cy.get('.modal-header:visible > .modal-actions > .btn-modal-close > .icon').click(); //Deleting the added ToDo - cy.get('#page-ToDo > .page-head > .container > .row > .col > .standard-actions > .menu-btn-group > .btn').click(); - cy.get('.menu-btn-group > .dropdown-menu > li > .grey-link').eq(17).click(); - cy.get('.modal.show > .modal-dialog > .modal-content > .modal-footer > .standard-actions > .btn-primary').click(); + cy.get('.menu-btn-group:visible > .btn').click(); + cy.get('.menu-btn-group:visible > .dropdown-menu > li > .dropdown-item').contains('Delete').click(); + cy.get('.modal-footer:visible > .standard-actions > .btn-primary').click(); }); }); From e01ef7ff52eeda80c267258ae51271a5f412b086 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Wed, 25 Aug 2021 12:40:44 +0530 Subject: [PATCH 0376/1383] ci(roulette): Use GitHub REST to figure out changed files --- .github/helper/roulette.py | 20 +++++++++++++------- .github/workflows/patch-mariadb-tests.yml | 6 ++---- .github/workflows/server-mariadb-tests.yml | 6 ++---- .github/workflows/server-postgres-tests.yml | 6 ++---- .github/workflows/ui-tests.yml | 6 ++---- 5 files changed, 21 insertions(+), 23 deletions(-) diff --git a/.github/helper/roulette.py b/.github/helper/roulette.py index ce4c8ed633..311f15c9db 100644 --- a/.github/helper/roulette.py +++ b/.github/helper/roulette.py @@ -1,5 +1,6 @@ import os import re +import requests import shlex import subprocess import sys @@ -14,19 +15,24 @@ def is_py(file): return file.endswith("py") def is_ci(file): - return file.endswith("yml") or ".github" in file + return ".github" in file -def is_js(file): - return file.endswith("js") +def is_frontend_code(file): + return file.endswith((".css", ".scss", ".less", ".sass", ".styl", ".js", ".ts")) def is_docs(file): - regex = re.compile(r'\.(md|png|jpg|jpeg)$|^.github|LICENSE') + regex = re.compile(r'\.(md|png|jpg|jpeg|csv)$|^.github|LICENSE') return bool(regex.search(file)) if __name__ == "__main__": files_list = sys.argv[1:] build_type = os.environ.get("TYPE") + pr_number = os.environ.get("PR_NUMBER") + + if not files_list and pr_number: + res = requests.get(f"https://api.github.com/repos/frappe/frappe/pulls/{pr_number}/files") + files_list = [f["filename"] for f in res.json()] if not files_list: print("No files' changes detected. Build is shutting") @@ -34,7 +40,7 @@ if __name__ == "__main__": ci_files_changed = any(f for f in files_list if is_ci(f)) only_docs_changed = len(list(filter(is_docs, files_list))) == len(files_list) - only_js_changed = len(list(filter(is_js, files_list))) == len(files_list) + only_frontend_code_changed = len(list(filter(is_frontend_code, files_list))) == len(files_list) only_py_changed = len(list(filter(is_py, files_list))) == len(files_list) if ci_files_changed: @@ -44,8 +50,8 @@ if __name__ == "__main__": print("Only docs were updated, stopping build process.") sys.exit(0) - if only_js_changed and build_type == "server": - print("Only JavaScript code was updated; Stopping Python build process.") + if only_frontend_code_changed and build_type == "server": + print("Only Frontend code was updated; Stopping Python build process.") sys.exit(0) if only_py_changed and build_type == "ui": diff --git a/.github/workflows/patch-mariadb-tests.yml b/.github/workflows/patch-mariadb-tests.yml index 27776fb2f1..d0de566e9d 100644 --- a/.github/workflows/patch-mariadb-tests.yml +++ b/.github/workflows/patch-mariadb-tests.yml @@ -26,15 +26,13 @@ jobs: with: python-version: 3.7 - - uses: jitterbit/get-changed-files@v1 - id: files - - name: Check if build should be run id: check-build run: | - python "${GITHUB_WORKSPACE}/.github/helper/roulette.py" ${{ steps.files.outputs.all }} + python "${GITHUB_WORKSPACE}/.github/helper/roulette.py" env: TYPE: "server" + PR_NUMBER: ${{ github.event.number }} - name: Add to Hosts if: ${{ steps.check-build.outputs.build == 'strawberry' }} diff --git a/.github/workflows/server-mariadb-tests.yml b/.github/workflows/server-mariadb-tests.yml index d6d5097a09..da9724c6bd 100644 --- a/.github/workflows/server-mariadb-tests.yml +++ b/.github/workflows/server-mariadb-tests.yml @@ -35,15 +35,13 @@ jobs: with: python-version: 3.7 - - uses: jitterbit/get-changed-files@v1 - id: files - - name: Check if build should be run id: check-build run: | - python "${GITHUB_WORKSPACE}/.github/helper/roulette.py" ${{ steps.files.outputs.all }} + python "${GITHUB_WORKSPACE}/.github/helper/roulette.py" env: TYPE: "server" + PR_NUMBER: ${{ github.event.number }} - uses: actions/setup-node@v2 if: ${{ steps.check-build.outputs.build == 'strawberry' }} diff --git a/.github/workflows/server-postgres-tests.yml b/.github/workflows/server-postgres-tests.yml index b2a283340c..d7658bc1ba 100644 --- a/.github/workflows/server-postgres-tests.yml +++ b/.github/workflows/server-postgres-tests.yml @@ -37,15 +37,13 @@ jobs: with: python-version: 3.7 - - uses: jitterbit/get-changed-files@v1 - id: files - - name: Check if build should be run id: check-build run: | - python "${GITHUB_WORKSPACE}/.github/helper/roulette.py" ${{ steps.files.outputs.all }} + python "${GITHUB_WORKSPACE}/.github/helper/roulette.py" env: TYPE: "server" + PR_NUMBER: ${{ github.event.number }} - uses: actions/setup-node@v2 if: ${{ steps.check-build.outputs.build == 'strawberry' }} diff --git a/.github/workflows/ui-tests.yml b/.github/workflows/ui-tests.yml index af598d6c40..90c72e7018 100644 --- a/.github/workflows/ui-tests.yml +++ b/.github/workflows/ui-tests.yml @@ -35,15 +35,13 @@ jobs: with: python-version: 3.7 - - uses: jitterbit/get-changed-files@v1 - id: files - - name: Check if build should be run id: check-build run: | - python "${GITHUB_WORKSPACE}/.github/helper/roulette.py" ${{ steps.files.outputs.all }} + python "${GITHUB_WORKSPACE}/.github/helper/roulette.py" env: TYPE: "ui" + PR_NUMBER: ${{ github.event.number }} - uses: actions/setup-node@v2 if: ${{ steps.check-build.outputs.build == 'strawberry' }} From 2865b35673a3bc3158ceed3c784f19e7cae2b9f8 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Wed, 25 Aug 2021 12:43:03 +0530 Subject: [PATCH 0377/1383] patch: set title as label if extends is empty --- frappe/patches/v14_0/update_workspace2.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/patches/v14_0/update_workspace2.py b/frappe/patches/v14_0/update_workspace2.py index 2d7eb4cc76..1a56310a6c 100644 --- a/frappe/patches/v14_0/update_workspace2.py +++ b/frappe/patches/v14_0/update_workspace2.py @@ -54,7 +54,7 @@ def update_wspace(doc, seq, content): doc.sequence_id = seq + 1 doc.content = json.dumps(content) doc.public = 0 - doc.title = doc.extends + doc.title = doc.extends or doc.label doc.extends = '' doc.category = '' doc.onboarding = '' From 4a468c14d3eacba8274842a8cfa99a7c316a479b Mon Sep 17 00:00:00 2001 From: shariquerik Date: Wed, 25 Aug 2021 13:02:27 +0530 Subject: [PATCH 0378/1383] fix: updated pah --- frappe/patches.txt | 2 +- frappe/patches/v14_0/update_workspace2.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/patches.txt b/frappe/patches.txt index 87919b0247..41ca1a1724 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -182,4 +182,4 @@ frappe.patches.v13_0.jinja_hook frappe.patches.v13_0.update_notification_channel_if_empty frappe.patches.v14_0.drop_data_import_legacy frappe.patches.v14_0.rename_cancelled_documents -frappe.patches.v14_0.update_workspace2 +frappe.patches.v14_0.update_workspace2 # 25.08.2021 diff --git a/frappe/patches/v14_0/update_workspace2.py b/frappe/patches/v14_0/update_workspace2.py index 1a56310a6c..4974919049 100644 --- a/frappe/patches/v14_0/update_workspace2.py +++ b/frappe/patches/v14_0/update_workspace2.py @@ -50,7 +50,7 @@ def create_content(doc): return content def update_wspace(doc, seq, content): - if not doc.is_standard and not doc.public: + if not doc.title and not content and not doc.is_standard and not doc.public: doc.sequence_id = seq + 1 doc.content = json.dumps(content) doc.public = 0 From 82c354e9187140eaf81b722086edb00cea946ec4 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Wed, 25 Aug 2021 13:03:40 +0530 Subject: [PATCH 0379/1383] fix: updated patch --- frappe/patches/v14_0/update_workspace2.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/patches/v14_0/update_workspace2.py b/frappe/patches/v14_0/update_workspace2.py index 4974919049..c212faee76 100644 --- a/frappe/patches/v14_0/update_workspace2.py +++ b/frappe/patches/v14_0/update_workspace2.py @@ -50,7 +50,7 @@ def create_content(doc): return content def update_wspace(doc, seq, content): - if not doc.title and not content and not doc.is_standard and not doc.public: + if not doc.title and not doc.content and not doc.is_standard and not doc.public: doc.sequence_id = seq + 1 doc.content = json.dumps(content) doc.public = 0 From fe060bda0ee83843fa7af65958fe099337ffeec0 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Wed, 25 Aug 2021 13:25:40 +0530 Subject: [PATCH 0380/1383] fix: Use urllib instead of requests Simply because "too much effort" to add another library pfft --- .github/helper/roulette.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/helper/roulette.py b/.github/helper/roulette.py index 311f15c9db..002f1e1017 100644 --- a/.github/helper/roulette.py +++ b/.github/helper/roulette.py @@ -1,11 +1,18 @@ +import json import os import re -import requests import shlex import subprocess import sys +import urllib.request +def get_files_list(pr_number): + req = urllib.request.Request(f"https://api.github.com/repos/frappe/frappe/pulls/{pr_number}/files") + res = urllib.request.urlopen(req) + dump = json.loads(res.read().decode('utf8')) + return [change["filename"] for change in dump] + def get_output(command, shell=True): print(command) command = shlex.split(command) @@ -31,8 +38,7 @@ if __name__ == "__main__": pr_number = os.environ.get("PR_NUMBER") if not files_list and pr_number: - res = requests.get(f"https://api.github.com/repos/frappe/frappe/pulls/{pr_number}/files") - files_list = [f["filename"] for f in res.json()] + files_list = get_files_list(pr_number=pr_number) if not files_list: print("No files' changes detected. Build is shutting") From e2585cbc7e5aa1921816a3cc54e16dac791d77e2 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Wed, 25 Aug 2021 13:46:09 +0530 Subject: [PATCH 0381/1383] ci(roulette): Add support for running on forks --- .github/helper/roulette.py | 7 ++++--- .github/workflows/patch-mariadb-tests.yml | 1 + .github/workflows/server-mariadb-tests.yml | 1 + .github/workflows/server-postgres-tests.yml | 1 + .github/workflows/ui-tests.yml | 1 + 5 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/helper/roulette.py b/.github/helper/roulette.py index 002f1e1017..5c934bc697 100644 --- a/.github/helper/roulette.py +++ b/.github/helper/roulette.py @@ -7,8 +7,8 @@ import sys import urllib.request -def get_files_list(pr_number): - req = urllib.request.Request(f"https://api.github.com/repos/frappe/frappe/pulls/{pr_number}/files") +def get_files_list(pr_number, repo="frappe/frappe"): + req = urllib.request.Request(f"https://api.github.com/repos/{repo}/pulls/{pr_number}/files") res = urllib.request.urlopen(req) dump = json.loads(res.read().decode('utf8')) return [change["filename"] for change in dump] @@ -36,9 +36,10 @@ if __name__ == "__main__": files_list = sys.argv[1:] build_type = os.environ.get("TYPE") pr_number = os.environ.get("PR_NUMBER") + repo = os.environ.get("REPO_NAME") if not files_list and pr_number: - files_list = get_files_list(pr_number=pr_number) + files_list = get_files_list(pr_number=pr_number, repo=repo) if not files_list: print("No files' changes detected. Build is shutting") diff --git a/.github/workflows/patch-mariadb-tests.yml b/.github/workflows/patch-mariadb-tests.yml index d0de566e9d..6ccc059afb 100644 --- a/.github/workflows/patch-mariadb-tests.yml +++ b/.github/workflows/patch-mariadb-tests.yml @@ -33,6 +33,7 @@ jobs: env: TYPE: "server" PR_NUMBER: ${{ github.event.number }} + REPO_NAME: ${{ github.repository }} - name: Add to Hosts if: ${{ steps.check-build.outputs.build == 'strawberry' }} diff --git a/.github/workflows/server-mariadb-tests.yml b/.github/workflows/server-mariadb-tests.yml index da9724c6bd..65b6666678 100644 --- a/.github/workflows/server-mariadb-tests.yml +++ b/.github/workflows/server-mariadb-tests.yml @@ -42,6 +42,7 @@ jobs: env: TYPE: "server" PR_NUMBER: ${{ github.event.number }} + REPO_NAME: ${{ github.repository }} - uses: actions/setup-node@v2 if: ${{ steps.check-build.outputs.build == 'strawberry' }} diff --git a/.github/workflows/server-postgres-tests.yml b/.github/workflows/server-postgres-tests.yml index d7658bc1ba..17a0f6f94f 100644 --- a/.github/workflows/server-postgres-tests.yml +++ b/.github/workflows/server-postgres-tests.yml @@ -44,6 +44,7 @@ jobs: env: TYPE: "server" PR_NUMBER: ${{ github.event.number }} + REPO_NAME: ${{ github.repository }} - uses: actions/setup-node@v2 if: ${{ steps.check-build.outputs.build == 'strawberry' }} diff --git a/.github/workflows/ui-tests.yml b/.github/workflows/ui-tests.yml index 90c72e7018..d56433c216 100644 --- a/.github/workflows/ui-tests.yml +++ b/.github/workflows/ui-tests.yml @@ -42,6 +42,7 @@ jobs: env: TYPE: "ui" PR_NUMBER: ${{ github.event.number }} + REPO_NAME: ${{ github.repository }} - uses: actions/setup-node@v2 if: ${{ steps.check-build.outputs.build == 'strawberry' }} From 525923d21383f3e03ee645c07fe6652415730ac2 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Wed, 25 Aug 2021 15:23:00 +0530 Subject: [PATCH 0382/1383] fix(roulette): Run only one conditional block --- .github/helper/roulette.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/helper/roulette.py b/.github/helper/roulette.py index 5c934bc697..d00c47d8d7 100644 --- a/.github/helper/roulette.py +++ b/.github/helper/roulette.py @@ -53,15 +53,15 @@ if __name__ == "__main__": if ci_files_changed: print("CI related files were updated, running all build processes.") - if only_docs_changed: + elif only_docs_changed: print("Only docs were updated, stopping build process.") sys.exit(0) - if only_frontend_code_changed and build_type == "server": + elif only_frontend_code_changed and build_type == "server": print("Only Frontend code was updated; Stopping Python build process.") sys.exit(0) - if only_py_changed and build_type == "ui": + elif only_py_changed and build_type == "ui": print("Only Python code was updated, stopping Cypress build process.") sys.exit(0) From 586835a833b5cbc01ff4ef01986d8c985bab5e1c Mon Sep 17 00:00:00 2001 From: Steve Date: Wed, 25 Aug 2021 06:09:29 -0400 Subject: [PATCH 0383/1383] fix: Duplicate name columns in list_view when no title field defined (#14006) * fix duplicate name columns in list_view when no title field defined * refactor: Simplify code Co-authored-by: Suraj Shetty <13928957+surajshetty3416@users.noreply.github.com> --- frappe/public/js/frappe/list/list_view.js | 1 + 1 file changed, 1 insertion(+) diff --git a/frappe/public/js/frappe/list/list_view.js b/frappe/public/js/frappe/list/list_view.js index 8a0e43c8f3..3cdecd8ddb 100644 --- a/frappe/public/js/frappe/list/list_view.js +++ b/frappe/public/js/frappe/list/list_view.js @@ -367,6 +367,7 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList { if ( !this.settings.hide_name_column && + this.meta.title_field && this.meta.title_field !== 'name' ) { this.columns.push({ From 3e1d9dcbe392b962905e0c18e7d11e7abb434e66 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Wed, 25 Aug 2021 15:40:30 +0530 Subject: [PATCH 0384/1383] chore(workspace): Comment out flaky test --- .../desk/doctype/workspace/test_workspace.py | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/frappe/desk/doctype/workspace/test_workspace.py b/frappe/desk/doctype/workspace/test_workspace.py index 8aa3d57adf..f13a136c20 100644 --- a/frappe/desk/doctype/workspace/test_workspace.py +++ b/frappe/desk/doctype/workspace/test_workspace.py @@ -12,19 +12,20 @@ class TestWorkspace(unittest.TestCase): frappe.db.delete("DocType", {"module": "Test Module"}) frappe.delete_doc("Module Def", "Test Module") - def test_workspace_with_cards_specific_to_a_country(self): - workspace = create_workspace() - insert_card(workspace, "Card Label 1", "DocType 1", "DocType 2", "France") - insert_card(workspace, "Card Label 2", "DocType A", "DocType B") + # TODO: FIX ME - flaky test!!! + # def test_workspace_with_cards_specific_to_a_country(self): + # workspace = create_workspace() + # insert_card(workspace, "Card Label 1", "DocType 1", "DocType 2", "France") + # insert_card(workspace, "Card Label 2", "DocType A", "DocType B") - workspace.insert(ignore_if_duplicate = True) + # workspace.insert(ignore_if_duplicate = True) - cards = workspace.get_link_groups() + # cards = workspace.get_link_groups() - if frappe.get_system_settings('country') == "France": - self.assertEqual(len(cards), 2) - else: - self.assertEqual(len(cards), 1) + # if frappe.get_system_settings('country') == "France": + # self.assertEqual(len(cards), 2) + # else: + # self.assertEqual(len(cards), 1) def create_module(module_name): module = frappe.get_doc({ @@ -91,4 +92,4 @@ def create_doctype(doctype_name, module): 'permissions': [ {'role': 'System Manager'} ] - }).insert(ignore_if_duplicate = True) \ No newline at end of file + }).insert(ignore_if_duplicate = True) From 383c657b9f79c5ee390d37ae3e01539b01a1ac4e Mon Sep 17 00:00:00 2001 From: shariquerik Date: Wed, 25 Aug 2021 16:21:59 +0530 Subject: [PATCH 0385/1383] fix: Total Row is hidden in Query Report & Script Report --- frappe/public/js/frappe/views/reports/query_report.js | 4 ++++ frappe/public/scss/desk/report.scss | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/frappe/public/js/frappe/views/reports/query_report.js b/frappe/public/js/frappe/views/reports/query_report.js index f13f683d79..ea0d904d0f 100644 --- a/frappe/public/js/frappe/views/reports/query_report.js +++ b/frappe/public/js/frappe/views/reports/query_report.js @@ -854,6 +854,10 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList { } }; + if (this.raw_data.add_total_row) { + this.page.body[0].style.setProperty('--report-total-height', '310px'); + } + if (this.report_settings.get_datatable_options) { datatable_options = this.report_settings.get_datatable_options(datatable_options); } diff --git a/frappe/public/scss/desk/report.scss b/frappe/public/scss/desk/report.scss index e2aae431aa..2389a4f8f6 100644 --- a/frappe/public/scss/desk/report.scss +++ b/frappe/public/scss/desk/report.scss @@ -84,8 +84,9 @@ margin-bottom: 10px; } -.layout-main-section .frappe-card { +.layout-main-section { --report-filter-height: 0px; + --report-total-height: 275px; } .report-wrapper { @@ -95,7 +96,7 @@ height: calc(100vh - var(--report-filter-height) - 205px); .dt-scrollable { - height: calc(100vh - var(--report-filter-height) - 275px); + height: calc(100vh - var(--report-filter-height) - var(--report-total-height)); } } } From 0b4d084ceb6b3fa5c26e3622674cf24352b350bf Mon Sep 17 00:00:00 2001 From: MitulDavid Date: Wed, 25 Aug 2021 17:14:32 +0530 Subject: [PATCH 0386/1383] fix: Flags not set on error during .save() --- frappe/core/doctype/file/file.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/frappe/core/doctype/file/file.py b/frappe/core/doctype/file/file.py index e747ca2b91..36ff67ce7c 100755 --- a/frappe/core/doctype/file/file.py +++ b/frappe/core/doctype/file/file.py @@ -563,12 +563,10 @@ class File(Document): self.file_size = len(optimized_content) self.content_hash = get_content_hash(optimized_content) - self.save() - # if rolledback, revert back to original self.flags.original_content = content frappe.local.rollback_observers.append(self) - + self.save() def on_doctype_update(): frappe.db.add_index("File", ["attached_to_doctype", "attached_to_name"]) From 15ba0fbe3e22f85a61bfae00481ec5ad18022e78 Mon Sep 17 00:00:00 2001 From: MitulDavid Date: Wed, 25 Aug 2021 17:15:29 +0530 Subject: [PATCH 0387/1383] refactor: Remove set_route after optimization --- frappe/core/doctype/file/file.js | 1 - 1 file changed, 1 deletion(-) diff --git a/frappe/core/doctype/file/file.js b/frappe/core/doctype/file/file.js index 202903f1ab..d40328d3cd 100644 --- a/frappe/core/doctype/file/file.js +++ b/frappe/core/doctype/file/file.js @@ -31,7 +31,6 @@ frappe.ui.form.on("File", "refresh", function(frm) { frappe.show_alert(__("Optimizing image...")); frm.call("optimize_file").then(() => { frappe.show_alert(__("Image optimized")); - frappe.set_route("List", "File"); }); }); } From 23c34183f344292886859b334fddba5892904541 Mon Sep 17 00:00:00 2001 From: MitulDavid Date: Wed, 25 Aug 2021 17:17:39 +0530 Subject: [PATCH 0388/1383] test: Add tests for optimize_file --- frappe/core/doctype/file/test_file.py | 63 +++++++++++++++++++++++++++ frappe/tests/data/sample_svg.svg | 12 +++++ 2 files changed, 75 insertions(+) create mode 100644 frappe/tests/data/sample_svg.svg diff --git a/frappe/core/doctype/file/test_file.py b/frappe/core/doctype/file/test_file.py index 5478d7ab85..745ff88e71 100644 --- a/frappe/core/doctype/file/test_file.py +++ b/frappe/core/doctype/file/test_file.py @@ -440,6 +440,69 @@ class TestFile(unittest.TestCase): }).insert(ignore_permissions=True) self.assertRaisesRegex(frappe.exceptions.ValidationError, 'not a zip file', test_file.unzip) + def test_optimize_file(self): + file_path = frappe.get_app_path("frappe", "tests/data/sample_image_for_optimization.jpg") + with open(file_path, "rb") as f: + file_content = f.read() + test_file = frappe.get_doc({ + "doctype": "File", + "file_name": "sample_image_for_optimization.jpg", + "content": file_content + }).insert() + original_size = test_file.file_size + original_content_hash = test_file.content_hash + + test_file.optimize_file() + optimized_size = test_file.file_size + updated_content_hash = test_file.content_hash + + self.assertLess(optimized_size, original_size) + self.assertNotEqual(original_content_hash, updated_content_hash) + test_file.delete() + + def test_optimize_svg(self): + file_path = frappe.get_app_path("frappe", "tests/data/sample_svg.svg") + with open(file_path, "rb") as f: + file_content = f.read() + test_file = frappe.get_doc({ + "doctype": "File", + "file_name": "sample_svg.svg", + "content": file_content + }).insert() + self.assertRaises(TypeError, test_file.optimize_file) + test_file.delete() + + def test_optimize_textfile(self): + test_file = frappe.get_doc({ + "doctype": "File", + "file_name": "sample_text.txt", + "content": "Text files cannot be optimized" + }).insert() + self.assertRaises(NotImplementedError, test_file.optimize_file) + test_file.delete() + + def test_optimize_folder(self): + test_folder = frappe.get_doc("File", "Home/Attachments") + self.assertRaises(TypeError, test_folder.optimize_file) + + def test_revert_optimized_file_on_rollback(self): + file_path = frappe.get_app_path("frappe", "tests/data/sample_image_for_optimization.jpg") + with open(file_path, "rb") as f: + file_content = f.read() + test_file = frappe.get_doc({ + "doctype": "File", + "file_name": "sample_image_for_optimization.jpg", + "content": file_content + }).insert() + image_path = test_file.get_full_path() + size_before_optimization = os.stat(image_path).st_size + + test_file.optimize_file() + frappe.db.rollback() + size_after_rollback = os.stat(image_path).st_size + self.assertEqual(size_before_optimization, size_after_rollback) + test_file.delete() + class TestAttachment(unittest.TestCase): test_doctype = 'Test For Attachment' diff --git a/frappe/tests/data/sample_svg.svg b/frappe/tests/data/sample_svg.svg new file mode 100644 index 0000000000..9fcb3c8242 --- /dev/null +++ b/frappe/tests/data/sample_svg.svg @@ -0,0 +1,12 @@ + + + + Artboard + Created with Sketch. + + + + + + + \ No newline at end of file From 678474c6529fb564084cda210f17554edb5fddc1 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Wed, 25 Aug 2021 17:23:44 +0530 Subject: [PATCH 0389/1383] chore: Using jquery to set css --- frappe/public/js/frappe/views/reports/query_report.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/views/reports/query_report.js b/frappe/public/js/frappe/views/reports/query_report.js index ea0d904d0f..1053f9b7c5 100644 --- a/frappe/public/js/frappe/views/reports/query_report.js +++ b/frappe/public/js/frappe/views/reports/query_report.js @@ -855,7 +855,7 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList { }; if (this.raw_data.add_total_row) { - this.page.body[0].style.setProperty('--report-total-height', '310px'); + this.$page.find('.layout-main-section').css('--report-total-height', '310px'); } if (this.report_settings.get_datatable_options) { From 564aa90499ea54f4aaf8cbee55a673e407172bd8 Mon Sep 17 00:00:00 2001 From: shadrak gurupnor Date: Wed, 25 Aug 2021 17:54:09 +0530 Subject: [PATCH 0390/1383] chore: overriding of modified_by and owner --- frappe/model/document.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/model/document.py b/frappe/model/document.py index 37549e2001..d0d66ac3de 100644 --- a/frappe/model/document.py +++ b/frappe/model/document.py @@ -469,7 +469,7 @@ class Document(BaseDocument): if not self.creation: self.creation = self.modified if not self.owner: - self.owner = self.modified_by + self.owner = self.flags.owner or self.modified_by for d in self.get_all_children(): d.modified = self.modified From 55d22e185badcc5fd46ad3726c9466798c55fd49 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Wed, 25 Aug 2021 19:44:52 +0530 Subject: [PATCH 0391/1383] chore: extend editorconfig to vue components --- .editorconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.editorconfig b/.editorconfig index 24f122a8d4..d76f67cd7f 100644 --- a/.editorconfig +++ b/.editorconfig @@ -9,6 +9,6 @@ trim_trailing_whitespace = true charset = utf-8 # python, js indentation settings -[{*.py,*.js}] +[{*.py,*.js,*.vue}] indent_style = tab indent_size = 4 From 1bebe288768325d66414b51c9fef38b5ca1927d4 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Wed, 25 Aug 2021 19:43:18 +0530 Subject: [PATCH 0392/1383] feat: import/export full recorder captures --- .../js/frappe/recorder/RecorderDetail.vue | 38 ++++++++++++++++--- .../js/frappe/recorder/RequestDetail.vue | 25 +++++++----- frappe/recorder.py | 7 ++++ 3 files changed, 56 insertions(+), 14 deletions(-) diff --git a/frappe/public/js/frappe/recorder/RecorderDetail.vue b/frappe/public/js/frappe/recorder/RecorderDetail.vue index d17a8f0ec4..8b95612201 100644 --- a/frappe/public/js/frappe/recorder/RecorderDetail.vue +++ b/frappe/public/js/frappe/recorder/RecorderDetail.vue @@ -1,5 +1,5 @@ @@ -85,6 +90,10 @@ export default { sections.push(_section); } this.$set(this.layout, "sections", sections); + }, + update_letterhead_footer(val) { + this.letterhead.footer = val; + this.letterhead._dirty = true; } } }; diff --git a/frappe/public/js/print_format_builder/store.js b/frappe/public/js/print_format_builder/store.js index f72cf0c450..57c48632c8 100644 --- a/frappe/public/js/print_format_builder/store.js +++ b/frappe/public/js/print_format_builder/store.js @@ -115,9 +115,11 @@ export function getStore(print_format_name) { }) .then(() => { if (this.letterhead && this.letterhead._dirty) { - return frappe.call("frappe.client.save", { - doc: this.letterhead - }); + return frappe + .call("frappe.client.save", { + doc: this.letterhead + }) + .then(r => (this.letterhead = r.message)); } }) .then(() => this.fetch()) @@ -125,7 +127,6 @@ export function getStore(print_format_name) { }, reset_changes() { this.fetch(); - }, get_layout() { if (this.print_format) { @@ -143,7 +144,7 @@ export function getStore(print_format_name) { return create_default_layout(this.meta); }, change_letterhead(letterhead) { - frappe.db.get_doc("Letter Head", letterhead).then(doc => { + return frappe.db.get_doc("Letter Head", letterhead).then(doc => { this.letterhead = doc; }); } diff --git a/frappe/public/js/print_format_builder/utils.js b/frappe/public/js/print_format_builder/utils.js index 77d4e2a36d..6c52b2e4a4 100644 --- a/frappe/public/js/print_format_builder/utils.js +++ b/frappe/public/js/print_format_builder/utils.js @@ -94,8 +94,8 @@ export function get_table_columns(df) { typeof tf.width == "number" && tf.width < 100 ? tf.width : tf.width - ? 20 - : 10; + ? 20 + : 10; table_columns.push({ label: tf.label, fieldname: tf.fieldname, @@ -118,3 +118,13 @@ export function pluck(object, keys) { } return out; } + +export function get_image_dimensions(src) { + return new Promise(resolve => { + let img = new Image(); + img.onload = function() { + resolve({ width: this.width, height: this.height }); + }; + img.src = src; + }); +} diff --git a/frappe/templates/print_format/print_format.html b/frappe/templates/print_format/print_format.html index 7e710e8c3f..69fb50d959 100644 --- a/frappe/templates/print_format/print_format.html +++ b/frappe/templates/print_format/print_format.html @@ -13,7 +13,7 @@ - {{ header }} + {{ header or '' }} {% for section in layout.sections %}
{% if section.label %} @@ -31,6 +31,6 @@
{% endfor %} - {{ footer }} + {{ footer or '' }} diff --git a/frappe/templates/print_format/print_header.html b/frappe/templates/print_format/print_header.html index 69a5360d6f..9b1357e08c 100644 --- a/frappe/templates/print_format/print_header.html +++ b/frappe/templates/print_format/print_header.html @@ -6,7 +6,7 @@ position: fixed; top: 0; left: 0; - width: 100%; + width: {{ body_width | int }}mm; padding-top: {{ print_format.margin_top | int }}mm; padding-left: {{ print_format.margin_left | int }}mm; padding-right: {{ print_format.margin_right | int }}mm; From d454aaf2f0f9a359975a3a3099de29789bee6e79 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Sun, 3 Oct 2021 23:57:45 +0530 Subject: [PATCH 0738/1383] chore: added test case --- cypress/integration/grid_configuration.js | 23 +++++++++++++++++++++++ frappe/public/js/frappe/form/grid_row.js | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 cypress/integration/grid_configuration.js diff --git a/cypress/integration/grid_configuration.js b/cypress/integration/grid_configuration.js new file mode 100644 index 0000000000..7193d804c2 --- /dev/null +++ b/cypress/integration/grid_configuration.js @@ -0,0 +1,23 @@ +context('Grid Configuration', () => { + beforeEach(() => { + cy.login(); + cy.visit('/app/doctype/User'); + }); + it('Set user wise grid settings', () => { + cy.wait(100); + cy.get('.frappe-control[data-fieldname="fields"]').as('table'); + cy.get('@table').find('.icon-sm').click(); + cy.wait(100); + cy.get('.frappe-control[data-fieldname="fields_html"]').as('modal'); + cy.get('@modal').find('.add-new-fields').click(); + cy.wait(100); + cy.get('[type="checkbox"][data-unit="read_only"]').check(); + cy.findByRole('button', {name: 'Add'}).click(); + cy.wait(100); + cy.get('[data-fieldname="options"]').invoke('attr', 'value', '1'); + cy.get('.form-control.column-width[data-fieldname="options"]').trigger('change'); + cy.findByRole('button', {name: 'Update'}).click(); + cy.wait(200); + cy.get('[title="Read Only"').should('be.visible'); + }); +}); \ No newline at end of file diff --git a/frappe/public/js/frappe/form/grid_row.js b/frappe/public/js/frappe/form/grid_row.js index aa0dee9c47..20a04ee206 100644 --- a/frappe/public/js/frappe/form/grid_row.js +++ b/frappe/public/js/frappe/form/grid_row.js @@ -343,7 +343,7 @@ export default class GridRow { ] }); - d.set_primary_action(__('Save'), () => { + d.set_primary_action(__('Add'), () => { let selected_fields = d.get_values().fields; this.selected_columns_for_grid = []; if (selected_fields) { From b798b96debb15304be660ac8442d919a6b475e64 Mon Sep 17 00:00:00 2001 From: MitulDavid Date: Mon, 4 Oct 2021 08:21:40 +0530 Subject: [PATCH 0739/1383] ci: Set Codecov flags to categorize coverage --- .github/workflows/server-mariadb-tests.yml | 3 ++- .github/workflows/server-postgres-tests.yml | 1 + .github/workflows/ui-tests.yml | 1 + codecov.yml | 12 +++++++++++- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.github/workflows/server-mariadb-tests.yml b/.github/workflows/server-mariadb-tests.yml index 0b187fc44c..2e50aa48f6 100644 --- a/.github/workflows/server-mariadb-tests.yml +++ b/.github/workflows/server-mariadb-tests.yml @@ -127,4 +127,5 @@ jobs: name: MariaDB fail_ci_if_error: true files: /home/runner/frappe-bench/sites/coverage.xml - verbose: true \ No newline at end of file + verbose: true + flags: server \ No newline at end of file diff --git a/.github/workflows/server-postgres-tests.yml b/.github/workflows/server-postgres-tests.yml index a5630121a4..2203b657ad 100644 --- a/.github/workflows/server-postgres-tests.yml +++ b/.github/workflows/server-postgres-tests.yml @@ -131,3 +131,4 @@ jobs: fail_ci_if_error: true files: /home/runner/frappe-bench/sites/coverage.xml verbose: true + flags: server diff --git a/.github/workflows/ui-tests.yml b/.github/workflows/ui-tests.yml index 2cbe4cce41..a9d331c44d 100644 --- a/.github/workflows/ui-tests.yml +++ b/.github/workflows/ui-tests.yml @@ -154,3 +154,4 @@ jobs: fail_ci_if_error: true directory: /home/runner/frappe-bench/apps/frappe/.cypress-coverage/ verbose: true + flags: ui-tests diff --git a/codecov.yml b/codecov.yml index 41b22001a5..b2dfa82fe1 100644 --- a/codecov.yml +++ b/codecov.yml @@ -9,5 +9,15 @@ coverage: threshold: 0.5% comment: - layout: "diff" + layout: "diff, flags" require_changes: true + +flags: + server: + paths: + - ".*\.py" + carryforward: true + ui-tests: + paths: + - ".*\.js" + carryforward: true \ No newline at end of file From 8904a1c7ade1310ea62b63843490457770559285 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Mon, 4 Oct 2021 10:40:15 +0530 Subject: [PATCH 0740/1383] fix: remove pycups from requirements --- requirements.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 59cc03b970..7a17d3794d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -77,4 +77,3 @@ wrapt~=1.12.1 xlrd~=2.0.1 zxcvbn-python~=4.4.24 tenacity~=8.0.1 -pycups~=2.0.1 From 4ebdabda485e19777bb64613d9eb0fefa3c76b27 Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Mon, 4 Oct 2021 10:59:47 +0530 Subject: [PATCH 0741/1383] fix: Encapsulate cache methods --- .../doctype/server_script/test_server_script.py | 2 +- frappe/utils/safe_exec.py | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/frappe/core/doctype/server_script/test_server_script.py b/frappe/core/doctype/server_script/test_server_script.py index cf49430ff4..a3de577ef2 100644 --- a/frappe/core/doctype/server_script/test_server_script.py +++ b/frappe/core/doctype/server_script/test_server_script.py @@ -79,7 +79,7 @@ frappe.db.commit() reference_doctype = 'ToDo', disabled = 1, script = ''' -frappe.cache.set_value('test_key', doc.name) +frappe.cache().set_value('test_key', doc.name) ''' ) ] diff --git a/frappe/utils/safe_exec.py b/frappe/utils/safe_exec.py index 6f9398745e..79a103c9b3 100644 --- a/frappe/utils/safe_exec.py +++ b/frappe/utils/safe_exec.py @@ -156,12 +156,7 @@ def get_safe_globals(): commit = frappe.db.commit ) - out.frappe.cache = NamespaceDict( - get_value = frappe.cache().get_value, - set_value = frappe.cache().set_value, - hset = frappe.cache().hset, - hget = frappe.cache().hget - ) + out.frappe.cache = cache if frappe.response: out.frappe.response = frappe.response @@ -180,6 +175,14 @@ def get_safe_globals(): return out +def cache(): + return NamespaceDict( + get_value = frappe.cache().get_value, + set_value = frappe.cache().set_value, + hset = frappe.cache().hset, + hget = frappe.cache().hget + ) + def read_sql(query, *args, **kwargs): '''a wrapper for frappe.db.sql to allow reads''' if query.strip().split(None, 1)[0].lower() == 'select': From 7c6fad09ee076290a5d7d6eb8a3f78be82728f25 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Mon, 4 Oct 2021 11:01:56 +0530 Subject: [PATCH 0742/1383] fix: NoneType comparison flake8 E711 ref: https://www.flake8rules.com/rules/E711.html --- frappe/utils/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/utils/__init__.py b/frappe/utils/__init__.py index 61da464aa3..1b4cdc7922 100644 --- a/frappe/utils/__init__.py +++ b/frappe/utils/__init__.py @@ -795,7 +795,7 @@ def get_assets_json(): assets_json = None # if value found, decode it - if assets_json != None: + if assets_json is not None: try: assets_json = assets_json.decode('utf-8') except (UnicodeDecodeError, AttributeError): From 5f83045baf70936fd3291784d70819fd442b6249 Mon Sep 17 00:00:00 2001 From: pateljannat Date: Mon, 4 Oct 2021 12:26:12 +0530 Subject: [PATCH 0743/1383] feat: single thread discussions --- frappe/templates/discussions/comment_box.html | 3 +-- frappe/templates/discussions/discussions.js | 25 ++++++++++++------- .../discussions/discussions_section.html | 17 +++++++------ .../web_template/discussions/discussions.json | 11 ++++++-- 4 files changed, 36 insertions(+), 20 deletions(-) diff --git a/frappe/templates/discussions/comment_box.html b/frappe/templates/discussions/comment_box.html index cbdc3ad3e5..ebaa37f772 100644 --- a/frappe/templates/discussions/comment_box.html +++ b/frappe/templates/discussions/comment_box.html @@ -25,8 +25,7 @@
{{ _("Cancel") }} -
+
{{ _("Post") }}
diff --git a/frappe/templates/discussions/discussions.js b/frappe/templates/discussions/discussions.js index becc50410d..8b36d0846c 100644 --- a/frappe/templates/discussions/discussions.js +++ b/frappe/templates/discussions/discussions.js @@ -87,12 +87,17 @@ const setup_socket_io = () => { }; const publish_message = (data) => { + const doctype = decodeURIComponent($(".discussions-parent .thread-card").attr("data-doctype")); + const docname = decodeURIComponent($(".discussions-parent .thread-card").attr("data-docname")); + const topic = data.topic_info; + + if ($(`.discussion-on-page[data-topic=${topic.name}]`).length) { - if ($(`.discussion-on-page[data-topic=${data.topic_info.name}]`).length) { post_message_cleanup(); - $('
' + data.template).insertBefore(`.discussion-on-page[data-topic=${data.topic_info.name}] .discussion-form`); - } else if ((decodeURIComponent($(".discussions-parent .discussions-card").attr("data-doctype")) == data.topic_info.reference_doctype - && decodeURIComponent($(".discussions-parent .discussions-card").attr("data-docname")) == data.topic_info.reference_docname)) { + $('
' + data.template) + .insertBefore(`.discussion-on-page[data-topic=${topic.name}] .discussion-form`); + + } else if (doctype == topic.reference_doctype && docname == topic.reference_docname) { post_message_cleanup(); data.new_topic_template = style_avatar_frame(data.new_topic_template); @@ -100,16 +105,18 @@ const publish_message = (data) => { $(data.sidebar).insertAfter(`.discussions-sidebar .form-group`); $(`#discussion-group`).prepend(data.new_topic_template); - if (data.topic_info.owner == frappe.session.user) { + if (topic.owner == frappe.session.user) { $(".discussion-on-page").collapse(); $(".sidebar-topic").first().click(); } - } else if (data.topic_info.owner == frappe.session.user) { + + } else if (topic.owner == frappe.session.user + && doctype == topic.reference_docname && docname == topic.reference_docname) { post_message_cleanup(); window.location.reload(); } - update_reply_count(data.topic_info.name); + update_reply_count(topic.name); }; const post_message_cleanup = () => { @@ -191,10 +198,10 @@ const submit_discussion = (e) => { const reply = $(".comment-field:visible").val().trim(); if (reply) { - let doctype = $(e.currentTarget).attr("data-doctype"); + let doctype = $(e.currentTarget).closest(".thread-card").attr("data-doctype"); doctype = doctype ? decodeURIComponent(doctype) : doctype; - let docname = $(e.currentTarget).attr("data-docname"); + let docname = $(e.currentTarget).closest(".thread-card").attr("data-docname"); docname = docname ? decodeURIComponent(docname) : docname; frappe.call({ diff --git a/frappe/templates/discussions/discussions_section.html b/frappe/templates/discussions/discussions_section.html index 65e1730bc7..b9fa80fe4f 100644 --- a/frappe/templates/discussions/discussions_section.html +++ b/frappe/templates/discussions/discussions_section.html @@ -11,10 +11,10 @@ {% endif %}
- {% if topics %} -
+
+ {% if topics %}
{% include "frappe/templates/discussions/search.html" %} {% for topic in topics %} @@ -26,11 +26,14 @@
{% include "frappe/templates/discussions/reply_section.html" %}
-
- {% else %} -
-
+ {% elif not topics and single_thread %} +
+ {% include "frappe/templates/discussions/comment_box.html" %} +
+ + {% else %} +
No {{ title }}
There are no {{ title | lower }} for this {{ doctype | lower }}, why don't you start one!
diff --git a/frappe/website/web_template/discussions/discussions.json b/frappe/website/web_template/discussions/discussions.json index 8856787828..c8c90e08aa 100644 --- a/frappe/website/web_template/discussions/discussions.json +++ b/frappe/website/web_template/discussions/discussions.json @@ -22,10 +22,17 @@ "label": "Web Page", "options": "Web Page", "reqd": 1 + }, + { + "__unsaved": 1, + "fieldname": "single_thread", + "fieldtype": "Check", + "label": "Single Thread", + "reqd": 0 } ], "idx": 0, - "modified": "2021-10-01 12:15:28.876920", + "modified": "2021-10-01 15:15:57.366552", "modified_by": "Administrator", "module": "Website", "name": "Discussions", @@ -33,4 +40,4 @@ "standard": 1, "template": "", "type": "Section" -} +} \ No newline at end of file From d4b78e18a53da36aa2c0e708a75f11b10fb9774b Mon Sep 17 00:00:00 2001 From: Pruthvi Patel Date: Mon, 4 Oct 2021 16:06:47 +0530 Subject: [PATCH 0744/1383] fix: filter on ace editor field --- frappe/public/js/frappe/ui/filters/filter.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/frappe/public/js/frappe/ui/filters/filter.js b/frappe/public/js/frappe/ui/filters/filter.js index b2b2b623e2..6471fb47a5 100644 --- a/frappe/public/js/frappe/ui/filters/filter.js +++ b/frappe/public/js/frappe/ui/filters/filter.js @@ -490,6 +490,8 @@ frappe.ui.filter_utils = { 'Small Text', 'Text Editor', 'Code', + 'Markdown Editor', + 'HTML Editor', 'Tag', 'Comments', 'Dynamic Link', From cbbfdf33dea2e56cf8499a5d12bbd777cbbe12e0 Mon Sep 17 00:00:00 2001 From: Sagar Vora Date: Mon, 4 Oct 2021 17:49:21 +0530 Subject: [PATCH 0745/1383] fix: use site path instead of site name to generate DB name --- frappe/installer.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/frappe/installer.py b/frappe/installer.py index f0bf0cb51c..7234c9ba70 100755 --- a/frappe/installer.py +++ b/frappe/installer.py @@ -29,6 +29,10 @@ def _new_site( ): """Install a new Frappe site""" + from frappe.commands.scheduler import _is_scheduler_enabled + from frappe.utils import get_site_path, scheduler, touch_file + + if not force and os.path.exists(site): print("Site {0} already exists".format(site)) sys.exit(1) @@ -37,14 +41,11 @@ def _new_site( print("--no-mariadb-socket requires db_type to be set to mariadb.") sys.exit(1) - if not db_name: - import hashlib - db_name = "_" + hashlib.sha1(site.encode()).hexdigest()[:16] - frappe.init(site=site) - from frappe.commands.scheduler import _is_scheduler_enabled - from frappe.utils import get_site_path, scheduler, touch_file + if not db_name: + import hashlib + db_name = "_" + hashlib.sha1(get_site_path().encode()).hexdigest()[:16] try: # enable scheduler post install? From f2cf8981b5c5b4ba41093bab326a042c604fb74d Mon Sep 17 00:00:00 2001 From: Pruthvi Patel Date: Mon, 4 Oct 2021 17:59:34 +0530 Subject: [PATCH 0746/1383] fix: get abs path --- frappe/installer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/installer.py b/frappe/installer.py index 7234c9ba70..8b840ede46 100755 --- a/frappe/installer.py +++ b/frappe/installer.py @@ -45,7 +45,7 @@ def _new_site( if not db_name: import hashlib - db_name = "_" + hashlib.sha1(get_site_path().encode()).hexdigest()[:16] + db_name = "_" + hashlib.sha1(os.path.realpath(frappe.get_site_path()).encode()).hexdigest()[:16] try: # enable scheduler post install? From 214e5b89d8e8b6dae140180addf2b79739d13c57 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Mon, 4 Oct 2021 20:56:44 +0530 Subject: [PATCH 0747/1383] fix: Filter pop-up overlaps the Notification Window --- frappe/public/scss/desk/filters.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/frappe/public/scss/desk/filters.scss b/frappe/public/scss/desk/filters.scss index 3680adcf5c..d7a7ffbee7 100644 --- a/frappe/public/scss/desk/filters.scss +++ b/frappe/public/scss/desk/filters.scss @@ -8,6 +8,7 @@ min-width: 500px; min-height: 50px; font-size: var(--text-md); + z-index: 1019; } .filter-area { From d04016d274195060bbe0d9e47f2a7e7803ff1372 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Mon, 4 Oct 2021 21:57:10 +0530 Subject: [PATCH 0748/1383] fix: Fixed css for Primary Navbar template --- frappe/website/web_template/primary_navbar/primary_navbar.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/website/web_template/primary_navbar/primary_navbar.html b/frappe/website/web_template/primary_navbar/primary_navbar.html index 5d7267706a..b18ff6e81f 100644 --- a/frappe/website/web_template/primary_navbar/primary_navbar.html +++ b/frappe/website/web_template/primary_navbar/primary_navbar.html @@ -1,4 +1,4 @@ -

{3}